1: /* $Header: vsioctl.h,v 10.3 86/02/01 15:48:03 tony Rel $ */
2: /* $Header: vsioctl.h,v 10.3 86/02/01 15:48:03 tony Rel $ */
3:
4: /*
5: * vsio.h - VS100 I/O command definitions
6: *
7: * Author: Christopher A. Kent
8: * Digital Equipment Corporation
9: * Western Research Lab
10: * Date: Tue Jun 21 1983
11: */
12:
13: /* $Log: vsioctl.h,v $
14: * Revision 10.3 86/02/01 15:48:03 tony
15: * X Version 10.0 Release 3.0
16: *
17: * Revision 10.2 85/11/24 15:12:05 jg
18: * add RCS id and mark it released...
19: *
20: * Revision 10.1 85/11/08 17:38:41 newman
21: * X Version 10.0 release
22: *
23: * Revision 9.1 85/09/04 13:27:15 tony
24: * X Version 9.0 release.
25: *
26: * Revision 1.1 85/06/30 12:01:32 jg
27: * Initial revision
28: * */
29:
30: /*
31: * Possible ioctl calls
32: */
33:
34: #define VSIOINIT _IO(V, 0) /* init the device */
35: #define VSIOSTART _IOW(V, 1, int) /* start microcode */
36: #define VSIOABORT _IO(V, 2) /* abort a command chain */
37: #define VSIOPWRUP _IO(V, 3) /* power-up reset */
38: #define VSIOGETVER _IOR(V, 4, int) /* get rom version */
39: #define VSIOSYNC _IO(V, 6) /* synch with device */
40: #define VSIOBBACTL _IOW(V, 8, int) /* control the BBA */
41: #define VSIOFIBCTL _IOW(V, 9, int) /* lamp on/off */
42: #define VSIOFIBRETRY _IOW(V,10, int) /* fiber retries */
43: #define VSIOGETSTATS _IOR(V,11, vsStats) /* get statistics */
44: #define VSIOGETIOA _IOR(V,13, vsIoAddrAddr)/* get ioreg address */
45: #define VSIOUSERWAIT _IO(V, 15) /* wait for user I/O completion */
46: #define VSIOWAITGO _IOW(V, 16, caddr_t) /* wait then go */
47:
48:
49: #define VSIO_OFF 0 /* option off */
50: #define VSIO_ON 1 /* option on */
51:
52: #define VS_FIB_FINITE 1 /* finite retries */
53: #define VS_FIB_INFINITE 2 /* infinite retries */
54:
55: typedef struct _vsStats{
56: int errors; /* count errors */
57: int unsolIntr; /* count unsolicited interrupts */
58: int overruns; /* event queue overruns */
59: int flashes; /* flashes on fiber link */
60: int ignites; /* times turned on */
61: int douses; /* times turned off */
62: int linkErrors; /* link errors */
63: }vsStats;
64:
65: typedef struct _vsIoAddr {
66: short *ioreg;
67: short status;
68: caddr_t obuff;
69: int obufflen;
70: int reloc;
71: vsEvent *ibuff;
72: int iqsize; /* may assume power of 2 */
73: int ihead; /* atomic write */
74: int itail; /* atomic read */
75: vsCursor mouse; /* atomic read/write */
76: vsBox mbox; /* atomic read/write */
77: } vsIoAddr;
78: typedef vsIoAddr *vsIoAddrAddr;
Defined struct's
Defined typedef's
Defined macros
Usage of this include