|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /* Copyright (c) 1992 NeXT Computer, Inc. All rights reserved.
26: *
27: * evsio.h - Get/Set parameter calls for Event Status Driver.
28: *
29: * CAUTION: Developers should stick to the API exported in
30: * <drivers/event_status_driver.h> to guarantee
31: * binary compatability of their applications in future
32: * releases.
33: *
34: * HISTORY
35: * 22 May 1992 Mike Paquette at NeXT
36: * Created.
37: */
38: #ifndef _DEV_EVSIO_
39: #define _DEV_EVSIO_
40:
41: #import <bsd/dev/ev_types.h> /* Public type definitions. */
42: #import <bsd/dev/event.h> /* Public type definitions. */
43: #import <kernserv/clock_timer.h> /* For ns_time_t */
44:
45: /*
46: * Identify this driver as one that uses the new driverkit and messaging API
47: */
48: #ifndef _NeXT_MACH_EVENT_DRIVER_
49: #define _NeXT_MACH_EVENT_DRIVER_ (1)
50: #endif /* _NeXT_MACH_EVENT_DRIVER_ */
51:
52: /*
53: * Time values, as ns_time_t quantities, are passed in packed as
54: * integer arrays. The following union is provided
55: * to assist with packing and unpacking.
56: */
57: typedef union
58: {
59: ns_time_t tval;
60: unsigned itval[(sizeof(ns_time_t)+sizeof(unsigned)-1)/sizeof(unsigned)];
61: } _NX_packed_time_t;
62: #define EVS_PACKED_TIME_SIZE (sizeof (_NX_packed_time_t) / sizeof (int))
63:
64: #define EVS_PREFIX "Evs_" /* All EVS calls start with this string */
65: /* WaitCursor-related ioctls */
66:
67: #define EVSIOSWT "Evs_SetWaitThreshold"
68: #define EVSIOSWT_SIZE EVS_PACKED_TIME_SIZE
69:
70: #define EVSIOSWS "Evs_SetWaitSustain"
71: #define EVSIOSWS_SIZE EVS_PACKED_TIME_SIZE
72:
73: #define EVSIOSWFI "Evs_SetWaitFrameInterval"
74: #define EVSIOSWFI_SIZE EVS_PACKED_TIME_SIZE
75:
76: #define EVSIOCWINFO "Evs_CurrentWaitCursorInfo"
77: #define EVSIOCWINFO_THRESH 0
78: #define EVSIOCWINFO_SUSTAIN (EVSIOCWINFO_THRESH + EVS_PACKED_TIME_SIZE)
79: #define EVSIOCWINFO_FINTERVAL (EVSIOCWINFO_SUSTAIN + EVS_PACKED_TIME_SIZE)
80: #define EVSIOCWINFO_SIZE (EVSIOCWINFO_FINTERVAL + EVS_PACKED_TIME_SIZE)
81:
82:
83: /* Device control ioctls. Levels specified may be in the range 0 - 64. */
84:
85: #define EVSIOSB "Evs_SetBrightness"
86: #define EVSIOSB_SIZE 1
87:
88: #define EVSIOSA "Evs_SetAttenuation"
89: #define EVIOSA_SIZE 1
90:
91: #define EVSIOSADB "Evs_SetAutoDimBrightness"
92: #define EVSIOSADB_SIZE 1
93:
94: #define EVSIO_DCTLINFO "Evs_DeviceControlInfo"
95: typedef enum {
96: EVSIO_DCTLINFO_BRIGHT,
97: EVSIO_DCTLINFO_ATTEN,
98: EVSIO_DCTLINFO_AUTODIMBRIGHT
99: } evsio_DCTLINFOIndices;
100: #define EVSIO_DCTLINFO_SIZE (EVSIO_DCTLINFO_AUTODIMBRIGHT + 1)
101:
102: /*
103: * Device status request
104: */
105: #define EVSIOINFO NX_EVS_DEVICE_INFO
106:
107:
108: /* Keyboard-related ioctls - implemented within Event Sources */
109:
110: #define EVSIOSKR "Evs_SetKeyRepeat"
111: #define EVSIOSKR_SIZE EVS_PACKED_TIME_SIZE
112:
113: #define EVSIOSIKR "Evs_SetInitialKeyRepeat"
114: #define EVSIOSIKR_SIZE EVS_PACKED_TIME_SIZE
115:
116: #define EVSIORKBD "Evs_ResetKeyboard"
117: #define EVSIORKBD_SIZE 1
118:
119: #define EVSIOCKR "Evs_CurrentKeyRepeat"
120: #define EVSIOCKR_INITIAL 0
121: #define EVSIOCKR_BETWEEN (EVSIOCKR_INITIAL + EVS_PACKED_TIME_SIZE)
122: #define EVSIOCKR_SIZE (EVSIOCKR_BETWEEN + EVS_PACKED_TIME_SIZE)
123:
124: #define EVSIOCKML "Evs_CurrentKeyMappingLength"
125: #define EVSIOCKML_SIZE 1
126:
127: /* For GetIntValues. Length is EVK_NUNITS from KeyMap.h */
128: #define EVSIOGKEYS "Evs_CurrentKeyState"
129:
130: /* The following two tokens are for use with the get/set character routines. */
131: #define EVSIOSKM "Evs_SetKeyMapping"
132: #define EVSIOSKM_SIZE 4096
133:
134: #define EVSIOCKM "Evs_CurrentKeyMapping"
135: #define EVSIOCKM_SIZE 4096
136:
137: /* Mouse-related ioctls - implemented within Event Sources */
138:
139: #define EVSIOSMS "Evs_SetMouseScaling"
140: #define EVSIOSMS_NSCALINGS 0
141: /* The data consists of NX_MAXMOUSESCALINGS threshold/factor pairs. */
142: #define EVSIOSMS_DATA (EVSIOSMS_NSCALINGS + 1)
143: #define EVSIOSMS_SIZE (EVSIOSMS_DATA + (2 * NX_MAXMOUSESCALINGS))
144:
145: #define EVSIOCMS "Evs_CurrentMouseScaling"
146: #define EVSIOCMS_NSCALINGS 0
147: /* The data consists of NX_MAXMOUSESCALINGS threshold/factor pairs. */
148: #define EVSIOCMS_DATA (EVSIOCMS_NSCALINGS + 1)
149: #define EVSIOCMS_SIZE (EVSIOCMS_DATA + (2 * NX_MAXMOUSESCALINGS))
150:
151: #define EVSIOSMH "Evs_SetMouseHandedness"
152: #define EVSIOSMH_SIZE 1 // value from NXMouseButton enum
153:
154: #define EVSIOCMH "Evs_CurrentMouseHandedness"
155: #define EVSIOCMH_SIZE 1
156:
157:
158: /* Generic pointer device controls, implemented by the Event Driver. */
159: #define EVSIOSCT "Evs_SetClickTime"
160: #define EVSIOSCT_SIZE EVS_PACKED_TIME_SIZE
161:
162: #define EVSIOSCS "Evs_SetClickSpace"
163: typedef enum {
164: EVSIOSCS_X,
165: EVSIOSCS_Y
166: } evsioEVSIOSCSIndices;
167: #define EVSIOSCS_SIZE (EVSIOSCS_Y + 1)
168:
169: #define EVSIOSADT "Evs_SetAutoDimTime"
170: #define EVSIOSADT_SIZE EVS_PACKED_TIME_SIZE
171:
172: #define EVSIOSADS "Evs_SetAutoDimState"
173: #define EVSIOSADS_SIZE 1
174:
175: #define EVSIORMS "Evs_ResetMouse"
176: #define EVSIORMS_SIZE 1
177:
178: #define EVSIOCCT "Evs_CurrentClickTime"
179: #define EVSIOCCT_SIZE EVS_PACKED_TIME_SIZE
180:
181: #define EVSIOCADT "Evs_CurrentAutoDimTime"
182: #define EVSIOCADT_SIZE EVS_PACKED_TIME_SIZE
183:
184: #define EVSIOGDADT "Evs_GetDeltaAutoDimTime"
185: #define EVSIOGDADT_SIZE EVS_PACKED_TIME_SIZE
186:
187: #define EVSIOIDLE "Evs_GetIdleTime"
188: #define EVSIOIDLE_SIZE EVS_PACKED_TIME_SIZE
189:
190: #define EVSIOCCS "Evs_CurrentClickSpace"
191: typedef enum {
192: EVSIOCCS_X,
193: EVSIOCCS_Y
194: } evsioEVSIOCCSIndices;
195: #define EVSIOCCS_SIZE (EVSIOCCS_Y + 1)
196:
197: #define EVSIOCADS "Evs_AutoDimmed"
198: #define EVSIOCADS_SIZE 1
199:
200: #endif /* _DEV_EVSIO_ */
201:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.