1 /* ttt.h - client-server tic-tac-toe game
3 * Copyright © 2005 Carl Worth
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 2, or (at your option)
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, write to the Free Software Foundation,
17 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 * Author: Carl Worth <cworth@cworth.org>
29 /* We use _GNU_SOURCE to get things like asprintf. */
41 #include <sys/types.h>
42 #include <sys/socket.h>
45 #define ASSERT_NOT_REACHED \
47 static const int NOT_REACHED = 0; \
48 assert (NOT_REACHED); \
52 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
53 #define TTT_PRINTF_FORMAT(fmt_index, va_index) \
54 __attribute__((__format__(__printf__, fmt_index, va_index)))
56 #define TTT_PRINTF_FORMAT(fmt_index, va_index)
59 typedef int ttt_bool_t;
64 #define TTT_SERVER_PROTOCOL_VERSION 1
67 TTT_STATUS_SUCCESS = 0,
70 TTT_STATUS_CONNECTION_REFUSED,
71 TTT_STATUS_NETWORK_UNREACHABLE
74 typedef struct _ttt_server ttt_server_t;
75 typedef struct _ttt_client ttt_client_t;