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