home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archimedes / arucmd.h < prev    next >
C/C++ Source or Header  |  2020-01-01  |  4KB  |  120 lines

  1. /* -> h.ckucmd
  2.  */
  3.  
  4. /*  C K U C M D . H  --  Header file for Unix cmd package  */
  5.  
  6. /*
  7.  Author: Frank da Cruz (SY.FDC@CU20B),
  8.  Columbia University Center for Computing Activities, January 1985.
  9.  Copyright (C) 1985, Trustees of Columbia University in the City of New York.
  10.  Permission is granted to any individual or institution to use, copy, or
  11.  redistribute this software so long as it is not sold for profit, provided this
  12.  copyright notice is retained. 
  13. */
  14.  
  15. /* Special getchars... */
  16.  
  17. #ifdef vax11c
  18. #define getchar()   vms_getchar()
  19. #endif
  20.  
  21. #ifdef aegis
  22. #define getchar()   coninc(0)
  23. #endif
  24.  
  25. /* Sizes of things */
  26.  
  27. #define HLPLW  78           /* Width of ?-help line */
  28. #define HLPCW  19           /* Width of ?-help column */
  29. #define CMDBL  200          /* Command buffer length */
  30. #define HLPBL  100          /* Help string buffer length */
  31. #define ATMBL  100          /* Command atom buffer length*/
  32.  
  33. /* Special characters */
  34.  
  35. #ifndef NUL
  36. #define NUL  '\0'           /* Null */
  37. #endif
  38. #define HT   '\t'           /* Horizontal Tab */
  39. #define NL   '\n'           /* Newline */
  40. #ifndef CR
  41. #define CR   '\r'
  42. #endif
  43. #define FF   0014           /* Formfeed    (^L) */
  44. #define RDIS 0022           /* Redisplay   (^R) */
  45. #define LDEL 0025           /* Delete line (^U) */
  46. #define WDEL 0027           /* Delete word (^W) */
  47. #define ESC  0033           /* Escape */
  48. #define RUB  0177           /* Rubout */
  49.  
  50. #ifndef BEL
  51. #define BEL  0007           /* Bell */
  52. #endif
  53.  
  54. #ifndef BS
  55. #define BS   0010           /* Backspace */
  56. #endif
  57.  
  58. #ifndef SP
  59. #define SP   0040           /* Space */
  60. #endif
  61.  
  62. /* Keyword table flags */
  63.  
  64. #define CM_INV 1            /* Invisible keyword */
  65.  
  66. /* Keyword Table Template */
  67.  
  68. struct keytab {             /* Keyword table */
  69.     char *kwd;              /* Pointer to keyword string */
  70.     int val;                /* Associated value */
  71.     int flgs;               /* Flags (as defined above) */
  72. };
  73.  
  74. #ifdef ANSI
  75.  
  76. /* Set prompt (extern int cmprom is prompt string, extern int cmerrp
  77.    is error msg prefix) */
  78. extern void cmsetp( char * );
  79.  
  80. extern void cmsavp( char *, int ); /* Save current prompt */
  81. extern void prompt( void ); /* Issue prompt */
  82.  
  83. /* Clear the command buffer (before parsing a new command) */
  84. extern void cmini( int );
  85.  
  86. /* Reset command buffer pointers (before reparsing) */
  87. extern void cmres( void );
  88.  
  89. extern int cmkey( struct keytab[], int, char *, char * ); /* Parse a keyword */
  90. extern int cmnum( char *, char *, int, int * ); /* Parse a number */
  91.  
  92. /* Parse an input file name */
  93. extern int cmifi( char *, char *, char **, int * );
  94.  
  95. extern int cmofi( char *, char *, char ** ); /* Parse an output file name */
  96.  
  97. extern int cmfld( char *, char *, char ** ); /* Parse an arbitrary field */
  98. extern int cmtxt( char *, char *, char ** ); /* Parse a text string */
  99. extern int cmcfm( void ); /* Parse command confirmation (end of line) */
  100. extern void stripq( char * ); /* Strip out backslash quotes from a string. */
  101. extern int chkwld( char * ); /* Check for wildcards '*' or '?' */
  102.  
  103. extern void clrhlp( void ); /* Init/Clear the help line buffer */
  104. extern void addhlp( char * ); /* Add a string to the help buffer */
  105. extern void dmphlp( void ); /* Dump the help line buffer */
  106.  
  107. extern int digits( char * ); /* Verify that all chars are digits */
  108. extern int getwd( void ); /* Get a word from the input stream */
  109.  
  110. extern int setatm( char * ); /* Deposit a string in the atom buffer */
  111. extern int addbuf( char * ); /* Add a string to the command buffer */
  112.  
  113. /* Lookup the string in the given array of strings */
  114. extern int lookup( struct keytab[], char *, int, int * );
  115.  
  116. extern int test( int, int ); /* Bit test */
  117.  
  118. extern int lower( char * ); /* Lower case a string */
  119. #endif
  120.