-
Notifications
You must be signed in to change notification settings - Fork 8
/
clientui.h
129 lines (108 loc) · 3.09 KB
/
clientui.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/*
Eagles Bulletin Board System
Copyright (C) 1995, Ray Rocker, rocker@datasync.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
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "pbbs/io.h"
/*
Header file for the user interface. This plus the remote libbbs will
make up the client in a future version.
*/
#if COLOR
/* ANSI Color constants */
# define COLOR_BLACK 0
# define COLOR_RED 1
# define COLOR_GREEN 2
# define COLOR_ORANGE 3
# define COLOR_DARKBLUE 4
# define COLOR_PURPLE 5
# define COLOR_LIGHTBLUE 6
# define COLOR_WHITE 7
#endif
/* Flags for the menu commands */
#define DONOTHING 0
#define FULLUPDATE 0001
#define PARTUPDATE 0002
#define FETCHNEW 0004
#define NEWDIRECT 0010
#define EXITMENU 0020
#define MENUERROR 0040
#define NOCLOSE 0100
struct enum_info {
int count;
int topline;
int bottomline;
int currline;
int totals[2]; /* general purpose counters */
};
/* sleep time between Monitor refreshes */
#define MONITOR_REFRESH 10
/* Additions for new_menu items */
#define MAXMENUSZ (26)
#define MAXMENUDEPTH (5)
#define MENU_UP (16)
#define MENU_DOWN (14)
typedef struct _NMENUITEM {
char *name ;
int enabled ;
char *default_action ;
char *error_action ;
int (*action_func)() ;
char *action_arg ;
char *help ;
struct _NMENUITEM *prev ;
struct _NMENUITEM *next ;
} NMENUITEM ;
typedef struct _NMENU {
char *menu_id ;
char *menu_title ;
char *menu_default ;
char *menu_prompt ;
NMENUITEM *menucommands[MAXMENUSZ] ;
NMENUITEM *commlist ;
struct _NMENU *next ;
} NMENU ;
typedef struct _NREADMENUITEM {
int key ;
int mainprivs ;
int boardprivs ;
int (*action_func)() ;
char *help ;
struct _NREADMENUITEM *next ;
} NREADMENUITEM ;
typedef struct _NREADMENU {
char *menu_helptitle ;
char *menu_title ;
char *menu_message ;
char *menu_line2 ;
char *menu_line3 ;
char *menu_field1 ;
char *menu_field2 ;
char *menu_field3 ;
char *menu_field4 ;
NREADMENUITEM *commlist ;
} NREADMENU ;
/* A few global variables */
extern LOGININFO myinfo;
extern char c_tempfile[];
extern NAME currboard;
extern NAME currfileboard;
extern NREADMENU *PostReadMenu, *MailReadMenu, *FileReadMenu;
extern char *bb_errlist[];
/* Functions to check for page requests */
extern int PagePending __P((void));
extern int NewPagePending __P((void));
/* Other common functions */
extern char ModeToChar __P((SHORT));
extern char *ModeToString __P((SHORT));
extern int bbperror __P((LONG, char *));