Annotation of 43BSD/sys/h/vsio.h, revision 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.