My Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
socket.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <sys/time.h>
5 
6 #define SOL_SOCKET 0xFFFF
7 
8 #define PF_UNSPEC 0
9 #define PF_INET 2
10 #define PF_INET6 10
11 
12 #define AF_UNSPEC PF_UNSPEC
13 #define AF_INET PF_INET
14 #define AF_INET6 PF_INET6
15 
16 #define SOCK_STREAM 1
17 #define SOCK_DGRAM 2
18 
19 #define MSG_CTRUNC 0x01000000
20 #define MSG_DONTROUTE 0x02000000
21 #define MSG_EOR 0x04000000
22 #define MSG_OOB 0x08000000
23 #define MSG_PEEK 0x10000000
24 #define MSG_TRUNC 0x20000000
25 #define MSG_WAITALL 0x40000000
26 
27 #define SHUT_RD 0
28 #define SHUT_WR 1
29 #define SHUT_RDWR 2
30 
31 #define SO_DEBUG 0x0001
32 #define SO_ACCEPTCONN 0x0002
33 #define SO_REUSEADDR 0x0004
34 #define SO_KEEPALIVE 0x0008
35 #define SO_DONTROUTE 0x0010
36 #define SO_BROADCAST 0x0020
37 #define SO_USELOOPBACK 0x0040
38 #define SO_LINGER 0x0080
39 #define SO_OOBINLINE 0x0100
40 #define SO_REUSEPORT 0x0200
41 #define SO_SNDBUF 0x1001
42 #define SO_RCVBUF 0x1002
43 #define SO_SNDLOWAT 0x1003
44 #define SO_RCVLOWAT 0x1004
45 #define SO_SNDTIMEO 0x1005
46 #define SO_RCVTIMEO 0x1006
47 #define SO_ERROR 0x1007
48 #define SO_TYPE 0x1008
49 
50 typedef uint32_t socklen_t;
51 typedef uint16_t sa_family_t;
52 
53 struct sockaddr {
55  char sa_data[];
56 };
57 
60  char __ss_padding[14];
61 };
62 
63 struct linger {
64  int l_onoff;
65  int l_linger;
66 };
67 
68 #ifdef __cplusplus
69 extern "C" {
70 #endif
71 
72  int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
73  int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
74  int closesocket(int sockfd);
75  int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
76  int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
77  int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
78  int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
79  int listen(int sockfd, int backlog);
80  ssize_t recv(int sockfd, void *buf, size_t len, int flags);
81  ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
82  ssize_t send(int sockfd, const void *buf, size_t len, int flags);
83  ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
84  int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
85  int shutdown(int sockfd, int how);
86  int socket(int domain, int type, int protocol);
87  int sockatmark(int sockfd);
88 
89 #ifdef __cplusplus
90 }
91 #endif
ssize_t send(int sockfd, const void *buf, size_t len, int flags)
Definition: soc_send.c:4
int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
Definition: soc_getsockopt.c:4
int closesocket(int sockfd)
sa_family_t ss_family
Definition: socket.h:59
uint32_t socklen_t
Definition: socket.h:50
int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
int listen(int sockfd, int backlog)
Definition: soc_listen.c:4
uint16_t sa_family_t
Definition: socket.h:51
int l_linger
Definition: socket.h:65
Definition: socket.h:63
int l_onoff
Definition: socket.h:64
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen)
Definition: soc_setsockopt.c:4
int sockatmark(int sockfd)
Definition: soc_sockatmark.c:4
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
Definition: soc_bind.c:5
char __ss_padding[14]
Definition: socket.h:60
int socket(int domain, int type, int protocol)
Definition: soc_socket.c:4
int shutdown(int sockfd, int how)
Definition: soc_shutdown.c:4
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen)
Definition: soc_sendto.c:109
char sa_data[]
Definition: socket.h:55
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
Definition: soc_accept.c:4
ssize_t recv(int sockfd, void *buf, size_t len, int flags)
Definition: soc_recv.c:4
sa_family_t sa_family
Definition: socket.h:54
int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
Definition: soc_connect.c:5
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
Definition: soc_recvfrom.c:103