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