Main socket header. More...
Main socket header.
Definition in file socket.h.
#include <stdalign.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/uio.h>
#include "architecture.h"
#include "net/af.h"
#include "sys/bytes.h"
Go to the source code of this file.
Data Structures | |
struct | sockaddr |
Used to define the socket address. More... | |
struct | sockaddr_storage |
Implementation based socket address table. More... | |
Macros | |
#define | SOCKET_POOL_SIZE (4) |
Maximum number of sockets available on for creation with socket() | |
#define | SOCKET_TCP_QUEUE_SIZE (0) |
Maximum number of incoming TCP connections a listening socket can handle. | |
#define | SOCKADDR_MAX_DATA_LEN (26) |
Maximum data length for a socket address. | |
#define | SOL_SOCKET (-1) |
Options to be accessed at socket level, not protocol level. | |
Typedefs | |
typedef unsigned short | sa_family_t |
address family type | |
Functions | |
int | accept (int socket, struct sockaddr *__restrict address, socklen_t *__restrict address_len) |
Accept a new connection on a socket. | |
int | bind (int socket, const struct sockaddr *address, socklen_t address_len) |
Bind a name to a socket. | |
int | connect (int socket, const struct sockaddr *address, socklen_t address_len) |
Connect a socket. | |
int | getpeername (int socket, struct sockaddr *__restrict address, socklen_t *__restrict address_len) |
Get the name of the peer socket. | |
int | getsockname (int socket, struct sockaddr *__restrict address, socklen_t *__restrict address_len) |
Get the socket name. | |
int | listen (int socket, int backlog) |
Listen for socket connections and limit the queue of incoming connections. | |
ssize_t | recvfrom (int socket, void *__restrict buffer, size_t length, int flags, struct sockaddr *__restrict address, socklen_t *__restrict address_len) |
Receive a message from a socket. | |
static ssize_t | recv (int socket, void *buffer, size_t length, int flags) |
Receive a message from a connected socket. | |
ssize_t | sendto (int socket, const void *buffer, size_t length, int flags, const struct sockaddr *address, socklen_t address_len) |
Send a message on a socket. | |
static ssize_t | send (int socket, const void *buffer, size_t length, int flags) |
Send a message on a socket. | |
int | socket (int domain, int type, int protocol) |
Create an endpoint for communication. | |
Socket types | |
#define | SOCK_DGRAM (1) |
Datagram socket. | |
#define | SOCK_RAW (2) |
Raw socket. | |
#define | SOCK_SEQPACKET (3) |
Sequenced-packet socket. | |
#define | SOCK_STREAM (4) |
Stream socket. | |
Option names | |
Option names for getsockopt() and setsockopt() | |
#define | SO_ACCEPTCONN (0) |
Socket is accepting connections. | |
#define | SO_BROADCAST (1) |
Transmission of broadcast messages is supported. | |
#define | SO_DEBUG (2) |
Debugging information is being recorded. | |
#define | SO_DONTROUTE (3) |
Bypass normal routing. | |
#define | SO_ERROR (4) |
Socket error status. | |
#define | SO_KEEPALIVE (5) |
Connections are kept alive with periodic messages. | |
#define | SO_LINGER (6) |
Socket lingers on close. | |
#define | SO_OOBINLINE (7) |
Out-of-band data is transmitted in line. | |
#define | SO_RCVBUF (8) |
Receive buffer size. | |
#define | SO_RCVLOWAT (9) |
Receive "low water mark". | |
#define | SO_RCVTIMEO (10) |
Receive timeout. | |
#define | SO_REUSEADDR (11) |
Reuse of local addresses is supported. | |
#define | SO_SNDBUF (12) |
Send buffer size. | |
#define | SO_SNDLOWAT (13) |
Send "low water mark". | |
#define | SO_SNDTIMEO (14) |
Send timeout. | |
#define | SO_TYPE (15) |
Socket type. | |
static int | getsockopt (int socket, int level, int option_name, void *option_value, socklen_t *option_len) |
int | setsockopt (int socket, int level, int option_name, const void *option_value, socklen_t option_len) |