Annotation of kernel/bsd/dev/ppc/drvUSBCMD/mouse/MouseModule.h, revision 1.1

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: /*
        !            26:        File:           MouseModule.h
        !            27: 
        !            28:        Contains:       Header file for mouse module
        !            29: 
        !            30:        Version:        xxx put version here xxx
        !            31: 
        !            32:        Copyright:      � 1997-1998 by Apple Computer, Inc., all rights reserved.
        !            33: 
        !            34:        File Ownership:
        !            35: 
        !            36:                DRI:                            Craig Keithley
        !            37: 
        !            38:                Other Contact:          xxx put other contact here xxx
        !            39: 
        !            40:                Technology:                     xxx put technology here xxx
        !            41: 
        !            42:        Writers:
        !            43: 
        !            44:                (BWS)   Brent Schorsch
        !            45:                (CJK)   Craig Keithley
        !            46: 
        !            47:        Change History (most recent first):
        !            48: 
        !            49:         <USB23>         6/18/98        BWS             fixed interrupt refcon support
        !            50:         <USB22>         6/18/98        CJK             change retry to 3.  add refcon to mouse data struct
        !            51:         <USB21>         6/16/98        CJK             change FindHIDInterfaceByProtocol to FindHIDInterfaceByNumber
        !            52:         <USB20>         6/11/98        CJK             Remove driverentry routine (not needed or used).
        !            53:         <USB19>          6/8/98        CJK             change SetParamBlock function name to InitParamBlock. Remove
        !            54:                                                                        unneeded xxget... functions
        !            55:         <USB18>         5/26/98        CJK             add prototype for SetParamBlock
        !            56:         <USB17>         5/15/98        CJK             Increase size of HID Report.
        !            57:         <USB16>          5/4/98        CJK             add IntRead req count setup field
        !            58:         <USB15>         4/26/98        CJK             add setidle back in.  This seems to solve periodic stall
        !            59:                                                                        problems.
        !            60:         <USB14>         4/26/98        CJK             increase retry count to 10
        !            61:         <USB13>         4/24/98        CJK             Change cursor device field name in mouse data structure to be
        !            62:                                                                        "CursorDeviceInfo"
        !            63:         <USB12>         4/23/98        CJK             update to new style of setting bmRequest
        !            64:         <USB11>          4/9/98        CJK             remove include of USBClassDrivers.h, USBHIDModules.h, and
        !            65:                                                                        USBDeviceDefines.h
        !            66:                <10>      4/8/98        CJK             add saved interrupt routine proc pointer
        !            67:                 <9>     3/26/98        CJK             fix delay callback depth problem
        !            68:                 <8>     3/25/98        CJK             add interrupt states to enum
        !            69:                 <7>     3/17/98        CJK             Remove comma from last enum item.  Update function prototypes
        !            70:                                                                        using extractprototypes tool.
        !            71:                 <6>      3/2/98        CJK             Add include of USBHIDModules.h. Remove include of HIDEmulation.h
        !            72:                 <5>     2/18/98        CJK             Add cursor device structure
        !            73:                 <4>     2/11/98        CJK             remove unneeded state values.
        !            74:                 <3>      2/9/98        CJK             Change Interface Descriptor field in mouse paramblock to be just
        !            75:                                                                        a single interface.
        !            76:                 <2>      2/9/98        CJK             Add InterfaceEntry function prototype
        !            77:                 <1>    12/17/97        CJK             First time checkin
        !            78: */
        !            79: #ifndef __MouseModuleH__
        !            80: #define __MouseModuleH__
        !            81: 
        !            82: //#include <Types.h>
        !            83: //#include <Devices.h>
        !            84: #include "../driverservices.h"
        !            85: //#include <Processes.h>
        !            86: #include "CursorDevices.h"
        !            87: #include "../USB.h"
        !            88: 
        !            89: Boolean        immediateError(OSStatus err);
        !            90: void   MouseModuleInitiateTransaction(USBPB *pb);
        !            91: void   MouseModuleDelayCompletionProc(USBPB *pb);
        !            92: void   TransactionCompletionProc(USBPB *pb);
        !            93: void   InterfaceEntry(UInt32 interfacenum, USBInterfaceDescriptorPtr pInterfaceDescriptor, USBDeviceDescriptorPtr pDeviceDescriptor, USBDeviceRef device);
        !            94: 
        !            95: /*     Prototypes from MouseModuleHeader.c     Tue, Mar 17, 1998 3:30:22 PM    */
        !            96: static         OSStatus        MouseModuleInitialize(USBDeviceRef device, USBDeviceDescriptorPtr pDesc, UInt32 busPowerAvailable);
        !            97: static         OSStatus        MouseInterfaceInitialize(UInt32 interfacenum, USBInterfaceDescriptorPtr pInterface, USBDeviceDescriptorPtr pDesc, USBDeviceRef device);
        !            98: static         OSStatus        MouseModuleFinalize(USBDeviceRef theDeviceRef, USBDeviceDescriptorPtr pDesc);
        !            99: 
        !           100: 
        !           101: /*     Prototypes from MouseConfigParse.c      Tue, Mar 17, 1998 3:17:14 PM    */
        !           102: OSErr  FindHIDInterfaceByNumber(LogicalAddress pConfigDesc, UInt32 ReqInterface, USBInterfaceDescriptorPtr * hInterfaceDesc);
        !           103: 
        !           104: OSStatus USBHIDControlDevice(UInt32 theControlSelector, void * theControlData);
        !           105: void   NotifyRegisteredHIDUser(UInt32 devicetype, UInt8 hidReport[]);
        !           106: 
        !           107: void   USBMouseIn(UInt32 refcon, void * theData);
        !           108: void   InitParamBlock(USBDeviceRef theDeviceRef, USBPB * paramblock);
        !           109: 
        !           110: #define kMouseRetryCount       3
        !           111: 
        !           112: enum driverstages
        !           113: {
        !           114:        kUndefined = 0,
        !           115:        kGetFullConfiguration,
        !           116:        kFindInterfaceAndSetProtocol,
        !           117:        kSetIdleRequest,
        !           118:        kFindAndOpenInterruptPipe,
        !           119:        kReadInterruptPipe,
        !           120:        kReturnFromDriver =     0x1000,
        !           121:        kRetryTransaction =     0x2000,
        !           122:        kSyncTransaction =              0x4000,
        !           123:        kCompletionPending =    0x8000
        !           124: };
        !           125: 
        !           126: typedef struct
        !           127: {
        !           128:        USBPB                                                   pb;
        !           129:        void (*handler)(USBPB                   *pb);
        !           130: 
        !           131:        USBDeviceRef                                    deviceRef;
        !           132:        USBInterfaceRef                                 interfaceRef;
        !           133:        USBPipeRef                                              pipeRef;
        !           134:        
        !           135:        USBDeviceDescriptor                     deviceDescriptor;
        !           136:        USBInterfaceDescriptor                  interfaceDescriptor;
        !           137: 
        !           138:        USBConfigurationDescriptorPtr   pFullConfigDescriptor;
        !           139:        USBInterfaceDescriptorPtr               pInterfaceDescriptor;
        !           140:        USBEndPointDescriptorPtr                pEndpointDescriptor;
        !           141: 
        !           142:        UInt32                                                  hidDeviceType;
        !           143:        UInt8                                                   hidReport[64];
        !           144:        
        !           145:        HIDInterruptProcPtr                     pSHIMInterruptRoutine;
        !           146:        HIDInterruptProcPtr                     pSavedInterruptRoutine;
        !           147:        
        !           148:        UInt32                                                  interruptRefcon;
        !           149:        
        !           150:        SInt32                                                  retryCount;
        !           151:        SInt32                                                  transDepth;
        !           152:        
        !           153:        CursorDevicePtr                                 pCursorDeviceInfo;
        !           154:        CursorDevice                                    cursorDeviceInfo;
        !           155:        Fixed                                                   unitsPerInch;
        !           156: } usbMousePBStruct;
        !           157: 
        !           158: #endif //__MouseModuleH__

unix.superglobalmegacorp.com

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