Cyber Garage Portable Runtime (CGPR) for C
socket.h File Reference

Data Structures

struct  CGSocket
 
struct  CGDatagramPacket
 

Macros

#define CG_NET_SOCKET_NONE   0
 
#define CG_NET_SOCKET_STREAM   0x01
 
#define CG_NET_SOCKET_DGRAM   0x02
 
#define CG_NET_SOCKET_CLIENT   1
 
#define CG_NET_SOCKET_SERVER   2
 
#define CG_NET_SOCKET_MAXHOST   32
 
#define CG_NET_SOCKET_MAXSERV   32
 
#define CG_SOCKET_LF   '\n'
 
#define CG_NET_SOCKET_DGRAM_RECV_BUFSIZE   512
 
#define CG_NET_SOCKET_DGRAM_ANCILLARY_BUFSIZE   512
 
#define CG_NET_SOCKET_MULTICAST_DEFAULT_TTL   4
 
#define CG_NET_SOCKET_AUTO_IP_NET   0xa9fe0000
 
#define CG_NET_SOCKET_AUTO_IP_MASK   0xffff0000
 
#define cg_socket_stream_new()
 
#define cg_socket_dgram_new()
 
#define cg_socket_getid(socket)
 
#define cg_socket_settype(socket, value)
 
#define cg_socket_gettype(socket)
 
#define cg_socket_issocketstream(socket)
 
#define cg_socket_isdatagramstream(socket)
 
#define cg_socket_setdirection(socket, value)
 
#define cg_socket_getdirection(socket)
 
#define cg_socket_isclient(socket)
 
#define cg_socket_isserver(socket)
 
#define cg_socket_setaddress(socket, value)
 
#define cg_socket_getaddress(socket)
 
#define cg_socket_setport(socket, value)
 
#define cg_socket_getport(socket)
 
#define cg_socket_datagram_packet_getdata(dgmPkt)
 
#define cg_socket_datagram_packet_getlength(dgmPkt)
 
#define cg_socket_datagram_packet_setlocalAddr(dgmPkt, addr)
 
#define cg_socket_datagram_packet_getlocalAddr(dgmPkt)
 
#define cg_socket_datagram_packet_setlocalport(dgmPkt, port)
 
#define cg_socket_datagram_packet_getlocalport(dgmPkt)
 
#define cg_socket_datagram_packet_setremoteAddr(dgmPkt, addr)
 
#define cg_socket_datagram_packet_getremoteAddr(dgmPkt)
 
#define cg_socket_datagram_packet_setremoteport(dgmPkt, port)
 
#define cg_socket_datagram_packet_getremoteport(dgmPkt)
 

Typedefs

typedef int SOCKET
 

Functions

void cg_socket_startup (void)
 
void cg_socket_cleanup (void)
 
CGSocketcg_socket_new (int type)
 
bool cg_socket_delete (CGSocket *socket)
 
void cg_socket_setid (CGSocket *socket, SOCKET value)
 
bool cg_socket_isboundaddress (CGSocket *socket, const char *addr)
 
bool cg_socket_isbound (CGSocket *socket)
 
bool cg_socket_close (CGSocket *socket)
 
bool cg_socket_listen (CGSocket *socket)
 
bool cg_socket_bind (CGSocket *sock, int bindPort, const char *bindAddr, CGSocketOption *opt)
 
bool cg_socket_accept (CGSocket *sock, CGSocket *clientSock)
 
bool cg_socket_connect (CGSocket *sock, const char *addr, int port)
 
ssize_t cg_socket_read (CGSocket *sock, char *buffer, size_t bufferLen)
 
size_t cg_socket_write (CGSocket *sock, const char *buffer, size_t bufferLen)
 
ssize_t cg_socket_readline (CGSocket *sock, char *buffer, size_t bufferLen)
 
size_t cg_socket_skip (CGSocket *sock, size_t skipLen)
 
size_t cg_socket_sendto (CGSocket *sock, const char *addr, int port, const byte *data, size_t dataeLen)
 
ssize_t cg_socket_recv (CGSocket *sock, CGDatagramPacket *dgmPkt)
 
bool cg_socket_joingroup (CGSocket *sock, const char *mcastAddr, const char *ifAddr)
 
bool cg_socket_setreuseaddress (CGSocket *socket, bool flag)
 
bool cg_socket_setmulticastloop (CGSocket *sock, bool flag)
 
bool cg_socket_setmulticastttl (CGSocket *sock, int ttl)
 
bool cg_socket_settimeout (CGSocket *sock, int sec)
 
CGDatagramPacketcg_socket_datagram_packet_new (void)
 
void cg_socket_datagram_packet_delete (CGDatagramPacket *dgmPkt)
 
bool cg_socket_datagram_packet_setdata (CGDatagramPacket *dgmPkt, const byte *data, size_t dataLen)
 
bool cg_socket_datagram_packet_clear (CGDatagramPacket *dgmPkt)
 
bool cg_socket_datagram_packet_copy (CGDatagramPacket *dstDgmPkt, CGDatagramPacket *srcDgmPkt)
 

Macro Definition Documentation

◆ CG_NET_SOCKET_AUTO_IP_MASK

#define CG_NET_SOCKET_AUTO_IP_MASK   0xffff0000

◆ CG_NET_SOCKET_AUTO_IP_NET

#define CG_NET_SOCKET_AUTO_IP_NET   0xa9fe0000

◆ CG_NET_SOCKET_CLIENT

#define CG_NET_SOCKET_CLIENT   1

◆ CG_NET_SOCKET_DGRAM

#define CG_NET_SOCKET_DGRAM   0x02

◆ CG_NET_SOCKET_DGRAM_ANCILLARY_BUFSIZE

#define CG_NET_SOCKET_DGRAM_ANCILLARY_BUFSIZE   512

◆ CG_NET_SOCKET_DGRAM_RECV_BUFSIZE

#define CG_NET_SOCKET_DGRAM_RECV_BUFSIZE   512

◆ CG_NET_SOCKET_MAXHOST

#define CG_NET_SOCKET_MAXHOST   32

◆ CG_NET_SOCKET_MAXSERV

#define CG_NET_SOCKET_MAXSERV   32

◆ CG_NET_SOCKET_MULTICAST_DEFAULT_TTL

#define CG_NET_SOCKET_MULTICAST_DEFAULT_TTL   4

◆ CG_NET_SOCKET_NONE

#define CG_NET_SOCKET_NONE   0

◆ CG_NET_SOCKET_SERVER

#define CG_NET_SOCKET_SERVER   2

◆ CG_NET_SOCKET_STREAM

#define CG_NET_SOCKET_STREAM   0x01

◆ cg_socket_datagram_packet_getdata

#define cg_socket_datagram_packet_getdata ( dgmPkt)
Value:
(dgmPkt->data)

◆ cg_socket_datagram_packet_getlength

#define cg_socket_datagram_packet_getlength ( dgmPkt)
Value:
(dgmPkt->dataLen)

◆ cg_socket_datagram_packet_getlocalAddr

#define cg_socket_datagram_packet_getlocalAddr ( dgmPkt)
Value:
cg_string_getvalue(dgmPkt->localAddr)
char * cg_string_getvalue(CGString *str)
Definition string.c:151

◆ cg_socket_datagram_packet_getlocalport

#define cg_socket_datagram_packet_getlocalport ( dgmPkt)
Value:
(dgmPkt->localPort)

◆ cg_socket_datagram_packet_getremoteAddr

#define cg_socket_datagram_packet_getremoteAddr ( dgmPkt)
Value:
cg_string_getvalue(dgmPkt->remoteAddr)

◆ cg_socket_datagram_packet_getremoteport

#define cg_socket_datagram_packet_getremoteport ( dgmPkt)
Value:
(dgmPkt->remotePort)

◆ cg_socket_datagram_packet_setlocalAddr

#define cg_socket_datagram_packet_setlocalAddr ( dgmPkt,
addr )
Value:
cg_string_setvalue(dgmPkt->localAddr, addr)
void cg_string_setvalue(CGString *str, const char *value)
Definition string.c:80

◆ cg_socket_datagram_packet_setlocalport

#define cg_socket_datagram_packet_setlocalport ( dgmPkt,
port )
Value:
(dgmPkt->localPort = port)

◆ cg_socket_datagram_packet_setremoteAddr

#define cg_socket_datagram_packet_setremoteAddr ( dgmPkt,
addr )
Value:
cg_string_setvalue(dgmPkt->remoteAddr, addr)

◆ cg_socket_datagram_packet_setremoteport

#define cg_socket_datagram_packet_setremoteport ( dgmPkt,
port )
Value:
(dgmPkt->remotePort = port)

◆ cg_socket_dgram_new

#define cg_socket_dgram_new ( )
Value:
#define CG_NET_SOCKET_DGRAM
Definition socket.h:41
CGSocket * cg_socket_new(int type)
Definition socket.c:115

◆ cg_socket_getaddress

#define cg_socket_getaddress ( socket)
Value:
cg_string_getvalue(socket->ipaddr)

◆ cg_socket_getdirection

#define cg_socket_getdirection ( socket)
Value:
(socket->direction)

◆ cg_socket_getid

#define cg_socket_getid ( socket)
Value:
(socket->id)

◆ cg_socket_getport

#define cg_socket_getport ( socket)
Value:
(socket->port)

◆ cg_socket_gettype

#define cg_socket_gettype ( socket)
Value:
(socket->type)

◆ cg_socket_isclient

#define cg_socket_isclient ( socket)
Value:
((socket->direction == CG_NET_SOCKET_CLIENT) ? true : false)
#define CG_NET_SOCKET_CLIENT
Definition socket.h:43

◆ cg_socket_isdatagramstream

#define cg_socket_isdatagramstream ( socket)
Value:
((socket->type & CG_NET_SOCKET_DGRAM) ? true : false)

◆ cg_socket_isserver

#define cg_socket_isserver ( socket)
Value:
((socket->direction == CG_NET_SOCKET_SERVER) ? true : false)
#define CG_NET_SOCKET_SERVER
Definition socket.h:44

◆ cg_socket_issocketstream

#define cg_socket_issocketstream ( socket)
Value:
((socket->type & CG_NET_SOCKET_STREAM) ? true : false)
#define CG_NET_SOCKET_STREAM
Definition socket.h:40

◆ CG_SOCKET_LF

#define CG_SOCKET_LF   '\n'

◆ cg_socket_setaddress

#define cg_socket_setaddress ( socket,
value )
Value:
cg_string_setvalue(socket->ipaddr, value)

◆ cg_socket_setdirection

#define cg_socket_setdirection ( socket,
value )
Value:
(socket->direction = value)

◆ cg_socket_setport

#define cg_socket_setport ( socket,
value )
Value:
(socket->port = value)

◆ cg_socket_settype

#define cg_socket_settype ( socket,
value )
Value:
(socket->type = value)

◆ cg_socket_stream_new

#define cg_socket_stream_new ( )

Typedef Documentation

◆ SOCKET

typedef int SOCKET

Function Documentation

◆ cg_socket_accept()

bool cg_socket_accept ( CGSocket * sock,
CGSocket * clientSock )

◆ cg_socket_bind()

bool cg_socket_bind ( CGSocket * sock,
int bindPort,
const char * bindAddr,
CGSocketOption * opt )

◆ cg_socket_cleanup()

void cg_socket_cleanup ( void )

◆ cg_socket_close()

bool cg_socket_close ( CGSocket * socket)

◆ cg_socket_connect()

bool cg_socket_connect ( CGSocket * sock,
const char * addr,
int port )

◆ cg_socket_datagram_packet_clear()

bool cg_socket_datagram_packet_clear ( CGDatagramPacket * dgmPkt)

◆ cg_socket_datagram_packet_copy()

bool cg_socket_datagram_packet_copy ( CGDatagramPacket * dstDgmPkt,
CGDatagramPacket * srcDgmPkt )

◆ cg_socket_datagram_packet_delete()

void cg_socket_datagram_packet_delete ( CGDatagramPacket * dgmPkt)

◆ cg_socket_datagram_packet_new()

CGDatagramPacket * cg_socket_datagram_packet_new ( void )

◆ cg_socket_datagram_packet_setdata()

bool cg_socket_datagram_packet_setdata ( CGDatagramPacket * dgmPkt,
const byte * data,
size_t dataLen )

◆ cg_socket_delete()

bool cg_socket_delete ( CGSocket * socket)

◆ cg_socket_isbound()

bool cg_socket_isbound ( CGSocket * socket)

◆ cg_socket_isboundaddress()

bool cg_socket_isboundaddress ( CGSocket * socket,
const char * addr )

◆ cg_socket_joingroup()

bool cg_socket_joingroup ( CGSocket * sock,
const char * mcastAddr,
const char * ifAddr )

◆ cg_socket_listen()

bool cg_socket_listen ( CGSocket * socket)

◆ cg_socket_new()

CGSocket * cg_socket_new ( int type)

◆ cg_socket_read()

ssize_t cg_socket_read ( CGSocket * sock,
char * buffer,
size_t bufferLen )

◆ cg_socket_readline()

ssize_t cg_socket_readline ( CGSocket * sock,
char * buffer,
size_t bufferLen )

◆ cg_socket_recv()

ssize_t cg_socket_recv ( CGSocket * sock,
CGDatagramPacket * dgmPkt )

◆ cg_socket_sendto()

size_t cg_socket_sendto ( CGSocket * sock,
const char * addr,
int port,
const byte * data,
size_t dataeLen )

◆ cg_socket_setid()

void cg_socket_setid ( CGSocket * socket,
SOCKET value )

◆ cg_socket_setmulticastloop()

bool cg_socket_setmulticastloop ( CGSocket * sock,
bool flag )

◆ cg_socket_setmulticastttl()

bool cg_socket_setmulticastttl ( CGSocket * sock,
int ttl )

◆ cg_socket_setreuseaddress()

bool cg_socket_setreuseaddress ( CGSocket * socket,
bool flag )

◆ cg_socket_settimeout()

bool cg_socket_settimeout ( CGSocket * sock,
int sec )

◆ cg_socket_skip()

size_t cg_socket_skip ( CGSocket * sock,
size_t skipLen )

◆ cg_socket_startup()

void cg_socket_startup ( void )

◆ cg_socket_write()

size_t cg_socket_write ( CGSocket * sock,
const char * buffer,
size_t bufferLen )