home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / CKPM5X_S.ZIP / CKUCMD.H < prev    next >
C/C++ Source or Header  |  1990-03-03  |  2KB  |  72 lines

  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 Center for Computing Activities.
  6.  First released January 1985.
  7.  Copyright (C) 1985, 1990, 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. /* Special getchars... */
  14.  
  15. #ifdef vax11c
  16. #define getchar()   vms_getchar()
  17. #endif
  18.  
  19. #ifdef aegis
  20. #undef getchar
  21. #define getchar()   coninc(0)
  22. #endif
  23.  
  24. #ifdef AMIGA
  25. #undef getchar
  26. #define getchar() coninc(0)
  27. #endif
  28.  
  29. /* Sizes of things */
  30.  
  31. #define HLPLW   78            /* Width of ?-help line */
  32. #define HLPCW   19            /* Width of ?-help column */
  33. #define HLPBL  100            /* Help string buffer length */
  34. #define ATMBL  256            /* Command atom buffer length*/
  35. #define CMDBL 1024            /* Command buffer length */
  36.  
  37. /* Special characters */
  38.  
  39. #define RDIS 0022            /* Redisplay   (^R) */
  40. #define LDEL 0025            /* Delete line (^U) */
  41. #define WDEL 0027            /* Delete word (^W) */
  42.  
  43. /* Keyword table flags */
  44.  
  45. #define CM_INV 1            /* Invisible keyword */
  46.  
  47. /* Token flags */
  48.  
  49. #define CMT_COM 0            /* Comment (; or #) */
  50. #define CMT_SHE 1            /* Shell escape (!) */
  51. #define CMT_LBL 2            /* Label (:) */
  52. #define CMT_FIL 3            /* Indirect filespec (@) */
  53.  
  54. /* Keyword Table Template */
  55.  
  56. struct keytab {                /* Keyword table */
  57.     char *kwd;                /* Pointer to keyword string */
  58.     int val;                /* Associated value */
  59.     int flgs;                /* Flags (as defined above) */
  60. };
  61.  
  62. /* Macro support */
  63.  
  64. struct mtab {                /* Like keyword table */
  65.     char *kwd;                /* But with pointers for vals */
  66.     char *val;                /* instead of ints. */
  67.     int flgs;
  68. };
  69.  
  70. /* Maximum number of macro definitions allowed */
  71. #define MAC_MAX 256
  72.