diff options
Diffstat (limited to 'src/net/tcp.h')
| -rw-r--r-- | src/net/tcp.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/net/tcp.h b/src/net/tcp.h new file mode 100644 index 0000000..8c436c3 --- /dev/null +++ b/src/net/tcp.h @@ -0,0 +1,35 @@ + +#ifndef MY_TCP_H + +#define MY_TCP_H + +#include <netinet/in.h> + +#define SUPPORT_IPv6 + +#define PROTO_TCPv4 0 +#define PROTO_TCPv6 1 + +typedef struct struct_sock_tcp_t +{ + int sock; + int proto; + + struct sockaddr_in sockAddr; +#ifdef SUPPORT_IPv6 + struct sockaddr_in6 sockAddr6; +#endif +} sock_tcp_t; + +extern sock_tcp_t* newSockTcp(int proto); +extern void destroySockTcp(sock_tcp_t *p); +extern sock_tcp_t* bindTcpSocket(char *addresss, int port, int proto); +extern sock_tcp_t* getTcpNewClient(sock_tcp_t *p); +extern void getSockTcpIp(sock_tcp_t *p, char *str_ip, int len); +extern int getSockTcpPort(sock_tcp_t *p); +extern sock_tcp_t* connectTcpSocket(char *ip, int port, int proto); +extern int readTcpSocket(sock_tcp_t *p, void *address, int len); +extern int writeTcpSocket(sock_tcp_t *p, void *address, int len); +extern void closeTcpSocket(sock_tcp_t *p); + +#endif |