source: Daodan/MSVC/Flatline_Net.h@ 588

Last change on this file since 588 was 588, checked in by gumby, 14 years ago
File size: 986 bytes
Line 
1#ifndef FLATLINE_NET_H
2#define FLATLINE_NET_H
3
4#define pad1_size (sizeof(int64_t) - sizeof(short))
5#define pad2_size (128 - (sizeof(short) + pad1_size + sizeof(int64_t)))
6
7
8
9
10typedef struct {
11 short ss_family;
12 char pad1[pad1_size];
13 uint64_t pad64;
14 char pad2[pad2_size];
15} sockaddr_storage;
16
17typedef struct sockaddr sockaddr;
18typedef struct sockaddr_in sockaddr_in;
19typedef sockaddr_storage sockaddr_in6;
20
21void NetCatchError();
22
23bool NetUDPServer_Listen(uint16_t port, bool (*packet_callback)(char* data, int datalen, int from));
24bool NetUDPServer_Send(sockaddr* address, char* data, int datalen);
25
26int NetUDPSocket_Create(uint16_t port, sockaddr_in* address);
27int NetTCPSocket_Create(uint16_t port, sockaddr_in* address);
28int NetUDPSocket_Send(int socket, const sockaddr* address, const char* data, int datalen);
29void NetUDPSocket_Close(int sock);
30bool NetUDPSocket_Recieve(int socket, sockaddr_storage* address, char* data, uint16_t* datalen);
31
32#endif
Note: See TracBrowser for help on using the repository browser.