BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJLIB Reference

sock.h File Reference

Socket Abstraction. More...

Go to the source code of this file.

Data Structures

struct  pj_in_addr
 
struct  pj_sockaddr_in
 
union  pj_in6_addr
 
struct  pj_sockaddr_in6
 
struct  pj_addr_hdr
 
union  pj_sockaddr
 
struct  pj_ip_mreq
 

Macros

#define PJ_AF_LOCAL   PJ_AF_UNIX;
 
#define pj_AF_UNSPEC()   PJ_AF_UNSPEC
 
#define pj_AF_UNIX()   PJ_AF_UNIX
 
#define pj_AF_INET()   PJ_AF_INET
 
#define pj_AF_INET6()   PJ_AF_INET6
 
#define pj_AF_PACKET()   PJ_AF_PACKET
 
#define pj_AF_IRDA()   PJ_AF_IRDA
 
#define pj_SOCK_STREAM()   PJ_SOCK_STREAM
 
#define pj_SOCK_DGRAM()   PJ_SOCK_DGRAM
 
#define pj_SOCK_RAW()   PJ_SOCK_RAW
 
#define pj_SOCK_RDM()   PJ_SOCK_RDM
 
#define pj_SOL_SOCKET()   PJ_SOL_SOCKET
 
#define pj_SOL_IP()   PJ_SOL_IP
 
#define pj_SOL_TCP()   PJ_SOL_TCP
 
#define pj_SOL_UDP()   PJ_SOL_UDP
 
#define pj_SOL_IPV6()   PJ_SOL_IPV6
 
#define pj_IP_TOS()   PJ_IP_TOS
 
#define pj_IPTOS_LOWDELAY()   PJ_IP_TOS_LOWDELAY
 
#define pj_IPTOS_THROUGHPUT()   PJ_IP_TOS_THROUGHPUT
 
#define pj_IPTOS_RELIABILITY()   PJ_IP_TOS_RELIABILITY
 
#define pj_IPTOS_MINCOST()   PJ_IP_TOS_MINCOST
 
#define pj_SO_TYPE()   PJ_SO_TYPE
 
#define pj_SO_RCVBUF()   PJ_SO_RCVBUF
 
#define pj_SO_SNDBUF()   PJ_SO_SNDBUF
 
#define pj_TCP_NODELAY()   PJ_TCP_NODELAY
 
#define pj_SO_REUSEADDR()   PJ_SO_REUSEADDR
 
#define pj_SO_NOSIGPIPE()   PJ_SO_NOSIGPIPE
 
#define pj_SO_PRIORITY()   PJ_SO_PRIORITY
 
#define pj_IP_MULTICAST_IF()   PJ_IP_MULTICAST_IF
 
#define pj_IP_MULTICAST_TTL()   PJ_IP_MULTICAST_TTL
 
#define pj_IP_MULTICAST_LOOP()   PJ_IP_MULTICAST_LOOP
 
#define pj_IP_ADD_MEMBERSHIP()   PJ_IP_ADD_MEMBERSHIP
 
#define pj_IP_DROP_MEMBERSHIP()   PJ_IP_DROP_MEMBERSHIP
 
#define pj_MSG_OOB()   PJ_MSG_OOB
 
#define pj_MSG_PEEK()   PJ_MSG_PEEK
 
#define pj_MSG_DONTROUTE()   PJ_MSG_DONTROUTE
 
#define PJ_INADDR_ANY   ((pj_uint32_t)0)
 
#define PJ_INADDR_NONE   ((pj_uint32_t)0xffffffff)
 
#define PJ_INADDR_BROADCAST   ((pj_uint32_t)0xffffffff)
 
#define PJ_SOMAXCONN   5
 
#define PJ_INVALID_SOCKET   (-1)
 
#define PJ_INET_ADDRSTRLEN   16
 
#define PJ_INET6_ADDRSTRLEN   46
 
#define PJ_SOCKADDR_IN_SIN_ZERO_LEN   8
 
#define PJ_IN6ADDR_ANY_INIT   { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
 
#define PJ_IN6ADDR_LOOPBACK_INIT   { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
 

Enumerations

enum  pj_socket_sd_type {
  PJ_SD_RECEIVE = 0, PJ_SHUT_RD = 0, PJ_SD_SEND = 1, PJ_SHUT_WR = 1,
  PJ_SD_BOTH = 2, PJ_SHUT_RDWR = 2
}
 

Functions

pj_uint16_t pj_ntohs (pj_uint16_t netshort)
 
pj_uint16_t pj_htons (pj_uint16_t hostshort)
 
pj_uint32_t pj_ntohl (pj_uint32_t netlong)
 
pj_uint32_t pj_htonl (pj_uint32_t hostlong)
 
char * pj_inet_ntoa (pj_in_addr inaddr)
 
int pj_inet_aton (const pj_str_t *cp, struct pj_in_addr *inp)
 
pj_status_t pj_inet_pton (int af, const pj_str_t *src, void *dst)
 
pj_status_t pj_inet_ntop (int af, const void *src, char *dst, int size)
 
char * pj_inet_ntop2 (int af, const void *src, char *dst, int size)
 
char * pj_sockaddr_print (const pj_sockaddr_t *addr, char *buf, int size, unsigned flags)
 
pj_in_addr pj_inet_addr (const pj_str_t *cp)
 
pj_in_addr pj_inet_addr2 (const char *cp)
 
pj_status_t pj_sockaddr_in_init (pj_sockaddr_in *addr, const pj_str_t *cp, pj_uint16_t port)
 
pj_status_t pj_sockaddr_init (int af, pj_sockaddr *addr, const pj_str_t *cp, pj_uint16_t port)
 
int pj_sockaddr_cmp (const pj_sockaddr_t *addr1, const pj_sockaddr_t *addr2)
 
void * pj_sockaddr_get_addr (const pj_sockaddr_t *addr)
 
pj_bool_t pj_sockaddr_has_addr (const pj_sockaddr_t *addr)
 
unsigned pj_sockaddr_get_addr_len (const pj_sockaddr_t *addr)
 
unsigned pj_sockaddr_get_len (const pj_sockaddr_t *addr)
 
void pj_sockaddr_copy_addr (pj_sockaddr *dst, const pj_sockaddr *src)
 
void pj_sockaddr_cp (pj_sockaddr_t *dst, const pj_sockaddr_t *src)
 
pj_in_addr pj_sockaddr_in_get_addr (const pj_sockaddr_in *addr)
 
void pj_sockaddr_in_set_addr (pj_sockaddr_in *addr, pj_uint32_t hostaddr)
 
pj_status_t pj_sockaddr_in_set_str_addr (pj_sockaddr_in *addr, const pj_str_t *cp)
 
pj_status_t pj_sockaddr_set_str_addr (int af, pj_sockaddr *addr, const pj_str_t *cp)
 
pj_uint16_t pj_sockaddr_get_port (const pj_sockaddr_t *addr)
 
pj_uint16_t pj_sockaddr_in_get_port (const pj_sockaddr_in *addr)
 
pj_status_t pj_sockaddr_set_port (pj_sockaddr *addr, pj_uint16_t hostport)
 
void pj_sockaddr_in_set_port (pj_sockaddr_in *addr, pj_uint16_t hostport)
 
pj_status_t pj_sockaddr_parse (int af, unsigned options, const pj_str_t *str, pj_sockaddr *addr)
 
pj_status_t pj_sockaddr_parse2 (int af, unsigned options, const pj_str_t *str, pj_str_t *hostpart, pj_uint16_t *port, int *raf)
 
const pj_str_tpj_gethostname (void)
 
pj_in_addr pj_gethostaddr (void)
 
pj_status_t pj_sock_socket (int family, int type, int protocol, pj_sock_t *sock)
 
pj_status_t pj_sock_close (pj_sock_t sockfd)
 
pj_status_t pj_sock_bind (pj_sock_t sockfd, const pj_sockaddr_t *my_addr, int addrlen)
 
pj_status_t pj_sock_bind_in (pj_sock_t sockfd, pj_uint32_t addr, pj_uint16_t port)
 
pj_status_t pj_sock_bind_random (pj_sock_t sockfd, const pj_sockaddr_t *addr, pj_uint16_t port_range, pj_uint16_t max_try)
 
pj_status_t pj_sock_listen (pj_sock_t sockfd, int backlog)
 
pj_status_t pj_sock_accept (pj_sock_t serverfd, pj_sock_t *newsock, pj_sockaddr_t *addr, int *addrlen)
 
pj_status_t pj_sock_connect (pj_sock_t sockfd, const pj_sockaddr_t *serv_addr, int addrlen)
 
pj_status_t pj_sock_getpeername (pj_sock_t sockfd, pj_sockaddr_t *addr, int *namelen)
 
pj_status_t pj_sock_getsockname (pj_sock_t sockfd, pj_sockaddr_t *addr, int *namelen)
 
pj_status_t pj_sock_getsockopt (pj_sock_t sockfd, pj_uint16_t level, pj_uint16_t optname, void *optval, int *optlen)
 
pj_status_t pj_sock_setsockopt (pj_sock_t sockfd, pj_uint16_t level, pj_uint16_t optname, const void *optval, int optlen)
 
pj_status_t pj_sock_setsockopt_sobuf (pj_sock_t sockfd, pj_uint16_t optname, pj_bool_t auto_retry, unsigned *buf_size)
 
pj_status_t pj_sock_recv (pj_sock_t sockfd, void *buf, pj_ssize_t *len, unsigned flags)
 
pj_status_t pj_sock_recvfrom (pj_sock_t sockfd, void *buf, pj_ssize_t *len, unsigned flags, pj_sockaddr_t *from, int *fromlen)
 
pj_status_t pj_sock_send (pj_sock_t sockfd, const void *buf, pj_ssize_t *len, unsigned flags)
 
pj_status_t pj_sock_sendto (pj_sock_t sockfd, const void *buf, pj_ssize_t *len, unsigned flags, const pj_sockaddr_t *to, int tolen)
 
pj_status_t pj_sock_shutdown (pj_sock_t sockfd, int how)
 

Variables

const pj_uint16_t PJ_AF_UNSPEC
 
const pj_uint16_t PJ_AF_UNIX
 
const pj_uint16_t PJ_AF_INET
 
const pj_uint16_t PJ_AF_INET6
 
const pj_uint16_t PJ_AF_PACKET
 
const pj_uint16_t PJ_AF_IRDA
 
const pj_uint16_t PJ_SOCK_STREAM
 
const pj_uint16_t PJ_SOCK_DGRAM
 
const pj_uint16_t PJ_SOCK_RAW
 
const pj_uint16_t PJ_SOCK_RDM
 
const pj_uint16_t PJ_SOL_SOCKET
 
const pj_uint16_t PJ_SOL_IP
 
const pj_uint16_t PJ_SOL_TCP
 
const pj_uint16_t PJ_SOL_UDP
 
const pj_uint16_t PJ_SOL_IPV6
 
const pj_uint16_t PJ_IP_TOS
 
const pj_uint16_t PJ_IPTOS_LOWDELAY
 
const pj_uint16_t PJ_IPTOS_THROUGHPUT
 
const pj_uint16_t PJ_IPTOS_RELIABILITY
 
const pj_uint16_t PJ_IPTOS_MINCOST
 
const pj_uint16_t PJ_SO_TYPE
 
const pj_uint16_t PJ_SO_RCVBUF
 
const pj_uint16_t PJ_SO_SNDBUF
 
const pj_uint16_t PJ_TCP_NODELAY
 
const pj_uint16_t PJ_SO_REUSEADDR
 
const pj_uint16_t PJ_SO_NOSIGPIPE
 
const pj_uint16_t PJ_SO_PRIORITY
 
const pj_uint16_t PJ_IP_MULTICAST_IF
 
const pj_uint16_t PJ_IP_MULTICAST_TTL
 
const pj_uint16_t PJ_IP_MULTICAST_LOOP
 
const pj_uint16_t PJ_IP_ADD_MEMBERSHIP
 
const pj_uint16_t PJ_IP_DROP_MEMBERSHIP
 
const int PJ_MSG_OOB
 
const int PJ_MSG_PEEK
 
const int PJ_MSG_DONTROUTE
 

Detailed Description

Socket Abstraction.

 


PJLIB Open Source, high performance, small footprint, and very very portable framework
Copyright (C) 2006-2009 Teluu Inc.