|
mUPnP for C
|
Typedefs | |
| typedef mUpnpHttpResponse | mUpnpSSDPResponse |
| typedef mUpnpHttpRequest | mUpnpSSDPRequest |
| typedef mUpnpSocket | mUpnpSSDPSocket |
Functions | |
| void | mupnp_ssdp_setipv6address (const char *addr) |
| Set the IPv6 multicast address for SSDP. | |
| const char * | mupnp_ssdp_getipv6address (void) |
| Get the current IPv6 multicast address for SSDP. | |
| void | mupnp_ssdp_setannouncecount (int count) |
| Set the number of times to send SSDP announcements. | |
| int | mupnp_ssdp_getannouncecount (void) |
| Get the current SSDP announcement repetition count. | |
| int | mupnp_ssdp_getleasetime (const char *cacheCont) |
| Extract lease time from a Cache-Control header value. | |
| const char * | mupnp_ssdp_gethostaddress (const char *ifAddr) |
| Get the host address for a given network interface. | |
| mUpnpSSDPRequest * | mupnp_ssdprequest_new (void) |
| Create a new SSDP request message. | |
| void | mupnp_ssdprequest_delete (mUpnpSSDPRequest *ssdpReq) |
| Destroy an SSDP request message and free resources. | |
| void | mupnp_ssdprequest_setleasetime (mUpnpSSDPRequest *ssdpReq, mUpnpTime value) |
| mUpnpTime | mupnp_ssdprequest_getleasetime (mUpnpSSDPRequest *ssdpReq) |
| char * | mupnp_ssdprequest_tostring (mUpnpSSDPRequest *ssdpReq, mUpnpString *ssdpMsg) |
| mUpnpSSDPResponse * | mupnp_ssdpresponse_new (void) |
| void | mupnp_ssdpresponse_delete (mUpnpSSDPResponse *ssdpRes) |
| void | mupnp_ssdpresponse_setleasetime (mUpnpSSDPResponse *ssdpRes, mUpnpTime value) |
| int | mupnp_ssdpresponse_getleasetime (mUpnpSSDPResponse *ssdpRes) |
| char * | mupnp_ssdpresponse_tostring (mUpnpSSDPResponse *ssdpRes, mUpnpString *ssdpMsg) |
| bool | mupnp_ssdp_socket_notifyfrom (mUpnpSSDPSocket *ssdpSock, mUpnpSSDPRequest *ssdpReq, const char *bindAddr) |
| bool | mupnp_ssdp_socket_postresponse (mUpnpSSDPSocket *ssdpSock, mUpnpSSDPResponse *ssdpReq, const char *host, int port) |
| #define MUPNP_AUTO_IP_MASK 0xffff0000 |
| #define MUPNP_AUTO_IP_NET 0xa9fe0000 |
| #define MUPNP_SSDP_ADDRESS "239.255.255.250" |
| #define MUPNP_SSDP_BOOTID_UPNP_ORG "BOOTID.UPNP.ORG" |
| #define MUPNP_SSDP_CALBACK "CALLBACK" |
| #define MUPNP_SSDP_DEFAULT_ANNOUNCE_COUNT 3 |
| #define MUPNP_SSDP_DEFAULT_MSEARCH_MX 3 |
| #define MUPNP_SSDP_EXT "EXT" |
| #define MUPNP_SSDP_FILTER_TABLE_SIZE 101 |
| #define MUPNP_SSDP_HEADER_LINE_MAXSIZE 128 |
| #define MUPNP_SSDP_IPV6_ADMINISTRATIVE_ADDRESS "FF04::C" |
| #define MUPNP_SSDP_IPV6_GLOBAL_ADDRESS "FF0E::C" |
| #define MUPNP_SSDP_IPV6_IF_LOCAL_ADDRESS "FF01::C" |
| #define MUPNP_SSDP_IPV6_LINK_LOCAL_ADDRESS "FF02::C" |
| #define MUPNP_SSDP_IPV6_SITE_LOCAL_ADDRESS "FF05::C" |
| #define MUPNP_SSDP_IPV6_SUBNET_ADDRESS "FF03::C" |
| #define MUPNP_SSDP_MAN "MAN" |
| #define MUPNP_SSDP_MULTICAST_ADDRESS "239.255.255.250:1900" |
| #define MUPNP_SSDP_MULTICAST_DEFAULT_TTL 4 |
| #define MUPNP_SSDP_MX "MX" |
| #define MUPNP_SSDP_NT "NT" |
| #define MUPNP_SSDP_NTS "NTS" |
| #define MUPNP_SSDP_NTS_ALIVE "ssdp:alive" |
| #define MUPNP_SSDP_NTS_BYEBYE "ssdp:byebye" |
| #define MUPNP_SSDP_NTS_PROPCHANGE "upnp:propchange" |
| #define MUPNP_SSDP_PORT 1900 |
| #define MUPNP_SSDP_SEQ "SEQ" |
| #define MUPNP_SSDP_SERVER "SERVER" |
| #define MUPNP_SSDP_SID "SID" |
| #define mupnp_ssdp_socket_close | ( | socket | ) |
| #define mupnp_ssdp_socket_delete | ( | socket | ) |
| #define mupnp_ssdp_socket_new | ( | ) |
| #define MUPNP_SSDP_ST "ST" |
| #define MUPNP_SSDP_TIMEOUT "TIMEOUT" |
| #define MUPNP_SSDP_USN "USN" |
| #define mupnp_ssdprequest_getbootid | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_gethost | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getlocation | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getman | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getmethod | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getmx | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getnt | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getnts | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getserver | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getst | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_geturi | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_getusn | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_print | ( | ssdpReq | ) |
| #define mupnp_ssdprequest_setbootid | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_sethost | ( | ssdpReq, | |
| addr, | |||
| port ) |
| #define mupnp_ssdprequest_setlocation | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setman | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setmethod | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setmx | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setnt | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setnts | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setserver | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setst | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_seturi | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdprequest_setusn | ( | ssdpReq, | |
| value ) |
| #define mupnp_ssdpresponse_getbootid | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_getdate | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_getlocation | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_getst | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_getusn | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_print | ( | ssdpReq | ) |
| #define mupnp_ssdpresponse_setbootid | ( | ssdpRes, | |
| value ) |
| #define mupnp_ssdpresponse_setdate | ( | ssdpRes, | |
| value ) |
| #define mupnp_ssdpresponse_setext | ( | ssdpRes | ) |
| #define mupnp_ssdpresponse_setlocation | ( | ssdpRes, | |
| value ) |
| #define mupnp_ssdpresponse_setserver | ( | ssdpRes, | |
| value ) |
| #define mupnp_ssdpresponse_setst | ( | ssdpRes, | |
| value ) |
| #define mupnp_ssdpresponse_setusn | ( | ssdpRes, | |
| value ) |
| typedef mUpnpHttpRequest mUpnpSSDPRequest |
| typedef mUpnpHttpResponse mUpnpSSDPResponse |
| typedef mUpnpSocket mUpnpSSDPSocket |
| int mupnp_ssdp_getannouncecount | ( | void | ) |
Get the current SSDP announcement repetition count.
| const char * mupnp_ssdp_gethostaddress | ( | const char * | ifAddr | ) |
Get the host address for a given network interface.
Retrieves the IP address of the specified network interface, suitable for use in SSDP messages (Location headers, etc.).
| ifAddr | The network interface address. May be NULL to use default. |
| const char * mupnp_ssdp_getipv6address | ( | void | ) |
Get the current IPv6 multicast address for SSDP.
| int mupnp_ssdp_getleasetime | ( | const char * | cacheCont | ) |
Extract lease time from a Cache-Control header value.
Parses the Cache-Control header (or CACHE-CONTROL) from an SSDP message to extract the max-age directive, which specifies the device's lease time in seconds.
Example: "max-age=1800" returns 1800 (30 minutes).
| cacheCont | The Cache-Control header value. May be NULL. |
| void mupnp_ssdp_setannouncecount | ( | int | count | ) |
Set the number of times to send SSDP announcements.
Configures how many times each SSDP advertisement (alive or byebye) is sent. Multiple announcements increase reliability on unreliable networks. Default is MUPNP_SSDP_DEFAULT_ANNOUNCE_COUNT (3).
| count | Number of announcement repetitions. Must be >= 1. Typical values: 2-4. Higher values increase network traffic. |
| void mupnp_ssdp_setipv6address | ( | const char * | addr | ) |
Set the IPv6 multicast address for SSDP.
Configures the IPv6 multicast address used for SSDP discovery. Default is MUPNP_SSDP_IPV6_LINK_LOCAL_ADDRESS ("FF02::C").
Common IPv6 SSDP addresses:
| addr | The IPv6 multicast address. Must not be NULL. Should be one of the MUPNP_SSDP_IPV6_* constants. |
| bool mupnp_ssdp_socket_notifyfrom | ( | mUpnpSSDPSocket * | ssdpSock, |
| mUpnpSSDPRequest * | ssdpReq, | ||
| const char * | bindAddr ) |
| bool mupnp_ssdp_socket_postresponse | ( | mUpnpSSDPSocket * | ssdpSock, |
| mUpnpSSDPResponse * | ssdpReq, | ||
| const char * | host, | ||
| int | port ) |
| void mupnp_ssdprequest_delete | ( | mUpnpSSDPRequest * | ssdpReq | ) |
Destroy an SSDP request message and free resources.
Releases all resources associated with the SSDP request, including header fields and message content.
| ssdpReq | The SSDP request to destroy. May be NULL (no-op if NULL). |
| mUpnpTime mupnp_ssdprequest_getleasetime | ( | mUpnpSSDPRequest * | ssdpReq | ) |
| mUpnpSSDPRequest * mupnp_ssdprequest_new | ( | void | ) |
Create a new SSDP request message.
Allocates and initializes a new SSDP request object, which is used for:
SSDP requests are HTTP-based messages sent over UDP multicast or unicast.
| void mupnp_ssdprequest_setleasetime | ( | mUpnpSSDPRequest * | ssdpReq, |
| mUpnpTime | value ) |
| char * mupnp_ssdprequest_tostring | ( | mUpnpSSDPRequest * | ssdpReq, |
| mUpnpString * | ssdpMsg ) |
| void mupnp_ssdpresponse_delete | ( | mUpnpSSDPResponse * | ssdpRes | ) |
| int mupnp_ssdpresponse_getleasetime | ( | mUpnpSSDPResponse * | ssdpRes | ) |
| mUpnpSSDPResponse * mupnp_ssdpresponse_new | ( | void | ) |
| void mupnp_ssdpresponse_setleasetime | ( | mUpnpSSDPResponse * | ssdpRes, |
| mUpnpTime | value ) |
| char * mupnp_ssdpresponse_tostring | ( | mUpnpSSDPResponse * | ssdpRes, |
| mUpnpString * | ssdpMsg ) |