#include <sys/types.h>
Go to the source code of this file.
Data Structures | |
struct | sockaddr |
Socket address. More... | |
struct | linger |
Structure used for manipulating linger option. More... | |
Defines | |
#define | _ABLE_CLIB_SYS_SOCKET_H 1 |
#define | SOCK_STREAM 1 |
Socket will be a full-duplex reliable stream. | |
#define | SOCK_DGRAM 2 |
Socket will be unreliable message oriented. | |
#define | SOCK_RAW 3 |
Socket will be a raw connection. | |
#define | SO_DEBUG 0x0001 |
Turn on debugging info recording. | |
#define | SO_ACCEPTCONN 0x0002 |
Socket has had listen. | |
#define | SO_REUSEADDR 0x0004 |
Allow local address reuse. | |
#define | SO_KEEPALIVE 0x0008 |
Keep connections alive. | |
#define | SO_DONTROUTE 0x0010 |
Just use interface addresses. | |
#define | SO_BROADCAST 0x0020 |
Permit sending of broadcast msgs. | |
#define | SO_USELOOPBACK 0x0040 |
Bypass hardware when possible. | |
#define | SO_LINGER 0x0080 |
Linger on close if data present. | |
#define | SO_OOBINLINE 0x0100 |
Leave received OOB data in line. | |
#define | SO_REUSEPORT 0x0200 |
Allow local address & port reuse. | |
#define | SO_DONTLINGER (int)(~SO_LINGER) |
#define | SO_SNDBUF 0x1001 |
Send buffer size. | |
#define | SO_RCVBUF 0x1002 |
Receive buffer size. | |
#define | SO_SNDLOWAT 0x1003 |
Send low-water mark. | |
#define | SO_RCVLOWAT 0x1004 |
Receive low-water mark. | |
#define | SO_SNDTIMEO 0x1005 |
Send timeout. | |
#define | SO_RCVTIMEO 0x1006 |
Receive timeout. | |
#define | SO_ERROR 0x1007 |
Get error status and clear. | |
#define | SO_TYPE 0x1008 |
Get socket type. | |
#define | SO_CONTIMEO 0x1009 |
Connect timeout. | |
#define | SO_NO_CHECK 0x100a |
Don't create UDP checksum. | |
#define | SOL_SOCKET 0xfff |
Options for socket level. | |
#define | AF_UNSPEC 0 |
#define | AF_INET 2 |
#define | PF_INET AF_INET |
#define | PF_UNSPEC AF_UNSPEC |
#define | IPPROTO_IP 0 |
#define | IPPROTO_TCP 6 |
#define | IPPROTO_UDP 17 |
#define | IPPROTO_UDPLITE 136 |
#define | MSG_PEEK 0x01 |
Peeks at an incoming message. | |
#define | MSG_WAITALL 0x02 |
Requests that the function block until the full amount of data requested can be returned. | |
#define | MSG_OOB 0x04 |
Requests out-of-band data. | |
#define | MSG_DONTWAIT 0x08 |
Nonblocking i/o for this operation only. | |
#define | TCP_NODELAY 0x01 |
don't delay send to coalesce packets. | |
#define | TCP_KEEPALIVE 0x02 |
send KEEPALIVE probes when idle for pcb->keep_idle milliseconds. | |
#define | TCP_KEEPIDLE 0x03 |
set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt. | |
#define | TCP_KEEPINTVL 0x04 |
set pcb->keep_intvl - Use seconds for get/setsockopt. | |
#define | TCP_KEEPCNT 0x05 |
set pcb->keep_cnt - Use number of probes sent for get/setsockopt. | |
#define | IPTOS_TOS_MASK 0x1E |
#define | IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) |
#define | IPTOS_LOWDELAY 0x10 |
#define | IPTOS_THROUGHPUT 0x08 |
#define | IPTOS_RELIABILITY 0x04 |
#define | IPTOS_LOWCOST 0x02 |
#define | IPTOS_MINCOST IPTOS_LOWCOST |
#define | IPTOS_PREC_MASK 0xe0 |
#define | IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) |
#define | IPTOS_PREC_NETCONTROL 0xe0 |
#define | IPTOS_PREC_INTERNETCONTROL 0xc0 |
#define | IPTOS_PREC_CRITIC_ECP 0xa0 |
#define | IPTOS_PREC_FLASHOVERRIDE 0x80 |
#define | IPTOS_PREC_FLASH 0x60 |
#define | IPTOS_PREC_IMMEDIATE 0x40 |
#define | IPTOS_PREC_PRIORITY 0x20 |
#define | IPTOS_PREC_ROUTINE 0x00 |
#define | SHUT_RD 0 |
#define | SHUT_WR 1 |
#define | SHUT_RDWR 2 |
Functions | |
int | socket (int domain, int type, int protocol) |
Create a network socket and return its file descriptor. | |
int | accept (int sockfd, struct sockaddr *addr, socklen_t *addrlen) |
Accept a new connection on a socket. | |
int | bind (int sockfd, const struct sockaddr *my_addr, socklen_t addrlen) |
Bind a socket to an address. | |
int | shutdown (int sockfd, int how) |
Shut down part of a full-duplex connection. | |
int | getpeername (int sockfd, struct sockaddr *name, socklen_t *namelen) |
Get name of connected peer socket. | |
int | getsockname (int sockfd, struct sockaddr *name, socklen_t *namelen) |
Get socket name. | |
int | getsockopt (int sockfd, int level, int optname, void *optval, socklen_t *optlen) |
Get options on a socket. | |
int | setsockopt (int sockfd, int level, int optname, const void *optval, socklen_t optlen) |
Set options on a socket. | |
int | connect (int sockfd, const struct sockaddr *name, socklen_t namelen) |
Initiate a connection on a socket. | |
int | listen (int sockfd, int backlog) |
Listen for connections on a socket. | |
int | recv (int sockfd, void *buf, int len, int flags) |
Receive a message from a socket. | |
ssize_t | recvfrom (int sockfd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) |
Receive a message from a socket. | |
int | send (int sockfd, const void *buf, int len, int flags) |
Send a message on a socket. | |
ssize_t | sendto (int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) |
Send a message on a socket. |
#define _ABLE_CLIB_SYS_SOCKET_H 1 |
#define AF_INET 2 |
#define AF_UNSPEC 0 |
#define IPPROTO_IP 0 |
#define IPPROTO_TCP 6 |
#define IPPROTO_UDP 17 |
#define IPPROTO_UDPLITE 136 |
#define IPTOS_LOWCOST 0x02 |
#define IPTOS_LOWDELAY 0x10 |
#define IPTOS_MINCOST IPTOS_LOWCOST |
#define IPTOS_PREC | ( | tos | ) | ((tos) & IPTOS_PREC_MASK) |
#define IPTOS_PREC_CRITIC_ECP 0xa0 |
#define IPTOS_PREC_FLASH 0x60 |
#define IPTOS_PREC_FLASHOVERRIDE 0x80 |
#define IPTOS_PREC_IMMEDIATE 0x40 |
#define IPTOS_PREC_INTERNETCONTROL 0xc0 |
#define IPTOS_PREC_MASK 0xe0 |
#define IPTOS_PREC_NETCONTROL 0xe0 |
#define IPTOS_PREC_PRIORITY 0x20 |
#define IPTOS_PREC_ROUTINE 0x00 |
#define IPTOS_RELIABILITY 0x04 |
#define IPTOS_THROUGHPUT 0x08 |
#define IPTOS_TOS | ( | tos | ) | ((tos) & IPTOS_TOS_MASK) |
#define IPTOS_TOS_MASK 0x1E |
#define MSG_DONTWAIT 0x08 |
Nonblocking i/o for this operation only.
#define MSG_OOB 0x04 |
Requests out-of-band data.
The significance and semantics of out-of-band data are protocol-specific.
#define MSG_PEEK 0x01 |
Peeks at an incoming message.
#define MSG_WAITALL 0x02 |
Requests that the function block until the full amount of data requested can be returned.
#define PF_INET AF_INET |
#define PF_UNSPEC AF_UNSPEC |
#define SHUT_RD 0 |
#define SHUT_RDWR 2 |
#define SHUT_WR 1 |
#define SO_ACCEPTCONN 0x0002 |
Socket has had listen.
#define SO_BROADCAST 0x0020 |
Permit sending of broadcast msgs.
#define SO_CONTIMEO 0x1009 |
Connect timeout.
#define SO_DEBUG 0x0001 |
Turn on debugging info recording.
#define SO_DONTLINGER (int)(~SO_LINGER) |
#define SO_DONTROUTE 0x0010 |
Just use interface addresses.
#define SO_ERROR 0x1007 |
Get error status and clear.
#define SO_KEEPALIVE 0x0008 |
Keep connections alive.
#define SO_LINGER 0x0080 |
Linger on close if data present.
#define SO_NO_CHECK 0x100a |
Don't create UDP checksum.
#define SO_OOBINLINE 0x0100 |
Leave received OOB data in line.
#define SO_RCVBUF 0x1002 |
Receive buffer size.
#define SO_RCVLOWAT 0x1004 |
Receive low-water mark.
#define SO_RCVTIMEO 0x1006 |
Receive timeout.
#define SO_REUSEADDR 0x0004 |
Allow local address reuse.
#define SO_REUSEPORT 0x0200 |
Allow local address & port reuse.
#define SO_SNDBUF 0x1001 |
Send buffer size.
#define SO_SNDLOWAT 0x1003 |
Send low-water mark.
#define SO_SNDTIMEO 0x1005 |
Send timeout.
#define SO_TYPE 0x1008 |
Get socket type.
#define SO_USELOOPBACK 0x0040 |
Bypass hardware when possible.
#define SOCK_DGRAM 2 |
Socket will be unreliable message oriented.
#define SOCK_RAW 3 |
Socket will be a raw connection.
#define SOCK_STREAM 1 |
Socket will be a full-duplex reliable stream.
#define SOL_SOCKET 0xfff |
Options for socket level.
#define TCP_KEEPALIVE 0x02 |
send KEEPALIVE probes when idle for pcb->keep_idle milliseconds.
#define TCP_KEEPCNT 0x05 |
set pcb->keep_cnt - Use number of probes sent for get/setsockopt.
#define TCP_KEEPIDLE 0x03 |
set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt.
#define TCP_KEEPINTVL 0x04 |
set pcb->keep_intvl - Use seconds for get/setsockopt.
#define TCP_NODELAY 0x01 |
don't delay send to coalesce packets.
Accept a new connection on a socket.
This call obtains the first connection request on the queue of pending connections, creates a new connected socket, and returns a new file descriptor referring to that socket. The newly created socket is not in the listening state. The original socket sockfd is unaffected by this call.
sockfd | A file descriptor returned from socket . | |
addr | An address structure which will be filled with the messages originator. This may be NULL if the message source is not required. | |
addrlen | The length of the from socket address. |
Get name of connected peer socket.
sockfd | A file descriptor returned from socket | |
name | An address structure which will be filled with the address of the peer the socket is connected to. | |
namelen | The length of the name socket address. |
Get socket name.
sockfd | A file descriptor returned from socket | |
name | An address structure which will be filled with the address of the local socket. | |
namelen | The length of the name socket address. |
int getsockopt | ( | int | sockfd, | |
int | level, | |||
int | optname, | |||
void * | optval, | |||
socklen_t * | optlen | |||
) |
Get options on a socket.
sockfd | A file descriptor returned from socket | |
level | The level at which the option is applied. | |
optname | The option number passed to the appropriate protocol handler. | |
optval | The options filled by the appropriate protocol handler. | |
optlen | The length of options in /a optval. |
int listen | ( | int | sockfd, | |
int | backlog | |||
) |
int recv | ( | int | sockfd, | |
void * | buf, | |||
int | len, | |||
int | flags | |||
) |
Receive a message from a socket.
The recv call is identical to recvfrom with a NULL from parameter.
sockfd | A file descriptor returned from socket . | |
buf | The buffer to receive data into. | |
len | The size of the receive buffer. | |
flags | A set of flags which alter the reception behaviour. |
ssize_t recvfrom | ( | int | sockfd, | |
void * | buf, | |||
size_t | len, | |||
int | flags, | |||
struct sockaddr * | from, | |||
socklen_t * | fromlen | |||
) |
Receive a message from a socket.
This call is used to receive messages from a socket, and may be used to receive data on a socket whether or not it is connection-oriented.
sockfd | A file descriptor returned from socket . | |
buf | The buffer to receive data into. | |
len | The size of the receive buffer. | |
flags | A set of flags which alter the reception behaviour. | |
from | An address structure which will be filled with the messages originator. This may be NULL if the message source is not required. | |
fromlen | The length of the from socket address. |
int send | ( | int | sockfd, | |
const void * | buf, | |||
int | len, | |||
int | flags | |||
) |
ssize_t sendto | ( | int | sockfd, | |
const void * | buf, | |||
size_t | len, | |||
int | flags, | |||
const struct sockaddr * | to, | |||
socklen_t | tolen | |||
) |
Send a message on a socket.
sockfd | A file descriptor returned from socket . | |
buf | A buffer containing the data to send. | |
len | The length of the message to send. | |
flags | The flags to alter how the message is sent. | |
to | The address to send the message to may be NULL if the socket is already bound. | |
tolen | The length of the to socket address. |
int setsockopt | ( | int | sockfd, | |
int | level, | |||
int | optname, | |||
const void * | optval, | |||
socklen_t | optlen | |||
) |
Set options on a socket.
sockfd | A file descriptor returned from socket | |
level | The level at which the option is applied. | |
optname | The option number passed to the appropriate protocol handler. | |
optval | The options passed to the appropriate protocol handler. | |
optlen | The length of options in /a optval. |
int shutdown | ( | int | sockfd, | |
int | how | |||
) |
Shut down part of a full-duplex connection.
sockfd | A file descriptor returned from socket . | |
how | A flag to control how the socket is to be shut down. If how is SHUT_RD, further receptions will be disallowed. If how is SHUT_WR, further transmissions will be disallowed. If how is SHUT_RDWR, further receptions and transmissions will be disallowed. |
int socket | ( | int | domain, | |
int | type, | |||
int | protocol | |||
) |
Create a network socket and return its file descriptor.
domain | The communication domain typically PF_INET . | |
type | The type of communications one of SOCK_STREAM , SOCK_DGRAM or SOCK_RAW . | |
protocol | The protocol within the domain . |