src/network.h

changeset 2
0a08f79c320d
parent 1
e5fbb8f9edbe
child 3
3693fd2eb0e9
equal deleted inserted replaced
1:e5fbb8f9edbe 2:0a08f79c320d
34 #include <netdb.h> 34 #include <netdb.h>
35 35
36 #ifdef __cplusplus 36 #ifdef __cplusplus
37 extern "C" { 37 extern "C" {
38 #endif 38 #endif
39
40 #define NETCODE_GAMEINFO 1
39 41
40 typedef struct { 42 typedef struct {
41 int fd; 43 int fd; /* -1, if we are the client */
42 struct sockaddr address; 44 struct sockaddr address;
43 socklen_t address_len; 45 socklen_t address_len;
44 } Client; 46 } Client;
45 47
46 typedef struct { 48 typedef struct {
47 int fd; 49 int fd;
48 struct addrinfo* info; 50 struct addrinfo* info; /* NULL, if we are the server */
49 Client *client; 51 Client *client;
50 } Server; 52 } Server;
51 53
52 int net_create(Server *server, char* port); 54 int net_create(Server *server, char* port);
53 int net_find(Server *server, char* host, char* port); 55 int net_find(Server *server, char* host, char* port);
54 56
55 int net_listen(Server *server); 57 int net_listen(Server *server);
56 int net_destroy(Server *server); 58 int net_destroy(Server *server);
57 int net_connect(Server *server); 59 int net_connect(Server *server);
58 60
61 void net_send(int socket, uint32_t code, void *data, size_t len);
62 int net_recieve_code(int socket);
63 void net_recieve_data(int socket, void *data, size_t len);
64
59 65
60 #ifdef __cplusplus 66 #ifdef __cplusplus
61 } 67 }
62 #endif 68 #endif
63 69

mercurial