AEObjects.pas 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604
  1. {
  2. File: AEObjects.p
  3. Contains: Object Support Library Interfaces.
  4. Version: Technology: System 8.5
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1991-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 AEObjects;
  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,AEDataModel,OSUtils,AppleEvents,MacErrors;
  92. {$ALIGN MAC68K}
  93. const
  94. { *** LOGICAL OPERATOR CONSTANTS *** }
  95. kAEAND = $414E4420 (* 'AND ' *); { 0x414e4420 }
  96. kAEOR = $4F522020 (* 'OR ' *); { 0x4f522020 }
  97. kAENOT = $4E4F5420 (* 'NOT ' *); { 0x4e4f5420 }
  98. { *** ABSOLUTE ORDINAL CONSTANTS *** }
  99. kAEFirst = $66697273 (* 'firs' *); { 0x66697273 }
  100. kAELast = $6C617374 (* 'last' *); { 0x6c617374 }
  101. kAEMiddle = $6D696464 (* 'midd' *); { 0x6d696464 }
  102. kAEAny = $616E7920 (* 'any ' *); { 0x616e7920 }
  103. kAEAll = $616C6C20 (* 'all ' *); { 0x616c6c20 }
  104. { *** RELATIVE ORDINAL CONSTANTS *** }
  105. kAENext = $6E657874 (* 'next' *); { 0x6e657874 }
  106. kAEPrevious = $70726576 (* 'prev' *); { 0x70726576 }
  107. { *** KEYWORD CONSTANT *** }
  108. keyAECompOperator = $72656C6F (* 'relo' *); { 0x72656c6f }
  109. keyAELogicalTerms = $7465726D (* 'term' *); { 0x7465726d }
  110. keyAELogicalOperator = $6C6F6763 (* 'logc' *); { 0x6c6f6763 }
  111. keyAEObject1 = $6F626A31 (* 'obj1' *); { 0x6f626a31 }
  112. keyAEObject2 = $6F626A32 (* 'obj2' *); { 0x6f626a32 }
  113. { ... for Keywords for getting fields out of object specifier records. }
  114. keyAEDesiredClass = $77616E74 (* 'want' *); { 0x77616e74 }
  115. keyAEContainer = $66726F6D (* 'from' *); { 0x66726f6d }
  116. keyAEKeyForm = $666F726D (* 'form' *); { 0x666f726d }
  117. keyAEKeyData = $73656C64 (* 'seld' *); { 0x73656c64 }
  118. { ... for Keywords for getting fields out of Range specifier records. }
  119. keyAERangeStart = $73746172 (* 'star' *); { 0x73746172 }
  120. keyAERangeStop = $73746F70 (* 'stop' *); { 0x73746f70 }
  121. { ... special handler selectors for OSL Callbacks. }
  122. keyDisposeTokenProc = $78746F6B (* 'xtok' *); { 0x78746f6b }
  123. keyAECompareProc = $636D7072 (* 'cmpr' *); { 0x636d7072 }
  124. keyAECountProc = $636F6E74 (* 'cont' *); { 0x636f6e74 }
  125. keyAEMarkTokenProc = $6D6B6964 (* 'mkid' *); { 0x6d6b6964 }
  126. keyAEMarkProc = $6D61726B (* 'mark' *); { 0x6d61726b }
  127. keyAEAdjustMarksProc = $61646A6D (* 'adjm' *); { 0x61646a6d }
  128. keyAEGetErrDescProc = $696E6463 (* 'indc' *); { 0x696e6463 }
  129. { *** VALUE and type CONSTANTS *** }
  130. { ... possible values for the keyAEKeyForm field of an object specifier. }
  131. formAbsolutePosition = $696E6478 (* 'indx' *); { 0x696e6478 }
  132. formRelativePosition = $72656C65 (* 'rele' *); { 0x72656c65 }
  133. formTest = $74657374 (* 'test' *); { 0x74657374 }
  134. formRange = $72616E67 (* 'rang' *); { 0x72616e67 }
  135. formPropertyID = $70726F70 (* 'prop' *); { 0x70726f70 }
  136. formName = $6E616D65 (* 'name' *); { 0x6e616d65 }
  137. { ... relevant types (some of these are often pared with forms above). }
  138. typeObjectSpecifier = $6F626A20 (* 'obj ' *); { 0x6f626a20 }
  139. typeObjectBeingExamined = $65786D6E (* 'exmn' *); { 0x65786d6e }
  140. typeCurrentContainer = $63636E74 (* 'ccnt' *); { 0x63636e74 }
  141. typeToken = $746F6B65 (* 'toke' *); { 0x746f6b65 }
  142. typeRelativeDescriptor = $72656C20 (* 'rel ' *); { 0x72656c20 }
  143. typeAbsoluteOrdinal = $6162736F (* 'abso' *); { 0x6162736f }
  144. typeIndexDescriptor = $696E6465 (* 'inde' *); { 0x696e6465 }
  145. typeRangeDescriptor = $72616E67 (* 'rang' *); { 0x72616e67 }
  146. typeLogicalDescriptor = $6C6F6769 (* 'logi' *); { 0x6c6f6769 }
  147. typeCompDescriptor = $636D7064 (* 'cmpd' *); { 0x636d7064 }
  148. typeOSLTokenList = $6F73746C (* 'ostl' *); { 0x6F73746C }
  149. { Possible values for flags parameter to AEResolve. They're additive }
  150. kAEIDoMinimum = $0000;
  151. kAEIDoWhose = $0001;
  152. kAEIDoMarking = $0004;
  153. kAEPassSubDescs = $0008;
  154. kAEResolveNestedLists = $0010;
  155. kAEHandleSimpleRanges = $0020;
  156. kAEUseRelativeIterators = $0040;
  157. { *** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION }
  158. typeWhoseDescriptor = $77686F73 (* 'whos' *); { 0x77686f73 }
  159. formWhose = $77686F73 (* 'whos' *); { 0x77686f73 }
  160. typeWhoseRange = $77726E67 (* 'wrng' *); { 0x77726e67 }
  161. keyAEWhoseRangeStart = $77737472 (* 'wstr' *); { 0x77737472 }
  162. keyAEWhoseRangeStop = $77737470 (* 'wstp' *); { 0x77737470 }
  163. keyAEIndex = $6B696478 (* 'kidx' *); { 0x6b696478 }
  164. keyAETest = $6B747374 (* 'ktst' *); { 0x6b747374 }
  165. {
  166. used for rewriting tokens in place of 'ccnt' descriptors
  167. This record is only of interest to those who, when they...
  168. ...get ranges as key data in their accessor procs, choose
  169. ...to resolve them manually rather than call AEResolve again.
  170. }
  171. type
  172. ccntTokenRecordPtr = ^ccntTokenRecord;
  173. ccntTokenRecord = record
  174. tokenClass: DescType;
  175. token: AEDesc;
  176. end;
  177. ccntTokenRecPtr = ^ccntTokenRecord;
  178. ccntTokenRecHandle = ^ccntTokenRecPtr;
  179. {$ifc OLDROUTINENAMES}
  180. DescPtr = ^AEDesc;
  181. DescHandle = ^DescPtr;
  182. {$endc} {OLDROUTINENAMES}
  183. { typedefs providing type checking for procedure pointers }
  184. {$ifc TYPED_FUNCTION_POINTERS}
  185. OSLAccessorProcPtr = function(desiredClass: DescType; const (*var*) container: AEDesc; containerClass: DescType; form: DescType; const (*var*) selectionData: AEDesc; var value: AEDesc; accessorRefcon: SInt32): OSErr;
  186. {$elsec}
  187. OSLAccessorProcPtr = ProcPtr;
  188. {$endc}
  189. {$ifc TYPED_FUNCTION_POINTERS}
  190. OSLCompareProcPtr = function(oper: DescType; const (*var*) obj1: AEDesc; const (*var*) obj2: AEDesc; var result: boolean): OSErr;
  191. {$elsec}
  192. OSLCompareProcPtr = ProcPtr;
  193. {$endc}
  194. {$ifc TYPED_FUNCTION_POINTERS}
  195. OSLCountProcPtr = function(desiredType: DescType; containerClass: DescType; const (*var*) container: AEDesc; var result: SInt32): OSErr;
  196. {$elsec}
  197. OSLCountProcPtr = ProcPtr;
  198. {$endc}
  199. {$ifc TYPED_FUNCTION_POINTERS}
  200. OSLDisposeTokenProcPtr = function(var unneededToken: AEDesc): OSErr;
  201. {$elsec}
  202. OSLDisposeTokenProcPtr = ProcPtr;
  203. {$endc}
  204. {$ifc TYPED_FUNCTION_POINTERS}
  205. OSLGetMarkTokenProcPtr = function(const (*var*) dContainerToken: AEDesc; containerClass: DescType; var result: AEDesc): OSErr;
  206. {$elsec}
  207. OSLGetMarkTokenProcPtr = ProcPtr;
  208. {$endc}
  209. {$ifc TYPED_FUNCTION_POINTERS}
  210. OSLGetErrDescProcPtr = function(var appDescPtr: AEDescPtr): OSErr;
  211. {$elsec}
  212. OSLGetErrDescProcPtr = ProcPtr;
  213. {$endc}
  214. {$ifc TYPED_FUNCTION_POINTERS}
  215. OSLMarkProcPtr = function(const (*var*) dToken: AEDesc; const (*var*) markToken: AEDesc; index: SInt32): OSErr;
  216. {$elsec}
  217. OSLMarkProcPtr = ProcPtr;
  218. {$endc}
  219. {$ifc TYPED_FUNCTION_POINTERS}
  220. OSLAdjustMarksProcPtr = function(newStart: SInt32; newStop: SInt32; const (*var*) markToken: AEDesc): OSErr;
  221. {$elsec}
  222. OSLAdjustMarksProcPtr = ProcPtr;
  223. {$endc}
  224. {$ifc OPAQUE_UPP_TYPES}
  225. OSLAccessorUPP = ^SInt32; { an opaque UPP }
  226. {$elsec}
  227. OSLAccessorUPP = UniversalProcPtr;
  228. {$endc}
  229. {$ifc OPAQUE_UPP_TYPES}
  230. OSLCompareUPP = ^SInt32; { an opaque UPP }
  231. {$elsec}
  232. OSLCompareUPP = UniversalProcPtr;
  233. {$endc}
  234. {$ifc OPAQUE_UPP_TYPES}
  235. OSLCountUPP = ^SInt32; { an opaque UPP }
  236. {$elsec}
  237. OSLCountUPP = UniversalProcPtr;
  238. {$endc}
  239. {$ifc OPAQUE_UPP_TYPES}
  240. OSLDisposeTokenUPP = ^SInt32; { an opaque UPP }
  241. {$elsec}
  242. OSLDisposeTokenUPP = UniversalProcPtr;
  243. {$endc}
  244. {$ifc OPAQUE_UPP_TYPES}
  245. OSLGetMarkTokenUPP = ^SInt32; { an opaque UPP }
  246. {$elsec}
  247. OSLGetMarkTokenUPP = UniversalProcPtr;
  248. {$endc}
  249. {$ifc OPAQUE_UPP_TYPES}
  250. OSLGetErrDescUPP = ^SInt32; { an opaque UPP }
  251. {$elsec}
  252. OSLGetErrDescUPP = UniversalProcPtr;
  253. {$endc}
  254. {$ifc OPAQUE_UPP_TYPES}
  255. OSLMarkUPP = ^SInt32; { an opaque UPP }
  256. {$elsec}
  257. OSLMarkUPP = UniversalProcPtr;
  258. {$endc}
  259. {$ifc OPAQUE_UPP_TYPES}
  260. OSLAdjustMarksUPP = ^SInt32; { an opaque UPP }
  261. {$elsec}
  262. OSLAdjustMarksUPP = UniversalProcPtr;
  263. {$endc}
  264. const
  265. uppOSLAccessorProcInfo = $000FFFE0;
  266. uppOSLCompareProcInfo = $00003FE0;
  267. uppOSLCountProcInfo = $00003FE0;
  268. uppOSLDisposeTokenProcInfo = $000000E0;
  269. uppOSLGetMarkTokenProcInfo = $00000FE0;
  270. uppOSLGetErrDescProcInfo = $000000E0;
  271. uppOSLMarkProcInfo = $00000FE0;
  272. uppOSLAdjustMarksProcInfo = $00000FE0;
  273. {
  274. * NewOSLAccessorUPP()
  275. *
  276. * Availability:
  277. * Non-Carbon CFM: available as macro/inline
  278. * CarbonLib: in CarbonLib 1.0 and later
  279. * Mac OS X: in version 10.0 and later
  280. }
  281. function NewOSLAccessorUPP(userRoutine: OSLAccessorProcPtr): OSLAccessorUPP; external name '_NewOSLAccessorUPP'; { old name was NewOSLAccessorProc }
  282. {
  283. * NewOSLCompareUPP()
  284. *
  285. * Availability:
  286. * Non-Carbon CFM: available as macro/inline
  287. * CarbonLib: in CarbonLib 1.0 and later
  288. * Mac OS X: in version 10.0 and later
  289. }
  290. function NewOSLCompareUPP(userRoutine: OSLCompareProcPtr): OSLCompareUPP; external name '_NewOSLCompareUPP'; { old name was NewOSLCompareProc }
  291. {
  292. * NewOSLCountUPP()
  293. *
  294. * Availability:
  295. * Non-Carbon CFM: available as macro/inline
  296. * CarbonLib: in CarbonLib 1.0 and later
  297. * Mac OS X: in version 10.0 and later
  298. }
  299. function NewOSLCountUPP(userRoutine: OSLCountProcPtr): OSLCountUPP; external name '_NewOSLCountUPP'; { old name was NewOSLCountProc }
  300. {
  301. * NewOSLDisposeTokenUPP()
  302. *
  303. * Availability:
  304. * Non-Carbon CFM: available as macro/inline
  305. * CarbonLib: in CarbonLib 1.0 and later
  306. * Mac OS X: in version 10.0 and later
  307. }
  308. function NewOSLDisposeTokenUPP(userRoutine: OSLDisposeTokenProcPtr): OSLDisposeTokenUPP; external name '_NewOSLDisposeTokenUPP'; { old name was NewOSLDisposeTokenProc }
  309. {
  310. * NewOSLGetMarkTokenUPP()
  311. *
  312. * Availability:
  313. * Non-Carbon CFM: available as macro/inline
  314. * CarbonLib: in CarbonLib 1.0 and later
  315. * Mac OS X: in version 10.0 and later
  316. }
  317. function NewOSLGetMarkTokenUPP(userRoutine: OSLGetMarkTokenProcPtr): OSLGetMarkTokenUPP; external name '_NewOSLGetMarkTokenUPP'; { old name was NewOSLGetMarkTokenProc }
  318. {
  319. * NewOSLGetErrDescUPP()
  320. *
  321. * Availability:
  322. * Non-Carbon CFM: available as macro/inline
  323. * CarbonLib: in CarbonLib 1.0 and later
  324. * Mac OS X: in version 10.0 and later
  325. }
  326. function NewOSLGetErrDescUPP(userRoutine: OSLGetErrDescProcPtr): OSLGetErrDescUPP; external name '_NewOSLGetErrDescUPP'; { old name was NewOSLGetErrDescProc }
  327. {
  328. * NewOSLMarkUPP()
  329. *
  330. * Availability:
  331. * Non-Carbon CFM: available as macro/inline
  332. * CarbonLib: in CarbonLib 1.0 and later
  333. * Mac OS X: in version 10.0 and later
  334. }
  335. function NewOSLMarkUPP(userRoutine: OSLMarkProcPtr): OSLMarkUPP; external name '_NewOSLMarkUPP'; { old name was NewOSLMarkProc }
  336. {
  337. * NewOSLAdjustMarksUPP()
  338. *
  339. * Availability:
  340. * Non-Carbon CFM: available as macro/inline
  341. * CarbonLib: in CarbonLib 1.0 and later
  342. * Mac OS X: in version 10.0 and later
  343. }
  344. function NewOSLAdjustMarksUPP(userRoutine: OSLAdjustMarksProcPtr): OSLAdjustMarksUPP; external name '_NewOSLAdjustMarksUPP'; { old name was NewOSLAdjustMarksProc }
  345. {
  346. * DisposeOSLAccessorUPP()
  347. *
  348. * Availability:
  349. * Non-Carbon CFM: available as macro/inline
  350. * CarbonLib: in CarbonLib 1.0 and later
  351. * Mac OS X: in version 10.0 and later
  352. }
  353. procedure DisposeOSLAccessorUPP(userUPP: OSLAccessorUPP); external name '_DisposeOSLAccessorUPP';
  354. {
  355. * DisposeOSLCompareUPP()
  356. *
  357. * Availability:
  358. * Non-Carbon CFM: available as macro/inline
  359. * CarbonLib: in CarbonLib 1.0 and later
  360. * Mac OS X: in version 10.0 and later
  361. }
  362. procedure DisposeOSLCompareUPP(userUPP: OSLCompareUPP); external name '_DisposeOSLCompareUPP';
  363. {
  364. * DisposeOSLCountUPP()
  365. *
  366. * Availability:
  367. * Non-Carbon CFM: available as macro/inline
  368. * CarbonLib: in CarbonLib 1.0 and later
  369. * Mac OS X: in version 10.0 and later
  370. }
  371. procedure DisposeOSLCountUPP(userUPP: OSLCountUPP); external name '_DisposeOSLCountUPP';
  372. {
  373. * DisposeOSLDisposeTokenUPP()
  374. *
  375. * Availability:
  376. * Non-Carbon CFM: available as macro/inline
  377. * CarbonLib: in CarbonLib 1.0 and later
  378. * Mac OS X: in version 10.0 and later
  379. }
  380. procedure DisposeOSLDisposeTokenUPP(userUPP: OSLDisposeTokenUPP); external name '_DisposeOSLDisposeTokenUPP';
  381. {
  382. * DisposeOSLGetMarkTokenUPP()
  383. *
  384. * Availability:
  385. * Non-Carbon CFM: available as macro/inline
  386. * CarbonLib: in CarbonLib 1.0 and later
  387. * Mac OS X: in version 10.0 and later
  388. }
  389. procedure DisposeOSLGetMarkTokenUPP(userUPP: OSLGetMarkTokenUPP); external name '_DisposeOSLGetMarkTokenUPP';
  390. {
  391. * DisposeOSLGetErrDescUPP()
  392. *
  393. * Availability:
  394. * Non-Carbon CFM: available as macro/inline
  395. * CarbonLib: in CarbonLib 1.0 and later
  396. * Mac OS X: in version 10.0 and later
  397. }
  398. procedure DisposeOSLGetErrDescUPP(userUPP: OSLGetErrDescUPP); external name '_DisposeOSLGetErrDescUPP';
  399. {
  400. * DisposeOSLMarkUPP()
  401. *
  402. * Availability:
  403. * Non-Carbon CFM: available as macro/inline
  404. * CarbonLib: in CarbonLib 1.0 and later
  405. * Mac OS X: in version 10.0 and later
  406. }
  407. procedure DisposeOSLMarkUPP(userUPP: OSLMarkUPP); external name '_DisposeOSLMarkUPP';
  408. {
  409. * DisposeOSLAdjustMarksUPP()
  410. *
  411. * Availability:
  412. * Non-Carbon CFM: available as macro/inline
  413. * CarbonLib: in CarbonLib 1.0 and later
  414. * Mac OS X: in version 10.0 and later
  415. }
  416. procedure DisposeOSLAdjustMarksUPP(userUPP: OSLAdjustMarksUPP); external name '_DisposeOSLAdjustMarksUPP';
  417. {
  418. * InvokeOSLAccessorUPP()
  419. *
  420. * Availability:
  421. * Non-Carbon CFM: available as macro/inline
  422. * CarbonLib: in CarbonLib 1.0 and later
  423. * Mac OS X: in version 10.0 and later
  424. }
  425. function InvokeOSLAccessorUPP(desiredClass: DescType; const (*var*) container: AEDesc; containerClass: DescType; form: DescType; const (*var*) selectionData: AEDesc; var value: AEDesc; accessorRefcon: SInt32; userRoutine: OSLAccessorUPP): OSErr; external name '_InvokeOSLAccessorUPP'; { old name was CallOSLAccessorProc }
  426. {
  427. * InvokeOSLCompareUPP()
  428. *
  429. * Availability:
  430. * Non-Carbon CFM: available as macro/inline
  431. * CarbonLib: in CarbonLib 1.0 and later
  432. * Mac OS X: in version 10.0 and later
  433. }
  434. function InvokeOSLCompareUPP(oper: DescType; const (*var*) obj1: AEDesc; const (*var*) obj2: AEDesc; var result: boolean; userRoutine: OSLCompareUPP): OSErr; external name '_InvokeOSLCompareUPP'; { old name was CallOSLCompareProc }
  435. {
  436. * InvokeOSLCountUPP()
  437. *
  438. * Availability:
  439. * Non-Carbon CFM: available as macro/inline
  440. * CarbonLib: in CarbonLib 1.0 and later
  441. * Mac OS X: in version 10.0 and later
  442. }
  443. function InvokeOSLCountUPP(desiredType: DescType; containerClass: DescType; const (*var*) container: AEDesc; var result: SInt32; userRoutine: OSLCountUPP): OSErr; external name '_InvokeOSLCountUPP'; { old name was CallOSLCountProc }
  444. {
  445. * InvokeOSLDisposeTokenUPP()
  446. *
  447. * Availability:
  448. * Non-Carbon CFM: available as macro/inline
  449. * CarbonLib: in CarbonLib 1.0 and later
  450. * Mac OS X: in version 10.0 and later
  451. }
  452. function InvokeOSLDisposeTokenUPP(var unneededToken: AEDesc; userRoutine: OSLDisposeTokenUPP): OSErr; external name '_InvokeOSLDisposeTokenUPP'; { old name was CallOSLDisposeTokenProc }
  453. {
  454. * InvokeOSLGetMarkTokenUPP()
  455. *
  456. * Availability:
  457. * Non-Carbon CFM: available as macro/inline
  458. * CarbonLib: in CarbonLib 1.0 and later
  459. * Mac OS X: in version 10.0 and later
  460. }
  461. function InvokeOSLGetMarkTokenUPP(const (*var*) dContainerToken: AEDesc; containerClass: DescType; var result: AEDesc; userRoutine: OSLGetMarkTokenUPP): OSErr; external name '_InvokeOSLGetMarkTokenUPP'; { old name was CallOSLGetMarkTokenProc }
  462. {
  463. * InvokeOSLGetErrDescUPP()
  464. *
  465. * Availability:
  466. * Non-Carbon CFM: available as macro/inline
  467. * CarbonLib: in CarbonLib 1.0 and later
  468. * Mac OS X: in version 10.0 and later
  469. }
  470. function InvokeOSLGetErrDescUPP(var appDescPtr: AEDescPtr; userRoutine: OSLGetErrDescUPP): OSErr; external name '_InvokeOSLGetErrDescUPP'; { old name was CallOSLGetErrDescProc }
  471. {
  472. * InvokeOSLMarkUPP()
  473. *
  474. * Availability:
  475. * Non-Carbon CFM: available as macro/inline
  476. * CarbonLib: in CarbonLib 1.0 and later
  477. * Mac OS X: in version 10.0 and later
  478. }
  479. function InvokeOSLMarkUPP(const (*var*) dToken: AEDesc; const (*var*) markToken: AEDesc; index: SInt32; userRoutine: OSLMarkUPP): OSErr; external name '_InvokeOSLMarkUPP'; { old name was CallOSLMarkProc }
  480. {
  481. * InvokeOSLAdjustMarksUPP()
  482. *
  483. * Availability:
  484. * Non-Carbon CFM: available as macro/inline
  485. * CarbonLib: in CarbonLib 1.0 and later
  486. * Mac OS X: in version 10.0 and later
  487. }
  488. function InvokeOSLAdjustMarksUPP(newStart: SInt32; newStop: SInt32; const (*var*) markToken: AEDesc; userRoutine: OSLAdjustMarksUPP): OSErr; external name '_InvokeOSLAdjustMarksUPP'; { old name was CallOSLAdjustMarksProc }
  489. {
  490. * AEObjectInit()
  491. *
  492. * Availability:
  493. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  494. * CarbonLib: in CarbonLib 1.0 and later
  495. * Mac OS X: in version 10.0 and later
  496. }
  497. function AEObjectInit: OSErr; external name '_AEObjectInit';
  498. { Not done by inline, but by direct linking into code. It sets up the pack
  499. such that further calls can be via inline }
  500. {
  501. * AESetObjectCallbacks()
  502. *
  503. * Availability:
  504. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  505. * CarbonLib: in CarbonLib 1.0 and later
  506. * Mac OS X: in version 10.0 and later
  507. }
  508. function AESetObjectCallbacks(myCompareProc: OSLCompareUPP; myCountProc: OSLCountUPP; myDisposeTokenProc: OSLDisposeTokenUPP; myGetMarkTokenProc: OSLGetMarkTokenUPP; myMarkProc: OSLMarkUPP; myAdjustMarksProc: OSLAdjustMarksUPP; myGetErrDescProcPtr: OSLGetErrDescUPP): OSErr; external name '_AESetObjectCallbacks';
  509. {
  510. * AEResolve()
  511. *
  512. * Availability:
  513. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  514. * CarbonLib: in CarbonLib 1.0 and later
  515. * Mac OS X: in version 10.0 and later
  516. }
  517. function AEResolve(const (*var*) objectSpecifier: AEDesc; callbackFlags: SInt16; var theToken: AEDesc): OSErr; external name '_AEResolve';
  518. {
  519. * AEInstallObjectAccessor()
  520. *
  521. * Availability:
  522. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  523. * CarbonLib: in CarbonLib 1.0 and later
  524. * Mac OS X: in version 10.0 and later
  525. }
  526. function AEInstallObjectAccessor(desiredClass: DescType; containerType: DescType; theAccessor: OSLAccessorUPP; accessorRefcon: SInt32; isSysHandler: boolean): OSErr; external name '_AEInstallObjectAccessor';
  527. {
  528. * AERemoveObjectAccessor()
  529. *
  530. * Availability:
  531. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  532. * CarbonLib: in CarbonLib 1.0 and later
  533. * Mac OS X: in version 10.0 and later
  534. }
  535. function AERemoveObjectAccessor(desiredClass: DescType; containerType: DescType; theAccessor: OSLAccessorUPP; isSysHandler: boolean): OSErr; external name '_AERemoveObjectAccessor';
  536. {
  537. * AEGetObjectAccessor()
  538. *
  539. * Availability:
  540. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  541. * CarbonLib: in CarbonLib 1.0 and later
  542. * Mac OS X: in version 10.0 and later
  543. }
  544. function AEGetObjectAccessor(desiredClass: DescType; containerType: DescType; var accessor: OSLAccessorUPP; var accessorRefcon: SInt32; isSysHandler: boolean): OSErr; external name '_AEGetObjectAccessor';
  545. {
  546. * AEDisposeToken()
  547. *
  548. * Availability:
  549. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  550. * CarbonLib: in CarbonLib 1.0 and later
  551. * Mac OS X: in version 10.0 and later
  552. }
  553. function AEDisposeToken(var theToken: AEDesc): OSErr; external name '_AEDisposeToken';
  554. {
  555. * AECallObjectAccessor()
  556. *
  557. * Availability:
  558. * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
  559. * CarbonLib: in CarbonLib 1.0 and later
  560. * Mac OS X: in version 10.0 and later
  561. }
  562. function AECallObjectAccessor(desiredClass: DescType; const (*var*) containerToken: AEDesc; containerClass: DescType; keyForm: DescType; const (*var*) keyData: AEDesc; var token: AEDesc): OSErr; external name '_AECallObjectAccessor';
  563. {$ALIGN MAC68K}
  564. end.