Annotation of 43BSD/sys/h/vsio.h, revision 1.1.1.1

1.1       root        1: /* @(#)vsio.h  7.1 (MIT) 6/4/86 */
                      2:  /****************************************************************************
                      3:  *                                                                         *
                      4:  *  Copyright (c) 1983, 1984 by                                                    *
                      5:  *  DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts.                 *
                      6:  *  All rights reserved.                                                   *
                      7:  *                                                                         *
                      8:  *  This software is furnished on an as-is basis and may be used and copied *
                      9:  *  only with inclusion of the above copyright notice. This software or any *
                     10:  *  other copies thereof may be provided or otherwise made available to     *
                     11:  *  others only for non-commercial purposes.  No title to or ownership of   *
                     12:  *  the software is hereby transferred.                                            *
                     13:  *                                                                         *
                     14:  *  The information in this software is  subject to change without notice   *
                     15:  *  and  should  not  be  construed as  a commitment by DIGITAL EQUIPMENT   *
                     16:  *  CORPORATION.                                                           *
                     17:  *                                                                         *
                     18:  *  DIGITAL assumes no responsibility for the use  or  reliability of its   *
                     19:  *  software on equipment which is not supplied by DIGITAL.                *
                     20:  *                                                                         *
                     21:  *                                                                         *
                     22:  ****************************************************************************/
                     23: /* 
                     24:  * vsio.h - VS100 I/O command definitions
                     25:  * 
                     26:  * Author:     Christopher A. Kent
                     27:  *             Digital Equipment Corporation
                     28:  *             Western Research Lab
                     29:  * Date:       Tue Jun 21 1983
                     30:  */
                     31: 
                     32: /* 
                     33:  * Possible ioctl calls
                     34:  */
                     35: 
                     36: #define        VSIOINIT        _IO(V, 0)       /* init the device */
                     37: #define        VSIOSTART       _IOW(V, 1, int) /* start microcode */
                     38: #define        VSIOABORT       _IO(V, 2)       /* abort a command chain */
                     39: #define        VSIOPWRUP       _IO(V, 3)       /* power-up reset */
                     40: #define        VSIOGETVER      _IOR(V, 4, int) /* get rom version */
                     41: #define        VSIOSYNC        _IO(V, 6)       /* synch with device */
                     42: #define        VSIOBBACTL      _IOW(V, 8, int) /* control the BBA */
                     43: #define        VSIOFIBCTL      _IOW(V, 9, int) /* lamp on/off */
                     44: #define        VSIOFIBRETRY    _IOW(V,10, int) /* fiber retries */
                     45: #define        VSIOGETSTATS    _IOR(V,11, vsStats)     /* get statistics */
                     46: #define        VSIOGETIOA      _IOR(V,13, vsIoAddrAddr)/* get ioreg address */
                     47: #define        VSIOUSERWAIT    _IO(V, 15)      /* wait for user I/O completion */
                     48: #define VSIOWAITGO     _IOW(V, 16, caddr_t)    /* wait then go */
                     49: 
                     50: 
                     51: #define        VSIO_OFF        0               /* option off */
                     52: #define        VSIO_ON         1               /* option on */
                     53: 
                     54: #define        VS_FIB_FINITE   1               /* finite retries */
                     55: #define        VS_FIB_INFINITE 2               /* infinite retries */
                     56: 
                     57: /* 
                     58:  * Event queue entries
                     59:  */
                     60: 
                     61: typedef struct _vs_event{
                     62:        u_short vse_x;          /* x position */
                     63:        u_short vse_y;          /* y position */
                     64:        u_short vse_time;       /* 10 millisecond units (button only) */
                     65:        char    vse_type;       /* button or motion? */
                     66:        u_char  vse_key;        /* the key (button only) */
                     67:        char    vse_direction;  /* which direction (button only) */
                     68:        char    vse_device;     /* which device (button only) */
                     69: }vsEvent;
                     70: 
                     71: #define        VSE_BUTTON      0               /* button moved */
                     72: #define        VSE_MMOTION     1               /* mouse moved */
                     73: #define        VSE_TMOTION     2               /* tablet moved */
                     74: 
                     75: #define        VSE_KBTUP       0               /* up */
                     76: #define        VSE_KBTDOWN     1               /* down */
                     77: 
                     78: #define        VSE_MOUSE       1               /* mouse */
                     79: #define        VSE_DKB         2               /* main keyboard */
                     80: #define        VSE_TABLET      3               /* graphics tablet */
                     81: #define        VSE_AUX         4               /* auxiliary */
                     82: #define        VSE_CONSOLE     5               /* console */
                     83: 
                     84: typedef struct _vsStats{
                     85:        int     errors;                 /* count errors */
                     86:        int     unsolIntr;              /* count unsolicited interrupts */
                     87:        int     overruns;               /* event queue overruns */
                     88:        int     flashes;                /* flashes on fiber link */
                     89:        int     ignites;                /* times turned on */
                     90:        int     douses;                 /* times turned off */
                     91:        int     linkErrors;             /* link errors */
                     92: }vsStats;
                     93: 
                     94: typedef struct _vs_cursor{
                     95:        short x;
                     96:        short y;
                     97: }vsCursor;
                     98: 
                     99: typedef struct _vs_box {
                    100:        short bottom;
                    101:        short right;
                    102:        short left;
                    103:        short top;
                    104: }vsBox;
                    105: 
                    106: typedef struct _vsIoAddr {
                    107:        short    *ioreg;
                    108:        short    status;
                    109:        caddr_t  obuff;
                    110:        int      obufflen;
                    111:        int      reloc;
                    112:        vsEvent  *ibuff;
                    113:        int      iqsize;                /* may assume power of 2 */
                    114:        int      ihead;                 /* atomic write */
                    115:        int      itail;                 /* atomic read */
                    116:        vsCursor mouse;                 /* atomic read/write */
                    117:        vsBox    mbox;                  /* atomic read/write */
                    118: } vsIoAddr;
                    119: typedef vsIoAddr *vsIoAddrAddr;

unix.superglobalmegacorp.com

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