11 bool (* const comfunc)(int, const char**, struct ngadmin*);
13 const struct TreeNode *sub;
17 #define COM_ROOT_START(v) const struct TreeNode v = {.name = "<root>", .comfunc = NULL, .hasArgs = false, .sub = (const struct TreeNode[]){
18 #define COM_ROOT_END {.name = NULL, .comfunc = NULL, .hasArgs = false, .sub = NULL}}};
19 #define COM_START(nam) {.name = #nam, .comfunc = NULL, .hasArgs = false, .sub = (const struct TreeNode[]){
20 #define COM_END {.name = NULL, .comfunc = NULL, .hasArgs = false, .sub = NULL}}},
21 #define COM_TERM(nam, func, args) {.name = #nam, .comfunc = func, .hasArgs = args, .sub = NULL},
24 extern const struct TreeNode coms;