diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-23 22:46:29 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-23 22:46:29 +0100 |
| commit | 2bd0e560986c66406bae90ff44f2dd6d3fec17be (patch) | |
| tree | 29aa4b7cb1831d7781a1a75f1db8ee2850a2a7ac /src/net.h | |
| parent | fff390715fff73f05639d3e5f96612a5a4fa82e8 (diff) | |
added generic net_send function and adapted functions it is using
Diffstat (limited to 'src/net.h')
| -rw-r--r-- | src/net.h | 36 |
1 files changed, 24 insertions, 12 deletions
@@ -2,6 +2,7 @@ #define OXEN_NET_H #include <stdint.h> +#include <stdbool.h> #include "player.h" #include "hand.h" #include "table_stacks.h" @@ -20,7 +21,8 @@ typedef enum msg_type_init_stacks = 0x3, msg_type_selected_card = 0x4, msg_type_selected_stack_c = 0x5, - msg_type_selected_stack_s = 0x6 + msg_type_selected_stack_s = 0x6, + msg_type_initial_stack = 0x7 } msg_type_t; // Header format @@ -37,26 +39,36 @@ typedef struct uint8_t *payload; } msg_t; +// Socket list +typedef struct +{ + uint8_t count; + int sockets[MAX_PLAYERS]; +} socket_list_t; + + // generic receive function -void* net_recv(int sock, msg_type_t wanted); +bool net_recv(int sock, msg_type_t wanted); +bool net_send(int sock, const msg_type_t type, void* param); // 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 player_list* players); -void server_deal_cards(int sock, const hand_t *h); +void server_get_players(int serversock, socket_list_t* client_socks, const uint8_t count); char* server_recv_hello(const uint8_t* payload, const uint8_t payload_len); card* server_recv_selected_card(const uint8_t* payload, const uint8_t payload_len); uint8_t* server_recv_selected_stack(const uint8_t* payload, const uint8_t payload_len); -void server_send_selected_stack(int* clients, const uint8_t clientcount, const uint8_t stackindex); +uint8_t server_send_start_game(uint8_t* payload, const uint8_t payload_len); +uint8_t server_send_deal_cards(uint8_t* payload, const uint8_t payload_len, const void* param); +uint8_t server_send_selected_stack(uint8_t* payload, const uint8_t payload_len); +uint8_t server_send_initial_stacks(uint8_t* payload, const uint8_t payload_len); // Client side functions int client_connect_server(const char* host, const char* port); -void client_hello(int sock, const char* username); -void client_selected_card(int sock, const card c); -void client_send_selected_stack(int sock, const uint8_t stackindex); -void* client_recv_player_list(const uint8_t* payload, const uint8_t data_len); -hand_t *client_recv_deal_cards(const uint8_t* payload, const uint8_t payload_len); -uint8_t* client_recv_selected_stack(const uint8_t* payload, const uint8_t payload_len); +uint8_t client_send_hello(uint8_t* payload, const uint8_t payload_len); +uint8_t client_send_selected_card(uint8_t* payload, const uint8_t payload_len); +uint8_t client_send_selected_stack(uint8_t* payload, const uint8_t payload_len); +bool client_recv_player_list(const uint8_t* payload, const uint8_t data_len); +bool client_recv_deal_cards(const uint8_t* payload, const uint8_t payload_len); +bool client_recv_selected_stack(const uint8_t* payload, const uint8_t payload_len); #endif // OXEN_NET_H |
