home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume25 / ils / ils.h < prev    next >
C/C++ Source or Header  |  1992-02-28  |  3KB  |  107 lines

  1. /* includes for ils program */
  2. #ifndef ushort
  3. #include    <sys/types.h>
  4. #endif
  5.  
  6. #ifndef stat_h
  7. #include    <sys/stat.h>
  8. #endif
  9.  
  10. #define ILS_MAX_ENTRIES        1000
  11. #define ILS_MAX_PATS        256    /* max search patterns */
  12. #define MAX_SYMBOLS        256    /* max symbol table size */
  13.  
  14. /* types of display modes (can be ored if appropriate) */
  15. #define ILS_LONG    1    /* long format */
  16. #define ILS_ALL        8    /* list ALL files (even . and ..) */
  17. #define ILS_F_TYPE    0x10    /* directories end with '/', executables '*' */
  18. #define ILS_ECHO_COMS    0x20    /* echo commands as executed */
  19.  
  20. #define ILS_ESCAPE    0x1b    /* hard-coded ESCAPE key */
  21. #define ILS_ENTER    '\n'    /* hard-coded RETURN oe ENTER key */
  22. #define ILS_RETURN    '\r'    /* hard-coded RETURN or ENTER key */
  23. #define ILS_DOWN    'j'    /* hard-coded DOWN */
  24. #define ILS_UP        'k'    /* hard-coded UP */
  25. #define ILS_LEFT    'h'    /* hard-coded LEFT */
  26. #define ILS_RIGHT    'l'    /* hard-coded RIGHT */
  27. #define ILS_REDRAW    18    /* control-r */
  28. #define ILS_REDRAW_ALT    12    /* control-l */
  29. #define ILS_ENV        '?'    /* display symbol table */
  30. #define ILS_FORCE_KEYBOARD ':'    /* force keyboard input */
  31. #define ILS_EXIT_KEY    4    /* control-d */
  32.  
  33. #define ILS_FILE    ".ils"    /* ils definition file (per user) */
  34.  
  35. #define ILS_INITIAL    -3    /* initial state (only done once) */
  36. #define ILS_INITIAL2    -2
  37. #define ILS_TOTAL_DRAW    -1    /* redraw path, title, and contents */
  38. #define ILS_DRAW    0    /* display directory content */
  39. #define ILS_KEYBOARD    1    /* get input from keyboard */
  40. #define ILS_MOVE_CURSOR 2    /* erase last cursor, show new */
  41. #define ILS_SHOW_CURSOR 3    /* redraw the cursor */
  42. #define ILS_EXIT    4    /* exit this level of edit_directory */
  43. #define ILS_SHOW_PATH    5    /* print the path on the top line */
  44. #define ILS_ASCEND    6    /* go up into a new directory */
  45. #define ILS_FIND_CURSOR 7    /* figure out best place to put cursor */
  46.  
  47. #ifdef BSD
  48. #define flash() addch('\007')
  49. #endif
  50.  
  51. #define ILS_METACHAR    '$'    /* Preceeds all ils variables */
  52. #define META1        '/'    /* List of sh metacharacters that can be used */
  53. #define META2        '<'    /* as delimeters. */
  54. #define META3        '>'
  55. #define META4        '('
  56. #define META5        ')'
  57. #define META6        '['
  58. #define META7        ']'
  59. #define META8        '&'
  60. #define META9        '|'
  61. #define META10        '`'
  62. #define META11        '\"'
  63. #define META12        '!'
  64. #define META13        '~'
  65. #define META14        '$'
  66. #define META15        '\''
  67. #define META16        '?'
  68. #define META17        ';'
  69. #define META18        '.'
  70.  
  71. #define ILS_MAX_ARGS    256    /* max arguments per single command line */
  72. #define MAXPATH        128
  73. #define PWD        "/bin/pwd"
  74.  
  75. #define BOTTOM    0
  76. #define TOP    1
  77.  
  78. typedef struct d_entry {
  79.     char    *name;
  80.     int    inode;
  81.     struct    stat    stat;        /* stat for this file touched */
  82.     struct    d_entry *next;        /* next entry in this directory */
  83.     struct    d_entry *prev;        /* previous entry in this directory */
  84.     struct    d_entry *contents;    /* if a directory, it's contents */
  85.     long    touched;        /* flag for last time touched */
  86. };
  87.  
  88. typedef struct    value {
  89.     char    *v;
  90.     struct    value    *next;
  91. };
  92.  
  93. #define ILS_KEY_SEQUENCE    1
  94. #define ILS_VARIABLE        2
  95.  
  96. typedef    struct    symbol {
  97.     char    *name;            /* name of this symbol */
  98.     int    type;            /* symbol type */
  99.     struct    value    *val;        /* pointer to symbol value */
  100. };
  101.  
  102. #define CURRENT_FILE    "file"        /* insert this file */
  103. #define ALL_FILES    "all_files"    /* insert all files in directory */
  104. #define INPUT        "input"        /* input from keyboard command */
  105. #define PREFIX        "prefix"    /* insert the prefix (before .) */
  106. #define PWD_PATH    "path"        /* insert the path (ala `pwd`) */
  107.