diff --git a/upnp/src/inc/ssdplib.h b/upnp/src/inc/ssdplib.h index 6b1df02..1792c3d 100644 --- a/upnp/src/inc/ssdplib.h +++ b/upnp/src/inc/ssdplib.h @@ -284,7 +284,7 @@ void ssdp_handle_ctrlpt_msg( /* [in] SSDP message from the device. */ http_message_t *hmsg, /* [in] Address of the device. */ - struct sockaddr *dest_addr, + struct sockaddr_storage *dest_addr, /* [in] timeout kept by the control point while sending search message. * Only in search reply. */ int timeout, @@ -347,13 +347,13 @@ void ssdp_handle_device_request( /* [in] . */ http_message_t *hmsg, /* [in] . */ - struct sockaddr *dest_addr); + struct sockaddr_storage *dest_addr); #else /* INCLUDE_DEVICE_APIS */ static inline void ssdp_handle_device_request( /* [in] . */ http_message_t *hmsg, /* [in] . */ - struct sockaddr* dest_addr) {} + struct sockaddr_storage *dest_addr) {} #endif /* INCLUDE_DEVICE_APIS */ /*! diff --git a/upnp/src/ssdp/ssdp_ctrlpt.c b/upnp/src/ssdp/ssdp_ctrlpt.c index 12a2a36..670fb03 100644 --- a/upnp/src/ssdp/ssdp_ctrlpt.c +++ b/upnp/src/ssdp/ssdp_ctrlpt.c @@ -75,7 +75,7 @@ static void send_search_result( free(temp); } -void ssdp_handle_ctrlpt_msg(http_message_t *hmsg, struct sockaddr *dest_addr, +void ssdp_handle_ctrlpt_msg(http_message_t *hmsg, struct sockaddr_storage *dest_addr, int timeout, void *cookie) { int handle; diff --git a/upnp/src/ssdp/ssdp_device.c b/upnp/src/ssdp/ssdp_device.c index 662b501..0b36cbc 100644 --- a/upnp/src/ssdp/ssdp_device.c +++ b/upnp/src/ssdp/ssdp_device.c @@ -74,7 +74,7 @@ void *advertiseAndReplyThread(void *data) } #ifdef INCLUDE_DEVICE_APIS -void ssdp_handle_device_request(http_message_t *hmsg, struct sockaddr *dest_addr) +void ssdp_handle_device_request(http_message_t *hmsg, struct sockaddr_storage *dest_addr) { #define MX_FUDGE_FACTOR 10 int handle; @@ -112,7 +112,7 @@ void ssdp_handle_device_request(http_message_t *hmsg, struct sockaddr *dest_addr HandleLock(); /* device info. */ - if (GetDeviceHandleInfo(dest_addr->sa_family, + if (GetDeviceHandleInfo(dest_addr->ss_family, &handle, &dev_info) != HND_DEVICE) { HandleUnlock(); /* no info found. */ diff --git a/upnp/src/ssdp/ssdp_server.c b/upnp/src/ssdp/ssdp_server.c index 545e30a..9ef4fa5 100644 --- a/upnp/src/ssdp/ssdp_server.c +++ b/upnp/src/ssdp/ssdp_server.c @@ -615,12 +615,12 @@ static void ssdp_event_handler_thread( hmsg->request_method == HTTPMETHOD_MSEARCH) { #ifdef INCLUDE_CLIENT_APIS ssdp_handle_ctrlpt_msg(hmsg, - (struct sockaddr *)&data->dest_addr, + &data->dest_addr, FALSE, NULL); #endif /* INCLUDE_CLIENT_APIS */ } else { ssdp_handle_device_request(hmsg, - (struct sockaddr *)&data->dest_addr); + &data->dest_addr); } /* free data */