|
|
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.