home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / sys / h / pack.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-03  |  2.1 KB  |  122 lines

  1. struct header {
  2.     char    sync;
  3.     char    ksize;
  4.     short    sum;
  5.     char    cntl;
  6.     char    ccntl;
  7. };
  8. #define    HDRSIZ    6
  9.  
  10. struct pack {
  11.     short    p_state;    /* line state */
  12.     short    p_bits;        /* mask for getepack */
  13.     short    p_rsize;    /* input packet size */
  14.     short    p_xsize;    /* output packet size */
  15.     struct    header p_ihbuf;    /* input header */
  16.     struct    header p_ohbuf; /* output header */
  17.     char    *p_rptr;
  18.     char    p_mode;
  19.     char    **p_ipool;
  20.     char    p_xcount;    /* # active output buffers */
  21.     char    p_rcount;
  22.     char    p_nout,p_tout;
  23.     char    p_lpsize;    /* log(psize/32) */
  24.     char    p_timer;
  25.     char    p_obusy;
  26.     char    p_srxmit;
  27.     char    p_rwindow;    /* window size */
  28.     char    p_swindow;
  29.     char    p_msg;        /* control msg */
  30.     char    p_rmsg;        /* repeated control msg */
  31.     char    p_ps,p_pr;    /* last packet sent, recv'd */
  32.     char    p_rpr;
  33.     char    p_nxtps;    /* next output seq number */
  34.     char    p_imap;        /* bit map of input buffers */
  35.     char    p_pscopy;    /* newest output packet */
  36.     char    *p_ob[8];    /* output buffers */
  37.     char    *p_ib[8];    /* input buffers */
  38.     char    p_os[8];    /* output buffer status */
  39.     char    p_is[8];    /* input buffer status */
  40.     short    p_osum[8];    /* output checksums */
  41.     short    p_isum[8];    /* input checksums */
  42.     DSYSTEM;
  43. };
  44. #define    CHECK    0125252
  45. #define    SYN    020
  46. #define    MOD8    7
  47. #define    ISCNTL(a)    ((a & 0300)==0)
  48. #define    MIN(a,b)    ((a<b)? a:b)
  49.  
  50. char    next[8];
  51. char    mask[8];
  52. int    npbits;
  53. int    pkactive;
  54.  
  55. /*
  56.  * driver state
  57.  */
  58. #define    DEAD    0
  59. #define    INITa    1
  60. #define    INITb    2
  61. #define    INITab    3
  62. #define    LIVE    010
  63. #define    RXMIT    020
  64. #define    RREJ    040
  65. #define PDEBUG    0200
  66. #define    DRAINO    0400
  67. #define    WAITO    01000
  68. #define    DOWN    02000
  69. #define    RCLOSE    04000
  70. #define    BADFRAME 020000
  71.  
  72. /*
  73.  * io buffer states
  74.  */
  75. #define    B_NULL    0
  76. #define    B_READY    1
  77. #define    B_SENT    2
  78. #define    B_RESID    010
  79. #define    B_COPY    020
  80. #define    B_MARK    040
  81. #define    B_SHORT    0100
  82.  
  83. /*
  84.  * control messages
  85.  */
  86. #define    CLOSE    1
  87. #define    RJ    2
  88. #define    SRJ    3
  89. #define    RR    4
  90. #define    INITC    5
  91. #define    INITB    6
  92. #define    INITA    7
  93.  
  94. #define    M_RJ    4
  95. #define    M_SRJ    010
  96. #define    M_RR    020
  97. #define    M_INITC    040
  98. #define    M_CLOSE    2
  99. #define    M_INITA    0200
  100. #define    M_INITB    0100
  101.  
  102.  
  103.  
  104. #define    PKOPRI    31
  105. #define    PKIPRI    30
  106.  
  107. #define    NPLINES    8
  108.  
  109. /*
  110.  * packet ioctl buf
  111.  */
  112. struct    piocb {
  113.     unsigned t;
  114.     short    psize;
  115.     short    mode;
  116.     short    state;
  117.     char    window;
  118. };
  119.  
  120. int pkdebug;
  121. int pksizes[];
  122.