| 1 |
/*************************************************************************** |
/* SPDX-License-Identifier: GPL-3.0-or-later */ |
| 2 |
bbs_cmd.h - description |
/* |
| 3 |
------------------- |
* bbs_cmd |
| 4 |
begin : Wed Mar 16 2004 |
* - manager of menu command handler |
| 5 |
copyright : (C) 2005 by Leaflet |
* |
| 6 |
email : leaflet@leafok.com |
* Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com> |
| 7 |
***************************************************************************/ |
*/ |
| 8 |
|
|
| 9 |
/*************************************************************************** |
#ifndef _BBS_CMD_H_ |
| 10 |
* * |
#define _BBS_CMD_H_ |
| 11 |
* This program is free software; you can redistribute it and/or modify * |
|
| 12 |
* it under the terms of the GNU General Public License as published by * |
#define MAX_CMD_LENGTH 20 |
| 13 |
* the Free Software Foundation; either version 2 of the License, or * |
|
| 14 |
* (at your option) any later version. * |
enum menu_return_t |
| 15 |
* * |
{ |
| 16 |
***************************************************************************/ |
MENU_OK = 0x0, |
| 17 |
|
REDRAW = 0x1, |
| 18 |
#define MAX_CMD_LENGTH 20 |
NOREDRAW = 0x2, |
| 19 |
#define MAX_CMD_ID 100 |
EXITMENU = 0x3, |
| 20 |
|
UNKNOWN_CMD = 0xff, |
| 21 |
#define UNKNOWN_CMD 0xff |
EXITBBS = 0xfe, |
| 22 |
#define EXITBBS 0x1 |
}; |
| 23 |
#define BBSNET 0x2 |
|
| 24 |
#define LICENSE 0x3 |
typedef int (*bbs_cmd_handler)(void *p_param); |
| 25 |
#define COPYRIGHT 0x4 |
|
| 26 |
|
struct _bbs_cmd |
| 27 |
struct _bbs_cmd { |
{ |
| 28 |
char cmd[MAX_CMD_LENGTH]; |
const char *cmd; |
| 29 |
int value; |
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 bbs_cmd_handler get_cmd_handler(const char *cmd); |
| 37 |
|
|
| 38 |
|
#endif //_BBS_CMD_H_ |