Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
socket.h
Go to the documentation of this file.
1
34#ifndef _SYS_SOCKET_H_
35#define _SYS_SOCKET_H_
36
37#include <sys/types.h>
38#include <stdint.h>
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
45#define SOCK_STREAM (1)
46
48#define SOCK_DGRAM (2)
49
51#define SOCK_RAW (3)
52
54#define AF_INET (2)
55
57#define AF_INET6 (3)
58
59#define AF_PACKET (17)
60#define PF_INET AF_INET
61#define PF_INET6 AF_INET6
62
64#define SOL_SOCKET (1)
65
67#define SO_REUSEADDR (2)
68
70#define SO_RCVTIMEO (3)
71
73#define SO_SNDTIMEO (4)
74
76#define SO_RCVBUF (8)
77
79#define SO_KEEPALIVETIME (1001)
80
83{
84 uint16_t sa_family;
85 uint8_t sa_data[14];
86};
87
89typedef uint32_t socklen_t;
90
103int socket(int domain, int type, int protocol);
104
114int bind(int socket, const struct sockaddr *address, socklen_t address_len);
115
125int listen(int socket, int backlog);
126
141int accept(int socket, struct sockaddr *address, socklen_t *address_len);
142
151int connect(int socket, const struct sockaddr *address, socklen_t address_len);
152
164ssize_t recv(int socket, void *buffer, size_t length, int flags);
165
174ssize_t send(int socket, const void *buffer, size_t length, int flags);
175
186int setsockopt(int socket, int level, int option_name,
187 const void *option_value, socklen_t option_len);
188
199int getsockopt(int socket, int level, int option_name,
200 void *option_value, socklen_t *option_len);
201
202#ifdef __cplusplus
203}
204#endif
205
206#endif /* _SYS_SOCKET_H_ */
ssize_t recv(int socket, void *buffer, size_t length, int flags)
Receive a message from a connection-mode or connectionless-mode socket.
Definition Socket.cxx:225
int accept(int socket, struct sockaddr *address, socklen_t *address_len)
Accept a new connection on a socket.
Definition Socket.cxx:194
uint32_t socklen_t
type of sockaddr lenth
Definition socket.h:89
int setsockopt(int socket, int level, int option_name, const void *option_value, socklen_t option_len)
Set the socket options.
Definition Socket.cxx:255
int bind(int socket, const struct sockaddr *address, socklen_t address_len)
Bind a name to a socket.
Definition Socket.cxx:159
ssize_t send(int socket, const void *buffer, size_t length, int flags)
Initiate transmission of a message from the specified socket.
Definition Socket.cxx:239
int getsockopt(int socket, int level, int option_name, void *option_value, socklen_t *option_len)
Get the socket options.
Definition Socket.cxx:272
int listen(int socket, int backlog)
Mark a connection-mode socket, specified by the socket argument, as accepting connections.
Definition Socket.cxx:174
int connect(int socket, const struct sockaddr *address, socklen_t address_len)
Connect a socket.
Definition Socket.cxx:208
int socket(int domain, int type, int protocol)
Create an unbound socket in a communications domain.
Definition Socket.cxx:144
IPv4 socket address.
Definition socket.h:83
uint16_t sa_family
address family (e.g.
Definition socket.h:84
uint8_t sa_data[14]
protocol specific address information
Definition socket.h:85