home *** CD-ROM | disk | FTP | other *** search
- /*
- File: PointingPlugin.h
-
- Contains: Interface for Pointer Family Plugins
-
- Version: Technology: Copland
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __POINTINGPLUGIN__
- #define __POINTINGPLUGIN__
-
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
- #ifndef __POINTING__
- #include <Pointing.h>
- #endif
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- #if FOR_SYSTEM8_PREEMPTIVE
- /**************** Calls Implemented By Plugins ****************/
- typedef OSStatus (*PTPluginValidateHardwarePtr)(RegEntryRef *device, Boolean *isMyDevice);
- typedef OSStatus (*PTPluginInitializePtr)(RegEntryRef *mouseRegistryEntryPtr, PTDeviceCapabilities *mouseCapabilities, PTDeviceIdentifier *mouseIdentification);
- typedef OSStatus (*PTPluginTerminatePtr)(void);
- typedef OSStatus (*PTPluginStartIOPtr)(void);
- typedef OSStatus (*PTPluginStopIOPtr)(void);
- typedef OSStatus (*PTPluginGetNextDataPtr)(PTData *theMouseData);
- typedef OSStatus (*PTPluginGetDeviceModesPtr)(ByteCount offset, ByteCount numBytes, PTDeviceModes *modes);
- typedef OSStatus (*PTPluginSetDeviceModesPtr)(ByteCount offset, ByteCount numBytes, PTDeviceModes *modes);
-
- enum {
- kCoplandPTPluginVersion = 0x00000001
- };
-
- struct PTPluginHeader {
- UInt32 version; /* version of the plugin interface*/
- UInt32 reserved1;
- UInt32 reserved2;
- UInt32 reserved3;
- };
- typedef struct PTPluginHeader PTPluginHeader;
-
- struct PTDeviceDispatchTable {
- PTPluginHeader header;
- PTPluginValidateHardwarePtr PTPluginValidateHardware;
- PTPluginInitializePtr PTPluginInitialize;
- PTPluginTerminatePtr PTPluginTerminate;
- PTPluginStartIOPtr PTPluginStartIO;
- PTPluginStopIOPtr PTPluginStopIO;
- PTPluginGetNextDataPtr PTPluginGetNextData;
- PTPluginGetDeviceModesPtr PTPluginGetDeviceModes;
- PTPluginSetDeviceModesPtr PTPluginSetDeviceModes;
- };
- typedef struct PTDeviceDispatchTable PTDeviceDispatchTable;
-
- typedef PTDeviceDispatchTable *PTDeviceDispatchTablePtr;
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __POINTINGPLUGIN__ */
-
-