Subversion Repositories Vertical

Rev

Rev 2 | Details | Compare with Previous | 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
 *  */
11 mjames 34
 
35
 
36
 
37
#if ! defined _CMDPARSE
2 mjames 38
#define _CMDPARSE
39
 
11 mjames 40
 
41
#if ! defined ET_TCLARGS
2 mjames 42
#define TCLARGS
11 mjames 43
#else   
2 mjames 44
#define TCLARGS ET_TCLARGS
45
#endif
46
 
11 mjames 47
 
2 mjames 48
#define LINELEN 1024
49
#define WORDSINLINE 50
50
#define PATHLENGTH 200
51
#define WORDWIDTH 100
52
 
11 mjames 53
enum ReturnCodes {OKCMD, FAILED, NARGS, UNKNOWNCMD, BADVARS, QUITCMD};
2 mjames 54
 
55
struct CommandStruct;
56
 
11 mjames 57
 
58
 
59
 
60
 
2 mjames 61
struct command
11 mjames 62
   {
63
   char *name;
64
   int  NumChar;
65
/* see above for macro defining this */
66
   int  (*function) (TCLARGS);
67
   struct command * Menu;
68
   char *helpstr;
69
   char *extras;
70
   char *TCL_command;
71
   };
2 mjames 72
 
11 mjames 73
 
2 mjames 74
typedef struct command CommandMenu[];
75
 
76
#if defined USE_COMMANDSTRUCT
77
struct CommandStruct
11 mjames 78
   {
79
   char *Text;
80
   char *Words[WORDSINLINE];
81
   int   CurrentCommand;
82
   int   NumberCommands;
83
   int   nArgs;
84
   char  **Args;
85
   };
2 mjames 86
#endif
87
/* is the TCL interface in GUI or command line mode ? */
88
 
89
#if defined ET_TCLARGS
90
 
11 mjames 91
typedef enum {Tcl_GUI,Tcl_Cmd} tcl_mode_t;
2 mjames 92
 
11 mjames 93
extern  tcl_mode_t  Tcl_Mode;
2 mjames 94
 
11 mjames 95
/* make this a global */  
96
extern  Tcl_Interp * Tcl_interp;
2 mjames 97
 
11 mjames 98
 
2 mjames 99
#endif
100
 
101
/* debug level */
102
extern long level;
103
 
11 mjames 104
extern int Execute (int argc,char * argv[], CommandMenu Dispatch);
2 mjames 105
 
11 mjames 106
extern int ExecuteString (char * commandstring , int nArgs, char * Args[]) ;
2 mjames 107
 
11 mjames 108
extern int ParseFile (FILE * CmdFile,int nArgs, char * Args[]);
2 mjames 109
 
11 mjames 110
extern int ExecuteCommand (FILE * CmdFile,
111
                           int nArgs,
112
                           char * Args[]);
2 mjames 113
 
11 mjames 114
 
115
 
116
 
117
 
2 mjames 118
#endif
11 mjames 119