ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/Flatline/src/Flatline.h
(Generate patch)

Comparing Daodan/Flatline/src/Flatline.h (file contents):
Revision 459 by rossy, Mon Aug 24 11:32:06 2009 UTC vs.
Revision 483 by rossy, Sun Nov 29 08:20:43 2009 UTC

# Line 8 | Line 8
8   #include <stdbool.h>
9   #include <stdint.h>
10  
11 + #define thread __thread
12 +
13   #ifdef WIN32
14   #include <winsock2.h>
15   #include "Flatline_Win32.h"
# Line 26 | Line 28
28   #define ioctlsocket ioctl
29   #endif
30  
31 + #define pad1_size (sizeof(int64_t) - sizeof(short))
32 + #define pad2_size (128 - (sizeof(short) + pad1_size + sizeof(int64_t)))
33 +
34 + typedef struct {
35 +        short ss_family;
36 +        char pad1[pad1_size];
37 +        uint64_t pad64;
38 +        char pad2[pad2_size];
39 + } sockaddr_storage;
40 +
41   typedef struct sockaddr sockaddr;
42   typedef struct sockaddr_in sockaddr_in;
43 + typedef sockaddr_storage sockaddr_in6;
44  
45 < bool Net_Listen(uint16_t port, bool (*packet_callback)(char* data, int datalen, int from));
45 > bool NetUDPServer_Listen(uint16_t port, bool (*packet_callback)(char* data, int datalen, int from));
46 > bool NetUDPServer_Send(sockaddr* address, char* data, int datalen);
47  
48   int NetUDPSocket_Create(uint16_t port);
49 < bool NetUDPSocket_Send(int socket, int ip, uint16_t port, char* data, int datalen);
49 > bool NetUDPSocket_Send(int socket, const sockaddr* address, const char* data, int datalen);
50   void NetUDPSocket_Close(int sock);
51  
52 < bool FLrListen_PacketCallback(char* data, int datalen, int from);
53 < bool FLrListen_Run();
52 > typedef struct {
53 >        char signature[8];
54 >        uint16_t protocol_version;
55 >        char data[0];
56 > } handshake_packet;
57 >
58 > typedef struct {
59 >        char country[2];
60 >        char name[256];
61 > } connect_send; //signature="CONNECT\0"
62 >
63 > typedef struct {
64 >        char name[256];
65 >        uint32_t numplayers; //signature="STATUS\0\0"
66 > } status_recv;
67 >
68 >
69 > bool FLrServer_PacketCallback(char* data, int datalen, int from);
70 > bool FLrServer_Run();

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)