libUPnP  1.6.17
Data Structures | Defines | Enumerations | Functions | Variables
upnpapi.h File Reference
#include "client_table.h"
#include "upnp.h"
#include "VirtualDir.h"
Include dependency graph for upnpapi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Handle_Info
struct  UpnpNonblockParam

Defines

#define MAX_INTERFACES   256
#define DEFAULT_INTERFACE   1
#define DEV_LIMIT   200
#define DEFAULT_MX   5
#define DEFAULT_MAXAGE   1800
#define DEFAULT_SOAP_CONTENT_LENGTH   16000
#define MAX_SOAP_CONTENT_LENGTH   (size_t)32000
#define UPNP_TIMEOUT   30
#define HandleLock()   HandleWriteLock()
#define HandleWriteLock()
#define HandleReadLock()
#define HandleUnlock()
#define E_HTTP_SYNTAX   -6

Enumerations

enum  Upnp_Handle_Type { HND_INVALID = -1, HND_CLIENT, HND_DEVICE }
enum  UpnpFunName {
  SUBSCRIBE, UNSUBSCRIBE, DK_NOTIFY, QUERY,
  ACTION, STATUS, DEVDESCRIPTION, SERVDESCRIPTION,
  MINI, RENEW
}
enum  WebServerState { WEB_SERVER_DISABLED, WEB_SERVER_ENABLED }

Functions

Upnp_Handle_Type GetHandleInfo (int Hnd, struct Handle_Info **HndInfo)
 Get handle information.
Upnp_Handle_Type GetClientHandleInfo (int *client_handle_out, struct Handle_Info **HndInfo)
 Get client handle info.
Upnp_Handle_Type GetDeviceHandleInfo (int AddressFamily, int *device_handle_out, struct Handle_Info **HndInfo)
 Retrieves the device handle and information of the first device of the address family spcified.
int UpnpGetIfInfo (const char *IfName)
 Retrieve interface information and keep it in global variables. If NULL, we'll find the first suitable interface for operation.
void UpnpThreadDistribution (struct UpnpNonblockParam *Param)
 Schedule async functions in threadpool.
void AutoAdvertise (void *input)
 This function is a timer thread scheduled by UpnpSendAdvertisement to the send advetisement again.
int getlocalhostname (char *out, size_t out_len)
 Get local IP address.
int PrintHandleInfo (UpnpClient_Handle Hnd)
 Print handle info.

Variables

size_t g_maxContentLength
ithread_rwlock_t GlobalHndRWLock
char gIF_NAME [LINE_SIZE]
char gIF_IPV4 [INET_ADDRSTRLEN]
char gIF_IPV6 [INET6_ADDRSTRLEN]
char gIF_IPV6_ULA_GUA [INET6_ADDRSTRLEN]
unsigned gIF_INDEX
unsigned short LOCAL_PORT_V4
unsigned short LOCAL_PORT_V6
Upnp_SID gUpnpSdkNLSuuid
TimerThread gTimerThread
ThreadPool gRecvThreadPool
ThreadPool gSendThreadPool
ThreadPool gMiniServerThreadPool
virtualDirListpVirtualDirList
struct VirtualDirCallbacks virtualDirCallback
WebServerState bWebServerState

Detailed Description


Define Documentation

#define HandleReadLock ( )
Value:
UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "Trying a read lock\n"); \
        ithread_rwlock_rdlock(&GlobalHndRWLock); \
        UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "Read lock acquired\n");
#define HandleUnlock ( )
Value:
UpnpPrintf(UPNP_INFO, API,__FILE__, __LINE__, "Trying Unlock\n"); \
        ithread_rwlock_unlock(&GlobalHndRWLock); \
        UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "Unlocked rwlock\n");
#define HandleWriteLock ( )
Value:
UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "Trying a write lock\n"); \
        ithread_rwlock_wrlock(&GlobalHndRWLock); \
        UpnpPrintf(UPNP_INFO, API, __FILE__, __LINE__, "Write lock acquired\n");

Variable Documentation

NLS uuid.

Referenced by CreateServicePacket(), and UpnpInitPreamble().