-
Notifications
You must be signed in to change notification settings - Fork 0
/
playerlist.h
62 lines (53 loc) · 1.82 KB
/
playerlist.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*-----------------------------------------------------------------------------
* playerlist.h
* Jordan McCaskill
* CMPT 361
* Assignment 2
*
* Structs and prototypes for playerlist.c
-----------------------------------------------------------------------------*/
#ifndef PLAYERLIST_H
#define PLAYERIST_H
#include <sys/socket.h>
#include "common.h" /*argdata struct*/
/*struct for the nodes of the playerlist*/
struct playernode {
struct playernode *next;
char *name;
uint32_t money;
uint32_t bet;
char *cards;
int active;
struct sockaddr_storage *player_addr;
socklen_t *server_addr_len;
};
/*struct for the header of the player list*/
struct playerhead {
int size;
struct playernode *first;
struct playernode *last;
};
/*-----------------------------------------------------------------
* Function: playerinit
* Purpose: Create the player list
* Parameters: None
* Return: pointer to the header of the list
-----------------------------------------------------------------*/
struct playerhead *playerinit();
/*-----------------------------------------------------------------
* Function: findPlayer
* Purpose: find the data associated to a player's name or create a
* new entry if the name does not exist
* Parameters: argdata - the main game state struct
* name - character array for the name
* Return: the pointer to the node associated with the name
-----------------------------------------------------------------*/
struct playernode *findPlayer(struct argdata *argdata, char *name);
/*-----------------------------------------------------------------
* Function: playerListDestroy
* Purpose: destroy the player list
* Parameters: list - the list to destroy
* Return: None
-----------------------------------------------------------------*/
void playerListDestroy(struct playerhead *list);
#endif /*PLAYERLIST_H*/