Monero
Macros | Functions | Variables
minissdp.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <syslog.h>
#include "config.h"
#include "upnpdescstrings.h"
#include "miniupnpdpath.h"
#include "upnphttp.h"
#include "upnpglobalvars.h"
#include "minissdp.h"
#include "upnputils.h"
#include "getroute.h"
#include "asyncsendto.h"
#include "codelength.h"
#include "macros.h"
Include dependency graph for minissdp.c:

Macros

#define MIN(x, y)   (((x)<(y))?(x):(y))
 
#define SSDP_PORT   (1900)
 
#define SSDP_MCAST_ADDR   ("239.255.255.250")
 
#define LL_SSDP_MCAST_ADDR   "FF02::C"
 
#define SL_SSDP_MCAST_ADDR   "FF05::C"
 
#define GL_SSDP_MCAST_ADDR   "FF0E::C"
 

Functions

static int AddMulticastMembership (int s, struct lan_addr_s *lan_addr)
 
int OpenAndConfSSDPReceiveSocket (int ipv6)
 
static int OpenAndConfSSDPNotifySocket (struct lan_addr_s *lan_addr)
 
int OpenAndConfSSDPNotifySockets (int *sockets)
 
static void SendSSDPResponse (int s, const struct sockaddr *addr, const char *st, int st_len, const char *suffix, const char *host, unsigned short http_port, const char *uuidvalue, unsigned int delay)
 
static void SendSSDPNotify (int s, const struct sockaddr *dest, socklen_t dest_len, const char *dest_str, const char *host, unsigned short http_port, const char *nt, const char *suffix, const char *usn1, const char *usn2, const char *usn3, unsigned int lifetime)
 
static void SendSSDPNotifies (int s, const char *host, unsigned short http_port, unsigned int lifetime, int ipv6)
 
void SendSSDPNotifies2 (int *sockets, unsigned short http_port, unsigned int lifetime)
 
void ProcessSSDPRequest (int s, unsigned short http_port)
 
void ProcessSSDPData (int s, const char *bufr, int n, const struct sockaddr *sender, int source_if, unsigned short http_port)
 
static int SendSSDPbyebye (int s, const struct sockaddr *dest, socklen_t destlen, const char *dest_str, const char *nt, const char *suffix, const char *usn1, const char *usn2, const char *usn3)
 
int SendSSDPGoodbye (int *sockets, int n_sockets)
 
int SubmitServicesToMiniSSDPD (const char *host, unsigned short port)
 

Variables

struct {
   const char *   s
 
   const int   version
 
   const char *   uuid
 
known_service_types []
 

Macro Definition Documentation

◆ GL_SSDP_MCAST_ADDR

#define GL_SSDP_MCAST_ADDR   "FF0E::C"

◆ LL_SSDP_MCAST_ADDR

#define LL_SSDP_MCAST_ADDR   "FF02::C"

◆ MIN

#define MIN (   x,
 
)    (((x)<(y))?(x):(y))

◆ SL_SSDP_MCAST_ADDR

#define SL_SSDP_MCAST_ADDR   "FF05::C"

◆ SSDP_MCAST_ADDR

#define SSDP_MCAST_ADDR   ("239.255.255.250")

◆ SSDP_PORT

#define SSDP_PORT   (1900)

Function Documentation

◆ AddMulticastMembership()

static int AddMulticastMembership ( int  s,
struct lan_addr_s lan_addr 
)
static

◆ OpenAndConfSSDPNotifySocket()

static int OpenAndConfSSDPNotifySocket ( struct lan_addr_s lan_addr)
static

◆ OpenAndConfSSDPNotifySockets()

int OpenAndConfSSDPNotifySockets ( int *  sockets)

◆ OpenAndConfSSDPReceiveSocket()

int OpenAndConfSSDPReceiveSocket ( int  ipv6)

◆ ProcessSSDPData()

void ProcessSSDPData ( int  s,
const char *  bufr,
int  n,
const struct sockaddr *  sender,
int  source_if,
unsigned short  http_port 
)

◆ ProcessSSDPRequest()

void ProcessSSDPRequest ( int  s,
unsigned short  http_port 
)

◆ SendSSDPbyebye()

static int SendSSDPbyebye ( int  s,
const struct sockaddr *  dest,
socklen_t  destlen,
const char *  dest_str,
const char *  nt,
const char *  suffix,
const char *  usn1,
const char *  usn2,
const char *  usn3 
)
static

◆ SendSSDPGoodbye()

int SendSSDPGoodbye ( int *  sockets,
int  n_sockets 
)

◆ SendSSDPNotifies()

static void SendSSDPNotifies ( int  s,
const char *  host,
unsigned short  http_port,
unsigned int  lifetime,
int  ipv6 
)
static

◆ SendSSDPNotifies2()

void SendSSDPNotifies2 ( int *  sockets,
unsigned short  http_port,
unsigned int  lifetime 
)

◆ SendSSDPNotify()

static void SendSSDPNotify ( int  s,
const struct sockaddr *  dest,
socklen_t  dest_len,
const char *  dest_str,
const char *  host,
unsigned short  http_port,
const char *  nt,
const char *  suffix,
const char *  usn1,
const char *  usn2,
const char *  usn3,
unsigned int  lifetime 
)
static

◆ SendSSDPResponse()

static void SendSSDPResponse ( int  s,
const struct sockaddr *  addr,
const char *  st,
int  st_len,
const char *  suffix,
const char *  host,
unsigned short  http_port,
const char *  uuidvalue,
unsigned int  delay 
)
static

◆ SubmitServicesToMiniSSDPD()

int SubmitServicesToMiniSSDPD ( const char *  host,
unsigned short  port 
)

Variable Documentation

◆ known_service_types

struct { ... } known_service_types[]

◆ s

const char* s

◆ uuid

const char* uuid

◆ version

const int version