home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / tp / tp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  1.5 KB  |  86 lines

  1. /*    c-version of tp?.s
  2.  *
  3.  *    M. Ferentz
  4.  *    August 1976
  5.  *
  6.  *    revised July 1977 BTL
  7.  */
  8.  
  9. #define    MDIRENT    496        /* must be zero mod 8 */
  10. #define DIRSZ    sizeof(struct dent)
  11. #define MAPSIZE 4096
  12. #define MAPMASK 07777
  13. #define NAMELEN 32
  14. #define BSIZE   512
  15. #define    TCSIZ    578
  16. #define TCDIRS    192
  17. #define    MTSIZ    32767
  18. #define TPB    (BSIZE/sizeof(struct tent))
  19. #define    OK    0100000
  20. #define    BRKINCR    512
  21.  
  22. #define    tapeblk    &tpentry[0]
  23. #define tapeb    &tpentry[0]
  24.  
  25. struct     tent    {    /* Structure of a tape directory block */
  26.     char    pathnam[NAMELEN];
  27.     short    mode;
  28.     char    uid;
  29.     char    gid;
  30.     char    spare;
  31.     char    size0;
  32.     unsigned short    size1;
  33.     long    time;
  34.     unsigned short    tapea;    /* tape address */
  35.     short    unused[8];
  36.     short    cksum;
  37. }    tpentry[TPB];
  38.  
  39. struct    dent {    /* in core version of tent with "unused" removed
  40.          * and pathname replaced by pointer to same in a
  41.          * packed area (nameblock).
  42.          */
  43.     char    *d_namep;
  44.     int    d_mode;
  45.     int    d_uid;
  46.     int    d_gid;
  47.     long    d_size;
  48.     long    d_time;
  49.     int    d_tapea;
  50. }  dir[MDIRENT];
  51.  
  52. char    map[MAPSIZE];
  53. char    name[NAMELEN];
  54. char    name1[NAMELEN];
  55. extern    char mt[];
  56. extern    char tc[];
  57. char    *tname;
  58. extern    char mheader[];
  59. extern    char theader[];
  60.  
  61. int    narg, rnarg;
  62. char    **parg;
  63. int    wseeka,rseeka;
  64. int    tapsiz;
  65. int    fio;
  66. short    ndirent, ndentb;
  67. struct    dent    *edir;
  68. struct    dent *lastd;        /* for improvement */
  69. char    *sbrk();
  70. char    *strcpy();
  71. long    lseek();
  72. int    (*command)();
  73.  
  74. char    *nameblk;
  75. char    *top;
  76. char    *nptr;
  77.  
  78. extern    int    flags;
  79. #define    flc    0001
  80. #define    fli    0004
  81. #define    flm    0010
  82. #define    flu    0020
  83. #define    flv    0040
  84. #define    flw    0100
  85. #define fls    0200
  86.