Annotation of xinu/h/dlc.h, revision 1.1.1.1

1.1       root        1: /* dlc.h */
                      2: 
                      3: /* driver states */
                      4: 
                      5: #define        DLIINIT         0               /* initial input (nonblockmode) */
                      6: #define        DLIREAD         1               /* doing block input            */
                      7: #define        DLIREADY        2               /* ready to begin block mode    */
                      8: #define        DLIWAIT         3               /* waiting for start of block   */
                      9: #define        DLIDONE         4               /* block mode read completed    */
                     10: #define        DLOINIT         0               /* initial output (nonblockmode)*/
                     11: #define        DLOREADY        1               /* ready to begin block mode    */
                     12: #define        DLOWRITE        2               /* doing block mode write       */
                     13: #define        DLOSTALL        3               /* stall before sending frame   */
                     14: #define        DLODONE         4               /* blockmode write completed    */
                     15: #define        DLORESTART      5               /* reset and resend block       */
                     16: 
                     17: /* character stuffing constants */
                     18: 
                     19: #define        DLESC           '\251'          /* block mode ESCape character  */
                     20: #define        DLRESTART       '\257'          /* RESTART character: sent from */
                     21:                                        /*  blockmode receiver BACK TO  */
                     22:                                        /*  blockmode transmitter       */
                     23: #define        DLSTART         '\253'          /* START of frame character     */
                     24: #define        DLEOB           '\252'          /* End Of Block (frame) char.   */
                     25: #define        DLESCPED        0250            /* char escaped if it's 025x    */
                     26: #define        DLESCMASK       0770            /* mask of bits to test for esc */
                     27: #define        DLESCBIT        0200            /* bit that is masked on escape */
                     28: #define        DLEBMASK        0177            /* mask for other 7 bits        */
                     29: #define        DLNSTALL        3               /* number of times to stall     */
                     30: 
                     31: /* dlc control function codes */
                     32: 
                     33: #define        DCSETREC        1               /* set normal mode process id   */
                     34: #define        DCCLRREC        2               /* clear normal mode process id */
                     35: 
                     36: struct dlblk   {                       /* dlc control block            */
                     37:        struct  csr     *dioaddr;       /* csr address                  */
                     38:        char    distate, dostate;       /* input and output states      */
                     39:        int     dicount;                /* current number of chars read */
                     40:        int     docount;                /* number of chars left to write*/
                     41:        int     diproc;                 /* process to resume after read */
                     42:        int     doproc;                 /* process to resume after write*/
                     43:        char    *dinext;                /* next input buffer location   */
                     44:        char    *donext;                /* next output buffer location  */
                     45:        char    *distart;               /* addr of start of input buffer*/
                     46:        char    *dostart;               /* addr of start of output "    */
                     47:        int     dimax;                  /* maximum characters to read   */
                     48:        int     dotot;                  /* total characters to write    */
                     49:        Bool    diesc;                  /* true iff next input escaped  */
                     50:        Bool    doesc;                  /* true iff DLESC just sent and */
                     51:                                        /* next char should be escaped  */
                     52:        int     dostall;                /* num. of times output stalled */
                     53:        int     dpid;                   /* non-blockmode input process  */
                     54:        char    dochar;                 /* non-blockmode output char.   */
                     55:        Bool    dovalid;                /* true iff dochar valid        */
                     56:        };
                     57: 
                     58: #ifndef        Ndlc
                     59: #define        Ndlc    1
                     60: #endif
                     61: 
                     62: extern struct  dlblk   dlc[];

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.