Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / apps / openchess / src / game.h
blob56038c46ac924bc2622e155fe7dc13db09bb80fa
1 /*
2 * ZeX/OS
3 * Copyright (C) 2008 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _GAME_H
21 #define _GAME_H
23 #include "client.h"
25 /* game structure */
26 typedef struct game_context {
27 struct game_context *next, *prev;
29 char *name;
30 unsigned char play;
31 unsigned short round;
32 char player;
34 client_t *white;
35 client_t *black;
37 char board[8][8];
39 } game_t;
41 /* externs */
42 extern game_t *game_find (char *name);
43 extern game_t *game_findbyclient (client_t *client);
44 extern game_t *game_new (client_t *client, char *name, unsigned name_len);
45 extern int game_quit (game_t *game);
46 extern int game_join (client_t *client, game_t *game);
47 extern int game_sync (client_t *client, game_t *game);
48 extern int game_pos (client_t *client, game_t *game, unsigned char x_old, unsigned char y_old, unsigned char x, unsigned char y);
49 extern int game_getlist (client_t *client);
50 extern int init_game ();
52 #endif