Cyber Garage Portable Runtime (CGPR) for C
interface.h File Reference
#include <cgpr/util/list.h>
#include <cgpr/util/string.h>
#include <cgpr/net/typedef.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>

Data Structures

struct  CGNetworkInterface
 

Macros

#define CG_NET_IPV4_ADDRSTRING_MAXSIZE   ((3 * 4) + (1 * 3) + 1)
 
#define CG_NET_IPV6_ADDRSTRING_MAXSIZE   (1 + (8 * 4) + (1 * 7) + 1 + 1)
 
#define CG_NET_IPV4_LOOPBACK   "127.0.0.1"
 
#define CG_NET_IPV6_LOOPBACK   "fixmelater"
 
#define CG_NET_MACADDR_SIZE   6
 
#define cg_net_interface_next(netIf)
 
#define cg_net_interface_remove(netIf)
 
#define cg_net_interface_setmacaddress(netIf, value)
 
#define cg_net_interface_getmacaddress(netIf, buf)
 
#define cg_net_interface_setindex(netIf, value)
 
#define cg_net_interface_getindex(netIf, buf)
 
#define cg_net_interfacelist_clear(netIfList)
 
#define cg_net_interfacelist_size(netIfList)
 
#define cg_net_interfacelist_gets(netIfList)
 
#define cg_net_interfacelist_add(netIfList, netIf)
 

Typedefs

typedef struct CGNetworkInterface CGNetworkInterfaceList
 

Functions

CGNetworkInterfacecg_net_interface_new (void)
 
void cg_net_interface_delete (CGNetworkInterface *netIf)
 
CGNetworkInterfacecg_net_interface_getany (void)
 
void cg_net_interface_setname (CGNetworkInterface *netIf, char *name)
 
char * cg_net_interface_getname (CGNetworkInterface *netIf)
 
void cg_net_interface_setaddress (CGNetworkInterface *netIf, char *ipaddr)
 
char * cg_net_interface_getaddress (CGNetworkInterface *netIf)
 
void cg_net_interface_setnetmask (CGNetworkInterface *netIf, char *ipaddr)
 
char * cg_net_interface_getnetmask (CGNetworkInterface *netIf)
 
char * cg_net_selectaddr (struct sockaddr *remoteaddr)
 
CGNetworkInterfaceListcg_net_interfacelist_new (void)
 
void cg_net_interfacelist_delete (CGNetworkInterfaceList *netIfList)
 
size_t cg_net_gethostinterfaces (CGNetworkInterfaceList *netIfList)
 
bool cg_net_isipv6address (const char *addr)
 
int cg_net_getipv6scopeid (const char *addr)
 

Macro Definition Documentation

◆ cg_net_interface_getindex

#define cg_net_interface_getindex ( netIf,
buf )
Value:
(netIf->index)

◆ cg_net_interface_getmacaddress

#define cg_net_interface_getmacaddress ( netIf,
buf )
Value:
memcpy(buf, netIf->macaddr, CG_NET_MACADDR_SIZE)
#define CG_NET_MACADDR_SIZE
Definition interface.h:46

◆ cg_net_interface_next

#define cg_net_interface_next ( netIf)
Value:
CGList * cg_list_next(CGList *list)
Definition list.c:216
Definition interface.h:52
The generic list interface in mUPnP.
Definition list.h:69

◆ cg_net_interface_remove

#define cg_net_interface_remove ( netIf)
Value:
bool cg_list_remove(CGList *list)
Definition list.c:131

◆ cg_net_interface_setindex

#define cg_net_interface_setindex ( netIf,
value )
Value:
(netIf->index = value)

◆ cg_net_interface_setmacaddress

#define cg_net_interface_setmacaddress ( netIf,
value )
Value:
memcpy(netIf->macaddr, value, CG_NET_MACADDR_SIZE)

◆ cg_net_interfacelist_add

#define cg_net_interfacelist_add ( netIfList,
netIf )
Value:
cg_list_add((CGList*)netIfList, (CGList*)netIf)
bool cg_list_add(CGList *headList, CGList *list)
Definition list.c:114

◆ cg_net_interfacelist_clear

#define cg_net_interfacelist_clear ( netIfList)
Value:
void cg_net_interface_delete(CGNetworkInterface *netIf)
Definition interface.c:53
bool cg_list_clear(CGList *headList, CG_LIST_DESTRUCTORFUNC dstructorFunc)
Definition list.c:234
void(* CG_LIST_DESTRUCTORFUNC)(void *)
Definition list.h:42

◆ cg_net_interfacelist_gets

#define cg_net_interfacelist_gets ( netIfList)
Value:

◆ cg_net_interfacelist_size

#define cg_net_interfacelist_size ( netIfList)
Value:
cg_list_size((CGList*)netIfList)
size_t cg_list_size(CGList *headList)
Definition list.c:55

◆ CG_NET_IPV4_ADDRSTRING_MAXSIZE

#define CG_NET_IPV4_ADDRSTRING_MAXSIZE   ((3 * 4) + (1 * 3) + 1)

◆ CG_NET_IPV4_LOOPBACK

#define CG_NET_IPV4_LOOPBACK   "127.0.0.1"

◆ CG_NET_IPV6_ADDRSTRING_MAXSIZE

#define CG_NET_IPV6_ADDRSTRING_MAXSIZE   (1 + (8 * 4) + (1 * 7) + 1 + 1)

◆ CG_NET_IPV6_LOOPBACK

#define CG_NET_IPV6_LOOPBACK   "fixmelater"

◆ CG_NET_MACADDR_SIZE

#define CG_NET_MACADDR_SIZE   6

Typedef Documentation

◆ CGNetworkInterfaceList

Function Documentation

◆ cg_net_gethostinterfaces()

size_t cg_net_gethostinterfaces ( CGNetworkInterfaceList * netIfList)

◆ cg_net_getipv6scopeid()

int cg_net_getipv6scopeid ( const char * addr)

◆ cg_net_interface_delete()

void cg_net_interface_delete ( CGNetworkInterface * netIf)

◆ cg_net_interface_getaddress()

char * cg_net_interface_getaddress ( CGNetworkInterface * netIf)

◆ cg_net_interface_getany()

CGNetworkInterface * cg_net_interface_getany ( void )

◆ cg_net_interface_getname()

char * cg_net_interface_getname ( CGNetworkInterface * netIf)

◆ cg_net_interface_getnetmask()

char * cg_net_interface_getnetmask ( CGNetworkInterface * netIf)

◆ cg_net_interface_new()

CGNetworkInterface * cg_net_interface_new ( void )

◆ cg_net_interface_setaddress()

void cg_net_interface_setaddress ( CGNetworkInterface * netIf,
char * ipaddr )

◆ cg_net_interface_setname()

void cg_net_interface_setname ( CGNetworkInterface * netIf,
char * name )

◆ cg_net_interface_setnetmask()

void cg_net_interface_setnetmask ( CGNetworkInterface * netIf,
char * ipaddr )

◆ cg_net_interfacelist_delete()

void cg_net_interfacelist_delete ( CGNetworkInterfaceList * netIfList)

◆ cg_net_interfacelist_new()

CGNetworkInterfaceList * cg_net_interfacelist_new ( void )

◆ cg_net_isipv6address()

bool cg_net_isipv6address ( const char * addr)

◆ cg_net_selectaddr()

char * cg_net_selectaddr ( struct sockaddr * remoteaddr)