8 # error Do not include 'bsd.h' directly, include 'posix.h' instead!
13 #include <sys/types.h>
19 #include <sys/socket.h>
21 #define POSIX_MSG_PEEK MSG_PEEK
23 #define posix_ssize_t ssize_t
29 #include <netinet/in.h>
30 #include <arpa/inet.h>
32 #define POSIX_AF_UNSPEC 0U
33 #define POSIX_AF_INET 1U
35 typedef unsigned int posix_sa_family_t;
37 #if CFG_HDR_INTTYPES_H
38 # include <inttypes.h>
39 typedef uint16_t posix_in_port_t;
40 typedef uint32_t posix_in_addr_t;
42 typedef CFG_UINT16_TYPE posix_in_port_t;
43 typedef CFG_UINT32_TYPE posix_in_addr_t;
49 posix_in_addr_t s_addr;
52 #define struct_posix_in_addr struct posix_in_addr
55 struct posix_sockaddr_in
57 posix_sa_family_t sin_family;
58 posix_in_port_t sin_port;
59 struct_posix_in_addr sin_addr;
62 #define struct_posix_sockaddr_in struct posix_sockaddr_in
64 #if CFG_HDR_INTTYPES_H
65 # include <inttypes.h>
66 uint16_t posix_htons(uint16_t);
67 uint32_t posix_htonl(uint32_t);
68 uint16_t posix_ntohs(uint16_t);
69 uint32_t posix_ntohl(uint32_t);
71 unsigned short int posix_htons(
unsigned short int);
72 unsigned long int posix_htonl(
unsigned long int);
73 unsigned short int posix_ntohs(
unsigned short int);
74 unsigned long int posix_ntohl(
unsigned long int);
77 posix_in_addr_t posix_inet_addr(
const char*);
78 int posix_inet_pton(
int,
const char*,
void*);
86 #define POSIX_SOCK_STREAM 0
89 typedef int posix_socklen_t;
92 struct posix_sockaddr_storage
94 posix_sa_family_t ss_family;
95 char ss_data[
sizeof(struct_posix_sockaddr_in)
96 -
sizeof(posix_sa_family_t)];
99 #define struct_posix_sockaddr_storage struct posix_sockaddr_storage
101 struct posix_sockaddr
103 posix_sa_family_t sa_family;
104 char sa_data[
sizeof(struct_posix_sockaddr_in)
105 -
sizeof(posix_sa_family_t)];
108 #define struct_posix_sockaddr struct posix_sockaddr
118 #define struct_posix_servent struct posix_servent
129 #define struct_posix_hostent struct posix_hostent
131 struct_posix_servent* posix_getservbyname(
const char*,
const char*);
132 struct_posix_hostent* posix_gethostbyname(
const char*);
134 int posix_socket(
int,
int,
int);
135 int posix_connect(
int,
const struct_posix_sockaddr*, posix_socklen_t);
137 #define POSIX_SOL_SOCKET 0
139 #define POSIX_SO_ERROR 0
140 #define POSIX_SO_RCVTIMEO 1
141 #define POSIX_SO_SNDTIMEO 2
143 int posix_getsockopt(
int,
int,
int,
void*, posix_socklen_t*);
144 int posix_setsockopt(
int,
int,
int,
const void*, posix_socklen_t);
146 #define POSIX_POLLIN (short int) 0x0001
147 #define POSIX_POLLOUT (short int) 0x0002
148 #define POSIX_POLLERR (short int) 0x0004
149 #define POSIX_POLLHUP (short int) 0x0008
150 #define POSIX_POLLNVAL (short int) 0x0010
152 typedef unsigned int posix_nfds_t;
161 #define struct_posix_pollfd struct posix_pollfd
163 int posix_poll(struct_posix_pollfd [], posix_nfds_t,
int);
165 posix_ssize_t posix_send(
int,
const void*,
size_t,
int);
166 posix_ssize_t posix_recv(
int,
void*,
size_t,
int);