Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Related Pages

socket: General socket manipulations


IP socket functions

int socket_tcp (void)
 Create a TCP/IP socket.

int socket_udp (void)
 Create a UDP/IP socket.

int socket_uncork (int sock)
 Unstop a TCP socket from sending short writes.


UNIX local-domain socket functions

int socket_unixdgm (void)
 Create UNIX domain datagram socket.

int socket_unixstr (void)
 Create UNIX domain stream socket.


Functions

int socket_connect4 (int sock, const ipv4addr *ip, ipv4port port)
 Connect a socket to an IPv4 address.

int socket_bind4 (int sock, const ipv4addr *ip, ipv4port port)
 Bind a socket to an IPv4 address.

int socket_accept4 (int sock, ipv4addr *ip, ipv4port *port)
 Accept a connection on a socket from an IPv4 address.

int socket_recv4 (int sock, char *buffer, unsigned buflen, ipv4addr *ip, ipv4port *port)
 Receive a datagram from a UDP socket.

int socket_send4 (int sock, const char *buffer, unsigned buflen, const ipv4addr *ip, ipv4port port)
 Send a datagram on a UDP socket.

int socket_getaddr4 (int sock, ipv4addr *addr, ipv4port *port)
 Determine the IPv4 address of a socket.

int socket_cork (int sock)
 Stop a TCP socket from sending short writes.

int socket_connectu (int sock, const char *path)
 Make an UNIX domain connection.

int socket_bindu (int sock, const char *path)
 Bind a UNIX domain address (path) to a socket.

int socket_acceptu (int sock)
 Accept a UNIX domain connection.

int socket_recvu (int sock, char *buffer, unsigned buflen)
 Receive a datagram from a UNIX domain socket.

int socket_sendu (int sock, const char *buffer, unsigned buflen)
 Send a datagram on a UNIX domain socket.

int socket_pairstr (int fd[2])
 Create a pair of stream sockets.

int socket_pairdgm (int fd[2])
 Create a pair of datagram sockets.

int socket_broadcast (int fd)
 Mark a socket for broadcast transmission.

int socket_connected (int sock)
 Test if a socket is connected.

int socket_linger (int fd, int onoff, int seconds)
 Set the socket "linger" option.

int socket_listen (int sock, int backlog)
 Listen to a socket.

int socket_reuse (int fd)
 Mark a socket for address reuse.

int socket_shutdown (int sock, int shut_rd, int shut_wr)
 Shut down part or all of a socket.

int socket_sendfd (int sock, int fd)
 Send a file descriptor over a socket.

int socket_recvfd (int sock)
 Receive a file descriptor over a socket.


Detailed Description

Calling Convention
When calling a socket function, the socket file descriptor (where required) will always be the first parameter. Functions that return a file descriptor (either creating a new socket or accepting a connection on a socket return that file descriptor on success or -1 on error. All other functions return non-zero (true) on success or 0 (false) on error. All functions set errno on error.

Function Documentation

int socket_cork int  sock  ) 
 

Stop a TCP socket from sending short writes.

Several UNIX OS's have a facility which can prevent packets from being sent across the wire until they are completely full, even if short writes are sent to the socket that would normally result in output packets. This routine attempts to enable that facility to optimize throughput for bulk data transfers. It is known to work on Linux (with the TCP_CORK option) and to at least compile on BSD (with the TCP_NOPUSH option). On OS's which lack either of these two options, this function is essentially a no-op.


Generated on Mon Dec 1 13:28:06 2003 for bglibs by doxygen 1.3.3