Annotation of researchv8dc/sys/chaos/user.h, revision 1.1.1.1

1.1       root        1: #include "../chaos/constants.h"
                      2: /*
                      3:  * Definitions needed by user programs.
                      4:  */
                      5: #define CHMAXPKT       488             /* Maximum data length in packet */
                      6: #define CHMAXRFC       CHMAXPKT        /* Maximum length of a rfc string */
                      7: #define CHMAXARGS      50              /* Maximum number of words in a RFC */
                      8: #define        CHRFCDEV        "/dev/chaos"    /* Path name for sending RFC's */
                      9: #define CHRFCADEV      "/dev/chaosa"   /* Path name for asynchronous RFC's */
                     10: #define CHLISTDEV      "/dev/chlisten" /* Path name for listen */
                     11: #define CHURFCDEV      "/dev/churfc"   /* Path name for unmatched RFC list */
                     12: #define CHNETCHAR      '^'
                     13: #define CHSYSPREF      "/dev/ch"
                     14: #define CHCPRODEV      "/dev/chcproto" /* Path name for channel driver
                     15:                                         * prototype - for major device number
                     16:                                         * and canonical invalid minor device
                     17:                                         */
                     18: /*
                     19:  * This structure returned by the CHIOCGSTAT ioctl to return
                     20:  * connection status information.
                     21:  */
                     22: struct chstatus        {
                     23:        short   st_fhost;               /* remote host */
                     24:        short   st_cnum;                /* local channel number */
                     25:        short   st_rwsize;              /* receive window size */
                     26:        short   st_twsize;              /* transmit window size */
                     27:        short   st_state;               /* connection state */
                     28:        short   st_ptype;               /* Opcode of next packet to read */
                     29:        short   st_plength;             /* Length of next packet to read */
                     30:        short   st_cmode;               /* Mode of connection */
                     31:        short   st_oroom;               /* Output window space left */
                     32:        /* etc - anything else useful? */
                     33: };
                     34: /*
                     35:  * Record mode packet structure.
                     36:  */
                     37: struct chpacket        {
                     38:        unsigned char   cp_op;
                     39:        char            cp_data[CHMAXDATA];
                     40: };
                     41: /*
                     42:  * FILE server login record structure.
                     43:  */
                     44: struct chlogin {
                     45:        int     cl_pid;         /* Process id of server */
                     46:        short   cl_cnum;        /* Chaos channel number of server */
                     47:        short   cl_haddr;       /* Host address of other end */
                     48:        long    cl_ltime;       /* Login time */
                     49:        long    cl_atime;       /* Last time used. */
                     50:        char    cl_user[8];     /* User name */
                     51: };
                     52: /*
                     53:  * Structure for CHIOCILADDR
                     54:  */
                     55: struct chiladdr {
                     56:        unsigned short  cil_device;
                     57:        unsigned short  cil_address;
                     58: };
                     59: 
                     60: /*
                     61:  * Chaos net io control commands
                     62:  */
                     63: #define CHIOCRSKIP     (('c'<<8)|1)    /* Skip the last read unmatched RFC */
                     64: #define CHIOCPREAD     (('c'<<8)|2)    /* Read my next data or control pkt */
                     65: #define CHIOCSMODE     (('c'<<8)|3)    /* Set the mode of this channel */
                     66: #define CHIOCFLUSH     (('c'<<8)|4)    /* flush current output packet */
                     67: #define CHIOCGSTAT     (('c'<<8)|5)    /* Make input reading like a tty */
                     68: #define CHIOCSWAIT     (('c'<<8)|6)    /* Wait for a different state */
                     69: #define CHIOCANSWER    (('c'<<8)|7)    /* Answer an RFC (in RFCRECVD state) */
                     70: #define CHIOCREJECT    (('c'<<8)|8)    /* Reject an RFC. Arg is string addr. */
                     71: #define CHIOCACCEPT    (('c'<<8)|9)    /* Accept an RFC, opening the connection. */
                     72: #define CHIOCOWAIT     (('c'<<8)|10)   /* Wait until all output acked. */
                     73: #define CHIOCADDR      (('c'<<8)|11)   /* Set my address */
                     74: #define CHIOCNAME      (('c'<<8)|12)   /* Set my name */
                     75: #define CHIOCILADDR    (('c'<<8)|13)   /* Set chaos address for Interlan ethernet */

unix.superglobalmegacorp.com

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