You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1509 lines
40 KiB
1509 lines
40 KiB
5 years ago
|
/*
|
||
|
File: Devices.h
|
||
|
|
||
|
Contains: Device Manager Interfaces.
|
||
|
|
||
|
Version: QuickTime 7.3
|
||
|
|
||
|
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
|
||
|
|
||
|
Bugs?: For bug reports, consult the following page on
|
||
|
the World Wide Web:
|
||
|
|
||
|
http://developer.apple.com/bugreporter/
|
||
|
|
||
|
*/
|
||
|
#ifndef __DEVICES__
|
||
|
#define __DEVICES__
|
||
|
|
||
|
#ifndef __OSUTILS__
|
||
|
#include <OSUtils.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __FILES__
|
||
|
#include <Files.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __NAMEREGISTRY__
|
||
|
#include <NameRegistry.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __CODEFRAGMENTS__
|
||
|
#include <CodeFragments.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __MULTIPROCESSING__
|
||
|
#include <Multiprocessing.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#ifndef __QUICKDRAW__
|
||
|
#include <Quickdraw.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_ONCE
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_IMPORT
|
||
|
#pragma import on
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=mac68k
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(push, 2)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack(2)
|
||
|
#endif
|
||
|
|
||
|
/* Values of the 'message' parameter to a Chooser device package */
|
||
|
enum {
|
||
|
chooserInitMsg = 11, /* the user selected this device package */
|
||
|
newSelMsg = 12, /* the user made new device selections */
|
||
|
fillListMsg = 13, /* fill the device list with choices */
|
||
|
getSelMsg = 14, /* mark one or more choices as selected */
|
||
|
selectMsg = 15, /* the user made a selection */
|
||
|
deselectMsg = 16, /* the user canceled a selection */
|
||
|
terminateMsg = 17, /* allows device package to clean up */
|
||
|
buttonMsg = 19 /* the user selected a button */
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Values of the 'caller' parameter to a Chooser device package */
|
||
|
enum {
|
||
|
chooserID = 1
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Values of the 'message' parameter to a Monitor 'mntr' */
|
||
|
enum {
|
||
|
initMsg = 1, /*initialization*/
|
||
|
okMsg = 2, /*user clicked OK button*/
|
||
|
cancelMsg = 3, /*user clicked Cancel button*/
|
||
|
hitMsg = 4, /*user clicked control in Options dialog*/
|
||
|
nulMsg = 5, /*periodic event*/
|
||
|
updateMsg = 6, /*update event*/
|
||
|
activateMsg = 7, /*not used*/
|
||
|
deactivateMsg = 8, /*not used*/
|
||
|
keyEvtMsg = 9, /*keyboard event*/
|
||
|
superMsg = 10, /*show superuser controls*/
|
||
|
normalMsg = 11, /*show only normal controls*/
|
||
|
startupMsg = 12 /*code has been loaded*/
|
||
|
};
|
||
|
|
||
|
|
||
|
/* control codes for DeskAccessories */
|
||
|
enum {
|
||
|
goodbye = -1, /* heap being reinitialized */
|
||
|
killCode = 1, /* KillIO requested */
|
||
|
accEvent = 64, /* handle an event */
|
||
|
accRun = 65, /* time for periodic action */
|
||
|
accCursor = 66, /* change cursor shape */
|
||
|
accMenu = 67, /* handle menu item */
|
||
|
accUndo = 68, /* handle undo command */
|
||
|
accCut = 70, /* handle cut command */
|
||
|
accCopy = 71, /* handle copy command */
|
||
|
accPaste = 72, /* handle paste command */
|
||
|
accClear = 73 /* handle clear command */
|
||
|
};
|
||
|
|
||
|
/* Control/Status Call Codes */
|
||
|
/* drvStsCode, ejectCode and tgBuffCode are now defined in Disks.h/p/a */
|
||
|
|
||
|
/* miscellaneous Device Manager constants */
|
||
|
enum {
|
||
|
ioInProgress = 1, /* predefined value of ioResult while I/O is pending */
|
||
|
aRdCmd = 2, /* low byte of ioTrap for Read calls */
|
||
|
aWrCmd = 3, /* low byte of ioTrap for Write calls */
|
||
|
asyncTrpBit = 10, /* trap word modifier */
|
||
|
noQueueBit = 9 /* trap word modifier */
|
||
|
};
|
||
|
|
||
|
/* flags used in the driver header and device control entry */
|
||
|
enum {
|
||
|
dReadEnable = 0, /* set if driver responds to read requests */
|
||
|
dWritEnable = 1, /* set if driver responds to write requests */
|
||
|
dCtlEnable = 2, /* set if driver responds to control requests */
|
||
|
dStatEnable = 3, /* set if driver responds to status requests */
|
||
|
dNeedGoodBye = 4, /* set if driver needs time for performing periodic tasks */
|
||
|
dNeedTime = 5, /* set if driver needs time for performing periodic tasks */
|
||
|
dNeedLock = 6 /* set if driver must be locked in memory as soon as it is opened */
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
dNeedLockMask = 0x4000, /* set if driver must be locked in memory as soon as it is opened */
|
||
|
dNeedTimeMask = 0x2000, /* set if driver needs time for performing periodic tasks */
|
||
|
dNeedGoodByeMask = 0x1000, /* set if driver needs to be called before the application heap is initialized */
|
||
|
dStatEnableMask = 0x0800, /* set if driver responds to status requests */
|
||
|
dCtlEnableMask = 0x0400, /* set if driver responds to control requests */
|
||
|
dWritEnableMask = 0x0200, /* set if driver responds to write requests */
|
||
|
dReadEnableMask = 0x0100 /* set if driver responds to read requests */
|
||
|
};
|
||
|
|
||
|
|
||
|
/* run-time flags used in the device control entry */
|
||
|
enum {
|
||
|
dVMImmuneBit = 0, /* driver does not need VM protection */
|
||
|
dOpened = 5, /* driver is open */
|
||
|
dRAMBased = 6, /* dCtlDriver is a handle (1) or pointer (0) */
|
||
|
drvrActive = 7 /* driver is currently processing a request */
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
dVMImmuneMask = 0x0001, /* driver does not need VM protection */
|
||
|
dOpenedMask = 0x0020, /* driver is open */
|
||
|
dRAMBasedMask = 0x0040, /* dCtlDriver is a handle (1) or pointer (0) */
|
||
|
drvrActiveMask = 0x0080 /* driver is currently processing a request */
|
||
|
};
|
||
|
|
||
|
struct DRVRHeader {
|
||
|
short drvrFlags;
|
||
|
short drvrDelay;
|
||
|
short drvrEMask;
|
||
|
short drvrMenu;
|
||
|
short drvrOpen;
|
||
|
short drvrPrime;
|
||
|
short drvrCtl;
|
||
|
short drvrStatus;
|
||
|
short drvrClose;
|
||
|
unsigned char drvrName[1];
|
||
|
};
|
||
|
typedef struct DRVRHeader DRVRHeader;
|
||
|
typedef DRVRHeader * DRVRHeaderPtr;
|
||
|
typedef DRVRHeaderPtr * DRVRHeaderHandle;
|
||
|
struct DCtlEntry {
|
||
|
Ptr dCtlDriver;
|
||
|
volatile short dCtlFlags;
|
||
|
QHdr dCtlQHdr;
|
||
|
volatile long dCtlPosition;
|
||
|
Handle dCtlStorage;
|
||
|
short dCtlRefNum;
|
||
|
long dCtlCurTicks;
|
||
|
GrafPtr dCtlWindow;
|
||
|
short dCtlDelay;
|
||
|
short dCtlEMask;
|
||
|
short dCtlMenu;
|
||
|
};
|
||
|
typedef struct DCtlEntry DCtlEntry;
|
||
|
typedef DCtlEntry * DCtlPtr;
|
||
|
typedef DCtlPtr * DCtlHandle;
|
||
|
struct AuxDCE {
|
||
|
Ptr dCtlDriver;
|
||
|
volatile short dCtlFlags;
|
||
|
QHdr dCtlQHdr;
|
||
|
long dCtlPosition;
|
||
|
Handle dCtlStorage;
|
||
|
short dCtlRefNum;
|
||
|
long dCtlCurTicks;
|
||
|
GrafPtr dCtlWindow;
|
||
|
short dCtlDelay;
|
||
|
short dCtlEMask;
|
||
|
short dCtlMenu;
|
||
|
SInt8 dCtlSlot;
|
||
|
SInt8 dCtlSlotId;
|
||
|
long dCtlDevBase;
|
||
|
Ptr dCtlOwner;
|
||
|
SInt8 dCtlExtDev;
|
||
|
SInt8 fillByte;
|
||
|
UInt32 dCtlNodeID;
|
||
|
};
|
||
|
typedef struct AuxDCE AuxDCE;
|
||
|
typedef AuxDCE * AuxDCEPtr;
|
||
|
typedef AuxDCEPtr * AuxDCEHandle;
|
||
|
/* The NDRV Driver IO Entry Point and Commands */
|
||
|
typedef UInt16 UnitNumber;
|
||
|
typedef UInt32 DriverOpenCount;
|
||
|
typedef SInt16 DriverRefNum;
|
||
|
typedef SInt16 DriverFlags;
|
||
|
typedef UInt32 IOCommandCode;
|
||
|
enum {
|
||
|
kOpenCommand = 0,
|
||
|
kCloseCommand = 1,
|
||
|
kReadCommand = 2,
|
||
|
kWriteCommand = 3,
|
||
|
kControlCommand = 4,
|
||
|
kStatusCommand = 5,
|
||
|
kKillIOCommand = 6,
|
||
|
kInitializeCommand = 7, /* init driver and device*/
|
||
|
kFinalizeCommand = 8, /* shutdown driver and device*/
|
||
|
kReplaceCommand = 9, /* replace an old driver*/
|
||
|
kSupersededCommand = 10, /* prepare to be replaced by a new driver*/
|
||
|
kSuspendCommand = 11, /* prepare driver to go to sleep*/
|
||
|
kResumeCommand = 12 /* wake up sleeping driver*/
|
||
|
};
|
||
|
|
||
|
typedef MPAddressSpaceID AddressSpaceID;
|
||
|
typedef struct OpaqueIOCommandID* IOCommandID;
|
||
|
struct MacDriverType {
|
||
|
long filler[9];
|
||
|
};
|
||
|
typedef struct MacDriverType MacDriverType;
|
||
|
typedef MacDriverType * DriverTypePtr;
|
||
|
struct DriverDescription {
|
||
|
long filler[32];
|
||
|
};
|
||
|
typedef struct DriverDescription DriverDescription;
|
||
|
typedef DriverDescription * DriverDescriptionPtr;
|
||
|
typedef UInt32 IOCommandKind;
|
||
|
enum {
|
||
|
kSynchronousIOCommandKind = 0x00000001,
|
||
|
kAsynchronousIOCommandKind = 0x00000002,
|
||
|
kImmediateIOCommandKind = 0x00000004
|
||
|
};
|
||
|
|
||
|
struct DriverInitInfo {
|
||
|
DriverRefNum refNum;
|
||
|
RegEntryID deviceEntry;
|
||
|
};
|
||
|
typedef struct DriverInitInfo DriverInitInfo;
|
||
|
typedef DriverInitInfo * DriverInitInfoPtr;
|
||
|
typedef DriverInitInfo DriverReplaceInfo;
|
||
|
typedef DriverInitInfo * DriverReplaceInfoPtr;
|
||
|
struct DriverFinalInfo {
|
||
|
DriverRefNum refNum;
|
||
|
RegEntryID deviceEntry;
|
||
|
};
|
||
|
typedef struct DriverFinalInfo DriverFinalInfo;
|
||
|
typedef DriverFinalInfo * DriverFinalInfoPtr;
|
||
|
typedef DriverFinalInfo DriverSupersededInfo;
|
||
|
typedef DriverFinalInfo * DriverSupersededInfoPtr;
|
||
|
|
||
|
/* Contents are command specific*/
|
||
|
|
||
|
union IOCommandContents {
|
||
|
ParmBlkPtr pb;
|
||
|
DriverInitInfoPtr initialInfo;
|
||
|
DriverFinalInfoPtr finalInfo;
|
||
|
DriverReplaceInfoPtr replaceInfo;
|
||
|
DriverSupersededInfoPtr supersededInfo;
|
||
|
};
|
||
|
typedef union IOCommandContents IOCommandContents;
|
||
|
typedef CALLBACK_API_C( OSErr , DriverEntryPointPtr )(AddressSpaceID SpaceID, IOCommandID CommandID, IOCommandContents Contents, IOCommandCode Code, IOCommandKind Kind);
|
||
|
/* Record to describe a file-based driver candidate */
|
||
|
struct FileBasedDriverRecord {
|
||
|
FSSpec theSpec; /* file specification*/
|
||
|
MacDriverType theType; /* nameInfoStr + version number*/
|
||
|
Boolean compatibleProp; /* true if matched using a compatible name*/
|
||
|
UInt8 pad[3]; /* alignment*/
|
||
|
};
|
||
|
typedef struct FileBasedDriverRecord FileBasedDriverRecord;
|
||
|
typedef FileBasedDriverRecord * FileBasedDriverRecordPtr;
|
||
|
/* Detailed Record to describe a file-based driver candidate. Includes fragment name */
|
||
|
struct FileBasedDriverDetailed {
|
||
|
FileBasedDriverRecord fileBasedDriver;
|
||
|
Str63 fragName;
|
||
|
};
|
||
|
typedef struct FileBasedDriverDetailed FileBasedDriverDetailed;
|
||
|
typedef FileBasedDriverDetailed * FileBasedDriverDetailedPtr;
|
||
|
/* Driver Loader API */
|
||
|
#define DECLARE_DRIVERDESCRIPTION(N_ADDITIONAL_SERVICES)\
|
||
|
struct {\
|
||
|
DriverDescription fixed;\
|
||
|
DriverServiceInfo additional_service[N_ADDITIONAL_SERVICES-1];\
|
||
|
};
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* HigherDriverVersion()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( SInt16 )
|
||
|
HigherDriverVersion(
|
||
|
const NumVersion * driverVersion1,
|
||
|
const NumVersion * driverVersion2);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* VerifyFragmentAsDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
VerifyFragmentAsDriver(
|
||
|
CFragConnectionID fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDriverMemoryFragment()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetDriverMemoryFragment(
|
||
|
Ptr memAddr,
|
||
|
long length,
|
||
|
ConstStr63Param fragName,
|
||
|
CFragConnectionID * fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDriverDiskFragment()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetDriverDiskFragment(
|
||
|
FSSpecPtr fragmentSpec,
|
||
|
CFragConnectionID * fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetNamedDriverDiskFragment()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetNamedDriverDiskFragment(
|
||
|
FSSpecPtr fragmentSpec,
|
||
|
ConstStr63Param fragName,
|
||
|
CFragConnectionID * fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverFromFragment()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverFromFragment(
|
||
|
CFragConnectionID fragmentConnID,
|
||
|
RegEntryID * device,
|
||
|
UnitNumber beginningUnit,
|
||
|
UnitNumber endingUnit,
|
||
|
DriverRefNum * refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverFromFile()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverFromFile(
|
||
|
FSSpecPtr fragmentSpec,
|
||
|
RegEntryID * device,
|
||
|
UnitNumber beginningUnit,
|
||
|
UnitNumber endingUnit,
|
||
|
DriverRefNum * refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverFromMemory()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverFromMemory(
|
||
|
Ptr memory,
|
||
|
long length,
|
||
|
ConstStr63Param fragName,
|
||
|
RegEntryID * device,
|
||
|
UnitNumber beginningUnit,
|
||
|
UnitNumber endingUnit,
|
||
|
DriverRefNum * refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverFromResource()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverFromResource(
|
||
|
SInt16 theRsrcID,
|
||
|
ConstStr255Param theRsrcName,
|
||
|
RegEntryIDPtr theDevice,
|
||
|
UnitNumber theBeginningUnit,
|
||
|
UnitNumber theEndingUnit,
|
||
|
DriverRefNum * theRefNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverFromDisk()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverFromDisk(
|
||
|
Ptr theDriverName,
|
||
|
RegEntryID * theDevice,
|
||
|
UnitNumber theBeginningUnit,
|
||
|
UnitNumber theEndingUnit,
|
||
|
DriverRefNum * theRefNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindDriversForDevice()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
FindDriversForDevice(
|
||
|
RegEntryID * device,
|
||
|
FSSpec * fragmentSpec,
|
||
|
DriverDescription * fileDriverDesc,
|
||
|
Ptr * memAddr,
|
||
|
long * length,
|
||
|
StringPtr fragName,
|
||
|
DriverDescription * memDriverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindDriverForDeviceFromFile()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
FindDriverForDeviceFromFile(
|
||
|
RegEntryID * device,
|
||
|
FSSpec * fragmentSpec,
|
||
|
DriverDescription * driverDesc,
|
||
|
StringPtr fragName);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindDriverCandidates()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
FindDriverCandidates(
|
||
|
RegEntryID * deviceID,
|
||
|
Ptr * propBasedDriver,
|
||
|
RegPropertyValueSize * propBasedDriverSize,
|
||
|
StringPtr deviceName,
|
||
|
MacDriverType * propBasedDriverType,
|
||
|
Boolean * gotPropBasedDriver,
|
||
|
FileBasedDriverRecordPtr fileBasedDrivers,
|
||
|
ItemCount * nFileBasedDrivers);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindDriverCandidatesDetailed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
FindDriverCandidatesDetailed(
|
||
|
RegEntryIDPtr deviceID,
|
||
|
Ptr * propBasedDriver,
|
||
|
RegPropertyValueSize * propBasedDriverSize,
|
||
|
StringPtr deviceName,
|
||
|
MacDriverType * propBasedDriverType,
|
||
|
Boolean * gotPropBasedDriver,
|
||
|
FileBasedDriverDetailedPtr fileBasedDrivers,
|
||
|
ItemCount * nFileBasedDrivers);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* ScanDriverCandidates()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
ScanDriverCandidates(
|
||
|
RegEntryID * deviceID,
|
||
|
FileBasedDriverRecordPtr fileBasedDrivers,
|
||
|
ItemCount nFileBasedDrivers,
|
||
|
FileBasedDriverRecordPtr matchingDrivers,
|
||
|
ItemCount * nMatchingDrivers);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* ScanDriverCandidatesDetailed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
ScanDriverCandidatesDetailed(
|
||
|
RegEntryID * deviceID,
|
||
|
FileBasedDriverDetailedPtr fileBasedDrivers,
|
||
|
ItemCount nFileBasedDrivers,
|
||
|
FileBasedDriverDetailedPtr matchingDrivers,
|
||
|
ItemCount * nMatchingDrivers);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* CompareFileCandToPropCand()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( SInt16 )
|
||
|
CompareFileCandToPropCand(
|
||
|
RegEntryID * device,
|
||
|
StringPtr deviceName,
|
||
|
DriverTypePtr propBasedCandidate,
|
||
|
FileBasedDriverRecordPtr fileBasedCandidate);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetCompatibleProperty()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
GetCompatibleProperty(
|
||
|
RegEntryID * device,
|
||
|
StringPtr * compatibleNames,
|
||
|
ItemCount * nCompatibleNames);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* CompatibleDriverNames()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( Boolean )
|
||
|
CompatibleDriverNames(
|
||
|
StringPtr nameInfoStr,
|
||
|
StringPtr compatibleNames,
|
||
|
ItemCount nCompatibleNames,
|
||
|
long * nameCount);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDriverForDevice()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetDriverForDevice(
|
||
|
RegEntryID * device,
|
||
|
CFragConnectionID * fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InstallDriverForDevice()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
InstallDriverForDevice(
|
||
|
RegEntryID * device,
|
||
|
UnitNumber beginningUnit,
|
||
|
UnitNumber endingUnit,
|
||
|
DriverRefNum * refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDriverInformation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetDriverInformation(
|
||
|
DriverRefNum refNum,
|
||
|
UnitNumber * unitNum,
|
||
|
DriverFlags * flags,
|
||
|
DriverOpenCount * count,
|
||
|
StringPtr name,
|
||
|
RegEntryID * device,
|
||
|
CFragSystem7Locator * driverLoadLocation,
|
||
|
CFragConnectionID * fragmentConnID,
|
||
|
DriverEntryPointPtr * fragmentMain,
|
||
|
DriverDescription * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDriverDescription()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
GetDriverDescription(
|
||
|
LogicalAddress fragmentPtr,
|
||
|
DriverDescriptionPtr * theDriverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetNamedDriverDescFromFSSpec()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 2.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSStatus )
|
||
|
GetNamedDriverDescFromFSSpec(
|
||
|
FSSpecPtr fragmentSpec,
|
||
|
StringPtr fragName,
|
||
|
DriverDescriptionPtr * driverDesc);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* SetDriverClosureMemory()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
SetDriverClosureMemory(
|
||
|
CFragConnectionID fragmentConnID,
|
||
|
Boolean holdDriverMemory);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* ReplaceDriverWithFragment()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
ReplaceDriverWithFragment(
|
||
|
DriverRefNum theRefNum,
|
||
|
CFragConnectionID fragmentConnID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* OpenInstalledDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
OpenInstalledDriver(
|
||
|
DriverRefNum refNum,
|
||
|
SInt8 ioPermission);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* RenameDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
RenameDriver(
|
||
|
DriverRefNum refNum,
|
||
|
StringPtr newDriverName);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* RemoveDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
RemoveDriver(
|
||
|
DriverRefNum refNum,
|
||
|
Boolean immediate);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* LookupDrivers()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
LookupDrivers(
|
||
|
UnitNumber beginningUnit,
|
||
|
UnitNumber endingUnit,
|
||
|
Boolean emptyUnits,
|
||
|
ItemCount * returnedRefNums,
|
||
|
DriverRefNum * refNums);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* HighestUnitNumber()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( UnitNumber )
|
||
|
HighestUnitNumber(void);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DriverGestaltOn()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
DriverGestaltOn(DriverRefNum refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DriverGestaltOff()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
DriverGestaltOff(DriverRefNum refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DriverGestaltIsOn()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DriverLoaderLib 1.0 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( Boolean )
|
||
|
DriverGestaltIsOn(DriverFlags flags);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBOpenSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBOpenSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBOpenSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA000);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBOpenAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBOpenAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBOpenAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA400);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBOpenImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBOpenImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBOpenImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
* PBCloseSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBCloseSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBCloseSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA001);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBCloseAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBCloseAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBCloseAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA401);
|
||
|
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* PBCloseImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBCloseImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBCloseImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA201);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
* PBReadSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBReadSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBReadSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA002);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBReadAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBReadAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBReadAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA402);
|
||
|
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* PBReadImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBReadImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBReadImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA202);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
* PBWriteSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBWriteSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBWriteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA003);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBWriteAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBWriteAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBWriteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA403);
|
||
|
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* PBWriteImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBWriteImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBWriteImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA203);
|
||
|
|
||
|
|
||
|
/*
|
||
|
PBWaitIOComplete is a friendly way for applications to monitor
|
||
|
a pending asynchronous I/O operation in power-managed and
|
||
|
preemptive multitasking systems.
|
||
|
*/
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
* PBWaitIOComplete()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 9.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
PBWaitIOComplete(
|
||
|
ParmBlkPtr paramBlock,
|
||
|
Duration timeout);
|
||
|
|
||
|
|
||
|
/* AddDrive and GetDrvQHdr are now defined in Disks.h/p/a */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* GetDCtlEntry()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( DCtlHandle )
|
||
|
GetDCtlEntry(short refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
SetChooserAlert used to simply set a bit in a low-mem global
|
||
|
to tell the Chooser not to display its warning message when
|
||
|
the printer is changed. However, under MultiFinder and System 7,
|
||
|
this low-mem is swapped out when a layer change occurs, and the
|
||
|
Chooser never sees the change. It is obsolete, and completely
|
||
|
unsupported on the PowerPC. 68K apps can still call it if they
|
||
|
wish.
|
||
|
|
||
|
pascal Boolean SetChooserAlert(Boolean f);
|
||
|
|
||
|
*/
|
||
|
/*
|
||
|
* DriverInstall()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 DriverInstall(__A0, __D0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
DriverInstall(
|
||
|
DRVRHeaderPtr drvrPtr,
|
||
|
short refNum) ONEWORDINLINE(0xA03D);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DriverInstallReserveMem()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 DriverInstallReserveMem(__A0, __D0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
DriverInstallReserveMem(
|
||
|
DRVRHeaderPtr drvrPtr,
|
||
|
short refNum) ONEWORDINLINE(0xA43D);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
|
||
|
There will soon be a DriverInstall() which does the right thing.
|
||
|
|
||
|
DrvrRemove has been renamed to DriverRemove. But, InterfaceLib for PowerPC
|
||
|
still exports DrvrRemove, so a macro is used to map the new name to old.
|
||
|
|
||
|
*/
|
||
|
/*
|
||
|
* DrvrRemove()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 DrvrRemove(__D0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
DrvrRemove(short refNum) ONEWORDINLINE(0xA03E);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#define DriverRemove(refNum) DrvrRemove(refNum)
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* [Mac]OpenDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC
|
||
|
#define MacOpenDriver OpenDriver
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
MacOpenDriver(
|
||
|
ConstStr255Param name,
|
||
|
short * drvrRefNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* [Mac]CloseDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC
|
||
|
#define MacCloseDriver CloseDriver
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
MacCloseDriver(short refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Control()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
Control(
|
||
|
short refNum,
|
||
|
short csCode,
|
||
|
const void * csParamPtr);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Status()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
Status(
|
||
|
short refNum,
|
||
|
short csCode,
|
||
|
void * csParamPtr);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* KillIO()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
KillIO(short refNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Fetch()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 Fetch(__A1)
|
||
|
#endif
|
||
|
EXTERN_API( long )
|
||
|
Fetch(DCtlPtr dce) THREEWORDINLINE(0x2078, 0x08F4, 0x4E90);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Stash()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 Stash(__A1, __D0)
|
||
|
#endif
|
||
|
EXTERN_API( long )
|
||
|
Stash(
|
||
|
DCtlPtr dce,
|
||
|
char data) THREEWORDINLINE(0x2078, 0x08F8, 0x4E90);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* IODone()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter IODone(__A1, __D0)
|
||
|
#endif
|
||
|
EXTERN_API( void )
|
||
|
IODone(
|
||
|
DCtlPtr dce,
|
||
|
OSErr ioResult) THREEWORDINLINE(0x2078, 0x08FC, 0x4E90);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* PBControlSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBControlSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBControlSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA004);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBControlAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBControlAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBControlAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA404);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBControlImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBControlImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBControlImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA204);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBStatusSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBStatusSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBStatusSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA005);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBStatusAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBStatusAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBStatusAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA405);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBStatusImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBStatusImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBStatusImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA205);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBKillIOSync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBKillIOSync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBKillIOSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA006);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBKillIOAsync()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBKillIOAsync(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBKillIOAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA406);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PBKillIOImmed()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
||
|
#pragma parameter __D0 PBKillIOImmed(__A0)
|
||
|
#endif
|
||
|
EXTERN_API( OSErr )
|
||
|
PBKillIOImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA206);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* OpenDeskAcc()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( short )
|
||
|
OpenDeskAcc(ConstStr255Param deskAccName) ONEWORDINLINE(0xA9B6);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* CloseDeskAcc()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
CloseDeskAcc(short refNum) ONEWORDINLINE(0xA9B7);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* opendeskacc()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( short )
|
||
|
opendeskacc(const char * deskAccName);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* opendriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( OSErr )
|
||
|
opendriver(
|
||
|
const char * driverName,
|
||
|
short * refNum);
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
The PBxxx() routines are obsolete.
|
||
|
|
||
|
Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
|
||
|
*/
|
||
|
#define PBControl(pb, async) ((async) ? PBControlAsync(pb) : PBControlSync(pb))
|
||
|
#define PBStatus(pb, async) ((async) ? PBStatusAsync(pb) : PBStatusSync(pb))
|
||
|
#define PBKillIO(pb, async) ((async) ? PBKillIOAsync(pb) : PBKillIOSync(pb))
|
||
|
|
||
|
#define PBOpen(pb, async) ((async) ? PBOpenAsync(pb) : PBOpenSync(pb))
|
||
|
#define PBClose(pb, async) ((async) ? PBCloseAsync(pb) : PBCloseSync(pb))
|
||
|
#define PBRead(pb, async) ((async) ? PBReadAsync(pb) : PBReadSync(pb))
|
||
|
#define PBWrite(pb, async) ((async) ? PBWriteAsync(pb) : PBWriteSync(pb))
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(pop)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PRAGMA_IMPORT_OFF
|
||
|
#pragma import off
|
||
|
#elif PRAGMA_IMPORT
|
||
|
#pragma import reset
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __DEVICES__ */
|
||
|
|