Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

930 lines
28 KiB

  1. /*
  2. File: Editions.h
  3. Contains: Edition Manager Interfaces.
  4. Version: Technology: System 7.5
  5. Release: QuickTime 7.3
  6. Copyright: (c) 2007 (c) 1989-1999 by Apple Computer, Inc., all rights reserved
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://developer.apple.com/bugreporter/
  10. */
  11. #ifndef __EDITIONS__
  12. #define __EDITIONS__
  13. #ifndef __MACTYPES__
  14. #include <MacTypes.h>
  15. #endif
  16. #ifndef __MIXEDMODE__
  17. #include <MixedMode.h>
  18. #endif
  19. #ifndef __FILES__
  20. #include <Files.h>
  21. #endif
  22. #ifndef __ALIASES__
  23. #include <Aliases.h>
  24. #endif
  25. #ifndef __DIALOGS__
  26. #include <Dialogs.h>
  27. #endif
  28. #if PRAGMA_ONCE
  29. #pragma once
  30. #endif
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34. #if PRAGMA_IMPORT
  35. #pragma import on
  36. #endif
  37. #if PRAGMA_STRUCT_ALIGN
  38. #pragma options align=mac68k
  39. #elif PRAGMA_STRUCT_PACKPUSH
  40. #pragma pack(push, 2)
  41. #elif PRAGMA_STRUCT_PACK
  42. #pragma pack(2)
  43. #endif
  44. enum {
  45. /* resource types */
  46. rSectionType = FOUR_CHAR_CODE('sect'), /* ResType of saved SectionRecords */
  47. /* Finder types for edition files */
  48. kPICTEditionFileType = FOUR_CHAR_CODE('edtp'),
  49. kTEXTEditionFileType = FOUR_CHAR_CODE('edtt'),
  50. ksndEditionFileType = FOUR_CHAR_CODE('edts'),
  51. kUnknownEditionFileType = FOUR_CHAR_CODE('edtu'),
  52. kPublisherDocAliasFormat = FOUR_CHAR_CODE('alis'),
  53. kPreviewFormat = FOUR_CHAR_CODE('prvw'),
  54. kFormatListFormat = FOUR_CHAR_CODE('fmts')
  55. };
  56. enum {
  57. /* section types */
  58. stSubscriber = 0x01,
  59. stPublisher = 0x0A
  60. };
  61. enum {
  62. sumAutomatic = 0, /* subscriber update mode - Automatically */
  63. sumManual = 1, /* subscriber update mode - Manually */
  64. pumOnSave = 0, /* publisher update mode - OnSave */
  65. pumManual = 1 /* publisher update mode - Manually */
  66. };
  67. enum {
  68. kPartsNotUsed = 0,
  69. kPartNumberUnknown = -1
  70. };
  71. enum {
  72. kPreviewWidth = 120,
  73. kPreviewHeight = 120
  74. };
  75. enum {
  76. /* bits for formatsMask */
  77. kPICTformatMask = 1,
  78. kTEXTformatMask = 2,
  79. ksndFormatMask = 4
  80. };
  81. enum {
  82. /* pseudo-item hits for dialogHooks the first is for NewPublisher or NewSubscriber Dialogs */
  83. emHookRedrawPreview = 150, /* the following are for SectionOptions Dialog */
  84. emHookCancelSection = 160,
  85. emHookGoToPublisher = 161,
  86. emHookGetEditionNow = 162,
  87. emHookSendEditionNow = 162,
  88. emHookManualUpdateMode = 163,
  89. emHookAutoUpdateMode = 164
  90. };
  91. enum {
  92. /* the refcon field of the dialog record during a modalfilter or dialoghook contains one the following */
  93. emOptionsDialogRefCon = FOUR_CHAR_CODE('optn'),
  94. emCancelSectionDialogRefCon = FOUR_CHAR_CODE('cncl'),
  95. emGoToPubErrDialogRefCon = FOUR_CHAR_CODE('gerr')
  96. };
  97. enum {
  98. kFormatLengthUnknown = -1
  99. };
  100. /* one byte, stSubscriber or stPublisher */
  101. typedef SignedByte SectionType;
  102. /* seconds since 1904 */
  103. typedef unsigned long TimeStamp;
  104. /* similar to ResType */
  105. typedef FourCharCode FormatType;
  106. /* used in Edition I/O */
  107. typedef Handle EditionRefNum;
  108. /* update modes */
  109. /* sumAutomatic, pumSuspend, etc */
  110. typedef short UpdateMode;
  111. typedef struct SectionRecord SectionRecord;
  112. typedef SectionRecord * SectionPtr;
  113. typedef SectionPtr * SectionHandle;
  114. struct SectionRecord {
  115. SignedByte version; /* always 0x01 in system 7.0 */
  116. SectionType kind; /* stSubscriber or stPublisher */
  117. UpdateMode mode; /* auto or manual */
  118. TimeStamp mdDate; /* last change in document */
  119. long sectionID; /* app. specific, unique per document */
  120. long refCon; /* application specific */
  121. AliasHandle alias; /* handle to Alias Record */
  122. long subPart; /* which part of container file */
  123. SectionHandle nextSection; /* for linked list of app's Sections */
  124. Handle controlBlock; /* used internally */
  125. EditionRefNum refNum; /* used internally */
  126. };
  127. struct EditionContainerSpec {
  128. FSSpec theFile;
  129. ScriptCode theFileScript;
  130. long thePart;
  131. Str31 thePartName;
  132. ScriptCode thePartScript;
  133. };
  134. typedef struct EditionContainerSpec EditionContainerSpec;
  135. typedef EditionContainerSpec * EditionContainerSpecPtr;
  136. struct EditionInfoRecord {
  137. TimeStamp crDate; /* date EditionContainer was created */
  138. TimeStamp mdDate; /* date of last change */
  139. OSType fdCreator; /* file creator */
  140. OSType fdType; /* file type */
  141. EditionContainerSpec container; /* the Edition */
  142. };
  143. typedef struct EditionInfoRecord EditionInfoRecord;
  144. struct NewPublisherReply {
  145. Boolean canceled; /* O */
  146. Boolean replacing;
  147. Boolean usePart; /* I */
  148. SInt8 filler;
  149. Handle preview; /* I */
  150. FormatType previewFormat; /* I */
  151. EditionContainerSpec container; /* I/O */
  152. };
  153. typedef struct NewPublisherReply NewPublisherReply;
  154. struct NewSubscriberReply {
  155. Boolean canceled; /* O */
  156. SignedByte formatsMask;
  157. EditionContainerSpec container; /*I/O*/
  158. };
  159. typedef struct NewSubscriberReply NewSubscriberReply;
  160. struct SectionOptionsReply {
  161. Boolean canceled; /* O */
  162. Boolean changed; /* O */
  163. SectionHandle sectionH; /* I */
  164. ResType action; /* O */
  165. };
  166. typedef struct SectionOptionsReply SectionOptionsReply;
  167. typedef CALLBACK_API( Boolean , ExpModalFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  168. typedef CALLBACK_API( short , ExpDlgHookProcPtr )(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  169. typedef STACK_UPP_TYPE(ExpModalFilterProcPtr) ExpModalFilterUPP;
  170. typedef STACK_UPP_TYPE(ExpDlgHookProcPtr) ExpDlgHookUPP;
  171. #if CALL_NOT_IN_CARBON
  172. /*
  173. * NewExpModalFilterUPP()
  174. *
  175. * Availability:
  176. * Non-Carbon CFM: available as macro/inline
  177. * CarbonLib: not available
  178. * Mac OS X: not available
  179. */
  180. EXTERN_API_C( ExpModalFilterUPP )
  181. NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine);
  182. #if !OPAQUE_UPP_TYPES
  183. enum { uppExpModalFilterProcInfo = 0x0000FBD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
  184. #ifdef __cplusplus
  185. inline DEFINE_API_C(ExpModalFilterUPP) NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine) { return (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture()); }
  186. #else
  187. #define NewExpModalFilterUPP(userRoutine) (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture())
  188. #endif
  189. #endif
  190. /*
  191. * NewExpDlgHookUPP()
  192. *
  193. * Availability:
  194. * Non-Carbon CFM: available as macro/inline
  195. * CarbonLib: not available
  196. * Mac OS X: not available
  197. */
  198. EXTERN_API_C( ExpDlgHookUPP )
  199. NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine);
  200. #if !OPAQUE_UPP_TYPES
  201. enum { uppExpDlgHookProcInfo = 0x00003EA0 }; /* pascal 2_bytes Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
  202. #ifdef __cplusplus
  203. inline DEFINE_API_C(ExpDlgHookUPP) NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine) { return (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture()); }
  204. #else
  205. #define NewExpDlgHookUPP(userRoutine) (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture())
  206. #endif
  207. #endif
  208. /*
  209. * DisposeExpModalFilterUPP()
  210. *
  211. * Availability:
  212. * Non-Carbon CFM: available as macro/inline
  213. * CarbonLib: not available
  214. * Mac OS X: not available
  215. */
  216. EXTERN_API_C( void )
  217. DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP);
  218. #if !OPAQUE_UPP_TYPES
  219. #ifdef __cplusplus
  220. inline DEFINE_API_C(void) DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  221. #else
  222. #define DisposeExpModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  223. #endif
  224. #endif
  225. /*
  226. * DisposeExpDlgHookUPP()
  227. *
  228. * Availability:
  229. * Non-Carbon CFM: available as macro/inline
  230. * CarbonLib: not available
  231. * Mac OS X: not available
  232. */
  233. EXTERN_API_C( void )
  234. DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP);
  235. #if !OPAQUE_UPP_TYPES
  236. #ifdef __cplusplus
  237. inline DEFINE_API_C(void) DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  238. #else
  239. #define DisposeExpDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  240. #endif
  241. #endif
  242. /*
  243. * InvokeExpModalFilterUPP()
  244. *
  245. * Availability:
  246. * Non-Carbon CFM: available as macro/inline
  247. * CarbonLib: not available
  248. * Mac OS X: not available
  249. */
  250. EXTERN_API_C( Boolean )
  251. InvokeExpModalFilterUPP(
  252. DialogPtr theDialog,
  253. EventRecord * theEvent,
  254. short itemOffset,
  255. short * itemHit,
  256. Ptr yourDataPtr,
  257. ExpModalFilterUPP userUPP);
  258. #if !OPAQUE_UPP_TYPES
  259. #ifdef __cplusplus
  260. inline DEFINE_API_C(Boolean) InvokeExpModalFilterUPP(DialogPtr theDialog, EventRecord * theEvent, short itemOffset, short * itemHit, Ptr yourDataPtr, ExpModalFilterUPP userUPP) { return (Boolean)CALL_FIVE_PARAMETER_UPP(userUPP, uppExpModalFilterProcInfo, theDialog, theEvent, itemOffset, itemHit, yourDataPtr); }
  261. #else
  262. #define InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
  263. #endif
  264. #endif
  265. /*
  266. * InvokeExpDlgHookUPP()
  267. *
  268. * Availability:
  269. * Non-Carbon CFM: available as macro/inline
  270. * CarbonLib: not available
  271. * Mac OS X: not available
  272. */
  273. EXTERN_API_C( short )
  274. InvokeExpDlgHookUPP(
  275. short itemOffset,
  276. short itemHit,
  277. DialogPtr theDialog,
  278. Ptr yourDataPtr,
  279. ExpDlgHookUPP userUPP);
  280. #if !OPAQUE_UPP_TYPES
  281. #ifdef __cplusplus
  282. inline DEFINE_API_C(short) InvokeExpDlgHookUPP(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr, ExpDlgHookUPP userUPP) { return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppExpDlgHookProcInfo, itemOffset, itemHit, theDialog, yourDataPtr); }
  283. #else
  284. #define InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
  285. #endif
  286. #endif
  287. #endif /* CALL_NOT_IN_CARBON */
  288. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  289. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  290. #define NewExpModalFilterProc(userRoutine) NewExpModalFilterUPP(userRoutine)
  291. #define NewExpDlgHookProc(userRoutine) NewExpDlgHookUPP(userRoutine)
  292. #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr) InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userRoutine)
  293. #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr) InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userRoutine)
  294. #endif /* CALL_NOT_IN_CARBON */
  295. typedef SInt8 FormatIOVerb;
  296. enum {
  297. ioHasFormat = 0,
  298. ioReadFormat = 1,
  299. ioNewFormat = 2,
  300. ioWriteFormat = 3
  301. };
  302. typedef SInt8 EditionOpenerVerb;
  303. enum {
  304. eoOpen = 0,
  305. eoClose = 1,
  306. eoOpenNew = 2,
  307. eoCloseNew = 3,
  308. eoCanSubscribe = 4
  309. };
  310. struct FormatIOParamBlock {
  311. long ioRefNum;
  312. FormatType format;
  313. long formatIndex;
  314. unsigned long offset;
  315. Ptr buffPtr;
  316. unsigned long buffLen;
  317. };
  318. typedef struct FormatIOParamBlock FormatIOParamBlock;
  319. typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
  320. typedef CALLBACK_API( short , FormatIOProcPtr )(FormatIOVerb selector, FormatIOParamBlock *PB);
  321. typedef CALLBACK_API( short , EditionOpenerProcPtr )(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
  322. typedef STACK_UPP_TYPE(FormatIOProcPtr) FormatIOUPP;
  323. typedef STACK_UPP_TYPE(EditionOpenerProcPtr) EditionOpenerUPP;
  324. struct EditionOpenerParamBlock {
  325. EditionInfoRecord info;
  326. SectionHandle sectionH;
  327. const FSSpec * document;
  328. OSType fdCreator;
  329. long ioRefNum;
  330. FormatIOUPP ioProc;
  331. Boolean success;
  332. SignedByte formatsMask;
  333. };
  334. #if CALL_NOT_IN_CARBON
  335. /*
  336. * NewFormatIOUPP()
  337. *
  338. * Availability:
  339. * Non-Carbon CFM: available as macro/inline
  340. * CarbonLib: not available
  341. * Mac OS X: not available
  342. */
  343. EXTERN_API_C( FormatIOUPP )
  344. NewFormatIOUPP(FormatIOProcPtr userRoutine);
  345. #if !OPAQUE_UPP_TYPES
  346. enum { uppFormatIOProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
  347. #ifdef __cplusplus
  348. inline DEFINE_API_C(FormatIOUPP) NewFormatIOUPP(FormatIOProcPtr userRoutine) { return (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture()); }
  349. #else
  350. #define NewFormatIOUPP(userRoutine) (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture())
  351. #endif
  352. #endif
  353. /*
  354. * NewEditionOpenerUPP()
  355. *
  356. * Availability:
  357. * Non-Carbon CFM: available as macro/inline
  358. * CarbonLib: not available
  359. * Mac OS X: not available
  360. */
  361. EXTERN_API_C( EditionOpenerUPP )
  362. NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine);
  363. #if !OPAQUE_UPP_TYPES
  364. enum { uppEditionOpenerProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
  365. #ifdef __cplusplus
  366. inline DEFINE_API_C(EditionOpenerUPP) NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine) { return (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture()); }
  367. #else
  368. #define NewEditionOpenerUPP(userRoutine) (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture())
  369. #endif
  370. #endif
  371. #endif /* CALL_NOT_IN_CARBON */
  372. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  373. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  374. #define NewFormatIOProc(userRoutine) NewFormatIOUPP(userRoutine)
  375. #define NewEditionOpenerProc(userRoutine) NewEditionOpenerUPP(userRoutine)
  376. #endif /* CALL_NOT_IN_CARBON */
  377. /*
  378. Section events now arrive in the message buffer using the AppleEvent format.
  379. The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
  380. ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
  381. The following is a sample buffer
  382. name offset contents
  383. ---- ------ --------
  384. header 0 'aevt'
  385. majorVersion 4 0x01
  386. minorVersion 6 0x01
  387. endOfMetaData 8 ';;;;'
  388. directObjKey 12 '----'
  389. paramType 16 'tid '
  390. paramLength 20 0x0008
  391. tempIDType 24 'sect'
  392. tempID 28 the SectionHandle <-- this is want you want
  393. */
  394. enum {
  395. sectionEventMsgClass = FOUR_CHAR_CODE('sect'),
  396. sectionReadMsgID = FOUR_CHAR_CODE('read'),
  397. sectionWriteMsgID = FOUR_CHAR_CODE('writ'),
  398. sectionScrollMsgID = FOUR_CHAR_CODE('scrl'),
  399. sectionCancelMsgID = FOUR_CHAR_CODE('cncl')
  400. };
  401. enum {
  402. currentEditionMgrVers = 0x0011
  403. };
  404. #if TARGET_RT_MAC_CFM
  405. #define InitEditionPack() InitEditionPackVersion(currentEditionMgrVers)
  406. #else
  407. #if CALL_NOT_IN_CARBON
  408. /*
  409. * InitEditionPack()
  410. *
  411. * Availability:
  412. * Non-Carbon CFM: not available
  413. * CarbonLib: not available
  414. * Mac OS X: not available
  415. */
  416. EXTERN_API( OSErr )
  417. InitEditionPack(void) FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
  418. #endif /* CALL_NOT_IN_CARBON */
  419. #endif /* TARGET_RT_MAC_CFM */
  420. #if CALL_NOT_IN_CARBON
  421. /*
  422. * InitEditionPackVersion()
  423. *
  424. * Availability:
  425. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  426. * CarbonLib: not available
  427. * Mac OS X: not available
  428. */
  429. EXTERN_API( OSErr )
  430. InitEditionPackVersion(short curEditionMgrVers) THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
  431. /*
  432. * NewSection()
  433. *
  434. * Availability:
  435. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  436. * CarbonLib: not available
  437. * Mac OS X: not available
  438. */
  439. EXTERN_API( OSErr )
  440. NewSection(
  441. const EditionContainerSpec * container,
  442. const FSSpec * sectionDocument, /* can be NULL */
  443. SectionType kind,
  444. long sectionID,
  445. UpdateMode initalMode,
  446. SectionHandle * sectionH) THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
  447. /*
  448. * RegisterSection()
  449. *
  450. * Availability:
  451. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  452. * CarbonLib: not available
  453. * Mac OS X: not available
  454. */
  455. EXTERN_API( OSErr )
  456. RegisterSection(
  457. const FSSpec * sectionDocument,
  458. SectionHandle sectionH,
  459. Boolean * aliasWasUpdated) THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
  460. /*
  461. * UnRegisterSection()
  462. *
  463. * Availability:
  464. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  465. * CarbonLib: not available
  466. * Mac OS X: not available
  467. */
  468. EXTERN_API( OSErr )
  469. UnRegisterSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
  470. /*
  471. * IsRegisteredSection()
  472. *
  473. * Availability:
  474. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  475. * CarbonLib: not available
  476. * Mac OS X: not available
  477. */
  478. EXTERN_API( OSErr )
  479. IsRegisteredSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
  480. /*
  481. * AssociateSection()
  482. *
  483. * Availability:
  484. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  485. * CarbonLib: not available
  486. * Mac OS X: not available
  487. */
  488. EXTERN_API( OSErr )
  489. AssociateSection(
  490. SectionHandle sectionH,
  491. const FSSpec * newSectionDocument) THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
  492. /*
  493. * CreateEditionContainerFile()
  494. *
  495. * Availability:
  496. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  497. * CarbonLib: not available
  498. * Mac OS X: not available
  499. */
  500. EXTERN_API( OSErr )
  501. CreateEditionContainerFile(
  502. const FSSpec * editionFile,
  503. OSType fdCreator,
  504. ScriptCode editionFileNameScript) THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
  505. /*
  506. * DeleteEditionContainerFile()
  507. *
  508. * Availability:
  509. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  510. * CarbonLib: not available
  511. * Mac OS X: not available
  512. */
  513. EXTERN_API( OSErr )
  514. DeleteEditionContainerFile(const FSSpec * editionFile) THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
  515. /*
  516. * OpenEdition()
  517. *
  518. * Availability:
  519. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  520. * CarbonLib: not available
  521. * Mac OS X: not available
  522. */
  523. EXTERN_API( OSErr )
  524. OpenEdition(
  525. SectionHandle subscriberSectionH,
  526. EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
  527. /*
  528. * OpenNewEdition()
  529. *
  530. * Availability:
  531. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  532. * CarbonLib: not available
  533. * Mac OS X: not available
  534. */
  535. EXTERN_API( OSErr )
  536. OpenNewEdition(
  537. SectionHandle publisherSectionH,
  538. OSType fdCreator,
  539. const FSSpec * publisherSectionDocument, /* can be NULL */
  540. EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
  541. /*
  542. * CloseEdition()
  543. *
  544. * Availability:
  545. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  546. * CarbonLib: not available
  547. * Mac OS X: not available
  548. */
  549. EXTERN_API( OSErr )
  550. CloseEdition(
  551. EditionRefNum whichEdition,
  552. Boolean successful) THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
  553. /*
  554. * EditionHasFormat()
  555. *
  556. * Availability:
  557. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  558. * CarbonLib: not available
  559. * Mac OS X: not available
  560. */
  561. EXTERN_API( OSErr )
  562. EditionHasFormat(
  563. EditionRefNum whichEdition,
  564. FormatType whichFormat,
  565. Size * formatSize) THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
  566. /*
  567. * ReadEdition()
  568. *
  569. * Availability:
  570. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  571. * CarbonLib: not available
  572. * Mac OS X: not available
  573. */
  574. EXTERN_API( OSErr )
  575. ReadEdition(
  576. EditionRefNum whichEdition,
  577. FormatType whichFormat,
  578. void * buffPtr,
  579. Size * buffLen) THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
  580. /*
  581. * WriteEdition()
  582. *
  583. * Availability:
  584. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  585. * CarbonLib: not available
  586. * Mac OS X: not available
  587. */
  588. EXTERN_API( OSErr )
  589. WriteEdition(
  590. EditionRefNum whichEdition,
  591. FormatType whichFormat,
  592. const void * buffPtr,
  593. Size buffLen) THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
  594. /*
  595. * GetEditionFormatMark()
  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. EXTERN_API( OSErr )
  603. GetEditionFormatMark(
  604. EditionRefNum whichEdition,
  605. FormatType whichFormat,
  606. unsigned long * currentMark) THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
  607. /*
  608. * SetEditionFormatMark()
  609. *
  610. * Availability:
  611. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  612. * CarbonLib: not available
  613. * Mac OS X: not available
  614. */
  615. EXTERN_API( OSErr )
  616. SetEditionFormatMark(
  617. EditionRefNum whichEdition,
  618. FormatType whichFormat,
  619. unsigned long setMarkTo) THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
  620. /*
  621. * GetEditionInfo()
  622. *
  623. * Availability:
  624. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  625. * CarbonLib: not available
  626. * Mac OS X: not available
  627. */
  628. EXTERN_API( OSErr )
  629. GetEditionInfo(
  630. SectionHandle sectionH,
  631. EditionInfoRecord * editionInfo) THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
  632. /*
  633. * GoToPublisherSection()
  634. *
  635. * Availability:
  636. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  637. * CarbonLib: not available
  638. * Mac OS X: not available
  639. */
  640. EXTERN_API( OSErr )
  641. GoToPublisherSection(const EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
  642. /*
  643. * GetLastEditionContainerUsed()
  644. *
  645. * Availability:
  646. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  647. * CarbonLib: not available
  648. * Mac OS X: not available
  649. */
  650. EXTERN_API( OSErr )
  651. GetLastEditionContainerUsed(EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
  652. /*
  653. * GetStandardFormats()
  654. *
  655. * Availability:
  656. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  657. * CarbonLib: not available
  658. * Mac OS X: not available
  659. */
  660. EXTERN_API( OSErr )
  661. GetStandardFormats(
  662. const EditionContainerSpec * container,
  663. FormatType * previewFormat,
  664. Handle preview,
  665. Handle publisherAlias,
  666. Handle formats) THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
  667. /*
  668. * GetEditionOpenerProc()
  669. *
  670. * Availability:
  671. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  672. * CarbonLib: not available
  673. * Mac OS X: not available
  674. */
  675. EXTERN_API( OSErr )
  676. GetEditionOpenerProc(EditionOpenerUPP * opener) THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
  677. /*
  678. * SetEditionOpenerProc()
  679. *
  680. * Availability:
  681. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  682. * CarbonLib: not available
  683. * Mac OS X: not available
  684. */
  685. EXTERN_API( OSErr )
  686. SetEditionOpenerProc(EditionOpenerUPP opener) THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
  687. /*
  688. * CallEditionOpenerProc()
  689. *
  690. * Availability:
  691. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  692. * CarbonLib: not available
  693. * Mac OS X: not available
  694. */
  695. EXTERN_API( OSErr )
  696. CallEditionOpenerProc(
  697. EditionOpenerVerb selector,
  698. EditionOpenerParamBlock * PB,
  699. EditionOpenerUPP routine) THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
  700. /*
  701. * CallFormatIOProc()
  702. *
  703. * Availability:
  704. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  705. * CarbonLib: not available
  706. * Mac OS X: not available
  707. */
  708. EXTERN_API( OSErr )
  709. CallFormatIOProc(
  710. FormatIOVerb selector,
  711. FormatIOParamBlock * PB,
  712. FormatIOUPP routine) THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
  713. /*
  714. * NewSubscriberDialog()
  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. EXTERN_API( OSErr )
  722. NewSubscriberDialog(NewSubscriberReply * reply) THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
  723. /*
  724. * NewSubscriberExpDialog()
  725. *
  726. * Availability:
  727. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  728. * CarbonLib: not available
  729. * Mac OS X: not available
  730. */
  731. EXTERN_API( OSErr )
  732. NewSubscriberExpDialog(
  733. NewSubscriberReply * reply,
  734. Point where,
  735. short expansionDITLresID,
  736. ExpDlgHookUPP dlgHook,
  737. ExpModalFilterUPP filter,
  738. void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
  739. /*
  740. * NewPublisherDialog()
  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. EXTERN_API( OSErr )
  748. NewPublisherDialog(NewPublisherReply * reply) THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
  749. /*
  750. * NewPublisherExpDialog()
  751. *
  752. * Availability:
  753. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  754. * CarbonLib: not available
  755. * Mac OS X: not available
  756. */
  757. EXTERN_API( OSErr )
  758. NewPublisherExpDialog(
  759. NewPublisherReply * reply,
  760. Point where,
  761. short expansionDITLresID,
  762. ExpDlgHookUPP dlgHook,
  763. ExpModalFilterUPP filter,
  764. void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
  765. /*
  766. * SectionOptionsDialog()
  767. *
  768. * Availability:
  769. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  770. * CarbonLib: not available
  771. * Mac OS X: not available
  772. */
  773. EXTERN_API( OSErr )
  774. SectionOptionsDialog(SectionOptionsReply * reply) THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
  775. /*
  776. * SectionOptionsExpDialog()
  777. *
  778. * Availability:
  779. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  780. * CarbonLib: not available
  781. * Mac OS X: not available
  782. */
  783. EXTERN_API( OSErr )
  784. SectionOptionsExpDialog(
  785. SectionOptionsReply * reply,
  786. Point where,
  787. short expansionDITLresID,
  788. ExpDlgHookUPP dlgHook,
  789. ExpModalFilterUPP filter,
  790. void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
  791. #endif /* CALL_NOT_IN_CARBON */
  792. #if PRAGMA_STRUCT_ALIGN
  793. #pragma options align=reset
  794. #elif PRAGMA_STRUCT_PACKPUSH
  795. #pragma pack(pop)
  796. #elif PRAGMA_STRUCT_PACK
  797. #pragma pack()
  798. #endif
  799. #ifdef PRAGMA_IMPORT_OFF
  800. #pragma import off
  801. #elif PRAGMA_IMPORT
  802. #pragma import reset
  803. #endif
  804. #ifdef __cplusplus
  805. }
  806. #endif
  807. #endif /* __EDITIONS__ */