Atrinik Server  4.0
commands.h
Go to the documentation of this file.
1 /*************************************************************************
2  * Atrinik, a Multiplayer Online Role Playing Game *
3  * *
4  * Copyright (C) 2009-2014 Alex Tokar and Atrinik Development Team *
5  * *
6  * Fork from Crossfire (Multiplayer game for X-windows). *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the Free Software *
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
21  * *
22  * The author can be reached at admin@atrinik.org *
23  ************************************************************************/
24 
32 #ifndef COMMANDS_H
33 #define COMMANDS_H
34 
44 typedef void (*command_func)(object *op, const char *command, char *params);
45 
49 typedef struct command_struct {
53  char *name;
54 
59 
63  double delay;
64 
68  uint64_t flags;
69 
73  UT_hash_handle hh;
75 
79 typedef struct permission_group_struct {
83  char *name;
84 
89 
94 
98  UT_hash_handle hh;
100 
108 #define COMMAND_PERMISSION 1
109 
112 #define COMMAND_ALLOW_MARKUP 2
113 
118 #define COMMAND(__name) # __name, command_ ## __name
119 
123 #define COMMAND_EXECUTE(__op, __command, __params) command_ ## __command((__op), # __command, (__params))
124 
125 #endif
UT_hash_handle hh
Definition: commands.h:98
double delay
Definition: commands.h:63
uint64_t flags
Definition: commands.h:68
size_t cmd_permissions_num
Definition: commands.h:93
struct command_struct command_struct
struct permission_group_struct permission_group_struct
UT_hash_handle hh
Definition: commands.h:73
void(* command_func)(object *op, const char *command, char *params)
Definition: commands.h:44
command_func handle_func
Definition: commands.h:58
char * name
Definition: commands.h:53