|
|
1.1 root 1: /* C K U C M D . H -- Header file for Unix cmd package */
2:
3: /*
4: Author: Frank da Cruz ([email protected], [email protected]),
5: Columbia University Center for Computing Activities.
6: First released January 1985.
7: Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
8: York. Permission is granted to any individual or institution to use, copy, or
9: redistribute this software so long as it is not sold for profit, provided this
10: copyright notice is retained.
11: */
12:
13: #ifndef CKUCMD_H
14: #define CKUCMD_H
15:
16: /* Special getchars... */
17:
18: #ifdef DYNAMIC /* Dynamic command buffers */
19: #define DCMDBUF
20: /*
21: Use malloc() to allocate the many command-related buffers in ckucmd.c.
22: */
23: #endif /* DYNAMIC */
24:
25: #ifdef VMS
26: #define getchar() vms_getchar()
27: #endif /* VMS */
28:
29: #ifdef aegis
30: #undef getchar
31: #define getchar() coninc(0)
32: #endif /* aegis */
33:
34: #ifdef AMIGA
35: #undef getchar
36: #define getchar() coninc(0)
37: #endif /* AMIGA */
38:
39: /* Sizes of things */
40:
41: #define CMDDEP 20 /* Maximum command recursion depth */
42: #define HLPLW 78 /* Width of ?-help line */
43: #define HLPCW 19 /* Width of ?-help column */
44: #define HLPBL 100 /* Help string buffer length */
45: #define ATMBL 256 /* Command atom buffer length*/
46: #ifdef NOSPL
47: /* No script programming language, save some space */
48: #define CMDBL 512 /* Command buffer length */
49: #else
50: #define CMDBL 1024 /* Command buffer length */
51: #endif /* NOSPL */
52:
53: /* Special characters */
54:
55: #define RDIS 0022 /* Redisplay (^R) */
56: #define LDEL 0025 /* Delete line (^U) */
57: #define WDEL 0027 /* Delete word (^W) */
58:
59: /* Keyword table flags */
60:
61: #define CM_INV 1 /* Invisible keyword */
62: #define CM_ABR 2 /* Abbreviation */
63:
64: /* Token flags */
65:
66: #define CMT_COM 0 /* Comment (; or #) */
67: #define CMT_SHE 1 /* Shell escape (!) */
68: #define CMT_LBL 2 /* Label (:) */
69: #define CMT_FIL 3 /* Indirect filespec (@) */
70:
71: /* Keyword Table Template */
72:
73: struct keytab { /* Keyword table */
74: char *kwd; /* Pointer to keyword string */
75: int kwval; /* Associated value */
76: int flgs; /* Flags (as defined above) */
77: };
78:
79: /* Function prototypes */
80:
81: #ifdef CK_ANSIC /* ANSI C */
82: #ifdef M_SYSV /* SCO Microsoft C wants no args */
83: typedef int (*xx_strp)();
84: #else
85: typedef int (*xx_strp)(char *, char **, int *);
86: #endif /* M_SYSV */
87: #else /* Not ANSI C */
88: typedef int (*xx_strp)();
89: #endif /* CK_ANSIC */
90:
91: _PROTOTYP( int xxesc, (char **) );
92: _PROTOTYP( VOID cmsetp, (char *) );
93: _PROTOTYP( VOID cmsavp, (char *, int) );
94: _PROTOTYP( VOID prompt, (xx_strp) );
95: _PROTOTYP( VOID pushcmd, (void) );
96: _PROTOTYP( VOID cmres, (void) );
97: _PROTOTYP( VOID cmini, (int) );
98: _PROTOTYP( int cmpush, (void) );
99: _PROTOTYP( int cmpop, (void) );
100: _PROTOTYP( VOID untab, (char *) );
101: _PROTOTYP( int cmnum, (char *, char *, int, int *, xx_strp ) );
102: _PROTOTYP( int cmofi, (char *, char *, char **, xx_strp ) );
103: _PROTOTYP( int cmifi, (char *, char *, char **, int *, xx_strp ) );
104: _PROTOTYP( int cmdir, (char *, char *, char **, xx_strp ) );
105: _PROTOTYP( int cmfld, (char *, char *, char **, xx_strp ) );
106: _PROTOTYP( int cmtxt, (char *, char *, char **, xx_strp ) );
107: _PROTOTYP( int cmkey, (struct keytab *, int, char *, char *, xx_strp) );
108: _PROTOTYP( int cmkey2,(struct keytab *, int, char *, char *, char *,xx_strp));
109: _PROTOTYP( int chktok, (char *) );
110: _PROTOTYP( int cmcfm, (void) );
111: _PROTOTYP( int rdigits, (char *) );
112: _PROTOTYP( int chknum, (char *) );
113: _PROTOTYP( int lower, (char *) );
114: _PROTOTYP( int lookup, (struct keytab *, char *, int, int *) );
115: _PROTOTYP( int ungword, (void) );
116:
117: #ifdef DCMDBUF
118: _PROTOTYP( int cmsetup, (void) );
119: #endif /* DCMDBUF */
120:
121: #endif /* CKUCMD_H */
122:
123: /* End of ckucmd.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.