Freeciv-3.1
Loading...
Searching...
No Matches
hand_gen.c
Go to the documentation of this file.
1
2 /****************************************************************************
3 * THIS FILE WAS GENERATED *
4 * Script: common/generate_packets.py *
5 * Input: common/networking/packets.def *
6 * DO NOT CHANGE THIS FILE *
7 ****************************************************************************/
8
9
10
11#ifdef HAVE_CONFIG_H
12#include <fc_config.h>
13#endif
14
15/* common */
16#include "packets.h"
17
18#include "hand_gen.h"
19
20bool server_handle_packet(enum packet_type type, const void *packet,
21 struct player *pplayer, struct connection *pconn)
22{
23 switch (type) {
26 ((const struct packet_nation_select_req *)packet)->player_no,
27 ((const struct packet_nation_select_req *)packet)->nation_no,
28 ((const struct packet_nation_select_req *)packet)->is_male,
29 ((const struct packet_nation_select_req *)packet)->name,
30 ((const struct packet_nation_select_req *)packet)->style);
31 return TRUE;
32
34 handle_player_ready(pplayer,
35 ((const struct packet_player_ready *)packet)->player_no,
36 ((const struct packet_player_ready *)packet)->is_ready);
37 return TRUE;
38
41 ((const struct packet_chat_msg_req *)packet)->message);
42 return TRUE;
43
45 handle_city_sell(pplayer,
46 ((const struct packet_city_sell *)packet)->city_id16,
47 ((const struct packet_city_sell *)packet)->city_id32,
48 ((const struct packet_city_sell *)packet)->build_id);
49 return TRUE;
50
51 case PACKET_CITY_BUY:
52 handle_city_buy(pplayer,
53 ((const struct packet_city_buy *)packet)->city_id16,
54 ((const struct packet_city_buy *)packet)->city_id32);
55 return TRUE;
56
58 handle_city_change(pplayer,
59 ((const struct packet_city_change *)packet)->city_id16,
60 ((const struct packet_city_change *)packet)->city_id32,
61 ((const struct packet_city_change *)packet)->production_kind,
62 ((const struct packet_city_change *)packet)->production_value);
63 return TRUE;
64
67 ((const struct packet_city_worklist *)packet)->city_id16,
68 ((const struct packet_city_worklist *)packet)->city_id32,
69 &((const struct packet_city_worklist *)packet)->worklist);
70 return TRUE;
71
74 ((const struct packet_city_make_specialist *)packet)->city_id16,
75 ((const struct packet_city_make_specialist *)packet)->city_id32,
76 ((const struct packet_city_make_specialist *)packet)->tile_id);
77 return TRUE;
78
81 ((const struct packet_city_make_worker *)packet)->city_id16,
82 ((const struct packet_city_make_worker *)packet)->city_id32,
83 ((const struct packet_city_make_worker *)packet)->tile_id);
84 return TRUE;
85
88 ((const struct packet_city_change_specialist *)packet)->city_id16,
89 ((const struct packet_city_change_specialist *)packet)->city_id32,
90 ((const struct packet_city_change_specialist *)packet)->from,
91 ((const struct packet_city_change_specialist *)packet)->to);
92 return TRUE;
93
95 handle_city_rename(pplayer,
96 ((const struct packet_city_rename *)packet)->city_id16,
97 ((const struct packet_city_rename *)packet)->city_id32,
98 ((const struct packet_city_rename *)packet)->name);
99 return TRUE;
100
103 ((const struct packet_city_options_req *)packet)->city_id16,
104 ((const struct packet_city_options_req *)packet)->city_id32,
105 ((const struct packet_city_options_req *)packet)->options);
106 return TRUE;
107
109 handle_city_refresh(pplayer,
110 ((const struct packet_city_refresh *)packet)->city_id16,
111 ((const struct packet_city_refresh *)packet)->city_id32);
112 return TRUE;
113
116 ((const struct packet_city_name_suggestion_req *)packet)->unit_id16,
117 ((const struct packet_city_name_suggestion_req *)packet)->unit_id32);
118 return TRUE;
119
121 handle_city_rally_point(pplayer, packet);
122 return TRUE;
123
125 handle_worker_task(pplayer, packet);
126 return TRUE;
127
130 ((const struct packet_player_phase_done *)packet)->turn);
131 return TRUE;
132
134 handle_player_rates(pplayer,
135 ((const struct packet_player_rates *)packet)->tax,
136 ((const struct packet_player_rates *)packet)->luxury,
137 ((const struct packet_player_rates *)packet)->science);
138 return TRUE;
139
142 ((const struct packet_player_change_government *)packet)->government);
143 return TRUE;
144
147 ((const struct packet_player_place_infra *)packet)->tile,
148 ((const struct packet_player_place_infra *)packet)->extra);
149 return TRUE;
150
153 return TRUE;
154
156 handle_player_attribute_chunk(pplayer, packet);
157 return TRUE;
158
161 ((const struct packet_player_multiplier *)packet)->count,
162 ((const struct packet_player_multiplier *)packet)->multipliers);
163 return TRUE;
164
167 ((const struct packet_player_research *)packet)->tech);
168 return TRUE;
169
172 ((const struct packet_player_tech_goal *)packet)->tech);
173 return TRUE;
174
176 handle_unit_sscs_set(pplayer,
177 ((const struct packet_unit_sscs_set *)packet)->unit_id16,
178 ((const struct packet_unit_sscs_set *)packet)->unit_id32,
179 ((const struct packet_unit_sscs_set *)packet)->type,
180 ((const struct packet_unit_sscs_set *)packet)->value);
181 return TRUE;
182
184 handle_unit_orders(pplayer, packet);
185 return TRUE;
186
189 ((const struct packet_unit_server_side_agent_set *)packet)->unit_id16,
190 ((const struct packet_unit_server_side_agent_set *)packet)->unit_id32,
191 ((const struct packet_unit_server_side_agent_set *)packet)->agent);
192 return TRUE;
193
196 ((const struct packet_unit_action_query *)packet)->actor_id16,
197 ((const struct packet_unit_action_query *)packet)->actor_id32,
198 ((const struct packet_unit_action_query *)packet)->target_id,
199 ((const struct packet_unit_action_query *)packet)->action_type,
200 ((const struct packet_unit_action_query *)packet)->request_kind);
201 return TRUE;
202
205 ((const struct packet_unit_type_upgrade *)packet)->type);
206 return TRUE;
207
209 handle_unit_do_action(pplayer, packet);
210 return TRUE;
211
213 handle_unit_get_actions(pconn, packet);
214 return TRUE;
215
218 ((const struct packet_unit_change_activity *)packet)->unit_id16,
219 ((const struct packet_unit_change_activity *)packet)->unit_id32,
220 ((const struct packet_unit_change_activity *)packet)->activity,
221 ((const struct packet_unit_change_activity *)packet)->target);
222 return TRUE;
223
226 ((const struct packet_diplomacy_init_meeting_req *)packet)->counterpart);
227 return TRUE;
228
231 ((const struct packet_diplomacy_cancel_meeting_req *)packet)->counterpart);
232 return TRUE;
233
236 ((const struct packet_diplomacy_create_clause_req *)packet)->counterpart,
237 ((const struct packet_diplomacy_create_clause_req *)packet)->giver,
238 ((const struct packet_diplomacy_create_clause_req *)packet)->type,
239 ((const struct packet_diplomacy_create_clause_req *)packet)->value);
240 return TRUE;
241
244 ((const struct packet_diplomacy_remove_clause_req *)packet)->counterpart,
245 ((const struct packet_diplomacy_remove_clause_req *)packet)->giver,
246 ((const struct packet_diplomacy_remove_clause_req *)packet)->type,
247 ((const struct packet_diplomacy_remove_clause_req *)packet)->value);
248 return TRUE;
249
252 ((const struct packet_diplomacy_accept_treaty_req *)packet)->counterpart);
253 return TRUE;
254
257 ((const struct packet_diplomacy_cancel_pact *)packet)->other_player_id,
258 ((const struct packet_diplomacy_cancel_pact *)packet)->clause);
259 return TRUE;
260
262 handle_report_req(pconn,
263 ((const struct packet_report_req *)packet)->type);
264 return TRUE;
265
266 case PACKET_CONN_PONG:
267 handle_conn_pong(pconn);
268 return TRUE;
269
272 return TRUE;
273
275 handle_client_info(pconn,
276 ((const struct packet_client_info *)packet)->gui,
277 ((const struct packet_client_info *)packet)->emerg_version,
278 ((const struct packet_client_info *)packet)->distribution);
279 return TRUE;
280
283 return TRUE;
284
287 ((const struct packet_spaceship_place *)packet)->type,
288 ((const struct packet_spaceship_place *)packet)->num);
289 return TRUE;
290
292 handle_single_want_hack_req(pconn, packet);
293 return TRUE;
294
297 ((const struct packet_save_scenario *)packet)->name);
298 return TRUE;
299
301 handle_vote_submit(pconn,
302 ((const struct packet_vote_submit *)packet)->vote_no,
303 ((const struct packet_vote_submit *)packet)->value);
304 return TRUE;
305
306 case PACKET_EDIT_MODE:
307 handle_edit_mode(pconn,
308 ((const struct packet_edit_mode *)packet)->state);
309 return TRUE;
310
313 return TRUE;
314
317 return TRUE;
318
321 ((const struct packet_edit_toggle_fogofwar *)packet)->player);
322 return TRUE;
323
326 ((const struct packet_edit_tile_terrain *)packet)->tile,
327 ((const struct packet_edit_tile_terrain *)packet)->terrain,
328 ((const struct packet_edit_tile_terrain *)packet)->size);
329 return TRUE;
330
333 ((const struct packet_edit_tile_extra *)packet)->tile,
334 ((const struct packet_edit_tile_extra *)packet)->extra_type_id,
335 ((const struct packet_edit_tile_extra *)packet)->removal,
336 ((const struct packet_edit_tile_extra *)packet)->eowner,
337 ((const struct packet_edit_tile_extra *)packet)->size);
338 return TRUE;
339
341 handle_edit_startpos(pconn, packet);
342 return TRUE;
343
345 handle_edit_startpos_full(pconn, packet);
346 return TRUE;
347
348 case PACKET_EDIT_TILE:
349 handle_edit_tile(pconn, packet);
350 return TRUE;
351
354 ((const struct packet_edit_unit_create *)packet)->owner,
355 ((const struct packet_edit_unit_create *)packet)->tile,
356 ((const struct packet_edit_unit_create *)packet)->type,
357 ((const struct packet_edit_unit_create *)packet)->count,
358 ((const struct packet_edit_unit_create *)packet)->tag);
359 return TRUE;
360
363 ((const struct packet_edit_unit_remove *)packet)->owner,
364 ((const struct packet_edit_unit_remove *)packet)->tile,
365 ((const struct packet_edit_unit_remove *)packet)->type,
366 ((const struct packet_edit_unit_remove *)packet)->count);
367 return TRUE;
368
371 ((const struct packet_edit_unit_remove_by_id *)packet)->id16,
372 ((const struct packet_edit_unit_remove_by_id *)packet)->id32);
373 return TRUE;
374
375 case PACKET_EDIT_UNIT:
376 handle_edit_unit(pconn, packet);
377 return TRUE;
378
381 ((const struct packet_edit_city_create *)packet)->owner,
382 ((const struct packet_edit_city_create *)packet)->tile,
383 ((const struct packet_edit_city_create *)packet)->size,
384 ((const struct packet_edit_city_create *)packet)->tag);
385 return TRUE;
386
389 ((const struct packet_edit_city_remove *)packet)->id16,
390 ((const struct packet_edit_city_remove *)packet)->id32);
391 return TRUE;
392
393 case PACKET_EDIT_CITY:
394 handle_edit_city(pconn, packet);
395 return TRUE;
396
399 ((const struct packet_edit_player_create *)packet)->tag);
400 return TRUE;
401
404 ((const struct packet_edit_player_remove *)packet)->id);
405 return TRUE;
406
408 handle_edit_player(pconn, packet);
409 return TRUE;
410
413 ((const struct packet_edit_player_vision *)packet)->player,
414 ((const struct packet_edit_player_vision *)packet)->tile,
415 ((const struct packet_edit_player_vision *)packet)->known,
416 ((const struct packet_edit_player_vision *)packet)->size);
417 return TRUE;
418
419 case PACKET_EDIT_GAME:
420 handle_edit_game(pconn, packet);
421 return TRUE;
422
425 ((const struct packet_edit_scenario_desc *)packet)->scenario_desc);
426 return TRUE;
427
428 default:
429 return FALSE;
430 }
431}
void handle_city_rally_point(struct player *pplayer, const struct packet_city_rally_point *packet)
Definition cityhand.c:590
void handle_city_refresh(struct player *pplayer, int city_id16, int city_id32)
Definition cityhand.c:456
void handle_city_options_req(struct player *pplayer, int city_id16, int city_id32, bv_city_options options)
Definition cityhand.c:566
void handle_city_make_specialist(struct player *pplayer, int city_id16, int city_id32, int tile_id)
Definition cityhand.c:139
void handle_city_make_worker(struct player *pplayer, int city_id16, int city_id32, int tile_id)
Definition cityhand.c:190
void handle_city_worklist(struct player *pplayer, int city_id16, int city_id32, const struct worklist *worklist)
Definition cityhand.c:412
void handle_city_sell(struct player *pplayer, int city_id16, int city_id32, int build_id)
Definition cityhand.c:299
void handle_city_change(struct player *pplayer, int city_id16, int city_id32, int production_kind, int production_value)
Definition cityhand.c:479
void handle_city_buy(struct player *pplayer, int city_id16, int city_id32)
Definition cityhand.c:436
void handle_city_change_specialist(struct player *pplayer, int city_id16, int city_id32, Specialist_type_id from, Specialist_type_id to)
Definition cityhand.c:101
void handle_city_name_suggestion_req(struct player *pplayer, int unit_id16, int unit_id32)
Definition cityhand.c:60
void handle_city_rename(struct player *pplayer, int city_id16, int city_id32, const char *name)
Definition cityhand.c:535
void handle_diplomacy_remove_clause_req(struct player *pplayer, int counterpart, int giver, enum clause_type type, int value)
Definition diplhand.c:746
void handle_diplomacy_create_clause_req(struct player *pplayer, int counterpart, int giver, enum clause_type type, int value)
Definition diplhand.c:779
void handle_diplomacy_init_meeting_req(struct player *pplayer, int counterpart)
Definition diplhand.c:872
void handle_diplomacy_cancel_meeting_req(struct player *pplayer, int counterpart)
Definition diplhand.c:857
void handle_diplomacy_accept_treaty_req(struct player *pplayer, int counterpart)
Definition diplhand.c:184
int int initiated_from int int giver
Definition diplodlg_g.h:28
int counterpart
Definition diplodlg_g.h:25
void handle_edit_tile(struct connection *pc, const struct packet_edit_tile *packet)
Definition edithand.c:376
void handle_edit_scenario_desc(struct connection *pc, const char *scenario_desc)
Definition edithand.c:1501
void handle_edit_check_tiles(struct connection *pc)
Definition edithand.c:1319
void handle_edit_mode(struct connection *pc, bool is_edit_mode)
Definition edithand.c:189
void handle_edit_tile_terrain(struct connection *pc, int tile, Terrain_type_id terrain, int size)
Definition edithand.c:299
void handle_edit_player(struct connection *pc, const struct packet_edit_player *packet)
Definition edithand.c:1022
void handle_edit_player_remove(struct connection *pc, int id)
Definition edithand.c:998
void handle_edit_player_vision(struct connection *pc, int plr_no, int tile, bool known, int size)
Definition edithand.c:1218
void handle_edit_city(struct connection *pc, const struct packet_edit_city *packet)
Definition edithand.c:752
void handle_edit_city_create(struct connection *pc, int owner, int tile, int size, int tag)
Definition edithand.c:696
void handle_edit_unit_remove_by_id(struct connection *pc, Unit_type_id id16, Unit_type_id id32)
Definition edithand.c:592
void handle_edit_game(struct connection *pc, const struct packet_edit_game *packet)
Definition edithand.c:1438
void handle_edit_city_remove(struct connection *pc, int id16, int id32)
Definition edithand.c:1298
void handle_edit_unit_remove(struct connection *pc, int owner, int tile, Unit_type_id utid, int count)
Definition edithand.c:537
void handle_edit_toggle_fogofwar(struct connection *pc, int plr_no)
Definition edithand.c:1329
void handle_edit_startpos_full(struct connection *pconn, const struct packet_edit_startpos_full *packet)
Definition edithand.c:1400
void handle_edit_player_create(struct connection *pc, int tag)
Definition edithand.c:919
void handle_edit_recalculate_borders(struct connection *pc)
Definition edithand.c:1290
void handle_save_scenario(struct connection *pc, const char *name)
Definition edithand.c:1513
void handle_edit_tile_extra(struct connection *pc, int tile, int id, bool removal, int eowner, int size)
Definition edithand.c:336
void handle_edit_unit_create(struct connection *pc, int owner, int tile, Unit_type_id utid, int count, int tag)
Definition edithand.c:434
void handle_edit_unit(struct connection *pc, const struct packet_edit_unit *packet)
Definition edithand.c:614
void handle_edit_startpos(struct connection *pconn, const struct packet_edit_startpos *packet)
Definition edithand.c:1362
void handle_single_want_hack_req(struct connection *pc, const struct packet_single_want_hack_req *packet)
Definition gamehand.c:1137
struct city * owner
Definition citydlg.c:219
GType type
Definition repodlgs.c:1312
bool server_handle_packet(enum packet_type type, const void *packet, struct player *pplayer, struct connection *pconn)
Definition hand_gen.c:20
void handle_player_phase_done(struct player *pplayer, int turn)
Definition plrhand.c:3007
void handle_player_multiplier(struct player *pplayer, int count, const int *multipliers)
Definition plrhand.c:3220
void handle_unit_server_side_agent_set(struct player *pplayer, int unit_id16, int unit_id32, enum server_side_agent agent)
Definition unithand.c:6023
void handle_client_heartbeat(struct connection *pc)
Definition sernet.c:1451
void handle_unit_change_activity(struct player *pplayer, int unit_id16, int unit_id32, enum unit_activity activity, int target)
Definition unithand.c:4150
void handle_nation_select_req(struct connection *pc, int player_no, Nation_type_id nation_no, bool is_male, const char *name, int style)
Definition srv_main.c:2259
void handle_unit_get_actions(struct connection *pc, const struct packet_unit_get_actions *packet)
Definition unithand.c:2079
void handle_unit_type_upgrade(struct player *pplayer, Unit_type_id type)
Definition unithand.c:186
void handle_unit_orders(struct player *pplayer, const struct packet_unit_orders *packet)
Definition unithand.c:6320
void handle_unit_sscs_set(struct player *pplayer, int unit_id16, int unit_id32, enum unit_ss_data_type type, int value)
Definition unithand.c:5910
void handle_report_req(struct connection *pc, enum report_type type)
Definition srv_main.c:1882
void handle_client_info(struct connection *pc, enum gui_type gui, int emerg_version, const char *distribution)
Definition srv_main.c:307
void handle_worker_task(struct player *pplayer, const struct packet_worker_task *packet)
Definition unithand.c:6438
void handle_player_tech_goal(struct player *pplayer, int tech)
Definition techtools.c:1335
void handle_player_place_infra(struct player *pplayer, int tile, int extra)
Definition infrapts.c:29
void handle_player_attribute_block(struct player *pplayer)
Definition plrhand.c:2999
void handle_player_ready(struct player *pplayer, int player_no, bool is_ready)
Definition srv_main.c:2341
void handle_chat_msg_req(struct connection *pc, const char *message)
Definition handchat.c:320
void handle_player_research(struct player *pplayer, int tech)
Definition techtools.c:1312
void handle_player_change_government(struct player *pplayer, Government_type_id government)
Definition plrhand.c:454
void handle_spaceship_place(struct player *pplayer, enum spaceship_place_type type, int num)
Definition spacerace.c:205
void handle_conn_pong(struct connection *pc)
Definition sernet.c:1431
void handle_unit_do_action(struct player *pplayer, const struct packet_unit_do_action *packet)
Definition unithand.c:3136
void handle_diplomacy_cancel_pact(struct player *pplayer, int other_player_id, enum clause_type clause)
Definition plrhand.c:761
void handle_player_attribute_chunk(struct player *pplayer, const struct packet_player_attribute_chunk *packet)
Definition plrhand.c:2989
void handle_spaceship_launch(struct player *pplayer)
Definition spacerace.c:166
void handle_player_rates(struct player *pplayer, int tax, int luxury, int science)
Definition plrhand.c:285
void handle_vote_submit(struct connection *pc, int vote_no, int value)
Definition voting.c:775
void handle_unit_action_query(struct connection *pc, int actor_id16, int actor_id32, int target_id, action_id action_type, int request_kind)
Definition unithand.c:3015
const char * name
Definition inputfile.c:127
static mpgui * gui
Definition mpgui_qt.cpp:52
static struct multiplier multipliers[MAX_NUM_MULTIPLIERS]
Definition multipliers.c:23
packet_type
@ PACKET_PLAYER_MULTIPLIER
@ PACKET_PLAYER_CHANGE_GOVERNMENT
@ PACKET_SAVE_SCENARIO
@ PACKET_EDIT_TOGGLE_FOGOFWAR
@ PACKET_EDIT_MODE
@ PACKET_EDIT_PLAYER
@ PACKET_DIPLOMACY_CANCEL_MEETING_REQ
@ PACKET_CITY_MAKE_WORKER
@ PACKET_CITY_OPTIONS_REQ
@ PACKET_CITY_CHANGE
@ PACKET_UNIT_SSCS_SET
@ PACKET_UNIT_DO_ACTION
@ PACKET_EDIT_PLAYER_CREATE
@ PACKET_EDIT_GAME
@ PACKET_EDIT_TILE_EXTRA
@ PACKET_SPACESHIP_PLACE
@ PACKET_NATION_SELECT_REQ
@ PACKET_REPORT_REQ
@ PACKET_EDIT_CITY_CREATE
@ PACKET_DIPLOMACY_INIT_MEETING_REQ
@ PACKET_PLAYER_ATTRIBUTE_BLOCK
@ PACKET_CITY_SELL
@ PACKET_CITY_NAME_SUGGESTION_REQ
@ PACKET_CHAT_MSG_REQ
@ PACKET_CLIENT_HEARTBEAT
@ PACKET_DIPLOMACY_CREATE_CLAUSE_REQ
@ PACKET_CITY_BUY
@ PACKET_EDIT_CITY_REMOVE
@ PACKET_EDIT_STARTPOS
@ PACKET_PLAYER_RESEARCH
@ PACKET_PLAYER_PHASE_DONE
@ PACKET_CLIENT_INFO
@ PACKET_CITY_WORKLIST
@ PACKET_UNIT_TYPE_UPGRADE
@ PACKET_UNIT_GET_ACTIONS
@ PACKET_PLAYER_ATTRIBUTE_CHUNK
@ PACKET_CITY_MAKE_SPECIALIST
@ PACKET_SINGLE_WANT_HACK_REQ
@ PACKET_PLAYER_PLACE_INFRA
@ PACKET_EDIT_PLAYER_REMOVE
@ PACKET_EDIT_TILE_TERRAIN
@ PACKET_UNIT_ACTION_QUERY
@ PACKET_EDIT_SCENARIO_DESC
@ PACKET_EDIT_UNIT_CREATE
@ PACKET_UNIT_CHANGE_ACTIVITY
@ PACKET_EDIT_UNIT_REMOVE
@ PACKET_VOTE_SUBMIT
@ PACKET_EDIT_PLAYER_VISION
@ PACKET_EDIT_CHECK_TILES
@ PACKET_CITY_CHANGE_SPECIALIST
@ PACKET_CITY_REFRESH
@ PACKET_EDIT_TILE
@ PACKET_PLAYER_READY
@ PACKET_EDIT_UNIT
@ PACKET_CONN_PONG
@ PACKET_EDIT_RECALCULATE_BORDERS
@ PACKET_EDIT_CITY
@ PACKET_PLAYER_TECH_GOAL
@ PACKET_CITY_RALLY_POINT
@ PACKET_UNIT_SERVER_SIDE_AGENT_SET
@ PACKET_SPACESHIP_LAUNCH
@ PACKET_DIPLOMACY_REMOVE_CLAUSE_REQ
@ PACKET_DIPLOMACY_ACCEPT_TREATY_REQ
@ PACKET_UNIT_ORDERS
@ PACKET_EDIT_UNIT_REMOVE_BY_ID
@ PACKET_EDIT_STARTPOS_FULL
@ PACKET_DIPLOMACY_CANCEL_PACT
@ PACKET_PLAYER_RATES
@ PACKET_CITY_RENAME
@ PACKET_WORKER_TASK
size_t size
Definition specvec.h:72
Definition agents.h:40
Definition tile.h:49
#define TRUE
Definition support.h:46
#define FALSE
Definition support.h:47