 |
m2mb API docs
25.30.008.0
m2mb API sets documentation
|
Go to the documentation of this file.
27 #ifndef M2M_M2MB_SOCKET_API_H
28 #define M2M_M2MB_SOCKET_API_H
33 #define M2MB_SOCKET_BSD_INVALID_SOCKET (M2MB_SOCKET_BSD_SOCKET)(~0)
36 #define M2MB_SOCKET_BSD_SOCK_STREAM 1
37 #define M2MB_SOCKET_BSD_SOCK_DGRAM 2
38 #define M2MB_SOCKET_BSD_SOCK_RAW 3
41 #define M2MB_SOCKET_BSD_AF_UNSPEC 0
42 #define M2MB_SOCKET_BSD_AF_INET 2
43 #define M2MB_SOCKET_BSD_AF_INET6 10
46 #define M2MB_SOCKET_BSD_PF_UNSPEC 0
47 #define M2MB_SOCKET_BSD_PF_INET 2
50 #define M2MB_SOCKET_BSD_IPPROTO_IP 0
51 #define M2MB_SOCKET_BSD_IPPROTO_TCP 6
52 #define M2MB_SOCKET_BSD_IPPROTO_UDP 17
53 #define M2MB_SOCKET_BSD_IPPROTO_ICMP 1
54 #define M2MB_SOCKET_BSD_IPPROTO_IPV6 41
55 #define M2MB_SOCKET_BSD_IPPROTO_ICMPV6 58
60 #define M2MB_SOCKET_BSD_SOL_SOCKET 0xffff
63 #define M2MB_SOCKET_BSD_SO_DEBUG 0x0001
64 #define M2MB_SOCKET_BSD_SO_ACCEPTCONN 0x0002
65 #define M2MB_SOCKET_BSD_SO_REUSEADDR 0x0004
66 #define M2MB_SOCKET_BSD_SO_KEEPALIVE 0x0008
67 #define M2MB_SOCKET_BSD_SO_DONTROUTE 0x0010
68 #define M2MB_SOCKET_BSD_SO_BROADCAST 0x0020
69 #define M2MB_SOCKET_BSD_SO_LINGER 0x0080
70 #define M2MB_SOCKET_BSD_SO_OOBINLINE 0x0100
71 #define M2MB_SOCKET_BSD_SO_DONTLINGER (INT32)(~M2MB_SOCKET_BSD_SO_LINGER)
72 #define M2MB_SOCKET_BSD_SO_SNDBUF 0x1001
73 #define M2MB_SOCKET_BSD_SO_RCVBUF 0x1002
74 #define M2MB_SOCKET_BSD_SO_SNDLOWAT 0x1003
75 #define M2MB_SOCKET_BSD_SO_RCVLOWAT 0x1004
76 #define M2MB_SOCKET_BSD_SO_SNDTIMEO 0x1005
77 #define M2MB_SOCKET_BSD_SO_RCVTIMEO 0x1006
78 #define M2MB_SOCKET_BSD_SO_ERROR 0x1007
79 #define M2MB_SOCKET_BSD_SO_TYPE 0x1008
80 #define M2MB_SOCKET_BSD_SO_TXDATA 0x1009
81 #define M2MB_SOCKET_BSD_SO_RXDATA 0x1010
82 #define M2MB_SOCKET_BSD_SO_NONBLOCK 0x1011
83 #define M2MB_SOCKET_BSD_SO_TCPSACK 0x1012
84 #define M2MB_SOCKET_BSD_SO_WINSCALE 0x1013
87 #define M2MB_SOCKET_BSD_TCP_NODELAY 0x01
88 #define M2MB_SOCKET_BSD_TCP_KEEPALIVE 0x03
89 #define M2MB_SOCKET_BSD_TCP_MAXSEG 0x04
91 #define M2MB_SOCKET_BSD_IP_TTL_OPT 0x02
98 #define M2MB_SOCKET_BSD_INADDR_ANY (UINT32) 0x00000000
101 #define M2MB_SOCKET_BSD_INADDR_LOOPBACK (UINT32) 0x7f000001
104 #define M2MB_SOCKET_BSD_INADDR_BROADCAST (UINT32) 0xffffffff
110 #define M2MB_SOCKET_BSD_SHUT_RD 0x00
111 #define M2MB_SOCKET_BSD_SHUT_WR 0x01
112 #define M2MB_SOCKET_BSD_SHUT_RDWR 0x02
120 #define M2MB_SOCKET_BSD_FIONREAD 0
123 #define M2MB_SOCKET_BSD_FIONBIO 1
131 #define M2MB_SOCKET_BSD_SOCKET_ERROR (-1)
132 #define M2MB_SOCKET_BSD_SOCKNOERROR 0
133 #define M2MB_SOCKET_BSD_EUNDEFINED 1
134 #define M2MB_SOCKET_BSD_EACCES 2
135 #define M2MB_SOCKET_BSD_EADDRINUSE 3
136 #define M2MB_SOCKET_BSD_EADDRNOTAVAIL 4
137 #define M2MB_SOCKET_BSD_EAFNOSUPPORT 5
138 #define M2MB_SOCKET_BSD_EALREADY 6
139 #define M2MB_SOCKET_BSD_EBADF 7
140 #define M2MB_SOCKET_BSD_ECONNABORTED 8
141 #define M2MB_SOCKET_BSD_ECONNREFUSED 9
142 #define M2MB_SOCKET_BSD_ECONNRESET 10
143 #define M2MB_SOCKET_BSD_EDESTADDRREQ 11
144 #define M2MB_SOCKET_BSD_EFAULT 12
145 #define M2MB_SOCKET_BSD_EHOSTDOWN 13
146 #define M2MB_SOCKET_BSD_EHOSTUNREACH 14
147 #define M2MB_SOCKET_BSD_EINPROGRESS 15
148 #define M2MB_SOCKET_BSD_EINTR 16
149 #define M2MB_SOCKET_BSD_EINVAL 17
150 #define M2MB_SOCKET_BSD_EISCONN 18
151 #define M2MB_SOCKET_BSD_EMFILE 19
152 #define M2MB_SOCKET_BSD_EMSGSIZE 20
153 #define M2MB_SOCKET_BSD_ENETDOWN 21
154 #define M2MB_SOCKET_BSD_ENETRESET 22
155 #define M2MB_SOCKET_BSD_ENETUNREACH 23
156 #define M2MB_SOCKET_BSD_ENOBUFS 24
157 #define M2MB_SOCKET_BSD_ENOPROTOOPT 25
158 #define M2MB_SOCKET_BSD_ENOTCONN 26
159 #define M2MB_SOCKET_BSD_ENOTSOCK 27
160 #define M2MB_SOCKET_BSD_EOPNOTSUPP 28
161 #define M2MB_SOCKET_BSD_EPFNOSUPPORT 29
162 #define M2MB_SOCKET_BSD_EPROTONOSUPPORT 30
163 #define M2MB_SOCKET_BSD_EPROTOTYPE 31
164 #define M2MB_SOCKET_BSD_ESHUTDOWN 32
165 #define M2MB_SOCKET_BSD_ESOCKTNOSUPPORT 33
166 #define M2MB_SOCKET_BSD_ETIMEDOUT 34
167 #define M2MB_SOCKET_BSD_EWOULDBLOCK 35
173 #define M2MB_SOCKET_HOST_NOT_FOUND 210
174 #define M2MB_SOCKET_NO_DATA 211
175 #define M2MB_SOCKET_NO_RECOVERY 212
176 #define M2MB_SOCKET_TRY_AGAIN 213
177 #define M2MB_SOCKET_ERANGE 214
183 #define M2MB_MSG_PEEK 0x02
186 #define M2MB_SOCKET_TCPWINDOW_MIN 536
187 #define M2MB_SOCKET_TCPWINDOW_MAX 65535
190 #define M2MB_SOCKET_TCPSCALE_MIN 0
191 #define M2MB_SOCKET_TCPSCALE_MAX 8
194 #define M2MB_SOCKET_TCPSACK_DISABLED 0
195 #define M2MB_SOCKET_TCPSACK_ENABLED 1
200 typedef iHANDLE M2MB_SOCKET_BSD_SOCKET;
212 UINT8 _internal_sa_len;
228 UINT8 _internal_sin_len;
249 #define addr8_s v6_v.addr8
250 #define addr16_s v6_v.addr16
251 #define addr32_s v6_v.addr32
258 UINT8 _internal_sin6_len;
261 UINT32 sin6_flowinfo;
263 UINT32 sin6_scope_id;
284 #define M2MB_SOCKET_BSD_FD_SETSIZE 32
295 UINT32 fd_array[M2MB_SOCKET_BSD_FD_SETSIZE];
679 INT32
m2mb_socket_bsd_send( M2MB_SOCKET_BSD_SOCKET s,
const void *buf, INT32 len, INT32 flags );
Definition: m2mb_socket.h:292
UINT16 m2mb_socket_bsd_htons(UINT16 x)
convertion between host and network byte order
void m2mb_socket_bsd_fd_set_func(INT32 fd, M2MB_SOCKET_BSD_FD_SET_T *set)
used for m2mb_socket_bsd_select()
void m2mb_socket_bsd_fd_zero_func(M2MB_SOCKET_BSD_FD_SET_T *set)
used for m2mb_socket_bsd_select()
INT32 m2mb_socket_bsd_send(M2MB_SOCKET_BSD_SOCKET s, const void *buf, INT32 len, INT32 flags)
send a message on a socket
INT32 m2mb_socket_bsd_recv(M2MB_SOCKET_BSD_SOCKET s, void *buf, INT32 len, INT32 flags)
receive a message from a socket
Definition: m2mb_socket.h:240
UINT8 m2mb_socket_bsd_fd_isset_func(INT32 fd, M2MB_SOCKET_BSD_FD_SET_T *set)
used for m2mb_socket_bsd_select()
INT32 m2mb_socket_bsd_ioctl(M2MB_SOCKET_BSD_SOCKET s, INT32 cmd, void *argp)
IO control function.
Definition: m2mb_socket.h:220
Definition: m2mb_socket.h:235
Definition: m2mb_socket.h:226
INT32 m2mb_socket_bsd_bind(M2MB_SOCKET_BSD_SOCKET s, struct M2MB_SOCKET_BSD_SOCKADDR *name, INT32 namelen)
bind the address with the socket
INT32 m2mb_socket_errno(void)
Gets the last error occured.
void m2mb_socket_bsd_fd_clr_func(INT32 fd, M2MB_SOCKET_BSD_FD_SET_T *set)
used for m2mb_socket_bsd_select()
INT32 m2mb_socket_bsd_get_peer_name(M2MB_SOCKET_BSD_SOCKET s, struct M2MB_SOCKET_BSD_SOCKADDR *name, INT32 *namelen)
get the name of the peer socket
INT32 m2mb_socket_bsd_select(INT32 nfds, M2MB_SOCKET_BSD_FD_SET_T *readfds, M2MB_SOCKET_BSD_FD_SET_T *writefds, M2MB_SOCKET_BSD_FD_SET_T *exceptfds, const struct M2MB_SOCKET_BSD_TIMEVAL *timeout)
synchronous I/O multiplexing
Definition: m2mb_socket.h:277
Definition: m2mb_socket.h:256
M2MB_SOCKET_BSD_SOCKET m2mb_socket_bsd_socket(INT32 domain, INT32 type, INT32 protocol)
create an endpoint for communication
INT32 m2mb_socket_bsd_get_sock_name(M2MB_SOCKET_BSD_SOCKET s, struct M2MB_SOCKET_BSD_SOCKADDR *name, INT32 *namelen)
get socket name
M2MB_SOCKET_BSD_SOCKET m2mb_socket_bsd_accept(M2MB_SOCKET_BSD_SOCKET s, struct M2MB_SOCKET_BSD_SOCKADDR *name, INT32 *namelen)
accept a connection on a socket
Definition: m2mb_socket.h:210
INT32 m2mb_socket_bsd_get_sock_opt(M2MB_SOCKET_BSD_SOCKET s, INT32 level, INT32 optname, void *optval, INT32 *optlen)
get options from sockets
Definition: m2mb_socket.h:267
INT32 m2mb_socket_bsd_close(M2MB_SOCKET_BSD_SOCKET s)
close a socket
INT32 m2mb_socket_bsd_connect(M2MB_SOCKET_BSD_SOCKET s, const struct M2MB_SOCKET_BSD_SOCKADDR *name, INT32 namelen)
connect a socket
INT32 m2mb_socket_set_cid(M2MB_SOCKET_BSD_SOCKET s, UINT8 cid)
link a socket to a cid
INT32 m2mb_socket_bsd_inet_pton(INT32 af, const CHAR *src, void *dst)
convert IPv4 and IPv6 addresses from text to binary form
UINT32 m2mb_socket_bsd_htonl(UINT32 x)
convertion between host and network byte order
INT32 m2mb_socket_bsd_get_host_by_name_2_r_cid(const CHAR *name, INT32 af, struct M2MB_SOCKET_BSD_HOSTENT *ret, CHAR *buf, SIZE_T buflen, struct M2MB_SOCKET_BSD_HOSTENT **result, INT32 *h_errnop, UINT8 cid)
get network host entry
UINT16 m2mb_socket_bsd_ntohs(UINT16 x)
convertion between host and network byte order
INT32 m2mb_socket_bsd_recv_from(M2MB_SOCKET_BSD_SOCKET s, void *buf, INT32 len, INT32 flags, struct M2MB_SOCKET_BSD_SOCKADDR *from, INT32 *fromlen)
receive a message from a socket
Definition: m2mb_socket.h:203
INT32 m2mb_socket_bsd_send_to(M2MB_SOCKET_BSD_SOCKET s, const void *buf, INT32 len, INT32 flags, const struct M2MB_SOCKET_BSD_SOCKADDR *to, INT32 tolen)
send a message on a socket
CHAR * m2mb_socket_bsd_inet_ntop(INT32 af, const void *src, CHAR *dst, SIZE_T size)
convert IPv4 and IPv6 addresses from binary to text form
INT32 m2mb_socket_bsd_listen(M2MB_SOCKET_BSD_SOCKET s, INT32 backlog)
listen for connections on a socket
INT32 m2mb_socket_bsd_set_sock_opt(M2MB_SOCKET_BSD_SOCKET s, INT32 level, INT32 optname, const void *optval, INT32 optlen)
set options on sockets
UINT32 m2mb_socket_bsd_ntohl(UINT32 x)
convertion between host and network byte order