Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | mjames | 1 | /* $Id: cmdparse.h,v 1.1.1.1 2003/11/04 23:34:56 mjames Exp $ |
2 | |||
3 | Header file: cmdparse.h |
||
4 | |||
5 | $Log: cmdparse.h,v $ |
||
6 | Revision 1.1.1.1 2003/11/04 23:34:56 mjames |
||
7 | Imported into local repositrory |
||
8 | |||
9 | Revision 1.6 2001/10/31 22:20:01 mjames |
||
10 | Tidying up problematical comments caused by CVS |
||
11 | 'intelligent' comment guessing |
||
12 | |||
13 | Revision 1.5 2001/06/06 12:10:24 mjames |
||
14 | Move from HPUX |
||
15 | |||
16 | Revision 1.4 2001/02/06 22:41:15 mjames |
||
17 | Added correct argument passing for 'read file comp_suffix arg0 arg1 arg2 ... |
||
18 | |||
19 | Revision 1.3 2001/01/04 21:26:55 mjames |
||
20 | Modifications to add in the TCL style |
||
21 | argument list to all of the functions |
||
22 | . |
||
23 | |||
24 | Revision 1.2 2001/01/02 07:53:52 mjames |
||
25 | Made changes to allow for interface with TCL/Tk |
||
26 | |||
27 | Revision 1.1.1.1 2000/10/19 21:58:35 mjames |
||
28 | Mike put it here |
||
29 | |||
30 | |||
31 | |||
32 | Chopped a lot of RCS revision history |
||
33 | * */ |
||
34 | #pragma once |
||
35 | #include <stdio.h> |
||
36 | |||
37 | |||
38 | #if !defined _CMDPARSE |
||
39 | #define _CMDPARSE |
||
40 | |||
41 | #if !defined ET_TCLARGS |
||
42 | #define TCLARGS |
||
43 | #else |
||
44 | #define TCLARGS ET_TCLARGS |
||
45 | #endif |
||
46 | |||
47 | #define LINELEN 1024 |
||
48 | #define WORDSINLINE 50 |
||
49 | #define PATHLENGTH 200 |
||
50 | #define WORDWIDTH 100 |
||
51 | |||
52 | enum ReturnCodes |
||
53 | { |
||
54 | OKCMD, |
||
55 | FAILED, |
||
56 | NARGS, |
||
57 | UNKNOWNCMD, |
||
58 | BADVARS, |
||
59 | QUITCMD |
||
60 | }; |
||
61 | |||
62 | struct CommandStruct; |
||
63 | |||
64 | struct command |
||
65 | { |
||
66 | char *name; |
||
67 | int NumChar; |
||
68 | /* see above for macro defining this */ |
||
69 | int (*function) (TCLARGS); |
||
70 | struct command *Menu; |
||
71 | char *helpstr; |
||
72 | char *extras; |
||
73 | char *TCL_command; |
||
74 | }; |
||
75 | |||
76 | typedef struct command CommandMenu[]; |
||
77 | |||
78 | #if defined USE_COMMANDSTRUCT |
||
79 | struct CommandStruct |
||
80 | { |
||
81 | char *Text; |
||
82 | char *Words[WORDSINLINE]; |
||
83 | int CurrentCommand; |
||
84 | int NumberCommands; |
||
85 | int nArgs; |
||
86 | char **Args; |
||
87 | }; |
||
88 | #endif |
||
89 | |||
90 | /* is the TCL interface in GUI or command line mode ? */ |
||
91 | typedef enum |
||
92 | { |
||
93 | Tcl_GUI, |
||
94 | Tcl_Cmd |
||
95 | } tcl_mode_t; |
||
96 | |||
97 | #if defined ET_TCLARGS |
||
98 | |||
99 | |||
100 | extern tcl_mode_t Tcl_Mode; |
||
101 | |||
102 | /* make this a global */ |
||
103 | extern Tcl_Interp *Tcl_interp; |
||
104 | |||
105 | #endif |
||
106 | |||
107 | /* debug level */ |
||
108 | extern long level; |
||
109 | |||
110 | extern int Execute (int argc, char *argv[], CommandMenu Dispatch); |
||
111 | |||
112 | extern int ExecuteString (char *commandstring, int nArgs, char *Args[]); |
||
113 | |||
114 | extern int ParseFile (FILE *CmdFile, int nArgs, char *Args[]); |
||
115 | |||
116 | extern int ExecuteCommand (FILE *CmdFile, int nArgs, char *Args[]); |
||
117 | |||
118 | #endif |