| 1 |
/*************************************************************************** |
/* SPDX-License-Identifier: GPL-3.0-or-later */ |
| 2 |
bbs_cmd.h - description |
/* |
| 3 |
------------------- |
* bbs_cmd |
| 4 |
Copyright : (C) 2004-2025 by Leaflet |
* - manager of menu command handler |
| 5 |
Email : leaflet@leafok.com |
* |
| 6 |
***************************************************************************/ |
* Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com> |
| 7 |
|
*/ |
| 8 |
/*************************************************************************** |
|
|
* * |
|
|
* 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 3 of the License, or * |
|
|
* (at your option) any later version. * |
|
|
* * |
|
|
***************************************************************************/ |
|
| 9 |
#ifndef _BBS_CMD_H_ |
#ifndef _BBS_CMD_H_ |
| 10 |
#define _BBS_CMD_H_ |
#define _BBS_CMD_H_ |
| 11 |
|
|
| 12 |
#define MAX_CMD_LENGTH 20 |
#define MAX_CMD_LENGTH 20 |
|
#define MAX_CMD_ID 100 |
|
| 13 |
|
|
| 14 |
#define MENU_OK 0x0 |
enum menu_return_t |
| 15 |
#define UNKNOWN_CMD 0xff |
{ |
| 16 |
#define EXITBBS 0xfe |
MENU_OK = 0x0, |
| 17 |
#define REDRAW 0x1 |
REDRAW = 0x1, |
| 18 |
#define NOREDRAW 0x2 |
NOREDRAW = 0x2, |
| 19 |
|
EXITMENU = 0x3, |
| 20 |
|
UNKNOWN_CMD = 0xff, |
| 21 |
|
EXITBBS = 0xfe, |
| 22 |
|
}; |
| 23 |
|
|
| 24 |
|
typedef int (*bbs_cmd_handler)(void *p_param); |
| 25 |
|
|
| 26 |
struct _bbs_cmd |
struct _bbs_cmd |
| 27 |
{ |
{ |
| 28 |
char cmd[MAX_CMD_LENGTH]; |
const char *cmd; |
| 29 |
int (*p_handle)(const char *p_param); |
bbs_cmd_handler handler; |
| 30 |
}; |
}; |
| 31 |
|
|
| 32 |
typedef struct _bbs_cmd BBS_CMD; |
typedef struct _bbs_cmd BBS_CMD; |
| 33 |
|
|
| 34 |
extern BBS_CMD bbs_cmd_list[MAX_CMD_ID]; |
extern int load_cmd(); |
| 35 |
|
|
| 36 |
extern int exec_cmd(const char *cmd, const char *param); |
extern bbs_cmd_handler get_cmd_handler(const char *cmd); |
| 37 |
|
|
| 38 |
#endif //_BBS_CMD_H_ |
#endif //_BBS_CMD_H_ |