1: /*
   2:  * six-byte packet header for asynch lines.
   3:  * headers for other devices take up the same
   4:  * or less space.  If this changes the header
   5:  * struct will have to become a union.
   6:  */
   7: struct header {
   8:     char    sync;       /* sync byte */
   9:     char    ksize;      /* encoded packet size */
  10:     unsigned short sum; /* block check of data packet */
  11:     char    cntl;       /* control byte */
  12:     char    ccntl;      /* block check of header */
  13: };
  14: #define HDRSIZ  6
  15: 
  16: /*
  17:  * Control structure for a packet driver connection.
  18:  */
  19: struct pack {
  20:     short   p_state;    /* line state */
  21:     short   p_bits;     /* mask for getepack */
  22:     short   p_rsize;    /* input packet size */
  23:     short   p_xsize;    /* output packet size */
  24:     struct  header p_ihbuf; /* input header */
  25:     struct  header p_ohbuf; /* output header */
  26:     char    *p_rptr;
  27:     char    p_mode;
  28:     char    **p_ipool;  /* head link to input buffer pool */
  29:     char    **p_io;     /* input buffer given to driver */
  30:     char    p_xcount;   /* # active output buffers */
  31:     char    p_rcount;
  32:     char    p_nout,p_tout;
  33:     char    p_lpsize;   /* log(psize/32) */
  34:     char    p_timer;
  35:     char    p_obusy;
  36:     char    p_srxmit;
  37:     char    p_rwindow;  /* window size */
  38:     char    p_swindow;
  39:     char    p_msg;      /* control msg */
  40:     char    p_rmsg;     /* repeated control msg */
  41:     char    p_ps,p_pr;  /* last packet sent, recv'd */
  42:     char    p_rpr;      /* copy of remote pr */
  43:     char    p_nxtps;    /* next output seq number */
  44:     char    p_imap;     /* bit map of input buffers */
  45:     char    p_pscopy;   /* newest output packet */
  46:     char    *p_ob[8];   /* output buffers */
  47:     char    *p_ib[8];   /* input buffers */
  48:     char    p_os[8];    /* output buffer status */
  49:     char    p_is[8];    /* input buffer status */
  50:     short   p_osum[8];  /* output checksums */
  51:     short   p_isum[8];  /* input checksums */
  52:     DSYSTEM;
  53: };
  54: #define CHECK   0125252
  55: #define SYN 020
  56: #define MOD8    7
  57: #define NOTCNTL(a)  (a & 0300)
  58: #define MIN(a,b)    ((a<b)? a:b)
  59: 
  60: char    next[8];
  61: char    mask[8];
  62: int npbits;
  63: int pkactive;
  64: int pkzot;
  65: int pkdisc;
  66: 
  67: /*
  68:  * driver state
  69:  */
  70: #define DEAD    0
  71: #define INITa   1
  72: #define INITb   2
  73: #define INITab  3
  74: #define LIVE    010
  75: #define RXMIT   020
  76: #define RREJ    040
  77: #define PDEBUG  0200
  78: #define DRAINO  0400
  79: #define WAITO   01000
  80: #define DOWN    02000
  81: #define RCLOSE  04000
  82: #define BADFRAME 020000
  83: 
  84: /*
  85:  * modes
  86:  */
  87: #define SLOWMODE    0100
  88: /*
  89:  * io buffer states
  90:  */
  91: #define B_NULL  0
  92: #define B_READY 1
  93: #define B_SENT  2
  94: #define B_RESID 010
  95: #define B_COPY  020
  96: #define B_MARK  040
  97: #define B_SHORT 0100
  98: 
  99: /*
 100:  * control messages
 101:  */
 102: #define CLOSE   1
 103: #define RJ  2
 104: #define SRJ 3
 105: #define RR  4
 106: #define INITC   5
 107: #define INITB   6
 108: #define INITA   7
 109: 
 110: #define M_RJ    4
 111: #define M_SRJ   010
 112: #define M_RR    020
 113: #define M_INITC 040
 114: #define M_CLOSE 2
 115: #define M_INITA 0200
 116: #define M_INITB 0100
 117: 
 118: 
 119: 
 120: #define PKOPRI  31
 121: #define PKIPRI  30
 122: 
 123: #define NPLINES 8
 124: 
 125: /*
 126:  * packet ioctl buf
 127:  */
 128: struct  piocb {
 129:     unsigned t;
 130:     short   psize;
 131:     short   mode;
 132:     short   state;
 133:     char    window;
 134: };
 135: 
 136: int pkdebug;
 137: int pksizes[];
 138: 
 139: #define Pwrite  1
 140: #define Poutput 1
 141: #define Pxint   1
 142: 
 143: 
 144: #define Print   01
 145: #define Prend   01
 146: #define Pacc    01
 147: #define Pread   01
 148: 
 149: int *PTRACE;

Defined variables

PTRACE defined in line 149; never used
mask defined in line 61; used 5 times
next defined in line 60; used 9 times
npbits defined in line 62; used 3 times
pkactive defined in line 63; never used
pkdebug defined in line 136; used 1 times
pkdisc defined in line 65; used 2 times
pksizes defined in line 137; used 2 times
pkzot defined in line 64; used 4 times

Defined struct's

header defined in line 7; used 8 times
pack defined in line 19; used 54 times
piocb defined in line 128; used 4 times

Defined macros

BADFRAME defined in line 82; used 6 times
B_COPY defined in line 95; used 5 times
B_MARK defined in line 96; used 6 times
B_NULL defined in line 91; used 4 times
B_READY defined in line 92; used 3 times
B_RESID defined in line 94; used 2 times
B_SENT defined in line 93; used 3 times
B_SHORT defined in line 97; used 5 times
CHECK defined in line 54; used 2 times
CLOSE defined in line 102; never used
DEAD defined in line 70; never used
DOWN defined in line 80; used 9 times
DRAINO defined in line 78; used 3 times
HDRSIZ defined in line 14; used 9 times
INITA defined in line 108; never used
INITB defined in line 107; never used
INITC defined in line 106; never used
INITa defined in line 71; used 2 times
INITab defined in line 73; used 2 times
INITb defined in line 72; used 1 times
LIVE defined in line 74; used 10 times
MIN defined in line 58; used 1 times
MOD8 defined in line 56; used 3 times
M_CLOSE defined in line 114; used 1 times
M_INITA defined in line 115; used 3 times
M_INITB defined in line 116; used 4 times
M_INITC defined in line 113; used 2 times
M_RJ defined in line 110; used 2 times
M_RR defined in line 112; used 4 times
M_SRJ defined in line 111; never used
NOTCNTL defined in line 57; used 1 times
NPLINES defined in line 123; used 6 times
PDEBUG defined in line 77; never used
PKIPRI defined in line 121; used 1 times
PKOPRI defined in line 120; used 4 times
Pacc defined in line 146; never used
Poutput defined in line 140; never used
Pread defined in line 147; never used
Prend defined in line 145; never used
Print defined in line 144; never used
Pwrite defined in line 139; never used
Pxint defined in line 141; never used
RCLOSE defined in line 81; used 3 times
RJ defined in line 103; never used
RR defined in line 105; never used
RREJ defined in line 76; never used
RXMIT defined in line 75; used 4 times
SLOWMODE defined in line 87; never used
SRJ defined in line 104; never used
SYN defined in line 55; used 3 times
WAITO defined in line 79; used 5 times

Usage of this include

pk.h used 1 times
Last modified: 1979-05-12
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1137
Valid CSS Valid XHTML 1.0 Strict