libUPnP  1.6.17
Data Structures | Defines | Functions | Variables
upnptools.c File Reference
#include "config.h"
#include "upnp.h"
#include "upnptools.h"
#include "uri.h"
#include <stdarg.h>
#include <stdio.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...

Defines

#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.
int UpnpResolveURL (const char *BaseURL, const char *RelURL, char *AbsURL)
 Combines a base URL and a relative URL into a single absolute URL.
int UpnpResolveURL2 (const char *BaseURL, const char *RelURL, char **AbsURL)
 Combines a base URL and a relative URL into a single absolute URL.
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.
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.
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).
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).
int UpnpAddToAction (IXML_Document **ActionDoc, const char *ActionName, const char *ServType, const char *ArgName, const char *ArgValue)
 Adds the argument in the action request.
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).
IXML_DocumentUpnpCreatePropertySet (int NumArg, const char *Arg,...)
 Creates a property set message packet.
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.

Variables

struct ErrorString ErrorMessages []
 Array of error structures.

Detailed Description


Define Documentation

#define HEADER_LENGTH   2000

Maximum action header buffer length.

Referenced by addToAction(), and makeAction().


Function Documentation

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, ixmlDocument_createElement(), ixmlDocument_createTextNode(), ixmlNode_appendChild(), ixmlNode_getFirstChild(), ixmlParseBufferEx(), ErrorString::rc, UPNP_E_INVALID_DESC, UPNP_E_INVALID_PARAM, UPNP_E_OUTOF_MEMORY, and UPNP_E_SUCCESS.

Referenced by UpnpAddToAction(), and UpnpAddToActionResponse().

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, ixmlDocument_createElement(), ixmlDocument_createTextNode(), ixmlNode_appendChild(), ixmlNode_getFirstChild(), ixmlParseBufferEx(), and ErrorString::rc.

Referenced by UpnpMakeAction(), and UpnpMakeActionResponse().


Variable Documentation

Array of error structures.

Referenced by UpnpGetErrorMessage().