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
struct  pj_sockopt_params

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 } } }
#define PJ_MAX_SOCKOPT_PARAMS   4

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_params (pj_sock_t sockfd, const pj_sockopt_params *params)
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.