|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1982, 1986 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: * ! 6: * @(#)qvioctl.h 1.4 Berkeley 6/3/88 ! 7: * ! 8: * derived from: @(#)qvioctl.h 1.7 (ULTRIX) 6/11/85 ! 9: */ ! 10: /* ! 11: * Ioctl definitions for the qvss. ! 12: */ ! 13: #ifdef KERNEL ! 14: #include "ioctl.h" ! 15: #include "qvreg.h" ! 16: #include "qevent.h" ! 17: #else ! 18: #include <sys/ioctl.h> ! 19: #include <vaxuba/qvreg.h> ! 20: #include <vaxuba/qevent.h> ! 21: #endif ! 22: ! 23: struct qv_kpcmd { ! 24: char nbytes; /* number of bytes in parameter */ ! 25: unsigned char cmd; /* command to be sent, peripheral bit will */ ! 26: /* be forced by driver */ ! 27: unsigned char par[2]; /* bytes of parameters to be sent */ ! 28: }; ! 29: /* ! 30: * qvss information block ! 31: */ ! 32: ! 33: struct qv_info { ! 34: short mswitches; /* current value of mouse buttons */ ! 35: vsCursor tablet; /* current tablet position */ ! 36: short tswitches; /* current tablet buttons NI! */ ! 37: vsCursor cursor; /* current cursor position */ ! 38: short row; /* screen row */ ! 39: short col; /* screen col */ ! 40: short max_row; /* max character row */ ! 41: short max_col; /* max character col */ ! 42: short max_x; /* max x position */ ! 43: short max_y; /* max y position */ ! 44: short max_cur_x; /* max cursor y position */ ! 45: short max_cur_y; /* max cursor y position */ ! 46: char *bitmap; /* bit map position */ ! 47: short *scanmap; /* scanline map position */ ! 48: short *cursorbits; /* cursor bit position */ ! 49: struct qvdevice *qvaddr; /* virtual address of the csr */ ! 50: vsEvent *ibuff; /* pointer to event queue */ ! 51: int iqsize; /* may assume power of two */ ! 52: int ihead; /* atomic write */ ! 53: int itail; /* atomic read */ ! 54: vsCursor mouse; /* atomic read/write */ ! 55: vsBox mbox; /* atomic read/write */ ! 56: short mthreshold; /* mouse motion parameter */ ! 57: short mscale; /* mouse scale factor (if ! 58: negative, then do square). */ ! 59: }; ! 60: typedef struct qv_info vsIoAddr; ! 61: ! 62: #define QIOCGINFO _IOR('q', 1, struct qv_info) /* get the info */ ! 63: #define QIOCSMSTATE _IOW('q', 2, vsCursor) /* set mouse pos */ ! 64: #define QIOCINIT _IO('q', 4) /* init screen */ ! 65: #define QIOCKPCMD _IOW('q', 5, struct qv_kpcmd) /* keybd. per. cmd */ ! 66: #define QIOCADDR _IOR('q', 6, struct qv_info *) /* get address */ ! 67:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.