00001 00002 00003 00041 00042 00043 00044 00045 #ifndef MDNS_H 00046 #define MDNS_H 00047 00049 // Defines 00051 00052 #ifdef MDNS_C 00053 #define PROTO 00054 #else 00055 #define PROTO extern 00056 #endif 00057 00058 00060 #define MDNS_PORT 5353u 00061 00063 #define DNS_TYPE_A (0x0001u) 00065 #define DNS_TYPE_PTR (0x000cu) 00067 #define DNS_TYPE_MX (0x000fu) 00069 #define DNS_TYPE_SRV (0x0021u) 00071 #define DNS_TYPE_TXT (0x0010u) 00073 #define DNS_TYPE_ANY (0x00FFu) 00074 00075 00077 // Typedefs 00079 00083 typedef enum _MDNS_STATE 00084 { 00085 MDNS_HAS_STOPPED = 0, 00086 MDNS_IS_STARTING_UP, 00087 MDNS_IS_RUNNING 00088 } MDNS_STATE; 00089 00090 00092 // Function prototypes 00094 00110 PROTO BOOL bInitMDNSResponder(void); 00111 00112 00126 PROTO void StartMDNSResponder(void); 00127 00128 00137 PROTO void StopMDNSResponder(void); 00138 00139 00147 PROTO void MDNSResponder(void); 00148 00149 00163 PROTO void MDNSProcessFrame(NODE_INFO *remoteNode, IP_ADDR *localIP); 00164 00165 00172 PROTO MDNS_STATE eGetMDNSState(void); 00185 00186 00206 PROTO void MDNSResolveService(char * pName, ROM char * pServiceName); 00207 00208 00216 PROTO void MDNSResolveName(char * pName); 00217 00218 00223 void MDNSStopResolving(void); 00224 00225 00242 BOOL bMDNSServiceIsResolved(IP_ADDR * pIP, WORD_VAL * pu16Port); 00243 00244 00257 BOOL bMDNSNameIsResolved(IP_ADDR * pIP); 00258 00261 00262 // Epilogue 00264 00265 #undef PROTO 00266 00267 #endif // #ifndef MDNS_H
1.5.5