source: trunk/third/kermit/ckucmd.h @ 10780

Revision 10780, 5.6 KB checked in by brlewis, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10779, which included commits to RCS files with non-trunk default branches.
RevLine 
[10779]1/*  C K U C M D . H  --  Header file for Unix cmd package  */
2 
3/*
4  Author: Frank da Cruz (fdc@columbia.edu, FDCCU@CUVMA.BITNET),
5  Columbia University Academic Information Systems, New York City.
6
7  Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New
8  York.  The C-Kermit software may not be, in whole or in part, licensed or
9  sold for profit as a software product itself, nor may it be included in or
10  distributed with commercial products or otherwise distributed by commercial
11  concerns to their clients or customers without written permission of the
12  Office of Kermit Development and Distribution, Columbia University.  This
13  copyright notice must not be removed, altered, or obscured.
14*/
15 
16#ifndef CKUCMD_H
17#define CKUCMD_H
18
19/* Command recall */
20
21#ifdef pdp11                            /* Not enough room */
22#ifndef NORECALL
23#define NORECALL
24#endif /* NORECALL */
25#endif /* pdp11 */
26
27#ifdef DYNAMIC                          /* Dynamic command buffers */
28/*
29  Use malloc() to allocate the many command-related buffers in ckucmd.c.
30*/
31#ifndef DCMDBUF
32#ifndef NORECALL
33#define NORECALL
34#endif /* NORECALL */
35#endif /* DCMDBUF */
36
37#ifndef NORECALL
38#define CK_RECALL
39#else
40#ifdef CK_RECALL
41#undef CK_RECALL
42#endif /* CK_RECALL */
43#endif /* NORECALL */
44#else
45#ifndef NORECALL
46#define NORECALL
47#endif /*  NORECALL */
48#endif /* DYNAMIC */
49
50#ifdef NORECALL
51#ifdef CK_RECALL
52#undef CK_RECALL
53#endif /* CK_RECALL */
54#endif /* NORECALL */
55
56/* Special getchars */
57
58#ifdef VMS
59#ifdef getchar                          /* This is for VMS GCC */
60#undef getchar
61#endif /* getchar */
62#define getchar()   vms_getchar()
63int vms_getchar(void);
64#endif /* VMS */
65 
66#ifdef aegis
67#undef getchar
68#define getchar()   coninc(0)
69#endif /* aegis */
70 
71#ifdef AMIGA
72#undef getchar
73#define getchar() coninc(0)
74#endif /* AMIGA */
75
76#ifdef Plan9
77#undef getchar
78#define getchar() coninc(0)
79#undef putchar
80#define putchar(c) conoc(c)
81#define printf conprint
82#endif /* Plan9 */
83
84/* Sizes of things */
85 
86#ifndef CMDDEP
87#ifdef BIGBUFOK
88#define CMDDEP  64                      /* Maximum command recursion depth */
89#else
90#define CMDDEP  20
91#endif /* BIGBUFOK */
92#endif /* CMDDEP */
93#define HLPLW   78                      /* Width of ?-help line */
94#define HLPCW   19                      /* Width of ?-help column */
95#define HLPBL  100                      /* Help string buffer length */
96#ifdef BIGBUFOK
97#define ATMBL 4072                      /* Command atom buffer length*/
98#else
99#ifdef NOSPL
100#define ATMBL  256
101#else
102#define ATMBL  1024
103#endif /* NOSPL */
104#endif /* BIGBUFOK */
105
106#ifndef CMDBL
107#ifdef NOSPL
108/* No script programming language, save some space */
109#define CMDBL 512                       /* Command buffer length */
110#else
111#ifdef BIGBUFOK
112#define CMDBL 4072                      /* Max size to fit in one page */
113#else
114#define CMDBL 1024                      /* Command buffer length */
115#endif /* OS2 */
116#endif /* NOSPL */
117#endif /* CMDBL */
118 
119/* Special characters */
120 
121#define RDIS 0022                       /* Redisplay   (^R) */
122#define LDEL 0025                       /* Delete line (^U) */
123#define WDEL 0027                       /* Delete word (^W) */
124#ifdef CK_RECALL
125#define C_UP 0020                       /* Go Up in recall buffer (^P) */
126#define C_UP2 0002                      /* Alternate Go Up (^B) for VMS */
127#define C_DN 0016                       /* Go Down in recall buffer (^N) */
128#endif /* CK_RECALL */
129/* Keyword table flags */
130 
131#define CM_INV 1                        /* Invisible keyword */
132#define CM_ABR 2                        /* Abbreviation */
133 
134/* Token flags */
135
136#define CMT_COM 0                       /* Comment (; or #) */
137#define CMT_SHE 1                       /* Shell escape (!) */
138#define CMT_LBL 2                       /* Label (:) */
139#define CMT_FIL 3                       /* Indirect filespec (@) */
140
141/* Path separator for path searches */
142
143#ifdef OS2
144#define PATHSEP ';'
145#else
146#ifdef UNIX
147#define PATHSEP ':'
148#else
149#define PATHSEP ','
150#endif /* UNIX */
151#endif /* OS2 */
152
153/* Keyword Table Template */
154 
155struct keytab {                         /* Keyword table */
156    char *kwd;                          /* Pointer to keyword string */
157    int kwval;                          /* Associated value */
158    int flgs;                           /* Flags (as defined above) */
159};
160
161/* Function prototypes */
162
163#ifdef CK_ANSIC                         /* ANSI C */
164#ifdef M_SYSV                           /* SCO Microsoft C wants no args */
165typedef int (*xx_strp)();
166#else
167typedef int (*xx_strp)(char *, char **, int *);
168#endif /* M_SYSV */
169#else                                   /* Not ANSI C */
170typedef int (*xx_strp)();
171#endif /* CK_ANSIC */
172
173_PROTOTYP( int xxesc, (char **) );
174_PROTOTYP( int cmrini, (int) );
175_PROTOTYP( VOID cmsetp, (char *) );
176_PROTOTYP( VOID cmsavp, (char [], int) );
177_PROTOTYP( VOID prompt, (xx_strp) );
178_PROTOTYP( VOID pushcmd, (void) );
179_PROTOTYP( VOID cmres, (void) );
180_PROTOTYP( VOID cmini, (int) );
181_PROTOTYP( int cmpush, (void) );
182_PROTOTYP( int cmpop, (void) );
183_PROTOTYP( VOID untab, (char *) );
184_PROTOTYP( int cmnum, (char *, char *, int, int *, xx_strp ) );
185_PROTOTYP( int cmofi, (char *, char *, char **, xx_strp ) );
186_PROTOTYP( int cmifi, (char *, char *, char **, int *, xx_strp ) );
187_PROTOTYP( int cmifip,(char *, char *, char **, int *, int, char *, xx_strp ));
188_PROTOTYP( int cmifi2,(char *, char *, char **, int *, int, char *, xx_strp ));
189_PROTOTYP( int cmdir, (char *, char *, char **, xx_strp ) );
190_PROTOTYP( int cmfld, (char *, char *, char **, xx_strp ) );
191_PROTOTYP( int cmtxt, (char *, char *, char **, xx_strp ) );
192_PROTOTYP( int cmkey,  (struct keytab [], int, char *, char *, xx_strp) );
193_PROTOTYP( int cmkeyx, (struct keytab [], int, char *, char *, xx_strp) );
194_PROTOTYP( int cmkey2,(struct keytab [],int,char *,char *,char *,xx_strp,int));
195_PROTOTYP( int chktok, (char *) );
196_PROTOTYP( int cmcfm, (void) );
197_PROTOTYP( int rdigits, (char *) );
198_PROTOTYP( int chknum, (char *) );
199_PROTOTYP( int lower, (char *) );
200_PROTOTYP( int lookup, (struct keytab [], char *, int, int *) );
201_PROTOTYP( VOID kwdhelp, (struct keytab[], int, char *, char *, char *, int) );
202_PROTOTYP( int ungword, (void) );
203_PROTOTYP( int cmdsquo, (int) );
204_PROTOTYP( int cmdgquo, (void) );
205
206#ifdef DCMDBUF
207_PROTOTYP( int cmsetup, (void) );
208#endif /* DCMDBUF */
209
210#endif /* CKUCMD_H */
211
212/* End of ckucmd.h */
Note: See TracBrowser for help on using the repository browser.