Annotation of XNU/iokit/Drivers/hidsystem/drvAppleADBDevices/AppleADBButtons.h, revision 1.1.1.1

1.1       root        1: #ifndef _APPLEADBBUTTONS_H
                      2: #define _APPLEADBBUTTONS_H
                      3: 
                      4: /*
                      5:  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
                      6:  *
                      7:  * @APPLE_LICENSE_HEADER_START@
                      8:  * 
                      9:  * The contents of this file constitute Original Code as defined in and
                     10:  * are subject to the Apple Public Source License Version 1.1 (the
                     11:  * "License").  You may not use this file except in compliance with the
                     12:  * License.  Please obtain a copy of the License at
                     13:  * http://www.apple.com/publicsource and read it before using this file.
                     14:  * 
                     15:  * This Original Code and all software distributed under the License are
                     16:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     17:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     18:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     19:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     20:  * License for the specific language governing rights and limitations
                     21:  * under the License.
                     22:  * 
                     23:  * @APPLE_LICENSE_HEADER_END@
                     24:  */
                     25: 
                     26: #include <IOKit/hidsystem/IOHIKeyboard.h>
                     27: #include <IOKit/adb/IOADBDevice.h>
                     28: 
                     29: #define kVolume_up     0x06
                     30: #define kVolume_down   0x07
                     31: #define kMute          0x08
                     32: #define kBrightness_up 0x09
                     33: #define kBrightness_down       0x0a
                     34: 
                     35: #define kMax_registrations 10
                     36: #define        kMax_keycode    0x0a
                     37: #define kNullKey       0xFF
                     38: 
                     39: typedef void (*button_handler)(void * );
                     40: 
                     41: class AppleADBButtons :  public IOHIKeyboard
                     42: {
                     43:     OSDeclareDefaultStructors(AppleADBButtons)
                     44: 
                     45: private:
                     46: 
                     47:     unsigned int       keycodes[kMax_registrations];
                     48:     void *             registrants[kMax_registrations];
                     49:     button_handler     downHandlers[kMax_registrations];
                     50: 
                     51:     void dispatchButtonEvent (unsigned int, bool );
                     52:     const unsigned char * defaultKeymapOfLength (UInt32 * length );
                     53:     UInt32 interfaceID();
                     54:     UInt32 deviceType();
                     55: 
                     56: public:
                     57: 
                     58:      IOService * displayManager;                       // points to display manager
                     59:     IOADBDevice *      adbDevice;
                     60: 
                     61:     bool start ( IOService * theNub );
                     62:     IOReturn packet (UInt8 * data, IOByteCount length, UInt8 adbCommand );
                     63:     IOReturn registerForButton ( unsigned int, IOService *, button_handler, bool );
                     64: 
                     65:     IOReturn setParamProperties(OSDictionary *dict);
                     66: };
                     67: 
                     68: #endif /* _APPLEADBBUTTONS_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.