Annotation of xinu/h/dlc.h, revision 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.