File nut/pro/ssdpc.c


Included Files


Typedef SSDP_OBSERVER

typedef struct _SSDP_OBSERVER SSDP_OBSERVER
See: Type struct _SSDP_OBSERVER

Type struct _SSDP_OBSERVER

struct _SSDP_OBSERVER
struct _SSDP_OBSERVER  
   {  
      SSDP_OBSERVER* sobs_next;  
      char* sobs_domain;  
      char* sobs_type;  
      SSDP_OBSERVER_FUNCTION sobs_cb;  
   }  

Local Variables

ssdp_device_cache
static SSDP_DEVICE* ssdp_device_cache
Used in: CacheDevice()  
  RemoveDevice()  

ssdp_observer_root
static SSDP_OBSERVER* ssdp_observer_root

Used in: CallObservers()  
  NotificationListener()  
  SsdpRegisterServiceObserver()  

Global Function SsdpDiscoverDevices()

int SsdpDiscoverDevices ( const char* target, int_fast8_t mxwait )
Prototyped in: nut/include/pro/ssdp.h
Calls: CacheDevice() nut/pro/ssdpc.c
  CacheService() nut/pro/ssdpc.c
  HttpuAddHeader() nut/pro/httpu.c
  HttpuGetHeader() nut/pro/httpu.c
  HttpuReceive() nut/pro/httpu.c
  HttpuSend() nut/pro/httpu.c
  HttpuSessionCreate() nut/pro/httpu.c
  HttpuSessionDestroy() nut/pro/httpu.c
  SsdpSplitWords() nut/pro/ssdp.c
  SsdpUuidFromHeader() nut/pro/ssdpc.c
  atoi() nut/c/stdlib/atoi.c
  free() nut/crt/malloc.c
  inet_addr() nut/net/inet.c
  sprintf() nut/crt/sprintf.c
  strcmp() nut/c/string/strcmp.c
  strdup() nut/crt/strdup.c
  strcasecmp(), strncasecmp()
Called by: SsdpRegisterServiceObserver() nut/pro/ssdpc.c

Global Function SsdpRegisterServiceObserver()

int SsdpRegisterServiceObserver ( SSDP_OBSERVER_FUNCTION cb, const char* domain, const char* type, int_fast8_t mxwait )
Prototyped in: nut/include/pro/ssdp.h
Calls: SsdpDiscoverDevices() nut/pro/ssdpc.c
  SsdpRegisterListener() nut/pro/ssdp.c
  free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  sprintf() nut/crt/sprintf.c
  strdup() nut/crt/strdup.c
  strlen() nut/c/string/strlen.c
References Functions: NotificationListener() nut/pro/ssdpc.c
References Variables: ssdp_observer_root nut/pro/ssdpc.c

Local Function CacheDevice()

static SSDP_DEVICE* CacheDevice ( const char* uuid, const char* domain, const char* type, const HTTPU_HEADER* hdr )
Calls: HttpuGetHeader() nut/pro/httpu.c
  SsdpDuplicateHeaderValue() nut/pro/ssdpc.c
  atoi() nut/c/stdlib/atoi.c
  strchr() nut/c/string/strchr.c
  strcmp() nut/c/string/strcmp.c
  strdup() nut/crt/strdup.c
  calloc()
Called by: CacheService() nut/pro/ssdpc.c
  SsdpDiscoverDevices() nut/pro/ssdpc.c
References Variables: ssdp_device_cache nut/pro/ssdpc.c

Local Function CacheService()

static SSDP_DEVICE* CacheService ( const char* uuid, const char* domain, const char* type, const HTTPU_HEADER* hdr )
Calls: CacheDevice() nut/pro/ssdpc.c
  CallObservers() nut/pro/ssdpc.c
  strcmp() nut/c/string/strcmp.c
  strdup() nut/crt/strdup.c
  calloc()
Called by: NotificationListener() nut/pro/ssdpc.c
  SsdpDiscoverDevices() nut/pro/ssdpc.c

Local Function CallObservers()

static int CallObservers ( SSDP_SERVICE* ssvc, int_fast8_t removal )
Calls: strcmp() nut/c/string/strcmp.c
Called by: CacheService() nut/pro/ssdpc.c
  RemoveDevice() nut/pro/ssdpc.c
References Variables: ssdp_observer_root nut/pro/ssdpc.c

Local Function NotificationListener()

static void NotificationListener ( HTTPU_HEADER* hdr )
Calls: CacheService() nut/pro/ssdpc.c
  HttpuGetHeader() nut/pro/httpu.c
  RemoveDevice() nut/pro/ssdpc.c
  SsdpSplitWords() nut/pro/ssdp.c
  SsdpUuidFromHeader() nut/pro/ssdpc.c
  free() nut/crt/malloc.c
  strcmp() nut/c/string/strcmp.c
  strdup() nut/crt/strdup.c
Used in: SsdpRegisterServiceObserver() nut/pro/ssdpc.c
References Variables: ssdp_observer_root nut/pro/ssdpc.c

Local Function RemoveDevice()

static void RemoveDevice ( const char* uuid )
Calls: CallObservers() nut/pro/ssdpc.c
  free() nut/crt/malloc.c
  strcmp() nut/c/string/strcmp.c
Called by: NotificationListener() nut/pro/ssdpc.c
References Variables: ssdp_device_cache nut/pro/ssdpc.c

Local Function SsdpDuplicateHeaderValue()

static char* SsdpDuplicateHeaderValue ( const HTTPU_HEADER* hdr, const char* name )
Calls: HttpuGetHeader() nut/pro/httpu.c
  strdup() nut/crt/strdup.c
Called by: CacheDevice() nut/pro/ssdpc.c

Local Function SsdpUuidFromHeader()

static const char* SsdpUuidFromHeader ( const HTTPU_HEADER* hdr )
Calls: HttpuGetHeader() nut/pro/httpu.c
  free() nut/crt/malloc.c
  malloc() nut/crt/malloc.c
  memcpy() nut/c/string/memcpy.c
  strchr() nut/c/string/strchr.c
  strdup() nut/crt/strdup.c
  strncmp() nut/c/string/strncmp.c
Called by: NotificationListener() nut/pro/ssdpc.c
  SsdpDiscoverDevices() nut/pro/ssdpc.c