libUPnP  1.14.20
Data Structures | Macros | Functions | Variables
upnptools.c File Reference
#include "config.h"
#include "upnp.h"
#include "upnptools.h"
#include "ThreadPool.h"
#include "uri.h"
#include <stdarg.h>
#include <stdio.h>
#include "posix_overwrites.h"
Include dependency graph for upnptools.c:

Data Structures

struct  ErrorString
 Structure to maintain a error code and string associated with the error code. More...
 

Macros

#define HEADER_LENGTH   2000
 

Functions

const char * UpnpGetErrorMessage (int rc)
 Converts an SDK error code into a string error message suitable for display. The memory returned from this function should NOT be freed. More...
 
void UpnpSetMaxJobsTotal (int mjt)
 Sets the maximum number of jobs in the internal thread pool. This option is intended for server applications to avoid an overflow of jobs when serving e.g. many web requests. More...
 
int UpnpResolveURL (const char *BaseURL, const char *RelURL, char *AbsURL)
 Combines a base URL and a relative URL into a single absolute URL. More...
 
int UpnpResolveURL2 (const char *BaseURL, const char *RelURL, char **AbsURL)
 Combines a base URL and a relative URL into a single absolute URL. More...
 
static int addToAction (int response, IXML_Document **ActionDoc, const char *ActionName, const char *ServType, const char *ArgName, const char *ArgValue)
 Adds the argument in the action request or response. More...
 
static IXML_DocumentmakeAction (int response, const char *ActionName, const char *ServType, int NumArg, const char *Arg, va_list ArgList)
 Creates the action request or response from the argument list. More...
 
IXML_DocumentUpnpMakeAction (const char *ActionName, const char *ServType, int NumArg, const char *Arg,...)
 Creates an action request packet based on its input parameters (status variable name and value pair). More...
 
IXML_DocumentUpnpMakeActionResponse (const char *ActionName, const char *ServType, int NumArg, const char *Arg,...)
 Ceates an action response packet based on its output parameters (status variable name and value pair). More...
 
int UpnpAddToAction (IXML_Document **ActionDoc, const char *ActionName, const char *ServType, const char *ArgName, const char *ArgValue)
 Adds the argument in the action request. More...
 
int UpnpAddToActionResponse (IXML_Document **ActionResponse, const char *ActionName, const char *ServType, const char *ArgName, const char *ArgValue)
 Creates an action response packet based on its output parameters (status variable name and value pair). More...
 
IXML_DocumentUpnpCreatePropertySet (int NumArg, const char *Arg,...)
 Creates a property set message packet. More...
 
int UpnpAddToPropertySet (IXML_Document **PropSet, const char *ArgName, const char *ArgValue)
 Can be used when an application needs to transfer the status of many variables at once. More...
 

Variables

struct ErrorString ErrorMessages []
 Array of error structures. More...
 

Macro Definition Documentation

◆ HEADER_LENGTH

#define HEADER_LENGTH   2000

Maximum action header buffer length.

Function Documentation

◆ addToAction()

static int addToAction ( int  response,
IXML_Document **  ActionDoc,
const char *  ActionName,
const char *  ServType,
const char *  ArgName,
const char *  ArgValue 
)
static

Adds the argument in the action request or response.

This function creates the action request or response if it is a first argument, otherwise it will add the argument in the document.

Returns
UPNP_E_SUCCESS if successful, otherwise the appropriate error.
Parameters
[in]responseflag to tell if the ActionDoc is for response or request.
[in,out]ActionDocRequest or response document.
[in]ActionNameName of the action request or response.
[in]ServTypeService type.
[in]ArgNameName of the argument.
[in]ArgValueValue of the argument.

References HEADER_LENGTH, ixmlParseBufferEx(), ErrorString::rc, UPNP_E_INVALID_PARAM, and UPNP_E_OUTOF_MEMORY.

Referenced by UpnpAddToAction(), and UpnpAddToActionResponse().

◆ makeAction()

static IXML_Document* makeAction ( int  response,
const char *  ActionName,
const char *  ServType,
int  NumArg,
const char *  Arg,
va_list  ArgList 
)
static

Creates the action request or response from the argument list.

Returns
Action request or response document if successful, otherwise returns NULL
Parameters
[in]responseflag to tell if the ActionDoc is for response or request.
[in]ActionNameName of the action request or response.
[in]ServTypeService type.
[in]NumArgNumber of arguments in the action request or response.
[in]Argpointer to the first argument.
[in]ArgListArgument list.

References HEADER_LENGTH, ixmlParseBufferEx(), and ErrorString::rc.

Referenced by UpnpMakeAction(), and UpnpMakeActionResponse().

Variable Documentation

◆ ErrorMessages

struct ErrorString ErrorMessages[]

Array of error structures.

Referenced by UpnpGetErrorMessage().