-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnetex.h
46 lines (33 loc) · 970 Bytes
/
netex.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once
#ifdef _WIN32
#include <winsock2.h>
#else
#include <arpa/inet.h>
#include <netdb.h>
#include <poll.h>
#endif
#ifdef _WIN32
typedef SOCKET socket_t;
typedef int socklen_t;
#else
typedef int socket_t;
#define INVALID_SOCKET -1
#endif
struct socket_info_t {
char *host;
const char *port;
socket_t sockfd;
};
#include "util.h"
#define BACKLOG 10
#define MAX_BUF_ECHO_MSG 512
extern const char *default_port;
void assign_tcp_client_fd(struct socket_info_t *socket_info);
void assign_tcp_server_fd(struct socket_info_t *socket_info);
void assign_udp_server_fd(struct socket_info_t *socket_info);
void assign_tcp_dual_stack_client_fd(struct socket_info_t *socket_info);
void assign_tcp_dual_stack_server_fd(struct socket_info_t *socket_info);
void set_sock_reuse(socket_t sockfd);
void set_sock_ipv6_v6only_disable(socket_t sockfd, const int ai_family);
void shutdown_socket_checked(socket_t sockfd);
void close_socket_checked(socket_t sockfd);