Editions.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:24k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       Editions.h
  3.  
  4.      Contains:   Edition Manager Interfaces.
  5.  
  6.      Version:    Technology: System 7.5
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1989-2001 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __EDITIONS__
  18. #define __EDITIONS__
  19. #ifndef __MACTYPES__
  20. #include "MacTypes.h"
  21. #endif
  22. #ifndef __MIXEDMODE__
  23. #include "MixedMode.h"
  24. #endif
  25. #ifndef __FILES__
  26. #include "Files.h"
  27. #endif
  28. #ifndef __ALIASES__
  29. #include "Aliases.h"
  30. #endif
  31. #ifndef __DIALOGS__
  32. #include "Dialogs.h"
  33. #endif
  34. #if PRAGMA_ONCE
  35. #pragma once
  36. #endif
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40. #if PRAGMA_IMPORT
  41. #pragma import on
  42. #endif
  43. #if PRAGMA_STRUCT_ALIGN
  44.     #pragma options align=mac68k
  45. #elif PRAGMA_STRUCT_PACKPUSH
  46.     #pragma pack(push, 2)
  47. #elif PRAGMA_STRUCT_PACK
  48.     #pragma pack(2)
  49. #endif
  50. enum {
  51.                                                                 /* resource types  */
  52.     rSectionType                = FOUR_CHAR_CODE('sect'),       /* ResType of saved SectionRecords */
  53.                                                                 /* Finder types for edition files */
  54.     kPICTEditionFileType        = FOUR_CHAR_CODE('edtp'),
  55.     kTEXTEditionFileType        = FOUR_CHAR_CODE('edtt'),
  56.     ksndEditionFileType         = FOUR_CHAR_CODE('edts'),
  57.     kUnknownEditionFileType     = FOUR_CHAR_CODE('edtu'),
  58.     kPublisherDocAliasFormat    = FOUR_CHAR_CODE('alis'),
  59.     kPreviewFormat              = FOUR_CHAR_CODE('prvw'),
  60.     kFormatListFormat           = FOUR_CHAR_CODE('fmts')
  61. };
  62. enum {
  63.                                                                 /* section types */
  64.     stSubscriber                = 0x01,
  65.     stPublisher                 = 0x0A
  66. };
  67. enum {
  68.     sumAutomatic                = 0,                            /* subscriber update mode - Automatically     */
  69.     sumManual                   = 1,                            /* subscriber update mode - Manually */
  70.     pumOnSave                   = 0,                            /* publisher update mode - OnSave            */
  71.     pumManual                   = 1                             /* publisher update mode - Manually */
  72. };
  73. enum {
  74.     kPartsNotUsed               = 0,
  75.     kPartNumberUnknown          = -1
  76. };
  77. enum {
  78.     kPreviewWidth               = 120,
  79.     kPreviewHeight              = 120
  80. };
  81. enum {
  82.                                                                 /* bits for formatsMask */
  83.     kPICTformatMask             = 1,
  84.     kTEXTformatMask             = 2,
  85.     ksndFormatMask              = 4
  86. };
  87. enum {
  88.                                                                 /* pseudo-item hits for dialogHooks the first is for NewPublisher or NewSubscriber Dialogs */
  89.     emHookRedrawPreview         = 150,                          /* the following are for SectionOptions Dialog */
  90.     emHookCancelSection         = 160,
  91.     emHookGoToPublisher         = 161,
  92.     emHookGetEditionNow         = 162,
  93.     emHookSendEditionNow        = 162,
  94.     emHookManualUpdateMode      = 163,
  95.     emHookAutoUpdateMode        = 164
  96. };
  97. enum {
  98.                                                                 /* the refcon field of the dialog record during a modalfilter or dialoghook contains one the following */
  99.     emOptionsDialogRefCon       = FOUR_CHAR_CODE('optn'),
  100.     emCancelSectionDialogRefCon = FOUR_CHAR_CODE('cncl'),
  101.     emGoToPubErrDialogRefCon    = FOUR_CHAR_CODE('gerr')
  102. };
  103. enum {
  104.     kFormatLengthUnknown        = -1
  105. };
  106. /* one byte, stSubscriber or stPublisher */
  107. typedef SignedByte                      SectionType;
  108. /* seconds since 1904 */
  109. typedef unsigned long                   TimeStamp;
  110. /* similar to ResType */
  111. typedef FourCharCode                    FormatType;
  112. /* used in Edition I/O */
  113. typedef Handle                          EditionRefNum;
  114. /* update modes */
  115. /* sumAutomatic, pumSuspend, etc */
  116. typedef short                           UpdateMode;
  117. typedef struct SectionRecord            SectionRecord;
  118. typedef SectionRecord *                 SectionPtr;
  119. typedef SectionPtr *                    SectionHandle;
  120. struct SectionRecord {
  121.     SignedByte                      version;                    /* always 0x01 in system 7.0 */
  122.     SectionType                     kind;                       /* stSubscriber or stPublisher */
  123.     UpdateMode                      mode;                       /* auto or manual */
  124.     TimeStamp                       mdDate;                     /* last change in document */
  125.     long                            sectionID;                  /* app. specific, unique per document */
  126.     long                            refCon;                     /* application specific */
  127.     AliasHandle                     alias;                      /* handle to Alias Record */
  128.     long                            subPart;                    /* which part of container file */
  129.     SectionHandle                   nextSection;                /* for linked list of app's Sections */
  130.     Handle                          controlBlock;               /* used internally */
  131.     EditionRefNum                   refNum;                     /* used internally */
  132. };
  133. struct EditionContainerSpec {
  134.     FSSpec                          theFile;
  135.     ScriptCode                      theFileScript;
  136.     long                            thePart;
  137.     Str31                           thePartName;
  138.     ScriptCode                      thePartScript;
  139. };
  140. typedef struct EditionContainerSpec     EditionContainerSpec;
  141. typedef EditionContainerSpec *          EditionContainerSpecPtr;
  142. struct EditionInfoRecord {
  143.     TimeStamp                       crDate;                     /* date EditionContainer was created */
  144.     TimeStamp                       mdDate;                     /* date of last change */
  145.     OSType                          fdCreator;                  /* file creator */
  146.     OSType                          fdType;                     /* file type */
  147.     EditionContainerSpec            container;                  /* the Edition */
  148. };
  149. typedef struct EditionInfoRecord        EditionInfoRecord;
  150. struct NewPublisherReply {
  151.     Boolean                         canceled;                   /* O */
  152.     Boolean                         replacing;
  153.     Boolean                         usePart;                    /* I */
  154.     SInt8                           filler;
  155.     Handle                          preview;                    /* I */
  156.     FormatType                      previewFormat;              /* I */
  157.     EditionContainerSpec            container;                  /* I/O */
  158. };
  159. typedef struct NewPublisherReply        NewPublisherReply;
  160. struct NewSubscriberReply {
  161.     Boolean                         canceled;                   /* O */
  162.     SignedByte                      formatsMask;
  163.     EditionContainerSpec            container;                  /*I/O*/
  164. };
  165. typedef struct NewSubscriberReply       NewSubscriberReply;
  166. struct SectionOptionsReply {
  167.     Boolean                         canceled;                   /* O */
  168.     Boolean                         changed;                    /* O */
  169.     SectionHandle                   sectionH;                   /* I */
  170.     ResType                         action;                     /* O */
  171. };
  172. typedef struct SectionOptionsReply      SectionOptionsReply;
  173. typedef CALLBACK_API( Boolean , ExpModalFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  174. typedef CALLBACK_API( short , ExpDlgHookProcPtr )(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  175. typedef STACK_UPP_TYPE(ExpModalFilterProcPtr)                   ExpModalFilterUPP;
  176. typedef STACK_UPP_TYPE(ExpDlgHookProcPtr)                       ExpDlgHookUPP;
  177. #if OPAQUE_UPP_TYPES
  178. #if CALL_NOT_IN_CARBON
  179.     EXTERN_API(ExpModalFilterUPP)
  180.     NewExpModalFilterUPP           (ExpModalFilterProcPtr   userRoutine);
  181.     EXTERN_API(ExpDlgHookUPP)
  182.     NewExpDlgHookUPP               (ExpDlgHookProcPtr       userRoutine);
  183.     EXTERN_API(void)
  184.     DisposeExpModalFilterUPP       (ExpModalFilterUPP       userUPP);
  185.     EXTERN_API(void)
  186.     DisposeExpDlgHookUPP           (ExpDlgHookUPP           userUPP);
  187.     EXTERN_API(Boolean)
  188.     InvokeExpModalFilterUPP        (DialogPtr               theDialog,
  189.                                     EventRecord *           theEvent,
  190.                                     short                   itemOffset,
  191.                                     short *                 itemHit,
  192.                                     Ptr                     yourDataPtr,
  193.                                     ExpModalFilterUPP       userUPP);
  194.     EXTERN_API(short)
  195.     InvokeExpDlgHookUPP            (short                   itemOffset,
  196.                                     short                   itemHit,
  197.                                     DialogPtr               theDialog,
  198.                                     Ptr                     yourDataPtr,
  199.                                     ExpDlgHookUPP           userUPP);
  200. #endif  /* CALL_NOT_IN_CARBON */
  201. #else
  202.     enum { uppExpModalFilterProcInfo = 0x0000FBD0 };                /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
  203.     enum { uppExpDlgHookProcInfo = 0x00003EA0 };                    /* pascal 2_bytes Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
  204.     #define NewExpModalFilterUPP(userRoutine)                       (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture())
  205.     #define NewExpDlgHookUPP(userRoutine)                           (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture())
  206.     #define DisposeExpModalFilterUPP(userUPP)                       DisposeRoutineDescriptor(userUPP)
  207.     #define DisposeExpDlgHookUPP(userUPP)                           DisposeRoutineDescriptor(userUPP)
  208.     #define InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userUPP)  (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
  209.     #define InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userUPP)  (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
  210. #endif
  211. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  212. #define NewExpModalFilterProc(userRoutine)                      NewExpModalFilterUPP(userRoutine)
  213. #define NewExpDlgHookProc(userRoutine)                          NewExpDlgHookUPP(userRoutine)
  214. #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr) InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userRoutine)
  215. #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr) InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userRoutine)
  216. typedef SInt8 FormatIOVerb;
  217. enum {
  218.     ioHasFormat                 = 0,
  219.     ioReadFormat                = 1,
  220.     ioNewFormat                 = 2,
  221.     ioWriteFormat               = 3
  222. };
  223. typedef SInt8 EditionOpenerVerb;
  224. enum {
  225.     eoOpen                      = 0,
  226.     eoClose                     = 1,
  227.     eoOpenNew                   = 2,
  228.     eoCloseNew                  = 3,
  229.     eoCanSubscribe              = 4
  230. };
  231. struct FormatIOParamBlock {
  232.     long                            ioRefNum;
  233.     FormatType                      format;
  234.     long                            formatIndex;
  235.     unsigned long                   offset;
  236.     Ptr                             buffPtr;
  237.     unsigned long                   buffLen;
  238. };
  239. typedef struct FormatIOParamBlock       FormatIOParamBlock;
  240. typedef struct EditionOpenerParamBlock  EditionOpenerParamBlock;
  241. typedef CALLBACK_API( short , FormatIOProcPtr )(FormatIOVerb selector, FormatIOParamBlock *PB);
  242. typedef CALLBACK_API( short , EditionOpenerProcPtr )(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
  243. typedef STACK_UPP_TYPE(FormatIOProcPtr)                         FormatIOUPP;
  244. typedef STACK_UPP_TYPE(EditionOpenerProcPtr)                    EditionOpenerUPP;
  245. struct EditionOpenerParamBlock {
  246.     EditionInfoRecord               info;
  247.     SectionHandle                   sectionH;
  248.     const FSSpec *                  document;
  249.     OSType                          fdCreator;
  250.     long                            ioRefNum;
  251.     FormatIOUPP                     ioProc;
  252.     Boolean                         success;
  253.     SignedByte                      formatsMask;
  254. };
  255. #if OPAQUE_UPP_TYPES
  256. #if CALL_NOT_IN_CARBON
  257.     EXTERN_API(FormatIOUPP)
  258.     NewFormatIOUPP                 (FormatIOProcPtr         userRoutine);
  259.     EXTERN_API(EditionOpenerUPP)
  260.     NewEditionOpenerUPP            (EditionOpenerProcPtr    userRoutine);
  261. #endif  /* CALL_NOT_IN_CARBON */
  262. #else
  263.     enum { uppFormatIOProcInfo = 0x00000360 };                      /* pascal 2_bytes Func(1_byte, 4_bytes) */
  264.     enum { uppEditionOpenerProcInfo = 0x00000360 };                 /* pascal 2_bytes Func(1_byte, 4_bytes) */
  265.     #define NewFormatIOUPP(userRoutine)                             (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture())
  266.     #define NewEditionOpenerUPP(userRoutine)                        (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture())
  267. #endif
  268. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  269. #define NewFormatIOProc(userRoutine)                            NewFormatIOUPP(userRoutine)
  270. #define NewEditionOpenerProc(userRoutine)                       NewEditionOpenerUPP(userRoutine)
  271. /* 
  272.  Section events now arrive in the message buffer using the AppleEvent format.
  273.  The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
  274.  ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
  275.  The following is a sample buffer
  276.  
  277.  name       offset  contents
  278.  ----       ------  --------
  279.  header         0   'aevt'
  280.  majorVersion   4   0x01
  281.  minorVersion   6   0x01
  282.  endOfMetaData  8   ';;;;' 
  283.  directObjKey   12  '----' 
  284.  paramType      16  'tid ' 
  285.  paramLength    20  0x0008 
  286.  tempIDType     24  'sect' 
  287.  tempID         28  the SectionHandle <-- this is want you want
  288. */
  289. enum {
  290.     sectionEventMsgClass        = FOUR_CHAR_CODE('sect'),
  291.     sectionReadMsgID            = FOUR_CHAR_CODE('read'),
  292.     sectionWriteMsgID           = FOUR_CHAR_CODE('writ'),
  293.     sectionScrollMsgID          = FOUR_CHAR_CODE('scrl'),
  294.     sectionCancelMsgID          = FOUR_CHAR_CODE('cncl')
  295. };
  296. enum {
  297.     currentEditionMgrVers       = 0x0011
  298. };
  299. #if TARGET_RT_MAC_CFM
  300. #define InitEditionPack() InitEditionPackVersion(currentEditionMgrVers)
  301. #else
  302. #if CALL_NOT_IN_CARBON
  303. EXTERN_API( OSErr )
  304. InitEditionPack                 (void)                                                      FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
  305. #endif  /* CALL_NOT_IN_CARBON */
  306. #endif  /* TARGET_RT_MAC_CFM */
  307. #if CALL_NOT_IN_CARBON
  308. EXTERN_API( OSErr )
  309. InitEditionPackVersion          (short                  curEditionMgrVers)                  THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
  310. EXTERN_API( OSErr )
  311. NewSection                      (const EditionContainerSpec * container,
  312.                                  const FSSpec *         sectionDocument, /* can be NULL */
  313.                                  SectionType            kind,
  314.                                  long                   sectionID,
  315.                                  UpdateMode             initalMode,
  316.                                  SectionHandle *        sectionH)                           THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
  317. EXTERN_API( OSErr )
  318. RegisterSection                 (const FSSpec *         sectionDocument,
  319.                                  SectionHandle          sectionH,
  320.                                  Boolean *              aliasWasUpdated)                    THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
  321. EXTERN_API( OSErr )
  322. UnRegisterSection               (SectionHandle          sectionH)                           THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
  323. EXTERN_API( OSErr )
  324. IsRegisteredSection             (SectionHandle          sectionH)                           THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
  325. EXTERN_API( OSErr )
  326. AssociateSection                (SectionHandle          sectionH,
  327.                                  const FSSpec *         newSectionDocument)                 THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
  328. EXTERN_API( OSErr )
  329. CreateEditionContainerFile      (const FSSpec *         editionFile,
  330.                                  OSType                 fdCreator,
  331.                                  ScriptCode             editionFileNameScript)              THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
  332. EXTERN_API( OSErr )
  333. DeleteEditionContainerFile      (const FSSpec *         editionFile)                        THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
  334. EXTERN_API( OSErr )
  335. OpenEdition                     (SectionHandle          subscriberSectionH,
  336.                                  EditionRefNum *        refNum)                             THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
  337. EXTERN_API( OSErr )
  338. OpenNewEdition                  (SectionHandle          publisherSectionH,
  339.                                  OSType                 fdCreator,
  340.                                  const FSSpec *         publisherSectionDocument, /* can be NULL */
  341.                                  EditionRefNum *        refNum)                             THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
  342. EXTERN_API( OSErr )
  343. CloseEdition                    (EditionRefNum          whichEdition,
  344.                                  Boolean                successful)                         THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
  345. EXTERN_API( OSErr )
  346. EditionHasFormat                (EditionRefNum          whichEdition,
  347.                                  FormatType             whichFormat,
  348.                                  Size *                 formatSize)                         THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
  349. EXTERN_API( OSErr )
  350. ReadEdition                     (EditionRefNum          whichEdition,
  351.                                  FormatType             whichFormat,
  352.                                  void *                 buffPtr,
  353.                                  Size *                 buffLen)                            THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
  354. EXTERN_API( OSErr )
  355. WriteEdition                    (EditionRefNum          whichEdition,
  356.                                  FormatType             whichFormat,
  357.                                  const void *           buffPtr,
  358.                                  Size                   buffLen)                            THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
  359. EXTERN_API( OSErr )
  360. GetEditionFormatMark            (EditionRefNum          whichEdition,
  361.                                  FormatType             whichFormat,
  362.                                  unsigned long *        currentMark)                        THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
  363. EXTERN_API( OSErr )
  364. SetEditionFormatMark            (EditionRefNum          whichEdition,
  365.                                  FormatType             whichFormat,
  366.                                  unsigned long          setMarkTo)                          THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
  367. EXTERN_API( OSErr )
  368. GetEditionInfo                  (SectionHandle          sectionH,
  369.                                  EditionInfoRecord *    editionInfo)                        THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
  370. EXTERN_API( OSErr )
  371. GoToPublisherSection            (const EditionContainerSpec * container)                    THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
  372. EXTERN_API( OSErr )
  373. GetLastEditionContainerUsed     (EditionContainerSpec * container)                          THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
  374. EXTERN_API( OSErr )
  375. GetStandardFormats              (const EditionContainerSpec * container,
  376.                                  FormatType *           previewFormat,
  377.                                  Handle                 preview,
  378.                                  Handle                 publisherAlias,
  379.                                  Handle                 formats)                            THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
  380. EXTERN_API( OSErr )
  381. GetEditionOpenerProc            (EditionOpenerUPP *     opener)                             THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
  382. EXTERN_API( OSErr )
  383. SetEditionOpenerProc            (EditionOpenerUPP       opener)                             THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
  384. EXTERN_API( OSErr )
  385. CallEditionOpenerProc           (EditionOpenerVerb      selector,
  386.                                  EditionOpenerParamBlock * PB,
  387.                                  EditionOpenerUPP       routine)                            THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
  388. EXTERN_API( OSErr )
  389. CallFormatIOProc                (FormatIOVerb           selector,
  390.                                  FormatIOParamBlock *   PB,
  391.                                  FormatIOUPP            routine)                            THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
  392. EXTERN_API( OSErr )
  393. NewSubscriberDialog             (NewSubscriberReply *   reply)                              THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
  394. EXTERN_API( OSErr )
  395. NewSubscriberExpDialog          (NewSubscriberReply *   reply,
  396.                                  Point                  where,
  397.                                  short                  expansionDITLresID,
  398.                                  ExpDlgHookUPP          dlgHook,
  399.                                  ExpModalFilterUPP      filter,
  400.                                  void *                 yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
  401. EXTERN_API( OSErr )
  402. NewPublisherDialog              (NewPublisherReply *    reply)                              THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
  403. EXTERN_API( OSErr )
  404. NewPublisherExpDialog           (NewPublisherReply *    reply,
  405.                                  Point                  where,
  406.                                  short                  expansionDITLresID,
  407.                                  ExpDlgHookUPP          dlgHook,
  408.                                  ExpModalFilterUPP      filter,
  409.                                  void *                 yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
  410. EXTERN_API( OSErr )
  411. SectionOptionsDialog            (SectionOptionsReply *  reply)                              THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
  412. EXTERN_API( OSErr )
  413. SectionOptionsExpDialog         (SectionOptionsReply *  reply,
  414.                                  Point                  where,
  415.                                  short                  expansionDITLresID,
  416.                                  ExpDlgHookUPP          dlgHook,
  417.                                  ExpModalFilterUPP      filter,
  418.                                  void *                 yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
  419. #endif  /* CALL_NOT_IN_CARBON */
  420. #if PRAGMA_STRUCT_ALIGN
  421.     #pragma options align=reset
  422. #elif PRAGMA_STRUCT_PACKPUSH
  423.     #pragma pack(pop)
  424. #elif PRAGMA_STRUCT_PACK
  425.     #pragma pack()
  426. #endif
  427. #ifdef PRAGMA_IMPORT_OFF
  428. #pragma import off
  429. #elif PRAGMA_IMPORT
  430. #pragma import reset
  431. #endif
  432. #ifdef __cplusplus
  433. }
  434. #endif
  435. #endif /* __EDITIONS__ */