1 /*
2  *  MAINCMDS.H
3  *
4  *  Written on 30-Jul-90 by jim nutt.  Changes on 10-Jul-94 by John Dennis.
5  *  Released to the public domain.
6  */
7 
8 #ifndef __MAINCMDS_H__
9 #define __MAINCMDS_H__
10 
11 static void left(void);
12 static void right(void);
13 static void go_last(void);
14 static void link_to(void);
15 static void link_from(void);
16 static void view(void);
17 static void go_root(void);
18 static void go_back(void);
19 static void go_dos(void);
20 static void rundos(void);
21 static void search(void);
22 static void hdrsearch(void);
23 static void spmail(void);
24 static void pmail(void);
25 static void gotomsg0(void);
26 static void quit(void);
27 static void first(void);
28 static void astart(void);
29 static void slast(void);
30 static void next_area(void);
31 static void prev_area(void);
32 static void scan_areas(int);
33 static void al_scan_areas(int);
34 static void go_next(void);
35 static void edithdr(void);
36 static void nada(void);
37 
38 void makefreq(void);
39 void uudecode(void);
40 void hex_dump(void);
41 void newmsg(void);
42 void reply(void);
43 void quote(void);
44 void reply_oarea(void);
45 void replyextra(void);
46 void followup(void);
47 void change(void);
48 void Go_Dwn(void);
49 void Go_Up(void);
50 
51 static void delete(void);
52 static void move(void);
53 static void outtxt(void);
54 static void chngaddr(void);
55 static void chngname(void);
56 static void chngnodel(void);
57 static void do_help(void);
58 static void set(void);
59 static void list(void);
60 static void rotate(void);
61 
62 void (*mainckeys[256]) (void) =
63 {
64     NULL, NULL, NULL, NULL, uudecode, NULL, makefreq, NULL,      /* 0 */
65     edithdr, go_next, NULL, NULL, NULL, right, chngnodel, NULL,  /* 8 */
66     NULL, NULL, NULL, NULL, NULL, chngname, NULL, chngaddr,      /* 10 */
67     NULL, NULL, NULL, quit, NULL, NULL, NULL, NULL,              /* 18 */
68     NULL, rundos, NULL, scan_unscanned_areas, NULL, NULL, NULL, NULL,  /* 20 */
69     NULL, NULL, scan_all_areas, next_area, NULL, prev_area, NULL, NULL,/* 28 */
70     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 30 */
71     NULL, NULL, NULL, NULL, rotate, NULL, rotate, NULL,       /* 38 */
72     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 40 */
73     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 48 */
74     spmail, NULL, NULL, NULL, NULL, NULL, NULL, NULL,         /* 50 */
75     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 58 */
76     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 60 */
77     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 68 */
78     spmail, NULL, NULL, NULL, NULL, NULL, NULL, NULL,         /* 70 */
79     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 78 */
80     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 80 */
81     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 88 */
82     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 90 */
83     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 98 */
84     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* A0 */
85     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* A8 */
86     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* B0 */
87     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* B8 */
88     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* C0 */
89     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* C8 */
90     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* D0 */
91     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* D8 */
92     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* E0 */
93     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* E8 */
94     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* F0 */
95     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL            /* F8 */
96 };
97 
98 void (*mainakeys[256]) (void) =
99 {
100     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 0 */
101     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 8 */
102     quote, outtxt, newmsg, reply, sel_chs, replyextra, followup, NULL, /* 10 */
103     go_dos, pmail, NULL, NULL, NULL, NULL, quit, set,         /* 18 */
104     delete, search, gotomsg0, do_help, NULL, NULL, list, NULL,  /* 20 */
105     NULL, NULL, NULL, NULL, hdrsearch, quit, change, view,      /* 28 */
106     hex_dump, reply_oarea, move, NULL, NULL, NULL, NULL, NULL,  /* 30 */
107     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 38 */
108     NULL, NULL, NULL, NULL, NULL, NULL, NULL, first,          /* 40 */
109     NULL, NULL, NULL, left, NULL, right, NULL, slast,         /* 48 */
110     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 50 */
111     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 58 */
112     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 60 */
113     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 68 */
114     NULL, NULL, NULL, link_from, link_to, NULL, NULL, NULL,   /* 70 */
115     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 78 */
116     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 80 */
117     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 88 */
118     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 90 */
119     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* 98 */
120     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* A0 */
121     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* A8 */
122     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* B0 */
123     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* B8 */
124     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* C0 */
125     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* C8 */
126     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* D0 */
127     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* D8 */
128     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* E0 */
129     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* E8 */
130     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,           /* F0 */
131     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL            /* F8 */
132 };
133 
134 const struct _command maincmds[] =
135 {
136     {"next_area", next_area},
137     {"previous", left},
138     {"last", go_last},
139     {"link_to", link_to},
140     {"link_from", link_from},
141     {"view", view},
142     {"home", go_root},
143     {"back", go_back},
144     {"shell", go_dos},
145     {"search", search},
146     {"delete", delete},
147     {"newmsg", newmsg},
148     {"reply", reply},
149     {"quote", quote},
150     {"move", move},
151     {"export", outtxt},
152     {"sel_chs", sel_chs},
153     {"dos", rundos},
154     {"config", set},
155     {"list", list},
156     {"change", change},
157     {"null", nada},
158     {"exit", quit},
159     {"quit", quit},
160     {"prev_area", prev_area},
161     {"scan", scan_all_areas},
162     {"scan_unscanned", scan_unscanned_areas},
163     {"next", right},
164     {"chngaddr", chngaddr},
165     {"repoth", reply_oarea},
166     {"followup", followup},
167     {"u-next", go_next},
168     {"first", first},
169     {"slast", slast},
170     {"astart", astart},
171     {"chnodel", chngnodel},
172     {"name", chngname},
173     {"repext", replyextra},
174     {"edithdr", edithdr},
175     {"pmail", pmail},
176     {"cur-pmail", spmail},
177     {"hdrsearch", hdrsearch},
178     {"down", Go_Dwn},
179     {"up", Go_Up},
180     {"help", do_help},
181     {NULL, NULL}
182 };
183 
184 #endif
185