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

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       OCEStandardMail.h
  3.  
  4.      Contains:   Apple Open Collaboration Environment Standard Mail Interfaces.
  5.  
  6.      Version:    Technology: AOCE Toolbox 1.02
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1994-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 __OCESTANDARDMAIL__
  18. #define __OCESTANDARDMAIL__
  19. #ifndef __APPLEEVENTS__
  20. #include "AppleEvents.h"
  21. #endif
  22. #ifndef __DIALOGS__
  23. #include "Dialogs.h"
  24. #endif
  25. #ifndef __FILES__
  26. #include "Files.h"
  27. #endif
  28. #ifndef __QUICKDRAW__
  29. #include "Quickdraw.h"
  30. #endif
  31. #ifndef __OCEAUTHDIR__
  32. #include "OCEAuthDir.h"
  33. #endif
  34. #ifndef __OCEMAIL__
  35. #include "OCEMail.h"
  36. #endif
  37. #if PRAGMA_ONCE
  38. #pragma once
  39. #endif
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43. #if PRAGMA_IMPORT
  44. #pragma import on
  45. #endif
  46. #if PRAGMA_STRUCT_ALIGN
  47.     #pragma options align=mac68k
  48. #elif PRAGMA_STRUCT_PACKPUSH
  49.     #pragma pack(push, 2)
  50. #elif PRAGMA_STRUCT_PACK
  51.     #pragma pack(2)
  52. #endif
  53. enum {
  54.     kSMPVersion                 = 1
  55. };
  56. enum {
  57.     kSMPNativeFormatName        = FOUR_CHAR_CODE('natv')
  58. };
  59. struct LetterSpec {
  60.     unsigned long                   spec[3];
  61. };
  62. typedef struct LetterSpec               LetterSpec;
  63. enum {
  64.     typeLetterSpec              = FOUR_CHAR_CODE('lttr')
  65. };
  66. /*  Wildcard used for filtering letter types. */
  67. enum {
  68.     FilterAnyLetter             = FOUR_CHAR_CODE('ltr*'),
  69.     FilterAppleLetterContent    = FOUR_CHAR_CODE('ltc*'),
  70.     FilterImageContent          = FOUR_CHAR_CODE('lti*')
  71. };
  72. struct LetterDescriptor {
  73.     Boolean                         onDisk;
  74.     Boolean                         filler1;
  75.     union {
  76.         FSSpec                          fileSpec;
  77.         LetterSpec                      mailboxSpec;
  78.     }                                 u;
  79. };
  80. typedef struct LetterDescriptor         LetterDescriptor;
  81. /*
  82. SMPPSendAs values.  You may add the following values together to determine how the
  83. file is sent, but you may not set both kSMPSendAsEnclosureMask and kSMPSendFileOnlyMask.  This
  84. will allow you to send the letter as an image so that it will work with fax gateways
  85. and send as an enclosure as well.
  86. */
  87. enum {
  88.     kSMPSendAsEnclosureBit      = 0,                            /* Appears as letter with enclosures */
  89.     kSMPSendFileOnlyBit         = 1,                            /* Appears as a file in mailbox. */
  90.     kSMPSendAsImageBit          = 2                             /* Content imaged in letter */
  91. };
  92. /* Values of SMPPSendAs */
  93. enum {
  94.     kSMPSendAsEnclosureMask     = 1 << kSMPSendAsEnclosureBit,
  95.     kSMPSendFileOnlyMask        = 1 << kSMPSendFileOnlyBit,
  96.     kSMPSendAsImageMask         = 1 << kSMPSendAsImageBit
  97. };
  98. typedef Byte                            SMPPSendAs;
  99. /* Send Package Structures */
  100. typedef CALLBACK_API( void , SMPDrawImageProcPtr )(long refcon, Boolean inColor);
  101. typedef STACK_UPP_TYPE(SMPDrawImageProcPtr)                     SMPDrawImageUPP;
  102. #if OPAQUE_UPP_TYPES
  103. #if CALL_NOT_IN_CARBON
  104.     EXTERN_API(SMPDrawImageUPP)
  105.     NewSMPDrawImageUPP             (SMPDrawImageProcPtr     userRoutine);
  106.     EXTERN_API(void)
  107.     DisposeSMPDrawImageUPP         (SMPDrawImageUPP         userUPP);
  108.     EXTERN_API(void)
  109.     InvokeSMPDrawImageUPP          (long                    refcon,
  110.                                     Boolean                 inColor,
  111.                                     SMPDrawImageUPP         userUPP);
  112. #endif  /* CALL_NOT_IN_CARBON */
  113. #else
  114.     enum { uppSMPDrawImageProcInfo = 0x000001C0 };                  /* pascal no_return_value Func(4_bytes, 1_byte) */
  115.     #define NewSMPDrawImageUPP(userRoutine)                         (SMPDrawImageUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSMPDrawImageProcInfo, GetCurrentArchitecture())
  116.     #define DisposeSMPDrawImageUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  117.     #define InvokeSMPDrawImageUPP(refcon, inColor, userUPP)         CALL_TWO_PARAMETER_UPP((userUPP), uppSMPDrawImageProcInfo, (refcon), (inColor))
  118. #endif
  119. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  120. #define NewSMPDrawImageProc(userRoutine)                        NewSMPDrawImageUPP(userRoutine)
  121. #define CallSMPDrawImageProc(userRoutine, refcon, inColor)      InvokeSMPDrawImageUPP(refcon, inColor, userRoutine)
  122. struct SMPRecipientDescriptor {
  123.     struct SMPRecipientDescriptor * next;                       /*  Q-Link. */
  124.     OSErr                           result;                     /*  result code when using the object. */
  125.     OCEPackedRecipient *            recipient;                  /*  Pointer to a Packed Address. */
  126.     unsigned long                   size;                       /*  length of recipient in bytes. */
  127.     MailRecipient                   theAddress;                 /*  structure points into recipient and theRID. */
  128.     RecordID                        theRID;                     /*  structure points into recipient. */
  129. };
  130. typedef struct SMPRecipientDescriptor   SMPRecipientDescriptor;
  131. typedef SMPRecipientDescriptor *        SMPRecipientDescriptorPtr;
  132. struct SMPEnclosureDescriptor {
  133.     struct SMPEnclosureDescriptor * next;
  134.     OSErr                           result;
  135.     FSSpec                          fileSpec;
  136.     OSType                          fileCreator;                /*  Creator of this enclosure. */
  137.     OSType                          fileType;                   /*  File Type of this enclosure. */
  138. };
  139. typedef struct SMPEnclosureDescriptor   SMPEnclosureDescriptor;
  140. typedef SMPEnclosureDescriptor *        SMPEnclosureDescriptorPtr;
  141. struct SMPLetterPB {
  142.     OSErr                           result;                     /* result of operation */
  143.     RStringPtr                      subject;                    /* RString */
  144.     AuthIdentity                    senderIdentity;             /* Letter is sent from this Identity */
  145.     SMPRecipientDescriptorPtr       toList;                     /* Pointer to linked list */
  146.     SMPRecipientDescriptorPtr       ccList;                     /* Pointer to linked list */
  147.     SMPRecipientDescriptorPtr       bccList;                    /* Pointer to linked list */
  148.     ScriptCode                      script;                     /* Identifier for language */
  149.     Size                            textSize;                   /* length of body data */
  150.     void *                          textBuffer;                 /* body of the letter */
  151.     SMPPSendAs                      sendAs;                     /* Send as Letter,Enclosure,Image */
  152.     Byte                            padByte;
  153.     SMPEnclosureDescriptorPtr       enclosures;                 /* files to be enclosed */
  154.     SMPDrawImageUPP                 drawImageProc;              /* For imaging */
  155.     long                            imageRefCon;                /* For imaging */
  156.     Boolean                         supportsColor;              /* For imaging - set to true if you application supports color imaging */
  157.     Boolean                         filler1;
  158. };
  159. typedef struct SMPLetterPB              SMPLetterPB;
  160. typedef SMPLetterPB *                   SMPLetterPBPtr;
  161. enum {
  162.     kSMPAppMustHandleEventBit   = 0,
  163.     kSMPAppShouldIgnoreEventBit = 1,
  164.     kSMPContractedBit           = 2,
  165.     kSMPExpandedBit             = 3,
  166.     kSMPMailerBecomesTargetBit  = 4,
  167.     kSMPAppBecomesTargetBit     = 5,
  168.     kSMPCursorOverMailerBit     = 6,
  169.     kSMPCreateCopyWindowBit     = 7,
  170.     kSMPDisposeCopyWindowBit    = 8
  171. };
  172. /* Values of SMPMailerResult */
  173. enum {
  174.     kSMPAppMustHandleEventMask  = 1 << kSMPAppMustHandleEventBit,
  175.     kSMPAppShouldIgnoreEventMask = 1 << kSMPAppShouldIgnoreEventBit,
  176.     kSMPContractedMask          = 1 << kSMPContractedBit,
  177.     kSMPExpandedMask            = 1 << kSMPExpandedBit,
  178.     kSMPMailerBecomesTargetMask = 1 << kSMPMailerBecomesTargetBit,
  179.     kSMPAppBecomesTargetMask    = 1 << kSMPAppBecomesTargetBit,
  180.     kSMPCursorOverMailerMask    = 1 << kSMPCursorOverMailerBit,
  181.     kSMPCreateCopyWindowMask    = 1 << kSMPCreateCopyWindowBit,
  182.     kSMPDisposeCopyWindowMask   = 1 << kSMPDisposeCopyWindowBit
  183. };
  184. typedef unsigned long                   SMPMailerResult;
  185. /* Values of SMPMailerComponent*/
  186. enum {
  187.     kSMPOther                   = -1,
  188.     kSMPFrom                    = 32,
  189.     kSMPTo                      = 20,
  190.     kSMPRegarding               = 22,
  191.     kSMPSendDateTime            = 29,
  192.     kSMPAttachments             = 26,
  193.     kSMPAddressOMatic           = 16
  194. };
  195. typedef unsigned long                   SMPMailerComponent;
  196. enum {
  197.     kSMPToAddress               = kMailToBit,
  198.     kSMPCCAddress               = kMailCcBit,
  199.     kSMPBCCAddress              = kMailBccBit
  200. };
  201. typedef MailAttributeID                 SMPAddressType;
  202. enum {
  203.     kSMPUndoCommand             = 0,
  204.     kSMPCutCommand              = 1,
  205.     kSMPCopyCommand             = 2,
  206.     kSMPPasteCommand            = 3,
  207.     kSMPClearCommand            = 4,
  208.     kSMPSelectAllCommand        = 5
  209. };
  210. typedef unsigned short                  SMPEditCommand;
  211. enum {
  212.     kSMPUndoDisabled            = 0,
  213.     kSMPAppMayUndo              = 1,
  214.     kSMPMailerUndo              = 2
  215. };
  216. typedef unsigned short                  SMPUndoState;
  217. /*
  218. SMPSendFormatMask:
  219. Bitfield indicating which combinations of formats are included in,
  220. should be included or, or can be included in a letter.
  221. */
  222. enum {
  223.     kSMPNativeBit               = 0,
  224.     kSMPImageBit                = 1,
  225.     kSMPStandardInterchangeBit  = 2
  226. };
  227. /* Values of SMPSendFormatMask */
  228. enum {
  229.     kSMPNativeMask              = 1 << kSMPNativeBit,
  230.     kSMPImageMask               = 1 << kSMPImageBit,
  231.     kSMPStandardInterchangeMask = 1 << kSMPStandardInterchangeBit
  232. };
  233. typedef unsigned long                   SMPSendFormatMask;
  234. /*
  235.     Pseudo-events passed to the clients filter proc for initialization and cleanup.
  236. */
  237. enum {
  238.     kSMPSendOptionsStart        = -1,
  239.     kSMPSendOptionsEnd          = -2
  240. };
  241. /*
  242. SMPSendFormatMask:
  243. Structure describing the format of a letter.  If kSMPNativeMask bit is set, the whichNativeFormat field indicates which of the client-defined formats to use.
  244. */
  245. struct SMPSendFormat {
  246.     SMPSendFormatMask               whichFormats;
  247.     short                           whichNativeFormat;          /* 0 based */
  248. };
  249. typedef struct SMPSendFormat            SMPSendFormat;
  250. struct SMPLetterInfo {
  251.     OSType                          letterCreator;
  252.     OSType                          letterType;
  253.     RString32                       subject;
  254.     RString32                       sender;
  255. };
  256. typedef struct SMPLetterInfo            SMPLetterInfo;
  257. enum {
  258.     kSMPSave                    = 0,
  259.     kSMPSaveAs                  = 1,
  260.     kSMPSaveACopy               = 2
  261. };
  262. typedef unsigned short                  SMPSaveType;
  263. typedef CALLBACK_API( WindowPtr , FrontWindowProcPtr )(long clientData);
  264. typedef CALLBACK_API( void , PrepareMailerForDrawingProcPtr )(WindowPtr window, long clientData);
  265. typedef STACK_UPP_TYPE(FrontWindowProcPtr)                      FrontWindowUPP;
  266. typedef STACK_UPP_TYPE(PrepareMailerForDrawingProcPtr)          PrepareMailerForDrawingUPP;
  267. #if OPAQUE_UPP_TYPES
  268. #if CALL_NOT_IN_CARBON
  269.     EXTERN_API(FrontWindowUPP)
  270.     NewFrontWindowUPP              (FrontWindowProcPtr      userRoutine);
  271.     EXTERN_API(PrepareMailerForDrawingUPP)
  272.     NewPrepareMailerForDrawingUPP    (PrepareMailerForDrawingProcPtr userRoutine);
  273.     EXTERN_API(void)
  274.     DisposeFrontWindowUPP          (FrontWindowUPP          userUPP);
  275.     EXTERN_API(void)
  276.     DisposePrepareMailerForDrawingUPP    (PrepareMailerForDrawingUPP userUPP);
  277.     EXTERN_API(WindowPtr)
  278.     InvokeFrontWindowUPP           (long                    clientData,
  279.                                     FrontWindowUPP          userUPP);
  280.     EXTERN_API(void)
  281.     InvokePrepareMailerForDrawingUPP    (WindowPtr          window,
  282.                                     long                    clientData,
  283.                                     PrepareMailerForDrawingUPP userUPP);
  284. #endif  /* CALL_NOT_IN_CARBON */
  285. #else
  286.     enum { uppFrontWindowProcInfo = 0x000000F0 };                   /* pascal 4_bytes Func(4_bytes) */
  287.     enum { uppPrepareMailerForDrawingProcInfo = 0x000003C0 };       /* pascal no_return_value Func(4_bytes, 4_bytes) */
  288.     #define NewFrontWindowUPP(userRoutine)                          (FrontWindowUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFrontWindowProcInfo, GetCurrentArchitecture())
  289.     #define NewPrepareMailerForDrawingUPP(userRoutine)              (PrepareMailerForDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrepareMailerForDrawingProcInfo, GetCurrentArchitecture())
  290.     #define DisposeFrontWindowUPP(userUPP)                          DisposeRoutineDescriptor(userUPP)
  291.     #define DisposePrepareMailerForDrawingUPP(userUPP)              DisposeRoutineDescriptor(userUPP)
  292.     #define InvokeFrontWindowUPP(clientData, userUPP)               (WindowPtr)CALL_ONE_PARAMETER_UPP((userUPP), uppFrontWindowProcInfo, (clientData))
  293.     #define InvokePrepareMailerForDrawingUPP(window, clientData, userUPP)  CALL_TWO_PARAMETER_UPP((userUPP), uppPrepareMailerForDrawingProcInfo, (window), (clientData))
  294. #endif
  295. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  296. #define NewFrontWindowProc(userRoutine)                         NewFrontWindowUPP(userRoutine)
  297. #define NewPrepareMailerForDrawingProc(userRoutine)             NewPrepareMailerForDrawingUPP(userRoutine)
  298. #define CallFrontWindowProc(userRoutine, clientData)            InvokeFrontWindowUPP(clientData, userRoutine)
  299. #define CallPrepareMailerForDrawingProc(userRoutine, window, clientData) InvokePrepareMailerForDrawingUPP(window, clientData, userRoutine)
  300. typedef CALLBACK_API( Boolean , SendOptionsFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemHit, long clientData);
  301. typedef STACK_UPP_TYPE(SendOptionsFilterProcPtr)                SendOptionsFilterUPP;
  302. #if OPAQUE_UPP_TYPES
  303. #if CALL_NOT_IN_CARBON
  304.     EXTERN_API(SendOptionsFilterUPP)
  305.     NewSendOptionsFilterUPP        (SendOptionsFilterProcPtr userRoutine);
  306.     EXTERN_API(void)
  307.     DisposeSendOptionsFilterUPP    (SendOptionsFilterUPP    userUPP);
  308.     EXTERN_API(Boolean)
  309.     InvokeSendOptionsFilterUPP     (DialogPtr               theDialog,
  310.                                     EventRecord *           theEvent,
  311.                                     short                   itemHit,
  312.                                     long                    clientData,
  313.                                     SendOptionsFilterUPP    userUPP);
  314. #endif  /* CALL_NOT_IN_CARBON */
  315. #else
  316.     enum { uppSendOptionsFilterProcInfo = 0x00003BD0 };             /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes) */
  317.     #define NewSendOptionsFilterUPP(userRoutine)                    (SendOptionsFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSendOptionsFilterProcInfo, GetCurrentArchitecture())
  318.     #define DisposeSendOptionsFilterUPP(userUPP)                    DisposeRoutineDescriptor(userUPP)
  319.     #define InvokeSendOptionsFilterUPP(theDialog, theEvent, itemHit, clientData, userUPP)  (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSendOptionsFilterProcInfo, (theDialog), (theEvent), (itemHit), (clientData))
  320. #endif
  321. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  322. #define NewSendOptionsFilterProc(userRoutine)                   NewSendOptionsFilterUPP(userRoutine)
  323. #define CallSendOptionsFilterProc(userRoutine, theDialog, theEvent, itemHit, clientData) InvokeSendOptionsFilterUPP(theDialog, theEvent, itemHit, clientData, userRoutine)
  324. struct SMPMailerState {
  325.     short                           mailerCount;
  326.     short                           currentMailer;
  327.     Point                           upperLeft;
  328.     Boolean                         hasBeenReceived;
  329.     Boolean                         isTarget;
  330.     Boolean                         isExpanded;
  331.     Boolean                         canMoveToTrash;
  332.     Boolean                         canTag;
  333.     Byte                            padByte2;
  334.     unsigned long                   changeCount;
  335.     SMPMailerComponent              targetComponent;
  336.     Boolean                         canCut;
  337.     Boolean                         canCopy;
  338.     Boolean                         canPaste;
  339.     Boolean                         canClear;
  340.     Boolean                         canSelectAll;
  341.     Byte                            padByte3;
  342.     SMPUndoState                    undoState;
  343.     Str63                           undoWhat;
  344. };
  345. typedef struct SMPMailerState           SMPMailerState;
  346. struct SMPSendOptions {
  347.     Boolean                         signWhenSent;
  348.     IPMPriority                     priority;
  349. };
  350. typedef struct SMPSendOptions           SMPSendOptions;
  351. typedef SMPSendOptions *                SMPSendOptionsPtr;
  352. typedef SMPSendOptionsPtr *             SMPSendOptionsHandle;
  353. struct SMPCloseOptions {
  354.     Boolean                         moveToTrash;
  355.     Boolean                         addTag;
  356.     RString32                       tag;
  357. };
  358. typedef struct SMPCloseOptions          SMPCloseOptions;
  359. typedef SMPCloseOptions *               SMPCloseOptionsPtr;
  360. /*----------------------------------------------------------------------------------------
  361.     Send Package Routines
  362. ----------------------------------------------------------------------------------------*/
  363. #if CALL_NOT_IN_CARBON
  364. EXTERN_API( OSErr )
  365. SMPSendLetter                   (SMPLetterPBPtr         theLetter)                          FOURWORDINLINE(0x203C, 0x0002, 0x01F4, 0xAA5D);
  366. EXTERN_API( OSErr )
  367. SMPNewPage                      (OpenCPicParams *       newHeader)                          FOURWORDINLINE(0x203C, 0x0002, 0x0834, 0xAA5D);
  368. EXTERN_API( OSErr )
  369. SMPImageErr                     (void)                                                      FOURWORDINLINE(0x203C, 0x0000, 0x0835, 0xAA5D);
  370. EXTERN_API( OSErr )
  371. SMPResolveToRecipient           (PackedDSSpecPtr        dsSpec,
  372.                                  SMPRecipientDescriptorPtr * recipientList,
  373.                                  AuthIdentity           identity)                           FOURWORDINLINE(0x203C, 0x0006, 0x044C, 0xAA5D);
  374. EXTERN_API( OSErr )
  375. SMPInitMailer                   (long                   mailerVersion)                      FOURWORDINLINE(0x203C, 0x0002, 0x1285, 0xAA5D);
  376. EXTERN_API( OSErr )
  377. SMPGetDimensions                (short *                width,
  378.                                  short *                contractedHeight,
  379.                                  short *                expandedHeight)                     FOURWORDINLINE(0x203C, 0x0006, 0x125C, 0xAA5D);
  380. EXTERN_API( OSErr )
  381. SMPGetTabInfo                   (SMPMailerComponent *   firstTab,
  382.                                  SMPMailerComponent *   lastTab)                            FOURWORDINLINE(0x203C, 0x0004, 0x1274, 0xAA5D);
  383. EXTERN_API( OSErr )
  384. SMPNewMailer                    (WindowPtr              window,
  385.                                  Point                  upperLeft,
  386.                                  Boolean                canContract,
  387.                                  Boolean                initiallyExpanded,
  388.                                  AuthIdentity           identity,
  389.                                  PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
  390.                                  long                   clientData)                         FOURWORDINLINE(0x203C, 0x000C, 0x125D, 0xAA5D);
  391. EXTERN_API( OSErr )
  392. SMPPrepareToClose               (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1287, 0xAA5D);
  393. EXTERN_API( OSErr )
  394. SMPCloseOptionsDialog           (WindowPtr              window,
  395.                                  SMPCloseOptionsPtr     closeOptions)                       FOURWORDINLINE(0x203C, 0x0004, 0x1288, 0xAA5D);
  396. EXTERN_API( OSErr )
  397. SMPTagDialog                    (WindowPtr              window,
  398.                                  RString32 *            theTag)                             FOURWORDINLINE(0x203C, 0x0004, 0x128B, 0xAA5D);
  399. EXTERN_API( OSErr )
  400. SMPDisposeMailer                (WindowPtr              window,
  401.                                  SMPCloseOptionsPtr     closeOptions)                       FOURWORDINLINE(0x203C, 0x0004, 0x125E, 0xAA5D);
  402. EXTERN_API( OSErr )
  403. SMPMailerEvent                  (const EventRecord *    event,
  404.                                  SMPMailerResult *      whatHappened,
  405.                                  FrontWindowUPP         frontWindowCB,
  406.                                  long                   clientData)                         FOURWORDINLINE(0x203C, 0x0008, 0x125F, 0xAA5D);
  407. EXTERN_API( OSErr )
  408. SMPClearUndo                    (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1275, 0xAA5D);
  409. EXTERN_API( OSErr )
  410. SMPMailerEditCommand            (WindowPtr              window,
  411.                                  SMPEditCommand         command,
  412.                                  SMPMailerResult *      whatHappened)                       FOURWORDINLINE(0x203C, 0x0005, 0x1260, 0xAA5D);
  413. EXTERN_API( OSErr )
  414. SMPMailerForward                (WindowPtr              window,
  415.                                  AuthIdentity           from)                               FOURWORDINLINE(0x203C, 0x0004, 0x1261, 0xAA5D);
  416. EXTERN_API( OSErr )
  417. SMPMailerReply                  (WindowPtr              originalLetter,
  418.                                  WindowPtr              newLetter,
  419.                                  Boolean                replyToAll,
  420.                                  Point                  upperLeft,
  421.                                  Boolean                canContract,
  422.                                  Boolean                initiallyExpanded,
  423.                                  AuthIdentity           identity,
  424.                                  PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
  425.                                  long                   clientData)                         FOURWORDINLINE(0x203C, 0x000F, 0x1262, 0xAA5D);
  426. EXTERN_API( OSErr )
  427. SMPGetMailerState               (WindowPtr              window,
  428.                                  SMPMailerState *       itsState)                           FOURWORDINLINE(0x203C, 0x0004, 0x1263, 0xAA5D);
  429. EXTERN_API( OSErr )
  430. SMPSendOptionsDialog            (WindowPtr              window,
  431.                                  Str255                 documentName,
  432.                                  StringPtr              nativeFormatNames[],
  433.                                  unsigned short         nameCount,
  434.                                  SMPSendFormatMask      canSend,
  435.                                  SMPSendFormat *        currentFormat,
  436.                                  SendOptionsFilterUPP   filterProc,
  437.                                  long                   clientData,
  438.                                  SMPSendFormat *        shouldSend,
  439.                                  SMPSendOptionsPtr      sendOptions)                        FOURWORDINLINE(0x203C, 0x0013, 0x1388, 0xAA5D);
  440. EXTERN_API( OSErr )
  441. SMPPrepareCoverPages            (WindowPtr              window,
  442.                                  short *                pageCount)                          FOURWORDINLINE(0x203C, 0x0004, 0x1264, 0xAA5D);
  443. EXTERN_API( OSErr )
  444. SMPDrawNthCoverPage             (WindowPtr              window,
  445.                                  short                  pageNumber,
  446.                                  Boolean                doneDrawingCoverPages)              FOURWORDINLINE(0x203C, 0x0004, 0x1265, 0xAA5D);
  447. EXTERN_API( OSErr )
  448. SMPPrepareToChange              (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1289, 0xAA5D);
  449. EXTERN_API( OSErr )
  450. SMPContentChanged               (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x126F, 0xAA5D);
  451. EXTERN_API( OSErr )
  452. SMPBeginSave                    (WindowPtr              window,
  453.                                  const FSSpec *         diskLetter,
  454.                                  OSType                 creator,
  455.                                  OSType                 fileType,
  456.                                  SMPSaveType            saveType,
  457.                                  Boolean *              mustAddContent)                     FOURWORDINLINE(0x203C, 0x000B, 0x1266, 0xAA5D);
  458. EXTERN_API( OSErr )
  459. SMPEndSave                      (WindowPtr              window,
  460.                                  Boolean                okToSave)                           FOURWORDINLINE(0x203C, 0x0003, 0x1270, 0xAA5D);
  461. EXTERN_API( OSErr )
  462. SMPBeginSend                    (WindowPtr              window,
  463.                                  OSType                 creator,
  464.                                  OSType                 fileType,
  465.                                  SMPSendOptionsPtr      sendOptions,
  466.                                  Boolean *              mustAddContent)                     FOURWORDINLINE(0x203C, 0x000A, 0x1267, 0xAA5D);
  467. EXTERN_API( OSErr )
  468. SMPEndSend                      (WindowPtr              window,
  469.                                  Boolean                okToSend)                           FOURWORDINLINE(0x203C, 0x0003, 0x1271, 0xAA5D);
  470. EXTERN_API( OSErr )
  471. SMPOpenLetter                   (const LetterDescriptor * letter,
  472.                                  WindowPtr              window,
  473.                                  Point                  upperLeft,
  474.                                  Boolean                canContract,
  475.                                  Boolean                initiallyExpanded,
  476.                                  PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
  477.                                  long                   clientData)                         FOURWORDINLINE(0x203C, 0x000C, 0x1268, 0xAA5D);
  478. EXTERN_API( OSErr )
  479. SMPAddMainEnclosure             (WindowPtr              window,
  480.                                  const FSSpec *         enclosure)                          FOURWORDINLINE(0x203C, 0x0004, 0x127D, 0xAA5D);
  481. EXTERN_API( OSErr )
  482. SMPGetMainEnclosureFSSpec       (WindowPtr              window,
  483.                                  FSSpec *               enclosureDir)                       FOURWORDINLINE(0x203C, 0x0004, 0x127E, 0xAA5D);
  484. EXTERN_API( OSErr )
  485. SMPAddContent                   (WindowPtr              window,
  486.                                  MailSegmentType        segmentType,
  487.                                  Boolean                appendFlag,
  488.                                  void *                 buffer,
  489.                                  unsigned long          bufferSize,
  490.                                  StScrpRec *            textScrap,
  491.                                  Boolean                startNewScript,
  492.                                  ScriptCode             script)                             FOURWORDINLINE(0x203C, 0x000C, 0x127A, 0xAA5D);
  493. EXTERN_API( OSErr )
  494. SMPReadContent                  (WindowPtr              window,
  495.                                  MailSegmentMask        segmentTypeMask,
  496.                                  void *                 buffer,
  497.                                  unsigned long          bufferSize,
  498.                                  unsigned long *        dataSize,
  499.                                  StScrpRec *            textScrap,
  500.                                  ScriptCode *           script,
  501.                                  MailSegmentType *      segmentType,
  502.                                  Boolean *              endOfScript,
  503.                                  Boolean *              endOfSegment,
  504.                                  Boolean *              endOfContent,
  505.                                  long *                 segmentLength,
  506.                                  long *                 segmentID)                          FOURWORDINLINE(0x203C, 0x0019, 0x127B, 0xAA5D);
  507. EXTERN_API( OSErr )
  508. SMPGetFontNameFromLetter        (WindowPtr              window,
  509.                                  short                  fontNum,
  510.                                  Str255                 fontName,
  511.                                  Boolean                doneWithFontTable)                  FOURWORDINLINE(0x203C, 0x0006, 0x127C, 0xAA5D);
  512. EXTERN_API( OSErr )
  513. SMPAddBlock                     (WindowPtr              window,
  514.                                  const OCECreatorType * blockType,
  515.                                  Boolean                append,
  516.                                  void *                 buffer,
  517.                                  unsigned long          bufferSize,
  518.                                  MailBlockMode          mode,
  519.                                  unsigned long          offset)                             FOURWORDINLINE(0x203C, 0x000C, 0x127F, 0xAA5D);
  520. EXTERN_API( OSErr )
  521. SMPReadBlock                    (WindowPtr              window,
  522.                                  const OCECreatorType * blockType,
  523.                                  unsigned short         blockIndex,
  524.                                  void *                 buffer,
  525.                                  unsigned long          bufferSize,
  526.                                  unsigned long          dataOffset,
  527.                                  unsigned long *        dataSize,
  528.                                  Boolean *              endOfBlock,
  529.                                  unsigned long *        remaining)                          FOURWORDINLINE(0x203C, 0x0011, 0x1280, 0xAA5D);
  530. EXTERN_API( OSErr )
  531. SMPEnumerateBlocks              (WindowPtr              window,
  532.                                  unsigned short         startIndex,
  533.                                  void *                 buffer,
  534.                                  unsigned long          bufferSize,
  535.                                  unsigned long *        dataSize,
  536.                                  unsigned short *       nextIndex,
  537.                                  Boolean *              more)                               FOURWORDINLINE(0x203C, 0x000D, 0x1281, 0xAA5D);
  538. EXTERN_API( OSErr )
  539. SMPDrawMailer                   (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1269, 0xAA5D);
  540. EXTERN_API( OSErr )
  541. SMPSetSubject                   (WindowPtr              window,
  542.                                  const RString *        text)                               FOURWORDINLINE(0x203C, 0x0004, 0x126B, 0xAA5D);
  543. EXTERN_API( OSErr )
  544. SMPSetFromIdentity              (WindowPtr              window,
  545.                                  AuthIdentity           from)                               FOURWORDINLINE(0x203C, 0x0004, 0x126C, 0xAA5D);
  546. EXTERN_API( OSErr )
  547. SMPAddAddress                   (WindowPtr              window,
  548.                                  SMPAddressType         addrType,
  549.                                  OCEPackedRecipient *   address)                            FOURWORDINLINE(0x203C, 0x0005, 0x126D, 0xAA5D);
  550. EXTERN_API( OSErr )
  551. SMPAddAttachment                (WindowPtr              window,
  552.                                  const FSSpec *         attachment)                         FOURWORDINLINE(0x203C, 0x0004, 0x126E, 0xAA5D);
  553. EXTERN_API( OSErr )
  554. SMPAttachDialog                 (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1276, 0xAA5D);
  555. EXTERN_API( OSErr )
  556. SMPExpandOrContract             (WindowPtr              window,
  557.                                  Boolean                expand)                             FOURWORDINLINE(0x203C, 0x0003, 0x1272, 0xAA5D);
  558. EXTERN_API( OSErr )
  559. SMPMoveMailer                   (WindowPtr              window,
  560.                                  short                  dh,
  561.                                  short                  dv)                                 FOURWORDINLINE(0x203C, 0x0004, 0x126A, 0xAA5D);
  562. EXTERN_API( OSErr )
  563. SMPBecomeTarget                 (WindowPtr              window,
  564.                                  Boolean                becomeTarget,
  565.                                  SMPMailerComponent     whichField)                         FOURWORDINLINE(0x203C, 0x0005, 0x1273, 0xAA5D);
  566. EXTERN_API( OSErr )
  567. SMPGetComponentSize             (WindowPtr              window,
  568.                                  unsigned short         whichMailer,
  569.                                  SMPMailerComponent     whichField,
  570.                                  unsigned short *       size)                               FOURWORDINLINE(0x203C, 0x0007, 0x1277, 0xAA5D);
  571. EXTERN_API( OSErr )
  572. SMPGetComponentInfo             (WindowPtr              window,
  573.                                  unsigned short         whichMailer,
  574.                                  SMPMailerComponent     whichField,
  575.                                  void *                 buffer)                             FOURWORDINLINE(0x203C, 0x0007, 0x1278, 0xAA5D);
  576. EXTERN_API( OSErr )
  577. SMPGetListItemInfo              (WindowPtr              window,
  578.                                  unsigned short         whichMailer,
  579.                                  SMPMailerComponent     whichField,
  580.                                  void *                 buffer,
  581.                                  unsigned long          bufferLength,
  582.                                  unsigned short         startItem,
  583.                                  unsigned short *       itemCount,
  584.                                  unsigned short *       nextItem,
  585.                                  Boolean *              more)                               FOURWORDINLINE(0x203C, 0x0010, 0x1279, 0xAA5D);
  586. EXTERN_API( OSErr )
  587. SMPImage                        (WindowPtr              window,
  588.                                  SMPDrawImageUPP        drawImageProc,
  589.                                  long                   imageRefCon,
  590.                                  Boolean                supportsColor)                      FOURWORDINLINE(0x203C, 0x0007, 0x1282, 0xAA5D);
  591. EXTERN_API( OSErr )
  592. SMPGetNextLetter                (OSType *               typesList,
  593.                                  short                  numTypes,
  594.                                  LetterDescriptor *     adjacentLetter)                     FOURWORDINLINE(0x203C, 0x0005, 0x1286, 0xAA5D);
  595. EXTERN_API( OSErr )
  596. SMPGetLetterInfo                (LetterSpec *           mailboxSpec,
  597.                                  SMPLetterInfo *        info)                               FOURWORDINLINE(0x203C, 0x0004, 0x128A, 0xAA5D);
  598. #endif  /* CALL_NOT_IN_CARBON */
  599. #if PRAGMA_STRUCT_ALIGN
  600.     #pragma options align=reset
  601. #elif PRAGMA_STRUCT_PACKPUSH
  602.     #pragma pack(pop)
  603. #elif PRAGMA_STRUCT_PACK
  604.     #pragma pack()
  605. #endif
  606. #ifdef PRAGMA_IMPORT_OFF
  607. #pragma import off
  608. #elif PRAGMA_IMPORT
  609. #pragma import reset
  610. #endif
  611. #ifdef __cplusplus
  612. }
  613. #endif
  614. #endif /* __OCESTANDARDMAIL__ */