17#ifndef MINIUPNPC_ASYNC_H_INCLUDED
18#define MINIUPNPC_ASYNC_H_INCLUDED
21#include <netinet/in.h>
23#include <sys/select.h>
33#define UPNPC_ERR_INVALID_ARGS (-1)
34#define UPNPC_ERR_SOCKET_FAILED (-2)
35#define UPNPC_ERR_BIND_FAILED (-3)
36#define UPNPC_ERR_UNKNOWN_STATE (-4)
38#define UPNPC_SSDP_READABLE 0x0001
39#define UPNPC_SSDP_WRITEABLE 0x0100
40#define UPNPC_HTTP_READABLE 0x0002
41#define UPNPC_HTTP_WRITEABLE 0x0200
101 const char * remote_host,
unsigned short ext_port,
102 unsigned short int_port,
const char * int_client,
103 const char * proto,
const char * description,
104 unsigned int lease_duration);
106#ifdef UPNPC_USE_SELECT
107int upnpc_select_fds(
upnpc_t * p,
int * nfds, fd_set * readfds, fd_set * writefds);
108void upnpc_check_select_fds(
upnpc_t * p,
const fd_set * readfds,
const fd_set * writefds);
int upnpc_finalize(upnpc_t *p)
Definition miniupnpc-async.c:814
int upnpc_process(upnpc_t *p)
Definition miniupnpc-async.c:982
int upnpc_init(upnpc_t *p, const char *multicastif)
Definition miniupnpc-async.c:763
int upnpc_get_link_layer_max_rate(upnpc_device_t *p)
Definition miniupnpc-async.c:855
struct upnpc_device upnpc_device_t
int upnpc_add_port_mapping(upnpc_device_t *p, const char *remote_host, unsigned short ext_port, unsigned short int_port, const char *int_client, const char *proto, const char *description, unsigned int lease_duration)
Definition miniupnpc-async.c:865
int upnpc_get_external_ip_address(upnpc_device_t *p)
Definition miniupnpc-async.c:845
Definition upnpreplyparse.h:21
Definition miniupnpc-async.h:43
socklen_t selfaddrlen
Definition miniupnpc-async.h:73
int http_request_sent
Definition miniupnpc-async.h:64
@ EDevError
Definition miniupnpc-async.h:55
@ EDevFinalized
Definition miniupnpc-async.h:54
@ EDevSoapRequest
Definition miniupnpc-async.h:52
@ EDevReady
Definition miniupnpc-async.h:50
@ EDevSoapConnect
Definition miniupnpc-async.h:51
@ EDevInit
Definition miniupnpc-async.h:46
@ EDevSoapResponse
Definition miniupnpc-async.h:53
@ EDevGetDescConnect
Definition miniupnpc-async.h:47
@ EDevGetDescRequest
Definition miniupnpc-async.h:48
@ EDevGetDescResponse
Definition miniupnpc-async.h:49
int http_socket
Definition miniupnpc-async.h:60
int http_response_received
Definition miniupnpc-async.h:66
int http_response_chunked
Definition miniupnpc-async.h:69
int http_request_len
Definition miniupnpc-async.h:63
struct NameValueParserData soap_response_data
Definition miniupnpc-async.h:71
char * http_response
Definition miniupnpc-async.h:65
int socket_flags
Definition miniupnpc-async.h:61
int http_response_code
Definition miniupnpc-async.h:70
int http_response_content_length
Definition miniupnpc-async.h:68
char * http_request
Definition miniupnpc-async.h:62
int http_response_end_of_headers
Definition miniupnpc-async.h:67
struct upnpc_device * next
Definition miniupnpc-async.h:44
char * control_cif_url
Definition miniupnpc-async.h:58
char * root_desc_location
Definition miniupnpc-async.h:57
char * control_conn_url
Definition miniupnpc-async.h:59
struct sockaddr_storage selfaddr
Definition miniupnpc-async.h:72
Definition miniupnpc-async.h:76
int socket_flags
Definition miniupnpc-async.h:87
@ EUPnPError
Definition miniupnpc-async.h:85
@ EUPnPInit
Definition miniupnpc-async.h:78
@ EUPnPGetDesc
Definition miniupnpc-async.h:81
@ EUPnPSendSSDP
Definition miniupnpc-async.h:79
@ EUPnPReceiveSSDP
Definition miniupnpc-async.h:80
@ EUPnPReady
Definition miniupnpc-async.h:82
@ EUPnPFinalized
Definition miniupnpc-async.h:84
@ EUPnPProcessing
Definition miniupnpc-async.h:83
int ssdp_socket
Definition miniupnpc-async.h:88
upnpc_device_t * device_list
Definition miniupnpc-async.h:89