|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: File: HIDLib.h
24:
25: Contains: xxx put contents here xxx
26:
27: Version: xxx put version here xxx
28:
29: Copyright: � 1999 by Apple Computer, Inc., all rights reserved.
30:
31: File Ownership:
32:
33: DRI: xxx put dri here xxx
34:
35: Other Contact: xxx put other contact here xxx
36:
37: Technology: xxx put technology here xxx
38:
39: Writers:
40:
41: (BWS) Brent Schorsch
42:
43: Change History (most recent first):
44:
45: <USB1> 3/5/99 BWS first checked in
46: */
47:
48: #ifndef __HIDLib__
49: #define __HIDLib__
50:
51: #include "HIDPriv.h"
52:
53: #define kShouldClearMem true
54:
55: /*------------------------------------------------------------------------------*/
56: /* */
57: /* HID Library definitions */
58: /* */
59: /*------------------------------------------------------------------------------*/
60:
61: /* And now our extern procedures that are not external entry points in our shared library */
62:
63: struct HIDReportDescriptor
64: {
65: Byte * descriptor;
66: ByteCount descriptorLength;
67: UInt32 index;
68: SInt32 * collectionStack;
69: SInt32 collectionNesting;
70: HIDGlobalItems * globalsStack;
71: SInt32 globalsNesting;
72: HIDItem item;
73: SInt32 firstUsageItem;
74: SInt32 firstStringItem;
75: SInt32 firstDesigItem;
76: SInt32 parent;
77: SInt32 sibling;
78: HIDGlobalItems globals;
79: Boolean haveUsageMin;
80: Boolean haveUsageMax;
81: SInt32 rangeUsagePage;
82: SInt32 usageMinimum;
83: SInt32 usageMaximum;
84: Boolean haveStringMin;
85: Boolean haveStringMax;
86: SInt32 stringMinimum;
87: SInt32 stringMaximum;
88: Boolean haveDesigMin;
89: Boolean haveDesigMax;
90: SInt32 desigMinimum;
91: SInt32 desigMaximum;
92: };
93: typedef struct HIDReportDescriptor HIDReportDescriptor;
94:
95: /* And now our extern procedures that are not external entry points in our shared library */
96:
97: extern OSStatus
98: HIDCountDescriptorItems (HIDReportDescriptor * reportDescriptor,
99: HIDPreparsedDataPtr preparsedData);
100:
101: extern OSStatus
102: HIDNextItem (HIDReportDescriptor * reportDescriptor);
103:
104: extern OSStatus
105: HIDParseDescriptor (HIDReportDescriptor * reportDescriptor,
106: HIDPreparsedDataPtr preparsedData);
107:
108: extern OSStatus
109: HIDProcessCollection (HIDReportDescriptor * reportDescriptor,
110: HIDPreparsedDataPtr preparsedData);
111:
112: extern OSStatus
113: HIDProcessEndCollection (HIDReportDescriptor * reportDescriptor,
114: HIDPreparsedDataPtr preparsedData);
115:
116: extern OSStatus
117: HIDProcessGlobalItem (HIDReportDescriptor * reportDescriptor,
118: HIDPreparsedDataPtr preparsedData);
119:
120: extern OSStatus
121: HIDProcessLocalItem (HIDReportDescriptor * reportDescriptor,
122: HIDPreparsedDataPtr preparsedData);
123:
124: extern OSStatus
125: HIDProcessMainItem (HIDReportDescriptor * reportDescriptor,
126: HIDPreparsedDataPtr preparsedData);
127:
128: extern OSStatus
129: HIDProcessReportItem (HIDReportDescriptor * reportDescriptor,
130: HIDPreparsedDataPtr preparsedData);
131:
132: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.