Stop sharing requirement_unit_state_ereq().
[freeciv.git] / client / unitselect_common.h
blob1183798872871ec468a9b28556a19d43b21d15a5
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__UNITSELECT_COMMON_H
14 #define FC__UNITSELECT_COMMON_H
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
20 struct unit_type;
21 struct unit_list;
22 struct tile;
24 struct usdata {
25 struct unit_type *utype;
26 struct unit_list *units[SELLOC_COUNT][ACTIVITY_LAST];
29 #define SPECHASH_TAG usdata
30 #define SPECHASH_INT_KEY_TYPE
31 #define SPECHASH_IDATA_TYPE struct usdata *
32 #include "spechash.h"
34 #define usdata_hash_data_iterate(phash, data) \
35 TYPED_HASH_DATA_ITERATE(struct usdata *, phash, data)
36 #define usdata_hash_data_iterate_end \
37 HASH_DATA_ITERATE_END
39 struct usdata_hash *usdlg_data_new(const struct tile *ptile);
40 void usdlg_data_destroy(struct usdata_hash *ushash);
42 #ifdef __cplusplus
44 #endif /* __cplusplus */
46 #endif /* FC__UNITSELECT_COMMON_H */