--- lbbs/include/bbs_cmd.h 2025/04/30 09:18:19 1.6 +++ lbbs/include/bbs_cmd.h 2025/05/17 15:39:51 1.8 @@ -1,16 +1,15 @@ /*************************************************************************** bbs_cmd.h - description ------------------- - begin : Wed Mar 16 2005 - copyright : (C) 2005 by Leaflet - email : leaflet@leafok.com + Copyright : (C) 2004-2025 by Leaflet + Email : leaflet@leafok.com ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * + * the Free Software Foundation; either version 3 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ @@ -18,7 +17,6 @@ #define _BBS_CMD_H_ #define MAX_CMD_LENGTH 20 -#define MAX_CMD_ID 100 #define MENU_OK 0x0 #define UNKNOWN_CMD 0xff @@ -26,16 +24,18 @@ #define REDRAW 0x1 #define NOREDRAW 0x2 +typedef int (*bbs_cmd_handler)(void *p_param); + struct _bbs_cmd { - char cmd[MAX_CMD_LENGTH]; - int (*p_handle)(const char *p_param); + const char *cmd; + bbs_cmd_handler handler; }; typedef struct _bbs_cmd BBS_CMD; -extern BBS_CMD bbs_cmd_list[MAX_CMD_ID]; +extern int load_cmd(); -extern int exec_cmd(const char *cmd, const char *param); +extern bbs_cmd_handler get_cmd_handler(const char *cmd); #endif //_BBS_CMD_H_