MacMemory.pas 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594
  1. {
  2. File: MacMemory.p
  3. Contains: Memory Manager Interfaces.
  4. Version: Technology: Mac OS 9
  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 MacMemory;
  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,MixedMode;
  92. {$ALIGN MAC68K}
  93. const
  94. maxSize = $7FFFFFF0; { the largest block possible }
  95. defaultPhysicalEntryCount = 8;
  96. { values returned from the GetPageState function }
  97. kPageInMemory = 0;
  98. kPageOnDisk = 1;
  99. kNotPaged = 2;
  100. { masks for Zone->heapType field }
  101. k32BitHeap = 1; { valid in all Memory Managers }
  102. kNewStyleHeap = 2; { true if new Heap Manager is present }
  103. kNewDebugHeap = 4; { true if new Heap Manager is running in debug mode on this heap }
  104. { bits for use with HGetState/HSetState }
  105. kHandleIsResourceBit = 5;
  106. kHandlePurgeableBit = 6;
  107. kHandleLockedBit = 7;
  108. { masks for use with HGetState/HSetState }
  109. kHandleIsResourceMask = $20;
  110. kHandlePurgeableMask = $40;
  111. kHandleLockedMask = $80;
  112. type
  113. {$ifc TYPED_FUNCTION_POINTERS}
  114. GrowZoneProcPtr = function(cbNeeded: Size): SInt32;
  115. {$elsec}
  116. GrowZoneProcPtr = ProcPtr;
  117. {$endc}
  118. {$ifc TYPED_FUNCTION_POINTERS}
  119. PurgeProcPtr = procedure(blockToPurge: Handle);
  120. {$elsec}
  121. PurgeProcPtr = ProcPtr;
  122. {$endc}
  123. {$ifc TYPED_FUNCTION_POINTERS}
  124. UserFnProcPtr = procedure(parameter: UnivPtr);
  125. {$elsec}
  126. UserFnProcPtr = Register68kProcPtr;
  127. {$endc}
  128. {$ifc OPAQUE_UPP_TYPES}
  129. GrowZoneUPP = ^SInt32; { an opaque UPP }
  130. {$elsec}
  131. GrowZoneUPP = UniversalProcPtr;
  132. {$endc}
  133. {$ifc OPAQUE_UPP_TYPES}
  134. PurgeUPP = ^SInt32; { an opaque UPP }
  135. {$elsec}
  136. PurgeUPP = UniversalProcPtr;
  137. {$endc}
  138. {$ifc OPAQUE_UPP_TYPES}
  139. UserFnUPP = ^SInt32; { an opaque UPP }
  140. {$elsec}
  141. UserFnUPP = UniversalProcPtr;
  142. {$endc}
  143. ZonePtr = ^Zone;
  144. Zone = record
  145. bkLim: Ptr;
  146. purgePtr: Ptr;
  147. hFstFree: Ptr;
  148. zcbFree: SInt32;
  149. gzProc: GrowZoneUPP;
  150. moreMast: SInt16;
  151. flags: SInt16;
  152. cntRel: SInt16;
  153. maxRel: SInt16;
  154. cntNRel: SInt16;
  155. heapType: SInt8; { previously "maxNRel", now holds flags (e.g. k32BitHeap) }
  156. unused: SInt8;
  157. cntEmpty: SInt16;
  158. cntHandles: SInt16;
  159. minCBFree: SInt32;
  160. purgeProc: PurgeUPP;
  161. sparePtr: Ptr;
  162. allocPtr: Ptr;
  163. heapData: SInt16;
  164. end;
  165. THz = ^Zone;
  166. THzPtr = ^THz;
  167. MemoryBlockPtr = ^MemoryBlock;
  168. MemoryBlock = record
  169. address: Ptr;
  170. count: UInt32;
  171. end;
  172. LogicalToPhysicalTablePtr = ^LogicalToPhysicalTable;
  173. LogicalToPhysicalTable = record
  174. logical: MemoryBlock;
  175. physical: array [0..7] of MemoryBlock;
  176. end;
  177. PageState = SInt16;
  178. StatusRegisterContents = SInt16;
  179. const
  180. kVolumeVirtualMemoryInfoVersion1 = 1; { first version of VolumeVirtualMemoryInfo }
  181. type
  182. VolumeVirtualMemoryInfoPtr = ^VolumeVirtualMemoryInfo;
  183. VolumeVirtualMemoryInfo = record
  184. version: PBVersion; { Input: Version of the VolumeVirtualMemoryInfo structure }
  185. volumeRefNum: SInt16; { Input: volume reference number }
  186. inUse: boolean; { output: true if volume is currently used for file mapping }
  187. _fill: SInt8;
  188. vmOptions: UInt32; { output: tells what volume can support (same as DriverGestaltVMOptionsResponse vmOptions bits in DriverGestalt) }
  189. { end of kVolumeVirtualMemoryInfoVersion1 structure }
  190. end;
  191. const
  192. uppGrowZoneProcInfo = $000000F0;
  193. uppPurgeProcInfo = $000000C0;
  194. uppUserFnProcInfo = $00009802;
  195. {
  196. * NewGrowZoneUPP()
  197. *
  198. * Availability:
  199. * Non-Carbon CFM: available as macro/inline
  200. * CarbonLib: in CarbonLib 1.0 and later
  201. * Mac OS X: in version 10.0 and later
  202. }
  203. function NewGrowZoneUPP(userRoutine: GrowZoneProcPtr): GrowZoneUPP; external name '_NewGrowZoneUPP'; { old name was NewGrowZoneProc }
  204. {
  205. * NewPurgeUPP()
  206. *
  207. * Availability:
  208. * Non-Carbon CFM: available as macro/inline
  209. * CarbonLib: in CarbonLib 1.0 and later
  210. * Mac OS X: in version 10.0 and later
  211. }
  212. function NewPurgeUPP(userRoutine: PurgeProcPtr): PurgeUPP; external name '_NewPurgeUPP'; { old name was NewPurgeProc }
  213. {
  214. * NewUserFnUPP()
  215. *
  216. * Availability:
  217. * Non-Carbon CFM: available as macro/inline
  218. * CarbonLib: in CarbonLib 1.0 and later
  219. * Mac OS X: in version 10.0 and later
  220. }
  221. function NewUserFnUPP(userRoutine: UserFnProcPtr): UserFnUPP; external name '_NewUserFnUPP'; { old name was NewUserFnProc }
  222. {
  223. * DisposeGrowZoneUPP()
  224. *
  225. * Availability:
  226. * Non-Carbon CFM: available as macro/inline
  227. * CarbonLib: in CarbonLib 1.0 and later
  228. * Mac OS X: in version 10.0 and later
  229. }
  230. procedure DisposeGrowZoneUPP(userUPP: GrowZoneUPP); external name '_DisposeGrowZoneUPP';
  231. {
  232. * DisposePurgeUPP()
  233. *
  234. * Availability:
  235. * Non-Carbon CFM: available as macro/inline
  236. * CarbonLib: in CarbonLib 1.0 and later
  237. * Mac OS X: in version 10.0 and later
  238. }
  239. procedure DisposePurgeUPP(userUPP: PurgeUPP); external name '_DisposePurgeUPP';
  240. {
  241. * DisposeUserFnUPP()
  242. *
  243. * Availability:
  244. * Non-Carbon CFM: available as macro/inline
  245. * CarbonLib: in CarbonLib 1.0 and later
  246. * Mac OS X: in version 10.0 and later
  247. }
  248. procedure DisposeUserFnUPP(userUPP: UserFnUPP); external name '_DisposeUserFnUPP';
  249. {
  250. * InvokeGrowZoneUPP()
  251. *
  252. * Availability:
  253. * Non-Carbon CFM: available as macro/inline
  254. * CarbonLib: in CarbonLib 1.0 and later
  255. * Mac OS X: in version 10.0 and later
  256. }
  257. function InvokeGrowZoneUPP(cbNeeded: Size; userRoutine: GrowZoneUPP): SInt32; external name '_InvokeGrowZoneUPP'; { old name was CallGrowZoneProc }
  258. {
  259. * InvokePurgeUPP()
  260. *
  261. * Availability:
  262. * Non-Carbon CFM: available as macro/inline
  263. * CarbonLib: in CarbonLib 1.0 and later
  264. * Mac OS X: in version 10.0 and later
  265. }
  266. procedure InvokePurgeUPP(blockToPurge: Handle; userRoutine: PurgeUPP); external name '_InvokePurgeUPP'; { old name was CallPurgeProc }
  267. {
  268. * InvokeUserFnUPP()
  269. *
  270. * Availability:
  271. * Non-Carbon CFM: available as macro/inline
  272. * CarbonLib: in CarbonLib 1.0 and later
  273. * Mac OS X: in version 10.0 and later
  274. }
  275. procedure InvokeUserFnUPP(parameter: UnivPtr; userRoutine: UserFnUPP); external name '_InvokeUserFnUPP'; { old name was CallUserFnProc }
  276. {$ifc CALL_NOT_IN_CARBON}
  277. {
  278. * GetApplLimit()
  279. *
  280. * Availability:
  281. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  282. * CarbonLib: not available
  283. * Mac OS X: not available
  284. }
  285. function GetApplLimit: Ptr; external name '_GetApplLimit';
  286. {
  287. * SystemZone()
  288. *
  289. * Availability:
  290. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  291. * CarbonLib: not available
  292. * Mac OS X: not available
  293. }
  294. function SystemZone: THz; external name '_SystemZone';
  295. {
  296. * ApplicationZone()
  297. *
  298. * Availability:
  299. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  300. * CarbonLib: not available
  301. * Mac OS X: not available
  302. }
  303. function ApplicationZone: THz; external name '_ApplicationZone';
  304. {$endc} {CALL_NOT_IN_CARBON}
  305. {
  306. * GZSaveHnd()
  307. *
  308. * Availability:
  309. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  310. * CarbonLib: in CarbonLib 1.0 and later
  311. * Mac OS X: in version 10.0 and later
  312. }
  313. function GZSaveHnd: Handle; external name '_GZSaveHnd';
  314. {
  315. * TopMem()
  316. *
  317. * Availability:
  318. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  319. * CarbonLib: in CarbonLib 1.0 and later
  320. * Mac OS X: in version 10.0 and later
  321. }
  322. function TopMem: Ptr; external name '_TopMem';
  323. {
  324. * MemError()
  325. *
  326. * Availability:
  327. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  328. * CarbonLib: in CarbonLib 1.0 and later
  329. * Mac OS X: in version 10.0 and later
  330. }
  331. function MemError: OSErr; external name '_MemError';
  332. {$ifc CALL_NOT_IN_CARBON}
  333. {
  334. * GetZone()
  335. *
  336. * Availability:
  337. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  338. * CarbonLib: not available
  339. * Mac OS X: not available
  340. }
  341. function GetZone: THz; external name '_GetZone';
  342. {$endc} {CALL_NOT_IN_CARBON}
  343. {
  344. * NewHandle()
  345. *
  346. * Availability:
  347. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  348. * CarbonLib: in CarbonLib 1.0 and later
  349. * Mac OS X: in version 10.0 and later
  350. }
  351. function NewHandle(byteCount: Size): Handle; external name '_NewHandle';
  352. {$ifc CALL_NOT_IN_CARBON}
  353. {
  354. * NewHandleSys()
  355. *
  356. * Availability:
  357. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  358. * CarbonLib: not available
  359. * Mac OS X: not available
  360. }
  361. function NewHandleSys(byteCount: Size): Handle; external name '_NewHandleSys';
  362. {$endc} {CALL_NOT_IN_CARBON}
  363. {
  364. * NewHandleClear()
  365. *
  366. * Availability:
  367. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  368. * CarbonLib: in CarbonLib 1.0 and later
  369. * Mac OS X: in version 10.0 and later
  370. }
  371. function NewHandleClear(byteCount: Size): Handle; external name '_NewHandleClear';
  372. {$ifc CALL_NOT_IN_CARBON}
  373. {
  374. * NewHandleSysClear()
  375. *
  376. * Availability:
  377. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  378. * CarbonLib: not available
  379. * Mac OS X: not available
  380. }
  381. function NewHandleSysClear(byteCount: Size): Handle; external name '_NewHandleSysClear';
  382. {
  383. * HandleZone()
  384. *
  385. * Availability:
  386. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  387. * CarbonLib: not available
  388. * Mac OS X: not available
  389. }
  390. function HandleZone(h: Handle): THz; external name '_HandleZone';
  391. {$endc} {CALL_NOT_IN_CARBON}
  392. {
  393. * RecoverHandle()
  394. *
  395. * Availability:
  396. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  397. * CarbonLib: in CarbonLib 1.0 and later
  398. * Mac OS X: in version 10.0 and later
  399. }
  400. function RecoverHandle(p: Ptr): Handle; external name '_RecoverHandle';
  401. {$ifc CALL_NOT_IN_CARBON}
  402. {
  403. * RecoverHandleSys()
  404. *
  405. * Availability:
  406. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  407. * CarbonLib: not available
  408. * Mac OS X: not available
  409. }
  410. function RecoverHandleSys(p: Ptr): Handle; external name '_RecoverHandleSys';
  411. {$endc} {CALL_NOT_IN_CARBON}
  412. {
  413. * NewPtr()
  414. *
  415. * Availability:
  416. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  417. * CarbonLib: in CarbonLib 1.0 and later
  418. * Mac OS X: in version 10.0 and later
  419. }
  420. function NewPtr(byteCount: Size): Ptr; external name '_NewPtr';
  421. {$ifc CALL_NOT_IN_CARBON}
  422. {
  423. * NewPtrSys()
  424. *
  425. * Availability:
  426. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  427. * CarbonLib: not available
  428. * Mac OS X: not available
  429. }
  430. function NewPtrSys(byteCount: Size): Ptr; external name '_NewPtrSys';
  431. {$endc} {CALL_NOT_IN_CARBON}
  432. {
  433. * NewPtrClear()
  434. *
  435. * Availability:
  436. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  437. * CarbonLib: in CarbonLib 1.0 and later
  438. * Mac OS X: in version 10.0 and later
  439. }
  440. function NewPtrClear(byteCount: Size): Ptr; external name '_NewPtrClear';
  441. {$ifc CALL_NOT_IN_CARBON}
  442. {
  443. * NewPtrSysClear()
  444. *
  445. * Availability:
  446. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  447. * CarbonLib: not available
  448. * Mac OS X: not available
  449. }
  450. function NewPtrSysClear(byteCount: Size): Ptr; external name '_NewPtrSysClear';
  451. {
  452. * PtrZone()
  453. *
  454. * Availability:
  455. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  456. * CarbonLib: not available
  457. * Mac OS X: not available
  458. }
  459. function PtrZone(p: Ptr): THz; external name '_PtrZone';
  460. {$endc} {CALL_NOT_IN_CARBON}
  461. {
  462. * MaxBlock()
  463. *
  464. * Availability:
  465. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  466. * CarbonLib: in CarbonLib 1.0 and later
  467. * Mac OS X: in version 10.0 and later
  468. }
  469. function MaxBlock: SInt32; external name '_MaxBlock';
  470. {$ifc CALL_NOT_IN_CARBON}
  471. {
  472. * MaxBlockSys()
  473. *
  474. * Availability:
  475. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  476. * CarbonLib: not available
  477. * Mac OS X: not available
  478. }
  479. function MaxBlockSys: SInt32; external name '_MaxBlockSys';
  480. {$endc} {CALL_NOT_IN_CARBON}
  481. {
  482. * StackSpace()
  483. *
  484. * Availability:
  485. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  486. * CarbonLib: in CarbonLib 1.0 and later
  487. * Mac OS X: in version 10.0 and later
  488. }
  489. function StackSpace: SInt32; external name '_StackSpace';
  490. {
  491. * NewEmptyHandle()
  492. *
  493. * Availability:
  494. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  495. * CarbonLib: in CarbonLib 1.0 and later
  496. * Mac OS X: in version 10.0 and later
  497. }
  498. function NewEmptyHandle: Handle; external name '_NewEmptyHandle';
  499. {$ifc CALL_NOT_IN_CARBON}
  500. {
  501. * NewEmptyHandleSys()
  502. *
  503. * Availability:
  504. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  505. * CarbonLib: not available
  506. * Mac OS X: not available
  507. }
  508. function NewEmptyHandleSys: Handle; external name '_NewEmptyHandleSys';
  509. {$endc} {CALL_NOT_IN_CARBON}
  510. {
  511. * HLock()
  512. *
  513. * Availability:
  514. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  515. * CarbonLib: in CarbonLib 1.0 and later
  516. * Mac OS X: in version 10.0 and later
  517. }
  518. procedure HLock(h: Handle); external name '_HLock';
  519. {
  520. * HUnlock()
  521. *
  522. * Availability:
  523. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  524. * CarbonLib: in CarbonLib 1.0 and later
  525. * Mac OS X: in version 10.0 and later
  526. }
  527. procedure HUnlock(h: Handle); external name '_HUnlock';
  528. {
  529. * HPurge()
  530. *
  531. * Availability:
  532. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  533. * CarbonLib: in CarbonLib 1.0 and later
  534. * Mac OS X: in version 10.0 and later
  535. }
  536. procedure HPurge(h: Handle); external name '_HPurge';
  537. {
  538. * HNoPurge()
  539. *
  540. * Availability:
  541. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  542. * CarbonLib: in CarbonLib 1.0 and later
  543. * Mac OS X: in version 10.0 and later
  544. }
  545. procedure HNoPurge(h: Handle); external name '_HNoPurge';
  546. {
  547. * HLockHi()
  548. *
  549. * Availability:
  550. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  551. * CarbonLib: in CarbonLib 1.0 and later
  552. * Mac OS X: in version 10.0 and later
  553. }
  554. procedure HLockHi(h: Handle); external name '_HLockHi';
  555. {
  556. * TempNewHandle()
  557. *
  558. * Availability:
  559. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  560. * CarbonLib: in CarbonLib 1.0 and later
  561. * Mac OS X: in version 10.0 and later
  562. }
  563. function TempNewHandle(logicalSize: Size; var resultCode: OSErr): Handle; external name '_TempNewHandle';
  564. {
  565. * TempMaxMem()
  566. *
  567. * Availability:
  568. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  569. * CarbonLib: in CarbonLib 1.0 and later
  570. * Mac OS X: in version 10.0 and later
  571. }
  572. function TempMaxMem(var grow: Size): Size; external name '_TempMaxMem';
  573. {
  574. * TempFreeMem()
  575. *
  576. * Availability:
  577. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  578. * CarbonLib: in CarbonLib 1.0 and later
  579. * Mac OS X: in version 10.0 and later
  580. }
  581. function TempFreeMem: SInt32; external name '_TempFreeMem';
  582. {$ifc CALL_NOT_IN_CARBON}
  583. {
  584. * InitZone()
  585. *
  586. * Availability:
  587. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  588. * CarbonLib: not available
  589. * Mac OS X: not available
  590. }
  591. procedure InitZone(pgrowZone: GrowZoneUPP; cmoreMasters: SInt16; limitPtr: UnivPtr; startPtr: UnivPtr); external name '_InitZone';
  592. {$endc} {CALL_NOT_IN_CARBON}
  593. {$ifc CALL_NOT_IN_CARBON}
  594. {
  595. * SetZone()
  596. *
  597. * Availability:
  598. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  599. * CarbonLib: not available
  600. * Mac OS X: not available
  601. }
  602. procedure SetZone(hz: THz); external name '_SetZone';
  603. {$endc} {CALL_NOT_IN_CARBON}
  604. {
  605. * CompactMem()
  606. *
  607. * Availability:
  608. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  609. * CarbonLib: in CarbonLib 1.0 and later
  610. * Mac OS X: in version 10.0 and later
  611. }
  612. function CompactMem(cbNeeded: Size): Size; external name '_CompactMem';
  613. {$ifc CALL_NOT_IN_CARBON}
  614. {
  615. * CompactMemSys()
  616. *
  617. * Availability:
  618. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  619. * CarbonLib: not available
  620. * Mac OS X: not available
  621. }
  622. function CompactMemSys(cbNeeded: Size): Size; external name '_CompactMemSys';
  623. {$endc} {CALL_NOT_IN_CARBON}
  624. {
  625. * PurgeMem()
  626. *
  627. * Availability:
  628. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  629. * CarbonLib: in CarbonLib 1.0 and later
  630. * Mac OS X: in version 10.0 and later
  631. }
  632. procedure PurgeMem(cbNeeded: Size); external name '_PurgeMem';
  633. {$ifc CALL_NOT_IN_CARBON}
  634. {
  635. * PurgeMemSys()
  636. *
  637. * Availability:
  638. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  639. * CarbonLib: not available
  640. * Mac OS X: not available
  641. }
  642. procedure PurgeMemSys(cbNeeded: Size); external name '_PurgeMemSys';
  643. {$endc} {CALL_NOT_IN_CARBON}
  644. {
  645. * FreeMem()
  646. *
  647. * Availability:
  648. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  649. * CarbonLib: in CarbonLib 1.0 and later
  650. * Mac OS X: in version 10.0 and later
  651. }
  652. function FreeMem: SInt32; external name '_FreeMem';
  653. {$ifc CALL_NOT_IN_CARBON}
  654. {
  655. * FreeMemSys()
  656. *
  657. * Availability:
  658. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  659. * CarbonLib: not available
  660. * Mac OS X: not available
  661. }
  662. function FreeMemSys: SInt32; external name '_FreeMemSys';
  663. {$endc} {CALL_NOT_IN_CARBON}
  664. {
  665. * ReserveMem()
  666. *
  667. * Availability:
  668. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  669. * CarbonLib: in CarbonLib 1.0 and later
  670. * Mac OS X: in version 10.0 and later
  671. }
  672. procedure ReserveMem(cbNeeded: Size); external name '_ReserveMem';
  673. {$ifc CALL_NOT_IN_CARBON}
  674. {
  675. * ReserveMemSys()
  676. *
  677. * Availability:
  678. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  679. * CarbonLib: not available
  680. * Mac OS X: not available
  681. }
  682. procedure ReserveMemSys(cbNeeded: Size); external name '_ReserveMemSys';
  683. {$endc} {CALL_NOT_IN_CARBON}
  684. {
  685. * MaxMem()
  686. *
  687. * Availability:
  688. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  689. * CarbonLib: in CarbonLib 1.0 and later
  690. * Mac OS X: in version 10.0 and later
  691. }
  692. function MaxMem(var grow: Size): Size; external name '_MaxMem';
  693. {$ifc CALL_NOT_IN_CARBON}
  694. {
  695. * MaxMemSys()
  696. *
  697. * Availability:
  698. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  699. * CarbonLib: not available
  700. * Mac OS X: not available
  701. }
  702. function MaxMemSys(var grow: Size): Size; external name '_MaxMemSys';
  703. {$endc} {CALL_NOT_IN_CARBON}
  704. {
  705. * SetGrowZone()
  706. *
  707. * Availability:
  708. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  709. * CarbonLib: in CarbonLib 1.0 and later
  710. * Mac OS X: in version 10.0 and later
  711. }
  712. procedure SetGrowZone(growZone: GrowZoneUPP); external name '_SetGrowZone';
  713. {
  714. * GetGrowZone()
  715. *
  716. * Availability:
  717. * Non-Carbon CFM: not available
  718. * CarbonLib: in CarbonLib 1.1 and later
  719. * Mac OS X: in version 10.0 and later
  720. }
  721. function GetGrowZone: GrowZoneUPP; external name '_GetGrowZone';
  722. {
  723. * MoveHHi()
  724. *
  725. * Availability:
  726. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  727. * CarbonLib: in CarbonLib 1.0 and later
  728. * Mac OS X: in version 10.0 and later
  729. }
  730. procedure MoveHHi(h: Handle); external name '_MoveHHi';
  731. {
  732. * DisposePtr()
  733. *
  734. * Availability:
  735. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  736. * CarbonLib: in CarbonLib 1.0 and later
  737. * Mac OS X: in version 10.0 and later
  738. }
  739. procedure DisposePtr(p: Ptr); external name '_DisposePtr';
  740. {
  741. * GetPtrSize()
  742. *
  743. * Availability:
  744. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  745. * CarbonLib: in CarbonLib 1.0 and later
  746. * Mac OS X: in version 10.0 and later
  747. }
  748. function GetPtrSize(p: Ptr): Size; external name '_GetPtrSize';
  749. {
  750. * SetPtrSize()
  751. *
  752. * Availability:
  753. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  754. * CarbonLib: in CarbonLib 1.0 and later
  755. * Mac OS X: in version 10.0 and later
  756. }
  757. procedure SetPtrSize(p: Ptr; newSize: Size); external name '_SetPtrSize';
  758. {
  759. * DisposeHandle()
  760. *
  761. * Availability:
  762. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  763. * CarbonLib: in CarbonLib 1.0 and later
  764. * Mac OS X: in version 10.0 and later
  765. }
  766. procedure DisposeHandle(h: Handle); external name '_DisposeHandle';
  767. {
  768. * SetHandleSize()
  769. *
  770. * Availability:
  771. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  772. * CarbonLib: in CarbonLib 1.0 and later
  773. * Mac OS X: in version 10.0 and later
  774. }
  775. procedure SetHandleSize(h: Handle; newSize: Size); external name '_SetHandleSize';
  776. {
  777. NOTE
  778. GetHandleSize and GetPtrSize are documented in Inside Mac as returning 0
  779. in case of an error, but the traps actually return an error code in D0.
  780. The glue sets D0 to 0 if an error occurred.
  781. }
  782. {
  783. * GetHandleSize()
  784. *
  785. * Availability:
  786. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  787. * CarbonLib: in CarbonLib 1.0 and later
  788. * Mac OS X: in version 10.0 and later
  789. }
  790. function GetHandleSize(h: Handle): Size; external name '_GetHandleSize';
  791. {$ifc CALL_NOT_IN_CARBON}
  792. {
  793. * InlineGetHandleSize()
  794. *
  795. * Availability:
  796. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  797. * CarbonLib: not available
  798. * Mac OS X: not available
  799. }
  800. function InlineGetHandleSize(h: Handle): Size; external name '_InlineGetHandleSize';
  801. {$endc} {CALL_NOT_IN_CARBON}
  802. {
  803. * ReallocateHandle()
  804. *
  805. * Availability:
  806. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  807. * CarbonLib: in CarbonLib 1.0 and later
  808. * Mac OS X: in version 10.0 and later
  809. }
  810. procedure ReallocateHandle(h: Handle; byteCount: Size); external name '_ReallocateHandle';
  811. {$ifc CALL_NOT_IN_CARBON}
  812. {
  813. * ReallocateHandleSys()
  814. *
  815. * Availability:
  816. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  817. * CarbonLib: not available
  818. * Mac OS X: not available
  819. }
  820. procedure ReallocateHandleSys(h: Handle; byteCount: Size); external name '_ReallocateHandleSys';
  821. {$endc} {CALL_NOT_IN_CARBON}
  822. {
  823. * EmptyHandle()
  824. *
  825. * Availability:
  826. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  827. * CarbonLib: in CarbonLib 1.0 and later
  828. * Mac OS X: in version 10.0 and later
  829. }
  830. procedure EmptyHandle(h: Handle); external name '_EmptyHandle';
  831. {
  832. * HSetRBit()
  833. *
  834. * Availability:
  835. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  836. * CarbonLib: in CarbonLib 1.0 and later
  837. * Mac OS X: in version 10.0 and later
  838. }
  839. procedure HSetRBit(h: Handle); external name '_HSetRBit';
  840. {
  841. * HClrRBit()
  842. *
  843. * Availability:
  844. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  845. * CarbonLib: in CarbonLib 1.0 and later
  846. * Mac OS X: in version 10.0 and later
  847. }
  848. procedure HClrRBit(h: Handle); external name '_HClrRBit';
  849. {
  850. * HGetState()
  851. *
  852. * Availability:
  853. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  854. * CarbonLib: in CarbonLib 1.0 and later
  855. * Mac OS X: in version 10.0 and later
  856. }
  857. function HGetState(h: Handle): SInt8; external name '_HGetState';
  858. {
  859. * HSetState()
  860. *
  861. * Availability:
  862. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  863. * CarbonLib: in CarbonLib 1.0 and later
  864. * Mac OS X: in version 10.0 and later
  865. }
  866. procedure HSetState(h: Handle; flags: SInt8); external name '_HSetState';
  867. {
  868. * PurgeSpace()
  869. *
  870. * Availability:
  871. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  872. * CarbonLib: in CarbonLib 1.0 and later
  873. * Mac OS X: in version 10.0 and later
  874. }
  875. procedure PurgeSpace(var total: SInt32; var contig: SInt32); external name '_PurgeSpace';
  876. {
  877. PurgeSpaceTotal and PurgeSpaceContiguous are currently only implement
  878. on classic 68K. The are the same as PurgeSpace() but return just
  879. one value (either total space purgable or contiguous space purgable).
  880. Begining in Mac OS 8.5 they are available in InterfaceLib.
  881. }
  882. {
  883. * PurgeSpaceTotal()
  884. *
  885. * Availability:
  886. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  887. * CarbonLib: in CarbonLib 1.0 and later
  888. * Mac OS X: in version 10.0 and later
  889. }
  890. function PurgeSpaceTotal: SInt32; external name '_PurgeSpaceTotal';
  891. {
  892. * PurgeSpaceContiguous()
  893. *
  894. * Availability:
  895. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  896. * CarbonLib: in CarbonLib 1.0 and later
  897. * Mac OS X: in version 10.0 and later
  898. }
  899. function PurgeSpaceContiguous: SInt32; external name '_PurgeSpaceContiguous';
  900. {$ifc CALL_NOT_IN_CARBON}
  901. {
  902. * PurgeSpaceSysTotal()
  903. *
  904. * Availability:
  905. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  906. * CarbonLib: not available
  907. * Mac OS X: not available
  908. }
  909. function PurgeSpaceSysTotal: SInt32; external name '_PurgeSpaceSysTotal';
  910. {
  911. * PurgeSpaceSysContiguous()
  912. *
  913. * Availability:
  914. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  915. * CarbonLib: not available
  916. * Mac OS X: not available
  917. }
  918. function PurgeSpaceSysContiguous: SInt32; external name '_PurgeSpaceSysContiguous';
  919. {****************************************************************************
  920. The routines:
  921. BlockMoveUncached, BlockMoveDataUncached
  922. BlockZero, BlockZeroUncached
  923. were first created for developers writing drivers. Originally they only
  924. existed in DriverServicesLib. Later they were added to InterfaceLib
  925. in PCI based PowerMacs. MacOS 8.5 provides these routines in InterfaceLib
  926. on all supported machines.
  927. ****************************************************************************}
  928. {$endc} {CALL_NOT_IN_CARBON}
  929. {
  930. * BlockMove()
  931. *
  932. * Availability:
  933. * Non-Carbon CFM: in DriverServicesLib 1.0 and later
  934. * CarbonLib: in CarbonLib 1.0 and later
  935. * Mac OS X: in version 10.0 and later
  936. }
  937. procedure BlockMove(srcPtr: UnivPtr; destPtr: UnivPtr; byteCount: Size); external name '_BlockMove';
  938. {
  939. * BlockMoveData()
  940. *
  941. * Availability:
  942. * Non-Carbon CFM: in DriverServicesLib 1.0 and later
  943. * CarbonLib: in CarbonLib 1.0 and later
  944. * Mac OS X: in version 10.0 and later
  945. }
  946. procedure BlockMoveData(srcPtr: UnivPtr; destPtr: UnivPtr; byteCount: Size); external name '_BlockMoveData';
  947. {
  948. * BlockMoveUncached()
  949. *
  950. * Availability:
  951. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  952. * CarbonLib: in CarbonLib 1.0 and later
  953. * Mac OS X: in version 10.0 and later
  954. }
  955. procedure BlockMoveUncached(srcPtr: UnivPtr; destPtr: UnivPtr; byteCount: Size); external name '_BlockMoveUncached';
  956. {
  957. * BlockMoveDataUncached()
  958. *
  959. * Availability:
  960. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  961. * CarbonLib: in CarbonLib 1.0 and later
  962. * Mac OS X: in version 10.0 and later
  963. }
  964. procedure BlockMoveDataUncached(srcPtr: UnivPtr; destPtr: UnivPtr; byteCount: Size); external name '_BlockMoveDataUncached';
  965. {
  966. * BlockZero()
  967. *
  968. * Availability:
  969. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  970. * CarbonLib: in CarbonLib 1.0 and later
  971. * Mac OS X: in version 10.0 and later
  972. }
  973. procedure BlockZero(destPtr: UnivPtr; byteCount: Size); external name '_BlockZero';
  974. {
  975. * BlockZeroUncached()
  976. *
  977. * Availability:
  978. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  979. * CarbonLib: in CarbonLib 1.0 and later
  980. * Mac OS X: in version 10.0 and later
  981. }
  982. procedure BlockZeroUncached(destPtr: UnivPtr; byteCount: Size); external name '_BlockZeroUncached';
  983. {$ifc CALL_NOT_IN_CARBON}
  984. {
  985. * MaxApplZone()
  986. *
  987. * Availability:
  988. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  989. * CarbonLib: not available
  990. * Mac OS X: not available
  991. }
  992. procedure MaxApplZone; external name '_MaxApplZone';
  993. {
  994. * SetApplBase()
  995. *
  996. * Availability:
  997. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  998. * CarbonLib: not available
  999. * Mac OS X: not available
  1000. }
  1001. procedure SetApplBase(startPtr: UnivPtr); external name '_SetApplBase';
  1002. {$endc} {CALL_NOT_IN_CARBON}
  1003. {
  1004. * MoreMasters()
  1005. *
  1006. * Availability:
  1007. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1008. * CarbonLib: in CarbonLib 1.0 and later
  1009. * Mac OS X: in version 10.0 and later
  1010. }
  1011. procedure MoreMasters; external name '_MoreMasters';
  1012. {
  1013. * MoreMasterPointers()
  1014. *
  1015. * Availability:
  1016. * Non-Carbon CFM: not available
  1017. * CarbonLib: in CarbonLib 1.0 and later
  1018. * Mac OS X: in version 10.0 and later
  1019. }
  1020. procedure MoreMasterPointers(inCount: UInt32); external name '_MoreMasterPointers';
  1021. {$ifc CALL_NOT_IN_CARBON}
  1022. {
  1023. * SetApplLimit()
  1024. *
  1025. * Availability:
  1026. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1027. * CarbonLib: not available
  1028. * Mac OS X: not available
  1029. }
  1030. procedure SetApplLimit(zoneLimit: UnivPtr); external name '_SetApplLimit';
  1031. {
  1032. * InitApplZone()
  1033. *
  1034. * Availability:
  1035. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1036. * CarbonLib: not available
  1037. * Mac OS X: not available
  1038. }
  1039. procedure InitApplZone; external name '_InitApplZone';
  1040. { Temporary Memory routines renamed, but obsolete, in System 7.0 and later. }
  1041. {$endc} {CALL_NOT_IN_CARBON}
  1042. {
  1043. * TempHLock()
  1044. *
  1045. * Availability:
  1046. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1047. * CarbonLib: in CarbonLib 1.0 and later
  1048. * Mac OS X: in version 10.0 and later
  1049. }
  1050. procedure TempHLock(h: Handle; var resultCode: OSErr); external name '_TempHLock';
  1051. {
  1052. * TempHUnlock()
  1053. *
  1054. * Availability:
  1055. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1056. * CarbonLib: in CarbonLib 1.0 and later
  1057. * Mac OS X: in version 10.0 and later
  1058. }
  1059. procedure TempHUnlock(h: Handle; var resultCode: OSErr); external name '_TempHUnlock';
  1060. {
  1061. * TempDisposeHandle()
  1062. *
  1063. * Availability:
  1064. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1065. * CarbonLib: in CarbonLib 1.0 and later
  1066. * Mac OS X: in version 10.0 and later
  1067. }
  1068. procedure TempDisposeHandle(h: Handle; var resultCode: OSErr); external name '_TempDisposeHandle';
  1069. {
  1070. * TempTopMem()
  1071. *
  1072. * Availability:
  1073. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1074. * CarbonLib: in CarbonLib 1.0 and later
  1075. * Mac OS X: in version 10.0 and later
  1076. }
  1077. function TempTopMem: Ptr; external name '_TempTopMem';
  1078. {
  1079. * HoldMemory()
  1080. *
  1081. * Availability:
  1082. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1083. * CarbonLib: in CarbonLib 1.1 and later
  1084. * Mac OS X: in version 10.0 and later
  1085. }
  1086. function HoldMemory(address: UnivPtr; count: UInt32): OSErr; external name '_HoldMemory';
  1087. {
  1088. * UnholdMemory()
  1089. *
  1090. * Availability:
  1091. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1092. * CarbonLib: in CarbonLib 1.1 and later
  1093. * Mac OS X: in version 10.0 and later
  1094. }
  1095. function UnholdMemory(address: UnivPtr; count: UInt32): OSErr; external name '_UnholdMemory';
  1096. {$ifc CALL_NOT_IN_CARBON}
  1097. {
  1098. * LockMemory()
  1099. *
  1100. * Availability:
  1101. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1102. * CarbonLib: not available
  1103. * Mac OS X: not available
  1104. }
  1105. function LockMemory(address: UnivPtr; count: UInt32): OSErr; external name '_LockMemory';
  1106. {
  1107. * LockMemoryForOutput()
  1108. *
  1109. * Availability:
  1110. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1111. * CarbonLib: not available
  1112. * Mac OS X: not available
  1113. }
  1114. function LockMemoryForOutput(address: UnivPtr; count: UInt32): OSErr; external name '_LockMemoryForOutput';
  1115. {
  1116. * LockMemoryContiguous()
  1117. *
  1118. * Availability:
  1119. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1120. * CarbonLib: not available
  1121. * Mac OS X: not available
  1122. }
  1123. function LockMemoryContiguous(address: UnivPtr; count: UInt32): OSErr; external name '_LockMemoryContiguous';
  1124. {
  1125. * UnlockMemory()
  1126. *
  1127. * Availability:
  1128. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1129. * CarbonLib: not available
  1130. * Mac OS X: not available
  1131. }
  1132. function UnlockMemory(address: UnivPtr; count: UInt32): OSErr; external name '_UnlockMemory';
  1133. {$endc} {CALL_NOT_IN_CARBON}
  1134. {
  1135. * MakeMemoryResident()
  1136. *
  1137. * Availability:
  1138. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1139. * CarbonLib: in CarbonLib 1.0.2 and later
  1140. * Mac OS X: in version 10.0 and later
  1141. }
  1142. function MakeMemoryResident(address: UnivPtr; count: UInt32): OSErr; external name '_MakeMemoryResident';
  1143. {
  1144. * ReleaseMemoryData()
  1145. *
  1146. * Availability:
  1147. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1148. * CarbonLib: in CarbonLib 1.0.2 and later
  1149. * Mac OS X: in version 10.0 and later
  1150. }
  1151. function ReleaseMemoryData(address: UnivPtr; count: UInt32): OSErr; external name '_ReleaseMemoryData';
  1152. {
  1153. * MakeMemoryNonResident()
  1154. *
  1155. * Availability:
  1156. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1157. * CarbonLib: in CarbonLib 1.0.2 and later
  1158. * Mac OS X: in version 10.0 and later
  1159. }
  1160. function MakeMemoryNonResident(address: UnivPtr; count: UInt32): OSErr; external name '_MakeMemoryNonResident';
  1161. {
  1162. * FlushMemory()
  1163. *
  1164. * Availability:
  1165. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1166. * CarbonLib: in CarbonLib 1.0.2 and later
  1167. * Mac OS X: in version 10.0 and later
  1168. }
  1169. function FlushMemory(address: UnivPtr; count: UInt32): OSErr; external name '_FlushMemory';
  1170. {$ifc CALL_NOT_IN_CARBON}
  1171. {
  1172. * GetPhysical()
  1173. *
  1174. * Availability:
  1175. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1176. * CarbonLib: not available
  1177. * Mac OS X: not available
  1178. }
  1179. function GetPhysical(var addresses: LogicalToPhysicalTable; var physicalEntryCount: UInt32): OSErr; external name '_GetPhysical';
  1180. {$endc} {CALL_NOT_IN_CARBON}
  1181. {$ifc CALL_NOT_IN_CARBON}
  1182. {
  1183. * GetVolumeVirtualMemoryInfo()
  1184. *
  1185. * Availability:
  1186. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  1187. * CarbonLib: not available
  1188. * Mac OS X: not available
  1189. }
  1190. function GetVolumeVirtualMemoryInfo(volVMInfo: VolumeVirtualMemoryInfoPtr): OSErr; external name '_GetVolumeVirtualMemoryInfo';
  1191. {
  1192. * DeferUserFn()
  1193. *
  1194. * Availability:
  1195. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1196. * CarbonLib: not available
  1197. * Mac OS X: not available
  1198. }
  1199. function DeferUserFn(userFunction: UserFnUPP; argument: UnivPtr): OSErr; external name '_DeferUserFn';
  1200. {
  1201. * DebuggerGetMax()
  1202. *
  1203. * Availability:
  1204. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1205. * CarbonLib: not available
  1206. * Mac OS X: not available
  1207. }
  1208. function DebuggerGetMax: SInt32; external name '_DebuggerGetMax';
  1209. {
  1210. * DebuggerEnter()
  1211. *
  1212. * Availability:
  1213. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1214. * CarbonLib: not available
  1215. * Mac OS X: not available
  1216. }
  1217. procedure DebuggerEnter; external name '_DebuggerEnter';
  1218. {
  1219. * DebuggerExit()
  1220. *
  1221. * Availability:
  1222. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1223. * CarbonLib: not available
  1224. * Mac OS X: not available
  1225. }
  1226. procedure DebuggerExit; external name '_DebuggerExit';
  1227. {
  1228. * DebuggerPoll()
  1229. *
  1230. * Availability:
  1231. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1232. * CarbonLib: not available
  1233. * Mac OS X: not available
  1234. }
  1235. procedure DebuggerPoll; external name '_DebuggerPoll';
  1236. {
  1237. * GetPageState()
  1238. *
  1239. * Availability:
  1240. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1241. * CarbonLib: not available
  1242. * Mac OS X: not available
  1243. }
  1244. function GetPageState(address: UnivPtr): PageState; external name '_GetPageState';
  1245. {
  1246. * PageFaultFatal()
  1247. *
  1248. * Availability:
  1249. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1250. * CarbonLib: not available
  1251. * Mac OS X: not available
  1252. }
  1253. function PageFaultFatal: boolean; external name '_PageFaultFatal';
  1254. {
  1255. * DebuggerLockMemory()
  1256. *
  1257. * Availability:
  1258. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1259. * CarbonLib: not available
  1260. * Mac OS X: not available
  1261. }
  1262. function DebuggerLockMemory(address: UnivPtr; count: UInt32): OSErr; external name '_DebuggerLockMemory';
  1263. {
  1264. * DebuggerUnlockMemory()
  1265. *
  1266. * Availability:
  1267. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1268. * CarbonLib: not available
  1269. * Mac OS X: not available
  1270. }
  1271. function DebuggerUnlockMemory(address: UnivPtr; count: UInt32): OSErr; external name '_DebuggerUnlockMemory';
  1272. {
  1273. * EnterSupervisorMode()
  1274. *
  1275. * Availability:
  1276. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1277. * CarbonLib: not available
  1278. * Mac OS X: not available
  1279. }
  1280. function EnterSupervisorMode: StatusRegisterContents; external name '_EnterSupervisorMode';
  1281. {
  1282. * StripAddress()
  1283. *
  1284. * Summary:
  1285. * A trap on classic 68K, and the identity function for pre-carbon
  1286. *
  1287. * Availability:
  1288. * Non-Carbon CFM: available as macro/inline
  1289. * CarbonLib: not available
  1290. * Mac OS X: not available
  1291. }
  1292. function StripAddress(theAddress: UnivPtr): Ptr; external name '_StripAddress';
  1293. {
  1294. * Translate24To32()
  1295. *
  1296. * Summary:
  1297. * A trap on classic 68K, and the identity function for pre-carbon
  1298. *
  1299. * Availability:
  1300. * Non-Carbon CFM: available as macro/inline
  1301. * CarbonLib: not available
  1302. * Mac OS X: not available
  1303. }
  1304. function Translate24To32(addr24: UnivPtr): Ptr; external name '_Translate24To32';
  1305. {$endc} {CALL_NOT_IN_CARBON}
  1306. {
  1307. * HandToHand()
  1308. *
  1309. * Availability:
  1310. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1311. * CarbonLib: in CarbonLib 1.0 and later
  1312. * Mac OS X: in version 10.0 and later
  1313. }
  1314. function HandToHand(var theHndl: Handle): OSErr; external name '_HandToHand';
  1315. {
  1316. * PtrToXHand()
  1317. *
  1318. * Availability:
  1319. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1320. * CarbonLib: in CarbonLib 1.0 and later
  1321. * Mac OS X: in version 10.0 and later
  1322. }
  1323. function PtrToXHand(srcPtr: UnivPtr; dstHndl: Handle; size: SInt32): OSErr; external name '_PtrToXHand';
  1324. {
  1325. * PtrToHand()
  1326. *
  1327. * Availability:
  1328. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1329. * CarbonLib: in CarbonLib 1.0 and later
  1330. * Mac OS X: in version 10.0 and later
  1331. }
  1332. function PtrToHand(srcPtr: UnivPtr; var dstHndl: Handle; size: SInt32): OSErr; external name '_PtrToHand';
  1333. {
  1334. * HandAndHand()
  1335. *
  1336. * Availability:
  1337. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1338. * CarbonLib: in CarbonLib 1.0 and later
  1339. * Mac OS X: in version 10.0 and later
  1340. }
  1341. function HandAndHand(hand1: Handle; hand2: Handle): OSErr; external name '_HandAndHand';
  1342. {
  1343. * PtrAndHand()
  1344. *
  1345. * Availability:
  1346. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1347. * CarbonLib: in CarbonLib 1.0 and later
  1348. * Mac OS X: in version 10.0 and later
  1349. }
  1350. function PtrAndHand(ptr1: UnivPtr; hand2: Handle; size: SInt32): OSErr; external name '_PtrAndHand';
  1351. { Carbon routines to aid in debugging. }
  1352. { Checks all applicable heaps for validity }
  1353. {
  1354. * CheckAllHeaps()
  1355. *
  1356. * Availability:
  1357. * Non-Carbon CFM: not available
  1358. * CarbonLib: in CarbonLib 1.0 and later
  1359. * Mac OS X: in version 10.0 and later
  1360. }
  1361. function CheckAllHeaps: boolean; external name '_CheckAllHeaps';
  1362. { Checks the application heap for validity }
  1363. {
  1364. * IsHeapValid()
  1365. *
  1366. * Availability:
  1367. * Non-Carbon CFM: not available
  1368. * CarbonLib: in CarbonLib 1.0 and later
  1369. * Mac OS X: in version 10.0 and later
  1370. }
  1371. function IsHeapValid: boolean; external name '_IsHeapValid';
  1372. { It is invalid to pass a NULL or an empty Handle to IsHandleValid }
  1373. {
  1374. * IsHandleValid()
  1375. *
  1376. * Availability:
  1377. * Non-Carbon CFM: not available
  1378. * CarbonLib: in CarbonLib 1.0 and later
  1379. * Mac OS X: in version 10.0 and later
  1380. }
  1381. function IsHandleValid(h: Handle): boolean; external name '_IsHandleValid';
  1382. { It is invalid to pass a NULL Pointer to IsPointerValid }
  1383. {
  1384. * IsPointerValid()
  1385. *
  1386. * Availability:
  1387. * Non-Carbon CFM: not available
  1388. * CarbonLib: in CarbonLib 1.0 and later
  1389. * Mac OS X: in version 10.0 and later
  1390. }
  1391. function IsPointerValid(p: Ptr): boolean; external name '_IsPointerValid';
  1392. {$ifc OLDROUTINENAMES}
  1393. {$ifc CALL_NOT_IN_CARBON}
  1394. {
  1395. * ApplicZone()
  1396. *
  1397. * Availability:
  1398. * Non-Carbon CFM: not available
  1399. * CarbonLib: not available
  1400. * Mac OS X: not available
  1401. }
  1402. function ApplicZone: THz; external name '_ApplicZone';
  1403. {
  1404. * MFTempNewHandle()
  1405. *
  1406. * Availability:
  1407. * Non-Carbon CFM: not available
  1408. * CarbonLib: not available
  1409. * Mac OS X: not available
  1410. }
  1411. function MFTempNewHandle(logicalSize: Size; var resultCode: OSErr): Handle; external name '_MFTempNewHandle';
  1412. {
  1413. * MFMaxMem()
  1414. *
  1415. * Availability:
  1416. * Non-Carbon CFM: not available
  1417. * CarbonLib: not available
  1418. * Mac OS X: not available
  1419. }
  1420. function MFMaxMem(var grow: Size): Size; external name '_MFMaxMem';
  1421. {
  1422. * MFFreeMem()
  1423. *
  1424. * Availability:
  1425. * Non-Carbon CFM: not available
  1426. * CarbonLib: not available
  1427. * Mac OS X: not available
  1428. }
  1429. function MFFreeMem: SInt32; external name '_MFFreeMem';
  1430. {
  1431. * MFTempHLock()
  1432. *
  1433. * Availability:
  1434. * Non-Carbon CFM: not available
  1435. * CarbonLib: not available
  1436. * Mac OS X: not available
  1437. }
  1438. procedure MFTempHLock(h: Handle; var resultCode: OSErr); external name '_MFTempHLock';
  1439. {
  1440. * MFTempHUnlock()
  1441. *
  1442. * Availability:
  1443. * Non-Carbon CFM: not available
  1444. * CarbonLib: not available
  1445. * Mac OS X: not available
  1446. }
  1447. procedure MFTempHUnlock(h: Handle; var resultCode: OSErr); external name '_MFTempHUnlock';
  1448. {
  1449. * MFTempDisposHandle()
  1450. *
  1451. * Availability:
  1452. * Non-Carbon CFM: not available
  1453. * CarbonLib: not available
  1454. * Mac OS X: not available
  1455. }
  1456. procedure MFTempDisposHandle(h: Handle; var resultCode: OSErr); external name '_MFTempDisposHandle';
  1457. {
  1458. * MFTopMem()
  1459. *
  1460. * Availability:
  1461. * Non-Carbon CFM: not available
  1462. * CarbonLib: not available
  1463. * Mac OS X: not available
  1464. }
  1465. function MFTopMem: Ptr; external name '_MFTopMem';
  1466. {
  1467. * ResrvMem()
  1468. *
  1469. * Availability:
  1470. * Non-Carbon CFM: not available
  1471. * CarbonLib: not available
  1472. * Mac OS X: not available
  1473. }
  1474. procedure ResrvMem(cbNeeded: Size); external name '_ResrvMem';
  1475. {
  1476. * DisposPtr()
  1477. *
  1478. * Availability:
  1479. * Non-Carbon CFM: not available
  1480. * CarbonLib: not available
  1481. * Mac OS X: not available
  1482. }
  1483. procedure DisposPtr(p: Ptr); external name '_DisposPtr';
  1484. {
  1485. * DisposHandle()
  1486. *
  1487. * Availability:
  1488. * Non-Carbon CFM: not available
  1489. * CarbonLib: not available
  1490. * Mac OS X: not available
  1491. }
  1492. procedure DisposHandle(h: Handle); external name '_DisposHandle';
  1493. {
  1494. * ReallocHandle()
  1495. *
  1496. * Availability:
  1497. * Non-Carbon CFM: not available
  1498. * CarbonLib: not available
  1499. * Mac OS X: not available
  1500. }
  1501. procedure ReallocHandle(h: Handle; byteCount: Size); external name '_ReallocHandle';
  1502. {$endc} {CALL_NOT_IN_CARBON}
  1503. {$endc} {OLDROUTINENAMES}
  1504. {$ALIGN MAC68K}
  1505. end.