File nut/pro/upnp_ctrl.c


Included Files


Typedef UPNP_OBSERVER

typedef struct _UPNP_OBSERVER UPNP_OBSERVER
See: Type struct _UPNP_OBSERVER

Type struct _UPNP_OBSERVER

struct _UPNP_OBSERVER
struct _UPNP_OBSERVER  
   {  
      UPNP_OBSERVER* uobs_next;  
      char* uobs_domain;  
      char* uobs_type;  
      SSDP_OBSERVER_FUNCTION uobs_cb;  
   }  

Local Variables

upnp_observer_root
static UPNP_OBSERVER* upnp_observer_root
Used in: CallObservers()  
  UpnpRegisterServiceObserver()  

Global Function UpnpRegisterServiceObserver()

int UpnpRegisterServiceObserver ( SSDP_OBSERVER_FUNCTION cb, const char* domain, const char* type, int_fast8_t mxwait )
Prototyped in: nut/include/pro/upnp.h
Calls: SsdpRegisterServiceObserver() nut/pro/ssdpc.c
  free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  strdup() nut/crt/strdup.c
References Functions: ServiceObserver() nut/pro/upnp_ctrl.c
References Variables: upnp_observer_root nut/pro/upnp_ctrl.c

Global Function UpnpServiceProcByName()

SOAP_PROCEDURE* UpnpServiceProcByName ( const SSDP_SERVICE* ssvc, const char* name )
Prototyped in: nut/include/pro/upnp.h
Calls: SoapProcByName() nut/pro/soap.c

Global Function UpnpServiceProcCall()

int UpnpServiceProcCall ( SSDP_SERVICE* ssvc, SOAP_PROCEDURE* proc, uint32_t tmo )
Prototyped in: nut/include/pro/upnp.h
Calls: SoapProcCallResource() nut/pro/soapc.c
  free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  sprintf() nut/crt/sprintf.c
  strcpy() nut/c/string/strcpy.c
  strlen() nut/c/string/strlen.c
  strrchr() nut/c/string/strrchr.c

Local Function AddServiceDeviceInfo()

static int AddServiceDeviceInfo ( SSDP_SERVICE* ssvc )
Calls: ParseServiceDeviceInfo() nut/pro/upnp_ctrl.c
  RequestXmlTree() nut/pro/upnp_ctrl.c
  UxmlTreeDestroy()
Called by: ServiceObserver() nut/pro/upnp_ctrl.c

Local Function AddServiceInfo()

static int AddServiceInfo ( SSDP_SERVICE* ssvc )
Calls: ParseServiceInfo() nut/pro/upnp_ctrl.c
  RequestXmlTree() nut/pro/upnp_ctrl.c
  malloc() nut/crt/malloc.c
  strcpy() nut/c/string/strcpy.c
  strlen() nut/c/string/strlen.c
  strrchr() nut/c/string/strrchr.c
  UxmlTreeDestroy()
Called by: ServiceObserver() nut/pro/upnp_ctrl.c

Local Function CallObservers()

static int CallObservers ( SSDP_SERVICE* ssvc, int_fast8_t removal )
Calls: strcmp() nut/c/string/strcmp.c
Called by: ServiceObserver() nut/pro/upnp_ctrl.c
References Variables: upnp_observer_root nut/pro/upnp_ctrl.c

Local Function DuplicateXmlNodeContent()

static char* DuplicateXmlNodeContent ( const UXML_NODE* node, const char* name )
Calls: GetXmlNode() nut/pro/upnp_ctrl.c
  strdup() nut/crt/strdup.c
Called by: ParseServiceDeviceInfo() nut/pro/upnp_ctrl.c

Local Function GetDeviceChildrenNodes()

static const UXML_NODE* GetDeviceChildrenNodes ( const UXML_NODE* root )
Calls: GetXmlNode() nut/pro/upnp_ctrl.c
Called by: ParseServiceDeviceInfo() nut/pro/upnp_ctrl.c

Local Function GetXmlNode()

static const UXML_NODE* GetXmlNode ( const UXML_NODE* list, const char* name )
Calls: strcasecmp()
Called by: DuplicateXmlNodeContent() nut/pro/upnp_ctrl.c
  GetDeviceChildrenNodes() nut/pro/upnp_ctrl.c
  ParseServiceDeviceInfo() nut/pro/upnp_ctrl.c
  ParseServiceInfo() nut/pro/upnp_ctrl.c

Local Function ParseServiceDeviceInfo()

static int ParseServiceDeviceInfo ( const UXML_NODE* root, SSDP_SERVICE* ssvc )
Calls: DuplicateXmlNodeContent() nut/pro/upnp_ctrl.c
  GetDeviceChildrenNodes() nut/pro/upnp_ctrl.c
  GetXmlNode() nut/pro/upnp_ctrl.c
  SsdpSplitWords() nut/pro/ssdp.c
  strdup() nut/crt/strdup.c
  calloc(), strcasecmp()
Called by: AddServiceDeviceInfo() nut/pro/upnp_ctrl.c

Local Function ParseServiceInfo()

static int ParseServiceInfo ( const UXML_NODE* root, SSDP_SERVICE* ssvc )
Calls: GetXmlNode() nut/pro/upnp_ctrl.c
  UpnpVarTypeIndex() nut/pro/upnp.c
  free() nut/crt/malloc.c
  strdup() nut/crt/strdup.c
  calloc(), strcasecmp()
Called by: AddServiceInfo() nut/pro/upnp_ctrl.c

Local Function RemoveServiceInfo()

static void RemoveServiceInfo ( SSDP_SERVICE* ssvc )
Calls: free() nut/crt/malloc.c
Called by: ServiceObserver() nut/pro/upnp_ctrl.c

Local Function RequestXmlTree()

static UXML_NODE* RequestXmlTree ( const char* url, uint32_t tmo )
Calls: NutTcpCloseSocket() nut/net/tcpsock.c
  NutTcpCreateSocket() nut/net/tcpsock.c
  SendHttpRequest() nut/pro/upnp_ctrl.c
  TcpHostConnectStream() nut/pro/tcphost.c
  fclose() nut/crt/fclose.c
  UriSchemeRelease(), UriSchemeSplit(), UxmlParseStream(), strncasecmp()
Called by: AddServiceDeviceInfo() nut/pro/upnp_ctrl.c
  AddServiceInfo() nut/pro/upnp_ctrl.c

Local Function SendHttpRequest()

static int SendHttpRequest ( FILE* stream, const URI_SCHEME* schm )
Calls: fflush() nut/crt/fflush.c
  fprintf() nut/crt/fprintf.c
  fputs() nut/crt/fputs.c
Called by: RequestXmlTree() nut/pro/upnp_ctrl.c

Local Function ServiceObserver()

static int ServiceObserver ( SSDP_SERVICE* ssvc, int_fast8_t removal )
Calls: AddServiceDeviceInfo() nut/pro/upnp_ctrl.c
  AddServiceInfo() nut/pro/upnp_ctrl.c
  CallObservers() nut/pro/upnp_ctrl.c
  RemoveServiceInfo() nut/pro/upnp_ctrl.c
Used in: UpnpRegisterServiceObserver() nut/pro/upnp_ctrl.c