Devices.pas 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173
  1. {
  2. File: Devices.p
  3. Contains: Device Manager Interfaces.
  4. Version: Technology: Mac OS 8
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1985-2002 by Apple Computer, Inc., all rights reserved
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {
  12. Modified for use with Free Pascal
  13. Version 200
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$CALLING MWPASCAL}
  21. unit Devices;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  24. {$setc GAP_INTERFACES_VERSION := $0200}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __i386__ and defined CPUI386}
  40. {$setc __i386__ := 1}
  41. {$elsec}
  42. {$setc __i386__ := 0}
  43. {$endc}
  44. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  45. {$error Conflicting definitions for __ppc__ and __i386__}
  46. {$endc}
  47. {$ifc defined __ppc__ and __ppc__}
  48. {$setc TARGET_CPU_PPC := TRUE}
  49. {$setc TARGET_CPU_X86 := FALSE}
  50. {$elifc defined __i386__ and __i386__}
  51. {$setc TARGET_CPU_PPC := FALSE}
  52. {$setc TARGET_CPU_X86 := TRUE}
  53. {$elsec}
  54. {$error Neither __ppc__ nor __i386__ is defined.}
  55. {$endc}
  56. {$setc TARGET_CPU_PPC_64 := FALSE}
  57. {$ifc defined FPC_BIG_ENDIAN}
  58. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  59. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  60. {$elifc defined FPC_LITTLE_ENDIAN}
  61. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  62. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  63. {$elsec}
  64. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  65. {$endc}
  66. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  67. {$setc CALL_NOT_IN_CARBON := FALSE}
  68. {$setc OLDROUTINENAMES := FALSE}
  69. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  70. {$setc OPAQUE_UPP_TYPES := TRUE}
  71. {$setc OTCARBONAPPLICATION := TRUE}
  72. {$setc OTKERNEL := FALSE}
  73. {$setc PM_USE_SESSION_APIS := TRUE}
  74. {$setc TARGET_API_MAC_CARBON := TRUE}
  75. {$setc TARGET_API_MAC_OS8 := FALSE}
  76. {$setc TARGET_API_MAC_OSX := TRUE}
  77. {$setc TARGET_CARBON := TRUE}
  78. {$setc TARGET_CPU_68K := FALSE}
  79. {$setc TARGET_CPU_MIPS := FALSE}
  80. {$setc TARGET_CPU_SPARC := FALSE}
  81. {$setc TARGET_OS_MAC := TRUE}
  82. {$setc TARGET_OS_UNIX := FALSE}
  83. {$setc TARGET_OS_WIN32 := FALSE}
  84. {$setc TARGET_RT_MAC_68881 := FALSE}
  85. {$setc TARGET_RT_MAC_CFM := FALSE}
  86. {$setc TARGET_RT_MAC_MACHO := TRUE}
  87. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  88. {$setc TYPE_BOOL := FALSE}
  89. {$setc TYPE_EXTENDED := FALSE}
  90. {$setc TYPE_LONGLONG := TRUE}
  91. uses MacTypes,OSUtils,Files,Quickdraw,NameRegistry,CodeFragments,Multiprocessing,DriverFamilyMatching;
  92. {$ALIGN MAC68K}
  93. { Values of the 'message' parameter to a Chooser device package }
  94. const
  95. chooserInitMsg = 11; { the user selected this device package }
  96. newSelMsg = 12; { the user made new device selections }
  97. fillListMsg = 13; { fill the device list with choices }
  98. getSelMsg = 14; { mark one or more choices as selected }
  99. selectMsg = 15; { the user made a selection }
  100. deselectMsg = 16; { the user canceled a selection }
  101. terminateMsg = 17; { allows device package to clean up }
  102. buttonMsg = 19; { the user selected a button }
  103. { Values of the 'caller' parameter to a Chooser device package }
  104. chooserID = 1;
  105. { Values of the 'message' parameter to a Monitor 'mntr' }
  106. initMsg = 1; { initialization }
  107. okMsg = 2; { user clicked OK button }
  108. cancelMsg = 3; { user clicked Cancel button }
  109. hitMsg = 4; { user clicked control in Options dialog }
  110. nulMsg = 5; { periodic event }
  111. updateMsg = 6; { update event }
  112. activateMsg = 7; { not used }
  113. deactivateMsg = 8; { not used }
  114. keyEvtMsg = 9; { keyboard event }
  115. superMsg = 10; { show superuser controls }
  116. normalMsg = 11; { show only normal controls }
  117. startupMsg = 12; { code has been loaded }
  118. { control codes for DeskAccessories }
  119. goodbye = -1; { heap being reinitialized }
  120. killCode = 1; { KillIO requested }
  121. accEvent = 64; { handle an event }
  122. accRun = 65; { time for periodic action }
  123. accCursor = 66; { change cursor shape }
  124. accMenu = 67; { handle menu item }
  125. accUndo = 68; { handle undo command }
  126. accCut = 70; { handle cut command }
  127. accCopy = 71; { handle copy command }
  128. accPaste = 72; { handle paste command }
  129. accClear = 73; { handle clear command }
  130. { Control/Status Call Codes }
  131. { drvStsCode, ejectCode and tgBuffCode are now defined in Disks.h/p/a }
  132. { miscellaneous Device Manager constants }
  133. ioInProgress = 1; { predefined value of ioResult while I/O is pending }
  134. aRdCmd = 2; { low byte of ioTrap for Read calls }
  135. aWrCmd = 3; { low byte of ioTrap for Write calls }
  136. asyncTrpBit = 10; { trap word modifier }
  137. noQueueBit = 9; { trap word modifier }
  138. { flags used in the driver header and device control entry }
  139. dReadEnable = 0; { set if driver responds to read requests }
  140. dWritEnable = 1; { set if driver responds to write requests }
  141. dCtlEnable = 2; { set if driver responds to control requests }
  142. dStatEnable = 3; { set if driver responds to status requests }
  143. dNeedGoodBye = 4; { set if driver needs time for performing periodic tasks }
  144. dNeedTime = 5; { set if driver needs time for performing periodic tasks }
  145. dNeedLock = 6; { set if driver must be locked in memory as soon as it is opened }
  146. dNeedLockMask = $4000; { set if driver must be locked in memory as soon as it is opened }
  147. dNeedTimeMask = $2000; { set if driver needs time for performing periodic tasks }
  148. dNeedGoodByeMask = $1000; { set if driver needs to be called before the application heap is initialized }
  149. dStatEnableMask = $0800; { set if driver responds to status requests }
  150. dCtlEnableMask = $0400; { set if driver responds to control requests }
  151. dWritEnableMask = $0200; { set if driver responds to write requests }
  152. dReadEnableMask = $0100; { set if driver responds to read requests }
  153. { run-time flags used in the device control entry }
  154. dVMImmuneBit = 0; { driver does not need VM protection }
  155. dOpened = 5; { driver is open }
  156. dRAMBased = 6; { dCtlDriver is a handle (1) or pointer (0) }
  157. drvrActive = 7; { driver is currently processing a request }
  158. dVMImmuneMask = $0001; { driver does not need VM protection }
  159. dOpenedMask = $0020; { driver is open }
  160. dRAMBasedMask = $0040; { dCtlDriver is a handle (1) or pointer (0) }
  161. drvrActiveMask = $0080; { driver is currently processing a request }
  162. type
  163. DRVRHeaderPtr = ^DRVRHeader;
  164. DRVRHeader = record
  165. drvrFlags: SInt16;
  166. drvrDelay: SInt16;
  167. drvrEMask: SInt16;
  168. drvrMenu: SInt16;
  169. drvrOpen: SInt16;
  170. drvrPrime: SInt16;
  171. drvrCtl: SInt16;
  172. drvrStatus: SInt16;
  173. drvrClose: SInt16;
  174. drvrName: SInt8;
  175. end;
  176. DRVRHeaderHandle = ^DRVRHeaderPtr;
  177. DCtlEntryPtr = ^DCtlEntry;
  178. DCtlEntry = record
  179. dCtlDriver: Ptr;
  180. dCtlFlags: SInt16;
  181. dCtlQHdr: QHdr;
  182. dCtlPosition: SInt32;
  183. dCtlStorage: Handle;
  184. dCtlRefNum: SInt16;
  185. dCtlCurTicks: SInt32;
  186. dCtlWindow: GrafPtr;
  187. dCtlDelay: SInt16;
  188. dCtlEMask: SInt16;
  189. dCtlMenu: SInt16;
  190. end;
  191. DCtlPtr = ^DCtlEntry;
  192. DCtlHandle = ^DCtlPtr;
  193. AuxDCEPtr = ^AuxDCE;
  194. AuxDCE = packed record
  195. dCtlDriver: Ptr;
  196. dCtlFlags: SInt16;
  197. dCtlQHdr: QHdr;
  198. dCtlPosition: SInt32;
  199. dCtlStorage: Handle;
  200. dCtlRefNum: SInt16;
  201. dCtlCurTicks: SInt32;
  202. dCtlWindow: GrafPtr;
  203. dCtlDelay: SInt16;
  204. dCtlEMask: SInt16;
  205. dCtlMenu: SInt16;
  206. dCtlSlot: SInt8;
  207. dCtlSlotId: SInt8;
  208. dCtlDevBase: SInt32;
  209. dCtlOwner: Ptr;
  210. dCtlExtDev: SInt8;
  211. fillByte: SInt8;
  212. dCtlNodeID: UInt32;
  213. end;
  214. AuxDCEHandle = ^AuxDCEPtr;
  215. { The NDRV Driver IO Entry Point and Commands }
  216. UnitNumber = UInt16;
  217. DriverOpenCount = UInt32;
  218. DriverRefNum = SInt16;
  219. DriverFlags = SInt16;
  220. IOCommandCode = UInt32;
  221. const
  222. kOpenCommand = 0;
  223. kCloseCommand = 1;
  224. kReadCommand = 2;
  225. kWriteCommand = 3;
  226. kControlCommand = 4;
  227. kStatusCommand = 5;
  228. kKillIOCommand = 6;
  229. kInitializeCommand = 7; { init driver and device }
  230. kFinalizeCommand = 8; { shutdown driver and device }
  231. kReplaceCommand = 9; { replace an old driver }
  232. kSupersededCommand = 10; { prepare to be replaced by a new driver }
  233. kSuspendCommand = 11; { prepare driver to go to sleep }
  234. kResumeCommand = 12; { wake up sleeping driver }
  235. { one more IOCommandCode }
  236. kPowerManagementCommand = 13; { power management command, supercedes kSuspendCommand and kResumeCommand }
  237. type
  238. AddressSpaceID = MPAddressSpaceID;
  239. IOCommandID = ^SInt32; { an opaque 32-bit type }
  240. IOCommandIDPtr = ^IOCommandID; { when a var xx:IOCommandID parameter can be nil, it is changed to xx: IOCommandIDPtr }
  241. IOCommandKind = UInt32;
  242. const
  243. kSynchronousIOCommandKind = $00000001;
  244. kAsynchronousIOCommandKind = $00000002;
  245. kImmediateIOCommandKind = $00000004;
  246. type
  247. DriverInitInfoPtr = ^DriverInitInfo;
  248. DriverInitInfo = record
  249. refNum: DriverRefNum;
  250. deviceEntry: RegEntryID;
  251. end;
  252. DriverReplaceInfo = DriverInitInfo;
  253. DriverReplaceInfoPtr = ^DriverReplaceInfo;
  254. DriverFinalInfoPtr = ^DriverFinalInfo;
  255. DriverFinalInfo = record
  256. refNum: DriverRefNum;
  257. deviceEntry: RegEntryID;
  258. end;
  259. DriverSupersededInfo = DriverFinalInfo;
  260. DriverSupersededInfoPtr = ^DriverSupersededInfo;
  261. { Contents are command specific }
  262. IOCommandContentsPtr = ^IOCommandContents;
  263. IOCommandContents = record
  264. case SInt16 of
  265. 0: (
  266. pb: ParmBlkPtr;
  267. );
  268. 1: (
  269. initialInfo: DriverInitInfoPtr;
  270. );
  271. 2: (
  272. finalInfo: DriverFinalInfoPtr;
  273. );
  274. 3: (
  275. replaceInfo: DriverReplaceInfoPtr;
  276. );
  277. 4: (
  278. supersededInfo: DriverSupersededInfoPtr;
  279. );
  280. end;
  281. {$ifc TYPED_FUNCTION_POINTERS}
  282. DriverEntryPointPtr = function(SpaceID: AddressSpaceID; CommandID: IOCommandID; Contents: IOCommandContents; Code: IOCommandCode; Kind: IOCommandKind): OSErr;
  283. {$elsec}
  284. DriverEntryPointPtr = ProcPtr;
  285. {$endc}
  286. { Record to describe a file-based driver candidate }
  287. FileBasedDriverRecordPtr = ^FileBasedDriverRecord;
  288. FileBasedDriverRecord = record
  289. theSpec: FSSpec; { file specification }
  290. theType: MacDriverType; { nameInfoStr + version number }
  291. compatibleProp: boolean; { true if matched using a compatible name }
  292. pad1,pad2,pad3: SInt8; { alignment }
  293. end;
  294. { Detailed Record to describe a file-based driver candidate. Includes fragment name }
  295. FileBasedDriverDetailedPtr = ^FileBasedDriverDetailed;
  296. FileBasedDriverDetailed = record
  297. fileBasedDriver: FileBasedDriverRecord;
  298. fragName: Str63;
  299. end;
  300. { Driver Loader API }
  301. {$ifc CALL_NOT_IN_CARBON}
  302. {
  303. * HigherDriverVersion()
  304. *
  305. * Availability:
  306. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  307. * CarbonLib: not available
  308. * Mac OS X: not available
  309. }
  310. function HigherDriverVersion(const (*var*) driverVersion1: NumVersion; const (*var*) driverVersion2: NumVersion): SInt16; external name '_HigherDriverVersion';
  311. {
  312. * VerifyFragmentAsDriver()
  313. *
  314. * Availability:
  315. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  316. * CarbonLib: not available
  317. * Mac OS X: not available
  318. }
  319. function VerifyFragmentAsDriver(fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescriptionPtr): OSErr; external name '_VerifyFragmentAsDriver';
  320. {
  321. * GetDriverMemoryFragment()
  322. *
  323. * Availability:
  324. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  325. * CarbonLib: not available
  326. * Mac OS X: not available
  327. }
  328. function GetDriverMemoryFragment(memAddr: Ptr; length: SInt32; const (*var*) fragName: Str63; var fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescriptionPtr): OSErr; external name '_GetDriverMemoryFragment';
  329. {
  330. * GetDriverDiskFragment()
  331. *
  332. * Availability:
  333. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  334. * CarbonLib: not available
  335. * Mac OS X: not available
  336. }
  337. function GetDriverDiskFragment(fragmentSpec: FSSpecPtr; var fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescriptionPtr): OSErr; external name '_GetDriverDiskFragment';
  338. {
  339. * GetNamedDriverDiskFragment()
  340. *
  341. * Availability:
  342. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  343. * CarbonLib: not available
  344. * Mac OS X: not available
  345. }
  346. function GetNamedDriverDiskFragment(fragmentSpec: FSSpecPtr; const (*var*) fragName: Str63; var fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescriptionPtr): OSErr; external name '_GetNamedDriverDiskFragment';
  347. {
  348. * InstallDriverFromFragment()
  349. *
  350. * Availability:
  351. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  352. * CarbonLib: not available
  353. * Mac OS X: not available
  354. }
  355. function InstallDriverFromFragment(fragmentConnID: CFragConnectionID; var device: RegEntryID; beginningUnit: UnitNumber; endingUnit: UnitNumber; var refNum: DriverRefNum): OSErr; external name '_InstallDriverFromFragment';
  356. {
  357. * InstallDriverFromFile()
  358. *
  359. * Availability:
  360. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  361. * CarbonLib: not available
  362. * Mac OS X: not available
  363. }
  364. function InstallDriverFromFile(fragmentSpec: FSSpecPtr; var device: RegEntryID; beginningUnit: UnitNumber; endingUnit: UnitNumber; var refNum: DriverRefNum): OSErr; external name '_InstallDriverFromFile';
  365. {
  366. * InstallDriverFromMemory()
  367. *
  368. * Availability:
  369. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  370. * CarbonLib: not available
  371. * Mac OS X: not available
  372. }
  373. function InstallDriverFromMemory(memory: Ptr; length: SInt32; const (*var*) fragName: Str63; var device: RegEntryID; beginningUnit: UnitNumber; endingUnit: UnitNumber; var refNum: DriverRefNum): OSErr; external name '_InstallDriverFromMemory';
  374. {
  375. * InstallDriverFromResource()
  376. *
  377. * Availability:
  378. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  379. * CarbonLib: not available
  380. * Mac OS X: not available
  381. }
  382. function InstallDriverFromResource(theRsrcID: SInt16; const (*var*) theRsrcName: Str255; theDevice: RegEntryIDPtr; theBeginningUnit: UnitNumber; theEndingUnit: UnitNumber; var theRefNum: DriverRefNum): OSErr; external name '_InstallDriverFromResource';
  383. {
  384. * InstallDriverFromDisk()
  385. *
  386. * Availability:
  387. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  388. * CarbonLib: not available
  389. * Mac OS X: not available
  390. }
  391. function InstallDriverFromDisk(theDriverName: Ptr; var theDevice: RegEntryID; theBeginningUnit: UnitNumber; theEndingUnit: UnitNumber; var theRefNum: DriverRefNum): OSErr; external name '_InstallDriverFromDisk';
  392. {
  393. * FindDriversForDevice()
  394. *
  395. * Availability:
  396. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  397. * CarbonLib: not available
  398. * Mac OS X: not available
  399. }
  400. function FindDriversForDevice(var device: RegEntryID; var fragmentSpec: FSSpec; var fileDriverDesc: DriverDescription; var memAddr: Ptr; var length: SInt32; fragName: StringPtr; var memDriverDesc: DriverDescription): OSErr; external name '_FindDriversForDevice';
  401. {
  402. * FindDriverForDeviceFromFile()
  403. *
  404. * Availability:
  405. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  406. * CarbonLib: not available
  407. * Mac OS X: not available
  408. }
  409. function FindDriverForDeviceFromFile(var device: RegEntryID; var fragmentSpec: FSSpec; var driverDesc: DriverDescription; fragName: StringPtr): OSErr; external name '_FindDriverForDeviceFromFile';
  410. {
  411. * FindDriverCandidates()
  412. *
  413. * Availability:
  414. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  415. * CarbonLib: not available
  416. * Mac OS X: not available
  417. }
  418. function FindDriverCandidates(var deviceID: RegEntryID; var propBasedDriver: Ptr; var propBasedDriverSize: RegPropertyValueSize; deviceName: StringPtr; var propBasedDriverType: MacDriverType; var gotPropBasedDriver: boolean; fileBasedDrivers: FileBasedDriverRecordPtr; var nFileBasedDrivers: ItemCount): OSErr; external name '_FindDriverCandidates';
  419. {
  420. * FindDriverCandidatesDetailed()
  421. *
  422. * Availability:
  423. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  424. * CarbonLib: not available
  425. * Mac OS X: not available
  426. }
  427. function FindDriverCandidatesDetailed(deviceID: RegEntryIDPtr; var propBasedDriver: Ptr; var propBasedDriverSize: RegPropertyValueSize; deviceName: StringPtr; var propBasedDriverType: MacDriverType; var gotPropBasedDriver: boolean; fileBasedDrivers: FileBasedDriverDetailedPtr; var nFileBasedDrivers: ItemCount): OSErr; external name '_FindDriverCandidatesDetailed';
  428. {
  429. * ScanDriverCandidates()
  430. *
  431. * Availability:
  432. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  433. * CarbonLib: not available
  434. * Mac OS X: not available
  435. }
  436. function ScanDriverCandidates(var deviceID: RegEntryID; fileBasedDrivers: FileBasedDriverRecordPtr; nFileBasedDrivers: ItemCount; matchingDrivers: FileBasedDriverRecordPtr; var nMatchingDrivers: ItemCount): OSErr; external name '_ScanDriverCandidates';
  437. {
  438. * ScanDriverCandidatesDetailed()
  439. *
  440. * Availability:
  441. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  442. * CarbonLib: not available
  443. * Mac OS X: not available
  444. }
  445. function ScanDriverCandidatesDetailed(var deviceID: RegEntryID; fileBasedDrivers: FileBasedDriverDetailedPtr; nFileBasedDrivers: ItemCount; matchingDrivers: FileBasedDriverDetailedPtr; var nMatchingDrivers: ItemCount): OSErr; external name '_ScanDriverCandidatesDetailed';
  446. {
  447. * CompareFileCandToPropCand()
  448. *
  449. * Availability:
  450. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  451. * CarbonLib: not available
  452. * Mac OS X: not available
  453. }
  454. function CompareFileCandToPropCand(var device: RegEntryID; deviceName: StringPtr; propBasedCandidate: DriverTypePtr; fileBasedCandidate: FileBasedDriverRecordPtr): SInt16; external name '_CompareFileCandToPropCand';
  455. {
  456. * GetCompatibleProperty()
  457. *
  458. * Availability:
  459. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  460. * CarbonLib: not available
  461. * Mac OS X: not available
  462. }
  463. procedure GetCompatibleProperty(var device: RegEntryID; var compatibleNames: StringPtr; var nCompatibleNames: ItemCount); external name '_GetCompatibleProperty';
  464. {
  465. * CompatibleDriverNames()
  466. *
  467. * Availability:
  468. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  469. * CarbonLib: not available
  470. * Mac OS X: not available
  471. }
  472. function CompatibleDriverNames(nameInfoStr: StringPtr; compatibleNames: StringPtr; nCompatibleNames: ItemCount; var nameCount: SInt32): boolean; external name '_CompatibleDriverNames';
  473. {
  474. * GetDriverForDevice()
  475. *
  476. * Availability:
  477. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  478. * CarbonLib: not available
  479. * Mac OS X: not available
  480. }
  481. function GetDriverForDevice(var device: RegEntryID; var fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescriptionPtr): OSErr; external name '_GetDriverForDevice';
  482. {
  483. * InstallDriverForDevice()
  484. *
  485. * Availability:
  486. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  487. * CarbonLib: not available
  488. * Mac OS X: not available
  489. }
  490. function InstallDriverForDevice(var device: RegEntryID; beginningUnit: UnitNumber; endingUnit: UnitNumber; var refNum: DriverRefNum): OSErr; external name '_InstallDriverForDevice';
  491. {
  492. * GetDriverInformation()
  493. *
  494. * Availability:
  495. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  496. * CarbonLib: not available
  497. * Mac OS X: not available
  498. }
  499. function GetDriverInformation(refNum: DriverRefNum; var unitNum: UnitNumber; var flags: DriverFlags; var count: DriverOpenCount; name: StringPtr; var device: RegEntryID; var driverLoadLocation: CFragSystem7Locator; var fragmentConnID: CFragConnectionID; var fragmentMain: DriverEntryPointPtr; var driverDesc: DriverDescription): OSErr; external name '_GetDriverInformation';
  500. {
  501. * GetDriverDescription()
  502. *
  503. * Availability:
  504. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  505. * CarbonLib: not available
  506. * Mac OS X: not available
  507. }
  508. function GetDriverDescription(fragmentPtr: LogicalAddress; var theDriverDesc: DriverDescriptionPtr): OSErr; external name '_GetDriverDescription';
  509. {
  510. * GetNamedDriverDescFromFSSpec()
  511. *
  512. * Availability:
  513. * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
  514. * CarbonLib: not available
  515. * Mac OS X: not available
  516. }
  517. function GetNamedDriverDescFromFSSpec(fragmentSpec: FSSpecPtr; fragName: StringPtr; var driverDesc: DriverDescriptionPtr): OSStatus; external name '_GetNamedDriverDescFromFSSpec';
  518. {
  519. * SetDriverClosureMemory()
  520. *
  521. * Availability:
  522. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  523. * CarbonLib: not available
  524. * Mac OS X: not available
  525. }
  526. function SetDriverClosureMemory(fragmentConnID: CFragConnectionID; holdDriverMemory: boolean): OSErr; external name '_SetDriverClosureMemory';
  527. {
  528. * ReplaceDriverWithFragment()
  529. *
  530. * Availability:
  531. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  532. * CarbonLib: not available
  533. * Mac OS X: not available
  534. }
  535. function ReplaceDriverWithFragment(theRefNum: DriverRefNum; fragmentConnID: CFragConnectionID): OSErr; external name '_ReplaceDriverWithFragment';
  536. {
  537. * OpenInstalledDriver()
  538. *
  539. * Availability:
  540. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  541. * CarbonLib: not available
  542. * Mac OS X: not available
  543. }
  544. function OpenInstalledDriver(refNum: DriverRefNum; ioPermission: SInt8): OSErr; external name '_OpenInstalledDriver';
  545. {
  546. * RenameDriver()
  547. *
  548. * Availability:
  549. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  550. * CarbonLib: not available
  551. * Mac OS X: not available
  552. }
  553. function RenameDriver(refNum: DriverRefNum; newDriverName: StringPtr): OSErr; external name '_RenameDriver';
  554. {
  555. * RemoveDriver()
  556. *
  557. * Availability:
  558. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  559. * CarbonLib: not available
  560. * Mac OS X: not available
  561. }
  562. function RemoveDriver(refNum: DriverRefNum; immediate: boolean): OSErr; external name '_RemoveDriver';
  563. {
  564. * LookupDrivers()
  565. *
  566. * Availability:
  567. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  568. * CarbonLib: not available
  569. * Mac OS X: not available
  570. }
  571. function LookupDrivers(beginningUnit: UnitNumber; endingUnit: UnitNumber; emptyUnits: boolean; var returnedRefNums: ItemCount; var refNums: DriverRefNum): OSErr; external name '_LookupDrivers';
  572. {
  573. * HighestUnitNumber()
  574. *
  575. * Availability:
  576. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  577. * CarbonLib: not available
  578. * Mac OS X: not available
  579. }
  580. function HighestUnitNumber: UnitNumber; external name '_HighestUnitNumber';
  581. {
  582. * DriverGestaltOn()
  583. *
  584. * Availability:
  585. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  586. * CarbonLib: not available
  587. * Mac OS X: not available
  588. }
  589. function DriverGestaltOn(refNum: DriverRefNum): OSErr; external name '_DriverGestaltOn';
  590. {
  591. * DriverGestaltOff()
  592. *
  593. * Availability:
  594. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  595. * CarbonLib: not available
  596. * Mac OS X: not available
  597. }
  598. function DriverGestaltOff(refNum: DriverRefNum): OSErr; external name '_DriverGestaltOff';
  599. {
  600. * DriverGestaltIsOn()
  601. *
  602. * Availability:
  603. * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
  604. * CarbonLib: not available
  605. * Mac OS X: not available
  606. }
  607. function DriverGestaltIsOn(flags: DriverFlags): boolean; external name '_DriverGestaltIsOn';
  608. {
  609. * PBOpenSync()
  610. *
  611. * Availability:
  612. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  613. * CarbonLib: not available
  614. * Mac OS X: not available
  615. }
  616. function PBOpenSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBOpenSync';
  617. {
  618. * PBOpenAsync()
  619. *
  620. * Availability:
  621. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  622. * CarbonLib: not available
  623. * Mac OS X: not available
  624. }
  625. function PBOpenAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBOpenAsync';
  626. {
  627. * PBOpenImmed()
  628. *
  629. * Availability:
  630. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  631. * CarbonLib: not available
  632. * Mac OS X: not available
  633. }
  634. function PBOpenImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBOpenImmed';
  635. {$endc} {CALL_NOT_IN_CARBON}
  636. {
  637. * PBCloseSync()
  638. *
  639. * Availability:
  640. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  641. * CarbonLib: in CarbonLib 1.0 and later
  642. * Mac OS X: in version 10.0 and later
  643. }
  644. function PBCloseSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBCloseSync';
  645. {
  646. * PBCloseAsync()
  647. *
  648. * Availability:
  649. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  650. * CarbonLib: in CarbonLib 1.0 and later
  651. * Mac OS X: in version 10.0 and later
  652. }
  653. function PBCloseAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBCloseAsync';
  654. {$ifc CALL_NOT_IN_CARBON}
  655. {
  656. * PBCloseImmed()
  657. *
  658. * Availability:
  659. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  660. * CarbonLib: not available
  661. * Mac OS X: not available
  662. }
  663. function PBCloseImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBCloseImmed';
  664. {$endc} {CALL_NOT_IN_CARBON}
  665. {
  666. * PBReadSync()
  667. *
  668. * Availability:
  669. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  670. * CarbonLib: in CarbonLib 1.0 and later
  671. * Mac OS X: in version 10.0 and later
  672. }
  673. function PBReadSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBReadSync';
  674. {
  675. * PBReadAsync()
  676. *
  677. * Availability:
  678. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  679. * CarbonLib: in CarbonLib 1.0 and later
  680. * Mac OS X: in version 10.0 and later
  681. }
  682. function PBReadAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBReadAsync';
  683. {$ifc CALL_NOT_IN_CARBON}
  684. {
  685. * PBReadImmed()
  686. *
  687. * Availability:
  688. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  689. * CarbonLib: not available
  690. * Mac OS X: not available
  691. }
  692. function PBReadImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBReadImmed';
  693. {$endc} {CALL_NOT_IN_CARBON}
  694. {
  695. * PBWriteSync()
  696. *
  697. * Availability:
  698. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  699. * CarbonLib: in CarbonLib 1.0 and later
  700. * Mac OS X: in version 10.0 and later
  701. }
  702. function PBWriteSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBWriteSync';
  703. {
  704. * PBWriteAsync()
  705. *
  706. * Availability:
  707. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  708. * CarbonLib: in CarbonLib 1.0 and later
  709. * Mac OS X: in version 10.0 and later
  710. }
  711. function PBWriteAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBWriteAsync';
  712. {$ifc CALL_NOT_IN_CARBON}
  713. {
  714. * PBWriteImmed()
  715. *
  716. * Availability:
  717. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  718. * CarbonLib: not available
  719. * Mac OS X: not available
  720. }
  721. function PBWriteImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBWriteImmed';
  722. {
  723. PBWaitIOComplete is a friendly way for applications to monitor
  724. a pending asynchronous I/O operation in power-managed and
  725. preemptive multitasking systems.
  726. }
  727. {$endc} {CALL_NOT_IN_CARBON}
  728. {
  729. * PBWaitIOComplete()
  730. *
  731. * Availability:
  732. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  733. * CarbonLib: in CarbonLib 1.0 and later
  734. * Mac OS X: in version 10.0 and later
  735. }
  736. function PBWaitIOComplete(paramBlock: ParmBlkPtr; timeout: Duration): OSErr; external name '_PBWaitIOComplete';
  737. { AddDrive and GetDrvQHdr are now defined in Disks.h/p/a }
  738. {$ifc CALL_NOT_IN_CARBON}
  739. {
  740. * GetDCtlEntry()
  741. *
  742. * Availability:
  743. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  744. * CarbonLib: not available
  745. * Mac OS X: not available
  746. }
  747. function GetDCtlEntry(refNum: SInt16): DCtlHandle; external name '_GetDCtlEntry';
  748. {
  749. SetChooserAlert used to simply set a bit in a low-mem global
  750. to tell the Chooser not to display its warning message when
  751. the printer is changed. However, under MultiFinder and System 7,
  752. this low-mem is swapped out when a layer change occurs, and the
  753. Chooser never sees the change. It is obsolete, and completely
  754. unsupported on the PowerPC. 68K apps can still call it if they
  755. wish.
  756. pascal Boolean SetChooserAlert(Boolean f);
  757. }
  758. {
  759. * DriverInstall()
  760. *
  761. * Availability:
  762. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  763. * CarbonLib: not available
  764. * Mac OS X: not available
  765. }
  766. function DriverInstall(drvrPtr: DRVRHeaderPtr; refNum: SInt16): OSErr; external name '_DriverInstall';
  767. {
  768. * DriverInstallReserveMem()
  769. *
  770. * Availability:
  771. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  772. * CarbonLib: not available
  773. * Mac OS X: not available
  774. }
  775. function DriverInstallReserveMem(drvrPtr: DRVRHeaderPtr; refNum: SInt16): OSErr; external name '_DriverInstallReserveMem';
  776. {
  777. Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
  778. There will soon be a DriverInstall() which does the right thing.
  779. DrvrRemove has been renamed to DriverRemove. But, InterfaceLib for PowerPC
  780. still exports DrvrRemove, so a macro is used to map the new name to old.
  781. }
  782. {
  783. * DrvrRemove()
  784. *
  785. * Availability:
  786. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  787. * CarbonLib: not available
  788. * Mac OS X: not available
  789. }
  790. function DrvrRemove(refNum: SInt16): OSErr; external name '_DrvrRemove';
  791. {$endc} {CALL_NOT_IN_CARBON}
  792. {$ifc TARGET_CPU_68K}
  793. {$ifc CALL_NOT_IN_CARBON}
  794. {
  795. * DriverRemove()
  796. *
  797. * Availability:
  798. * Non-Carbon CFM: not available
  799. * CarbonLib: not available
  800. * Mac OS X: not available
  801. }
  802. function DriverRemove(refNum: SInt16): OSErr; external name '_DriverRemove';
  803. {$endc} {CALL_NOT_IN_CARBON}
  804. {$endc} {TARGET_CPU_68K}
  805. {$ifc CALL_NOT_IN_CARBON}
  806. {
  807. * [Mac]OpenDriver()
  808. *
  809. * Availability:
  810. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  811. * CarbonLib: not available
  812. * Mac OS X: not available
  813. }
  814. function OpenDriver(const (*var*) name: Str255; var drvrRefNum: SInt16): OSErr; external name '_OpenDriver';
  815. {
  816. * [Mac]CloseDriver()
  817. *
  818. * Availability:
  819. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  820. * CarbonLib: not available
  821. * Mac OS X: not available
  822. }
  823. function CloseDriver(refNum: SInt16): OSErr; external name '_CloseDriver';
  824. {
  825. * Control()
  826. *
  827. * Availability:
  828. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  829. * CarbonLib: not available
  830. * Mac OS X: not available
  831. }
  832. function Control(refNum: SInt16; csCode: SInt16; csParamPtr: UnivPtr): OSErr; external name '_Control';
  833. {
  834. * Status()
  835. *
  836. * Availability:
  837. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  838. * CarbonLib: not available
  839. * Mac OS X: not available
  840. }
  841. function Status(refNum: SInt16; csCode: SInt16; csParamPtr: UnivPtr): OSErr; external name '_Status';
  842. {
  843. * KillIO()
  844. *
  845. * Availability:
  846. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  847. * CarbonLib: not available
  848. * Mac OS X: not available
  849. }
  850. function KillIO(refNum: SInt16): OSErr; external name '_KillIO';
  851. {
  852. * Fetch()
  853. *
  854. * Availability:
  855. * Non-Carbon CFM: not available
  856. * CarbonLib: not available
  857. * Mac OS X: not available
  858. }
  859. function Fetch(dce: DCtlPtr): SInt32; external name '_Fetch';
  860. {
  861. * Stash()
  862. *
  863. * Availability:
  864. * Non-Carbon CFM: not available
  865. * CarbonLib: not available
  866. * Mac OS X: not available
  867. }
  868. function Stash(dce: DCtlPtr; data: ByteParameter): SInt32; external name '_Stash';
  869. {
  870. * IODone()
  871. *
  872. * Availability:
  873. * Non-Carbon CFM: not available
  874. * CarbonLib: not available
  875. * Mac OS X: not available
  876. }
  877. procedure IODone(dce: DCtlPtr; ioResult: OSErr); external name '_IODone';
  878. {$endc} {CALL_NOT_IN_CARBON}
  879. {$ifc CALL_NOT_IN_CARBON}
  880. {
  881. * PBControlSync()
  882. *
  883. * Availability:
  884. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  885. * CarbonLib: not available
  886. * Mac OS X: not available
  887. }
  888. function PBControlSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBControlSync';
  889. {
  890. * PBControlAsync()
  891. *
  892. * Availability:
  893. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  894. * CarbonLib: not available
  895. * Mac OS X: not available
  896. }
  897. function PBControlAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBControlAsync';
  898. {
  899. * PBControlImmed()
  900. *
  901. * Availability:
  902. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  903. * CarbonLib: not available
  904. * Mac OS X: not available
  905. }
  906. function PBControlImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBControlImmed';
  907. {
  908. * PBStatusSync()
  909. *
  910. * Availability:
  911. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  912. * CarbonLib: not available
  913. * Mac OS X: not available
  914. }
  915. function PBStatusSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBStatusSync';
  916. {
  917. * PBStatusAsync()
  918. *
  919. * Availability:
  920. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  921. * CarbonLib: not available
  922. * Mac OS X: not available
  923. }
  924. function PBStatusAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBStatusAsync';
  925. {
  926. * PBStatusImmed()
  927. *
  928. * Availability:
  929. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  930. * CarbonLib: not available
  931. * Mac OS X: not available
  932. }
  933. function PBStatusImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBStatusImmed';
  934. {
  935. * PBKillIOSync()
  936. *
  937. * Availability:
  938. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  939. * CarbonLib: not available
  940. * Mac OS X: not available
  941. }
  942. function PBKillIOSync(paramBlock: ParmBlkPtr): OSErr; external name '_PBKillIOSync';
  943. {
  944. * PBKillIOAsync()
  945. *
  946. * Availability:
  947. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  948. * CarbonLib: not available
  949. * Mac OS X: not available
  950. }
  951. function PBKillIOAsync(paramBlock: ParmBlkPtr): OSErr; external name '_PBKillIOAsync';
  952. {
  953. * PBKillIOImmed()
  954. *
  955. * Availability:
  956. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  957. * CarbonLib: not available
  958. * Mac OS X: not available
  959. }
  960. function PBKillIOImmed(paramBlock: ParmBlkPtr): OSErr; external name '_PBKillIOImmed';
  961. {
  962. * OpenDeskAcc()
  963. *
  964. * Availability:
  965. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  966. * CarbonLib: not available
  967. * Mac OS X: not available
  968. }
  969. function OpenDeskAcc(const (*var*) deskAccName: Str255): SInt16; external name '_OpenDeskAcc';
  970. {
  971. * CloseDeskAcc()
  972. *
  973. * Availability:
  974. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  975. * CarbonLib: not available
  976. * Mac OS X: not available
  977. }
  978. procedure CloseDeskAcc(refNum: SInt16); external name '_CloseDeskAcc';
  979. {$endc} {CALL_NOT_IN_CARBON}
  980. {
  981. The PBxxx() routines are obsolete.
  982. Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
  983. }
  984. {$ifc CALL_NOT_IN_CARBON}
  985. {
  986. * PBControl()
  987. *
  988. * Availability:
  989. * Non-Carbon CFM: not available
  990. * CarbonLib: not available
  991. * Mac OS X: not available
  992. }
  993. function PBControl(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBControl';
  994. {
  995. * PBStatus()
  996. *
  997. * Availability:
  998. * Non-Carbon CFM: not available
  999. * CarbonLib: not available
  1000. * Mac OS X: not available
  1001. }
  1002. function PBStatus(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBStatus';
  1003. {
  1004. * PBKillIO()
  1005. *
  1006. * Availability:
  1007. * Non-Carbon CFM: not available
  1008. * CarbonLib: not available
  1009. * Mac OS X: not available
  1010. }
  1011. function PBKillIO(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBKillIO';
  1012. {$endc} {CALL_NOT_IN_CARBON}
  1013. {$ifc CALL_NOT_IN_CARBON}
  1014. {
  1015. * PBOpen()
  1016. *
  1017. * Availability:
  1018. * Non-Carbon CFM: not available
  1019. * CarbonLib: not available
  1020. * Mac OS X: not available
  1021. }
  1022. function PBOpen(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBOpen';
  1023. {
  1024. * PBClose()
  1025. *
  1026. * Availability:
  1027. * Non-Carbon CFM: not available
  1028. * CarbonLib: not available
  1029. * Mac OS X: not available
  1030. }
  1031. function PBClose(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBClose';
  1032. {
  1033. * PBRead()
  1034. *
  1035. * Availability:
  1036. * Non-Carbon CFM: not available
  1037. * CarbonLib: not available
  1038. * Mac OS X: not available
  1039. }
  1040. function PBRead(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBRead';
  1041. {
  1042. * PBWrite()
  1043. *
  1044. * Availability:
  1045. * Non-Carbon CFM: not available
  1046. * CarbonLib: not available
  1047. * Mac OS X: not available
  1048. }
  1049. function PBWrite(paramBlock: ParmBlkPtr; async: boolean): OSErr; external name '_PBWrite';
  1050. {$endc} {CALL_NOT_IN_CARBON}
  1051. {$ALIGN MAC68K}
  1052. end.