upnptools.c File Reference
`#include "config.h"`
`#include "upnp.h"`
`#include "upnptools.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.
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_Document * | makeAction (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_Document * | UpnpMakeAction (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_Document * | UpnpMakeActionResponse (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_Document * | UpnpCreatePropertySet (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.

## 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] | response | flag to tell if the ActionDoc is for response or request.
  [in,out] | ActionDoc | Request or response document.
  [in] | ActionName | Name of the action request or response.
  [in] | ServType | Service type.
  [in] | ArgName | Name of the argument.
  [in] | ArgValue | Value 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().

## 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] | response | flag to tell if the ActionDoc is for response or request.
  [in] | ActionName | Name of the action request or response.
  [in] | ServType | Service type.
  [in] | NumArg | Number of arguments in the action request or response.
  [in] | Arg | pointer to the first argument.
  [in] | ArgList | Argument list.

References HEADER_LENGTH, ixmlDocument_createElement(), ixmlDocument_createTextNode(), ixmlNode_appendChild(), ixmlNode_getFirstChild(), ixmlParseBufferEx(), and ErrorString::rc.

Referenced by UpnpMakeAction(), and UpnpMakeActionResponse().

## Variable Documentation

## ErrorMessages

struct ErrorString ErrorMessages[]

Array of error structures.

Referenced by UpnpGetErrorMessage().