34 #ifndef __NAMEREGISTRY__
38 #ifndef __CODEFRAGMENTS__
42 #ifndef __MULTIPROCESSING__
46 #ifndef __DRIVERFAMILYMATCHING__
67 #if PRAGMA_STRUCT_ALIGN
68 #pragma options align = mac68k
69 #elif PRAGMA_STRUCT_PACKPUSH
71 #elif PRAGMA_STRUCT_PACK
155 dNeedLockMask = 0x4000,
159 dNeedGoodByeMask = 0x1000,
161 dStatEnableMask = 0x0800,
162 dCtlEnableMask = 0x0400,
163 dWritEnableMask = 0x0200,
164 dReadEnableMask = 0x0100
178 dVMImmuneMask = 0x0001,
179 dOpenedMask = 0x0020,
180 dRAMBasedMask = 0x0040,
181 drvrActiveMask = 0x0080
195 unsigned char drvrName[1];
203 volatile short dCtlFlags;
205 volatile long dCtlPosition;
220 volatile short dCtlFlags;
242 typedef UInt16 UnitNumber;
243 typedef UInt32 DriverOpenCount;
244 typedef SInt16 DriverRefNum;
245 typedef SInt16 DriverFlags;
246 typedef UInt32 IOCommandCode;
256 kInitializeCommand = 7,
257 kFinalizeCommand = 8,
259 kSupersededCommand = 10,
260 kSuspendCommand = 11,
267 kPowerManagementCommand = 13
271 typedef MPAddressSpaceID AddressSpaceID;
272 typedef struct OpaqueIOCommandID *IOCommandID;
273 typedef UInt32 IOCommandKind;
276 kSynchronousIOCommandKind = 0x00000001,
277 kAsynchronousIOCommandKind = 0x00000002,
278 kImmediateIOCommandKind = 0x00000004
311 typedef CALLBACK_API_C(OSErr, DriverEntryPointPtr)(AddressSpaceID SpaceID,
312 IOCommandID CommandID,
336 #define DECLARE_DRIVERDESCRIPTION(N_ADDITIONAL_SERVICES) \
339 DriverDescription fixed; \
340 DriverServiceInfo additional_service[N_ADDITIONAL_SERVICES - 1]; \
343 #if CALL_NOT_IN_CARBON
366 DriverEntryPointPtr *fragmentMain,
379 CFragConnectionID *fragmentConnID,
380 DriverEntryPointPtr *fragmentMain,
393 DriverEntryPointPtr *fragmentMain,
406 CFragConnectionID *fragmentConnID,
407 DriverEntryPointPtr *fragmentMain,
420 UnitNumber beginningUnit, UnitNumber endingUnit,
421 DriverRefNum *refNum);
433 UnitNumber beginningUnit, UnitNumber endingUnit,
434 DriverRefNum *refNum);
447 UnitNumber endingUnit, DriverRefNum *refNum);
460 UnitNumber theEndingUnit, DriverRefNum *theRefNum);
472 UnitNumber theBeginningUnit, UnitNumber theEndingUnit,
473 DriverRefNum *theRefNum);
515 ItemCount *nFileBasedDrivers);
532 ItemCount *nFileBasedDrivers);
545 ItemCount nFileBasedDrivers,
547 ItemCount *nMatchingDrivers);
560 ItemCount nFileBasedDrivers,
562 ItemCount *nMatchingDrivers);
587 ItemCount *nCompatibleNames);
599 ItemCount nCompatibleNames,
long *nameCount);
611 DriverEntryPointPtr *fragmentMain,
624 UnitNumber endingUnit, DriverRefNum *refNum);
636 DriverFlags *flags, DriverOpenCount *count,
StringPtr name,
639 CFragConnectionID *fragmentConnID,
640 DriverEntryPointPtr *fragmentMain,
689 CFragConnectionID fragmentConnID);
734 Boolean emptyUnits, ItemCount *returnedRefNums,
735 DriverRefNum *refNums);
789 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
790 #pragma parameter __D0 PBOpenSync(__A0)
803 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
804 #pragma parameter __D0 PBOpenAsync(__A0)
817 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
818 #pragma parameter __D0 PBOpenImmed(__A0)
833 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
834 #pragma parameter __D0 PBCloseSync(__A0)
847 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
848 #pragma parameter __D0 PBCloseAsync(__A0)
853 #if CALL_NOT_IN_CARBON
862 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
863 #pragma parameter __D0 PBCloseImmed(__A0)
878 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
879 #pragma parameter __D0 PBReadSync(__A0)
892 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
893 #pragma parameter __D0 PBReadAsync(__A0)
898 #if CALL_NOT_IN_CARBON
907 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
908 #pragma parameter __D0 PBReadImmed(__A0)
923 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
924 #pragma parameter __D0 PBWriteSync(__A0)
937 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
938 #pragma parameter __D0 PBWriteAsync(__A0)
943 #if CALL_NOT_IN_CARBON
952 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
953 #pragma parameter __D0 PBWriteImmed(__A0)
978 #if CALL_NOT_IN_CARBON
1010 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1011 #pragma parameter __D0 DriverInstall(__A0, __D0)
1024 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1025 #pragma parameter __D0 DriverInstallReserveMem(__A0, __D0)
1047 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1048 #pragma parameter __D0 DrvrRemove(__D0)
1055 #define DriverRemove(refNum) DrvrRemove(refNum)
1057 #if CALL_NOT_IN_CARBON
1067 #define MacOpenDriver OpenDriver
1081 #define MacCloseDriver CloseDriver
1095 Control(
short refNum,
short csCode,
const void *csParamPtr);
1106 Status(
short refNum,
short csCode,
void *csParamPtr);
1138 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1139 #pragma parameter __D0 Fetch(__A1)
1152 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1153 #pragma parameter __D0 Stash(__A1, __D0)
1166 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1167 #pragma parameter IODone(__A1, __D0)
1174 #if CALL_NOT_IN_CARBON
1183 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1184 #pragma parameter __D0 PBControlSync(__A0)
1197 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1198 #pragma parameter __D0 PBControlAsync(__A0)
1211 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1212 #pragma parameter __D0 PBControlImmed(__A0)
1225 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1226 #pragma parameter __D0 PBStatusSync(__A0)
1239 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1240 #pragma parameter __D0 PBStatusAsync(__A0)
1253 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1254 #pragma parameter __D0 PBStatusImmed(__A0)
1267 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1268 #pragma parameter __D0 PBKillIOSync(__A0)
1281 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1282 #pragma parameter __D0 PBKillIOAsync(__A0)
1295 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1296 #pragma parameter __D0 PBKillIOImmed(__A0)
1342 if (HiWord(mr) == FILE_MENU)
1344 if (LoWord(mr) == CLOSE_ITM)
1354 CloseDeskAcc(wPeek->windowKind);
1358 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
1359 * \non_carbon_cfm in InterfaceLib 7.1 and
1361 * \carbon_lib not available * \mac_os_x not available *
1364 CloseDeskAcc(
short refNum);
1368 #if CALL_NOT_IN_CARBON
1378 opendeskacc(
const char *deskAccName);
1389 opendriver(
const char *driverName,
short *refNum);
1398 #define PBControl(pb, async) ((async) ? PBControlAsync(pb) : PBControlSync(pb))
1399 #define PBStatus(pb, async) ((async) ? PBStatusAsync(pb) : PBStatusSync(pb))
1400 #define PBKillIO(pb, async) ((async) ? PBKillIOAsync(pb) : PBKillIOSync(pb))
1402 #define PBOpen(pb, async) ((async) ? PBOpenAsync(pb) : PBOpenSync(pb))
1403 #define PBClose(pb, async) ((async) ? PBCloseAsync(pb) : PBCloseSync(pb))
1404 #define PBRead(pb, async) ((async) ? PBReadAsync(pb) : PBReadSync(pb))
1405 #define PBWrite(pb, async) ((async) ? PBWriteAsync(pb) : PBWriteSync(pb))
1407 #if PRAGMA_STRUCT_ALIGN
1408 #pragma options align = reset
1409 #elif PRAGMA_STRUCT_PACKPUSH
1411 #elif PRAGMA_STRUCT_PACK
1415 #ifdef PRAGMA_IMPORT_OFF
1418 #pragma import reset
Public Code Fragment Manager Interfaces.
OSErr PBReadSync(ParmBlkPtr paramBlock)
OSErr PBControlImmed(ParmBlkPtr paramBlock)
OSErr PBOpenSync(ParmBlkPtr paramBlock)
OSErr DriverInstallReserveMem(DRVRHeaderPtr drvrPtr, short refNum)
OSErr InstallDriverFromFragment(CFragConnectionID fragmentConnID, RegEntryID *device, UnitNumber beginningUnit, UnitNumber endingUnit, DriverRefNum *refNum)
short OpenDeskAcc(ConstStr255Param deskAccName)
OSErr DrvrRemove(short refNum)
OSErr DriverInstall(DRVRHeaderPtr drvrPtr, short refNum)
OSErr InstallDriverFromResource(SInt16 theRsrcID, ConstStr255Param theRsrcName, RegEntryIDPtr theDevice, UnitNumber theBeginningUnit, UnitNumber theEndingUnit, DriverRefNum *theRefNum)
OSErr GetDriverMemoryFragment(Ptr memAddr, long length, ConstStr63Param fragName, CFragConnectionID *fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescriptionPtr *driverDesc)
OSErr InstallDriverFromDisk(Ptr theDriverName, RegEntryID *theDevice, UnitNumber theBeginningUnit, UnitNumber theEndingUnit, DriverRefNum *theRefNum)
OSErr Status(short refNum, short csCode, void *csParamPtr)
OSErr PBKillIOAsync(ParmBlkPtr paramBlock)
OSErr PBWriteSync(ParmBlkPtr paramBlock)
OSErr GetNamedDriverDiskFragment(FSSpecPtr fragmentSpec, ConstStr63Param fragName, CFragConnectionID *fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescriptionPtr *driverDesc)
OSErr Control(short refNum, short csCode, const void *csParamPtr)
OSErr InstallDriverFromMemory(Ptr memory, long length, ConstStr63Param fragName, RegEntryID *device, UnitNumber beginningUnit, UnitNumber endingUnit, DriverRefNum *refNum)
OSErr PBReadAsync(ParmBlkPtr paramBlock)
OSErr PBReadImmed(ParmBlkPtr paramBlock)
OSErr MacOpenDriver(ConstStr255Param name, short *drvrRefNum)
OSErr PBWaitIOComplete(ParmBlkPtr paramBlock, Duration timeout)
OSStatus GetNamedDriverDescFromFSSpec(FSSpecPtr fragmentSpec, StringPtr fragName, DriverDescriptionPtr *driverDesc)
OSErr VerifyFragmentAsDriver(CFragConnectionID fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescriptionPtr *driverDesc)
SInt16 HigherDriverVersion(const NumVersion *driverVersion1, const NumVersion *driverVersion2)
OSErr ReplaceDriverWithFragment(DriverRefNum theRefNum, CFragConnectionID fragmentConnID)
UnitNumber HighestUnitNumber(void)
OSErr SetDriverClosureMemory(CFragConnectionID fragmentConnID, Boolean holdDriverMemory)
OSErr PBStatusImmed(ParmBlkPtr paramBlock)
OSErr KillIO(short refNum)
Terminate all current and pending device driver reads and writes.
void GetCompatibleProperty(RegEntryID *device, StringPtr *compatibleNames, ItemCount *nCompatibleNames)
OSErr LookupDrivers(UnitNumber beginningUnit, UnitNumber endingUnit, Boolean emptyUnits, ItemCount *returnedRefNums, DriverRefNum *refNums)
OSErr GetDriverInformation(DriverRefNum refNum, UnitNumber *unitNum, DriverFlags *flags, DriverOpenCount *count, StringPtr name, RegEntryID *device, CFragSystem7Locator *driverLoadLocation, CFragConnectionID *fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescription *driverDesc)
OSErr DriverGestaltOn(DriverRefNum refNum)
OSErr PBCloseImmed(ParmBlkPtr paramBlock)
OSErr InstallDriverForDevice(RegEntryID *device, UnitNumber beginningUnit, UnitNumber endingUnit, DriverRefNum *refNum)
OSErr FindDriverCandidates(RegEntryID *deviceID, Ptr *propBasedDriver, RegPropertyValueSize *propBasedDriverSize, StringPtr deviceName, MacDriverType *propBasedDriverType, Boolean *gotPropBasedDriver, FileBasedDriverRecordPtr fileBasedDrivers, ItemCount *nFileBasedDrivers)
OSErr PBCloseAsync(ParmBlkPtr paramBlock)
OSErr GetDriverDescription(LogicalAddress fragmentPtr, DriverDescriptionPtr *theDriverDesc)
void IODone(DCtlPtr dce, OSErr ioResult)
OSErr FindDriversForDevice(RegEntryID *device, FSSpec *fragmentSpec, DriverDescription *fileDriverDesc, Ptr *memAddr, long *length, StringPtr fragName, DriverDescription *memDriverDesc)
OSErr DriverGestaltOff(DriverRefNum refNum)
OSErr FindDriverForDeviceFromFile(RegEntryID *device, FSSpec *fragmentSpec, DriverDescription *driverDesc, StringPtr fragName)
OSErr PBStatusSync(ParmBlkPtr paramBlock)
OSErr PBCloseSync(ParmBlkPtr paramBlock)
DCtlHandle GetDCtlEntry(short refNum)
Boolean DriverGestaltIsOn(DriverFlags flags)
SInt16 CompareFileCandToPropCand(RegEntryID *device, StringPtr deviceName, DriverTypePtr propBasedCandidate, FileBasedDriverRecordPtr fileBasedCandidate)
OSErr PBStatusAsync(ParmBlkPtr paramBlock)
OSErr RemoveDriver(DriverRefNum refNum, Boolean immediate)
OSErr MacCloseDriver(short refNum)
OSErr PBOpenImmed(ParmBlkPtr paramBlock)
OSErr PBKillIOImmed(ParmBlkPtr paramBlock)
OSErr ScanDriverCandidatesDetailed(RegEntryID *deviceID, FileBasedDriverDetailedPtr fileBasedDrivers, ItemCount nFileBasedDrivers, FileBasedDriverDetailedPtr matchingDrivers, ItemCount *nMatchingDrivers)
Boolean CompatibleDriverNames(StringPtr nameInfoStr, StringPtr compatibleNames, ItemCount nCompatibleNames, long *nameCount)
OSErr PBKillIOSync(ParmBlkPtr paramBlock)
OSErr InstallDriverFromFile(FSSpecPtr fragmentSpec, RegEntryID *device, UnitNumber beginningUnit, UnitNumber endingUnit, DriverRefNum *refNum)
OSErr FindDriverCandidatesDetailed(RegEntryIDPtr deviceID, Ptr *propBasedDriver, RegPropertyValueSize *propBasedDriverSize, StringPtr deviceName, MacDriverType *propBasedDriverType, Boolean *gotPropBasedDriver, FileBasedDriverDetailedPtr fileBasedDrivers, ItemCount *nFileBasedDrivers)
long Stash(DCtlPtr dce, char data)
OSErr PBControlAsync(ParmBlkPtr paramBlock)
OSErr RenameDriver(DriverRefNum refNum, StringPtr newDriverName)
OSErr PBWriteImmed(ParmBlkPtr paramBlock)
OSErr PBOpenAsync(ParmBlkPtr paramBlock)
OSErr OpenInstalledDriver(DriverRefNum refNum, SInt8 ioPermission)
OSErr GetDriverDiskFragment(FSSpecPtr fragmentSpec, CFragConnectionID *fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescriptionPtr *driverDesc)
OSErr GetDriverForDevice(RegEntryID *device, CFragConnectionID *fragmentConnID, DriverEntryPointPtr *fragmentMain, DriverDescriptionPtr *driverDesc)
OSErr PBControlSync(ParmBlkPtr paramBlock)
OSErr PBWriteAsync(ParmBlkPtr paramBlock)
OSErr ScanDriverCandidates(RegEntryID *deviceID, FileBasedDriverRecordPtr fileBasedDrivers, ItemCount nFileBasedDrivers, FileBasedDriverRecordPtr matchingDrivers, ItemCount *nMatchingDrivers)
Interfaces for create native drivers NDRV.
File Manager (MFS, HFS, and HFS+) Interfaces.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
WindowRef FrontWindow(void)
Return a pointer to the frontmost window.
Multiprocessing interfaces.
UInt32 RegPropertyValueSize
Definition: NameRegistry.h:55
Interface to Quickdraw Graphics.
Definition: Devices.h:218
Definition: CodeFragments.h:500
Definition: Devices.h:201
Definition: DriverFamilyMatching.h:177
Definition: Devices.h:291
Definition: Devices.h:282
Definition: Devices.h:329
Definition: Devices.h:318
Definition: Quickdraw.h:1648
Definition: DriverFamilyMatching.h:79
Definition: MacTypes.h:638
Definition: OSUtils.h:154
Definition: NameRegistry.h:62
Definition: MacWindows.h:754
Definition: Devices.h:303