/* C K U C M D . H -- Header file for Unix cmd package */
Author: Frank da Cruz (fdc@columbia.edu, FDCCU@CUVMA.BITNET),
Columbia University Center for Computing Activities.
First released January 1985.
Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
York. Permission is granted to any individual or institution to use this
software as long as it is not sold for profit. This copyright notice must be
retained. This software may not be included in commercial products without
written permission of Columbia University.
/* Special getchars... */
#ifdef DYNAMIC /* Dynamic command buffers */
Use malloc() to allocate the many command-related buffers in ckucmd.c.
#define getchar() vms_getchar()
#define getchar() coninc(0)
#define getchar() coninc(0)
#define CMDDEP 20 /* Maximum command recursion depth */
#define HLPLW 78 /* Width of ?-help line */
#define HLPCW 19 /* Width of ?-help column */
#define HLPBL 100 /* Help string buffer length */
#define ATMBL 256 /* Command atom buffer length*/
/* No script programming language, save some space */
#define CMDBL 512 /* Command buffer length */
#define CMDBL 1024 /* Command buffer length */
#define RDIS 0022 /* Redisplay (^R) */
#define LDEL 0025 /* Delete line (^U) */
#define WDEL 0027 /* Delete word (^W) */
/* Keyword table flags */
#define CM_INV 1 /* Invisible keyword */
#define CM_ABR 2 /* Abbreviation */
#define CMT_COM 0 /* Comment (; or #) */
#define CMT_SHE 1 /* Shell escape (!) */
#define CMT_LBL 2 /* Label (:) */
#define CMT_FIL 3 /* Indirect filespec (@) */
/* Keyword Table Template */
struct keytab
{ /* Keyword table */
char *kwd
; /* Pointer to keyword string */
int kwval
; /* Associated value */
int flgs
; /* Flags (as defined above) */
/* Function prototypes */
#ifdef CK_ANSIC /* ANSI C */
#ifdef M_SYSV /* SCO Microsoft C wants no args */
typedef int (*xx_strp
)();
typedef int (*xx_strp
)(char *, char **, int *);
typedef int (*xx_strp
)();
_PROTOTYP( int xxesc
, (char **) );
_PROTOTYP( VOID cmsetp
, (char *) );
_PROTOTYP( VOID cmsavp
, (char [], int) );
_PROTOTYP( VOID prompt
, (xx_strp
) );
_PROTOTYP( VOID pushcmd
, (void) );
_PROTOTYP( VOID cmres
, (void) );
_PROTOTYP( VOID cmini
, (int) );
_PROTOTYP( int cmpush
, (void) );
_PROTOTYP( int cmpop
, (void) );
_PROTOTYP( VOID untab
, (char *) );
_PROTOTYP( int cmnum
, (char *, char *, int, int *, xx_strp
) );
_PROTOTYP( int cmofi
, (char *, char *, char **, xx_strp
) );
_PROTOTYP( int cmifi
, (char *, char *, char **, int *, xx_strp
) );
_PROTOTYP( int cmdir
, (char *, char *, char **, xx_strp
) );
_PROTOTYP( int cmfld
, (char *, char *, char **, xx_strp
) );
_PROTOTYP( int cmtxt
, (char *, char *, char **, xx_strp
) );
_PROTOTYP( int cmkey
, (struct keytab
[], int, char *, char *, xx_strp
) );
_PROTOTYP( int cmkey2
,(struct keytab
[], int, char *, char *, char *,xx_strp
));
_PROTOTYP( int chktok
, (char *) );
_PROTOTYP( int cmcfm
, (void) );
_PROTOTYP( int rdigits
, (char *) );
_PROTOTYP( int chknum
, (char *) );
_PROTOTYP( int lower
, (char *) );
_PROTOTYP( int lookup
, (struct keytab
[], char *, int, int *) );
_PROTOTYP( int ungword
, (void) );
_PROTOTYP( int cmsetup
, (void) );