diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-15 18:44:52 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-15 18:44:52 +0100 |
| commit | 8d1391507cbb943ecf17a8e4097f524da2505e32 (patch) | |
| tree | fa23300471c8359fed3e6bce8279f1b3830200f1 /src/net.h | |
| parent | d9b86b44ff96e7ca87af4c5dee7a61f61b55f603 (diff) | |
1. network fix: send also packet length in every packet after packet type
to be able to determine exact amount to recv
2. implement functions for sending/receiving dealt hands
Diffstat (limited to 'src/net.h')
| -rw-r--r-- | src/net.h | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -3,12 +3,21 @@ #include <stdint.h> #include "player.h" +#include "hand.h" + +/* + * Packet format: + * first byte: msg_type_t + * second byte: packet length + * followed by payload + */ typedef enum { // Specify message type identifier here msg_type_hello = 0x0, - msg_type_start_game = 0x1 + msg_type_start_game = 0x1, + msg_type_deal_cards = 0x2 } msg_type_t; typedef struct @@ -23,11 +32,15 @@ typedef struct uint8_t payload[]; } msg_t; + +// Server side functions int server_start(const char* port); int* server_get_players(int serversock, const uint8_t count); void server_start_game(int* clients, const uint8_t clientcount, const struct player_list* players); +void server_deal_cards(int sock, const hand h); void* server_recv(int sock, uint8_t wanted); +// Client side functions int client_connect_server(const char* host, const char* port); void client_hello(int sock, const char* username); void* client_recv(int sock, uint8_t wanted); |
