45 #include "httpreadwrite.h"
49 #include <sys/types.h>
58 #include <netinet/in_systm.h>
59 #include <netinet/ip.h>
60 #include <netinet/ip_icmp.h>
76 #define BUFSIZE (size_t)2500
77 #define SSDP_IP "239.255.255.250"
78 #define SSDP_IPV6_LINKLOCAL "FF02::C"
79 #define SSDP_IPV6_SITELOCAL "FF05::C"
80 #define SSDP_PORT 1900
82 #define THREAD_LIMIT 50
83 #define COMMAND_LEN 300
93 #define X_USER_AGENT "redsonic"
97 #define NO_ERROR_FOUND 0
98 #define E_REQUEST_INVALID -3
99 #define E_RES_EXPIRED -4
100 #define E_MEM_ALLOC -5
101 #define E_HTTP_SYNTEX -6
104 #define RQST_TIMEOUT 20
113 char DeviceType[LINE_SIZE];
115 char ServiceType[LINE_SIZE];
116 char Location[LINE_SIZE];
117 char HostAddr[LINE_SIZE];
120 char Date[LINE_SIZE];
121 struct sockaddr *DestAddr;
125 typedef void (* SsdpFunPtr)(
SsdpEvent *);
132 struct sockaddr_storage DestAddr;
139 struct sockaddr_storage dest_addr;
155 struct sockaddr_storage dest_addr;
160 #ifdef INCLUDE_CLIENT_APIS
161 extern SOCKET gSsdpReqSocket4;
162 #ifdef UPNP_ENABLE_IPV6
163 extern SOCKET gSsdpReqSocket6;
166 typedef int (*ParserFun)(
char *,
SsdpEvent *);
187 struct sockaddr *DestAddr,
267 struct sockaddr_storage *dest_addr,
325 #ifdef INCLUDE_DEVICE_APIS
330 struct sockaddr_storage *dest_addr);
336 struct sockaddr_storage *dest_addr) {}
363 int RegistrationState);
373 struct sockaddr *DestAddr,
391 int RegistrationState);
401 struct sockaddr *DestAddr,
417 int RegistrationState);
441 int RegistrationState);
451 struct sockaddr *DestAddr,
465 int RegistrationState);
489 int RegistrationState);
515 int RegistrationState);