ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/flatline/Flatline_Net.h
Revision: 877
Committed: Sun Jun 2 11:25:34 2013 UTC (12 years, 4 months ago) by alloc
Content type: text/x-chdr
File size: 1106 byte(s)
Log Message:
Daodan: Moved flatline to subfolder, flatline enabled through patch "flatline"

File Contents

# Content
1 #ifndef FLATLINE_NET_H
2 #define FLATLINE_NET_H
3
4 #include "stdint.h"
5
6 #define pad1_size (sizeof(int64_t) - sizeof(short))
7 #define pad2_size (128 - (sizeof(short) + pad1_size + sizeof(int64_t)))
8
9
10 typedef struct hostent hostent ;
11 typedef struct in_addr in_addr;
12
13 typedef struct {
14 short ss_family;
15 char pad1[pad1_size];
16 uint64_t pad64;
17 char pad2[pad2_size];
18 } sockaddr_storage;
19
20 typedef struct sockaddr sockaddr;
21 typedef struct sockaddr_in sockaddr_in;
22 typedef sockaddr_storage sockaddr_in6;
23
24 void NetCatchError();
25
26 unsigned char NetUDPServer_Listen(uint16_t port, unsigned char (*packet_callback)(char* data, int datalen, int from));
27 unsigned char NetUDPServer_Send(sockaddr* address, char* data, int datalen);
28
29 int NetUDPSocket_Create(uint16_t port, sockaddr_in* address);
30 int NetTCPSocket_Create(uint16_t port, sockaddr_in* address);
31 int NetUDPSocket_Send(int socket, const sockaddr* address, char* data, int datalen);
32 void NetUDPSocket_Close(int sock);
33 unsigned char NetUDPSocket_Recieve(int socket, sockaddr_storage* address, char* data, uint16_t* datalen);
34
35 #endif