Comment fix: OS is not excluded from permissive.
[freeciv.git] / common / fc_interface.h
blob09bfe412c35ca6be999625c75a296c3c635674e0
1 /**********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 ***********************************************************************/
13 #ifndef FC__FC_INTERFACE_H
14 #define FC__FC_INTERFACE_H
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
20 /* utility */
21 #include "support.h"
23 /* common */
24 #include "fc_types.h"
25 #include "vision.h"
27 struct player;
28 struct tile;
29 struct color;
30 struct extra_type;
32 /* The existence of each function should be checked in interface_init()! */
33 struct functions {
34 server_setting_id (*server_setting_by_name)(const char *name);
35 const char *(*server_setting_name_get)(server_setting_id id);
36 enum sset_type (*server_setting_type_get)(server_setting_id id);
37 bool (*server_setting_val_bool_get)(server_setting_id id);
38 void (*create_extra)(struct tile *ptile, struct extra_type *pextra,
39 struct player *pplayer);
40 void (*destroy_extra)(struct tile *ptile, struct extra_type *pextra);
41 /* Returns iff the player 'pplayer' has the vision in the layer
42 'vision' at tile given by 'ptile'. */
43 bool (*player_tile_vision_get)(const struct tile *ptile,
44 const struct player *pplayer,
45 enum vision_layer vision);
46 /* Returns the id of the city 'pplayer' believes exists at 'ptile' or
47 * IDENTITY_NUMBER_ZERO when the player is unaware of a city at that
48 * location. */
49 int (*player_tile_city_id_get)(const struct tile *ptile,
50 const struct player *pplayer);
51 void (*gui_color_free)(struct color *pcolor);
54 const extern struct functions *fc_funcs;
56 struct functions *fc_interface_funcs(void);
57 void fc_interface_init(void);
58 void free_libfreeciv(void);
60 #ifdef __cplusplus
62 #endif /* __cplusplus */
64 #endif /* FC__FC_INTERFACE_H */