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"
 Include dependency graph for socket.h:
 This graph shows which files directly or indirectly include this file: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.  More... | |
| #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.  More... | |
| int | bind (int socket, const struct sockaddr *address, socklen_t address_len) | 
| Bind a name to a socket.  More... | |
| int | connect (int socket, const struct sockaddr *address, socklen_t address_len) | 
| Connect a socket.  More... | |
| int | getpeername (int socket, struct sockaddr *__restrict address, socklen_t *__restrict address_len) | 
| Get the name of the peer socket.  More... | |
| int | getsockname (int socket, struct sockaddr *__restrict address, socklen_t *__restrict address_len) | 
| Get the socket name.  More... | |
| int | listen (int socket, int backlog) | 
| Listen for socket connections and limit the queue of incoming connections.  More... | |
| 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.  More... | |
| static ssize_t | recv (int socket, void *buffer, size_t length, int flags) | 
| Receive a message from a connected socket.  More... | |
| 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.  More... | |
| static ssize_t | send (int socket, const void *buffer, size_t length, int flags) | 
| Send a message on a socket.  More... | |
| int | socket (int domain, int type, int protocol) | 
| Create an endpoint for communication.  More... | |
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) |