A
download OCEStandardMail.h
Language: C
Copyright: (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
LOC: 568
Project Info
guliverkli
Server: SourceForge
Type: cvs
...rkli\guliverkli\include\qt\
   ADSP.h
   ADSPSecure.h
   AEDataModel.h
   AEObjects.h
   AEPackObject.h
   AERegistry.h
   AEUserTermTypes.h
   AGP.h
   AIFF.h
   Aliases.h
   Appearance.h
   AppleEvents.h
   AppleGuide.h
   AppleScript.h
   AppleTalk.h
   ASDebugging.h
   ASRegistry.h
   ATA.h
   ATSLayoutTypes.h
   ATSTypes.h
   ATSUnicode.h
   AVComponents.h
   AVLTree.h
   Balloons.h
   CarbonEvents.h
   CardServices.h
   CFArray.h
   CFBag.h
   CFBase.h
   CFBundle.h
   CFCharacterSet.h
   CFData.h
   CFDate.h
   CFDictionary.h
   CFNumber.h
   CFPlugIn.h
   CFPreferences.h
   CFPropertyList.h
   CFSet.h
   CFString.h
   CFStringEncodingExt.h
   CFTimeZone.h
   CFURL.h
   CFURLAccess.h
   CMAcceleration.h
   CMApplication.h
   CMCalibrator.h
   CMComponent.h
   CMConversions.h
   CMICCProfile.h
   CMMComponent.h
   CMPRComponent.h
   CMScriptingPlugin.h
   CodeFragments.h
   Collections.h
   ColorPicker.h
   ColorPickerComponents.h
   CommResources.h
   Components.h
   ConditionalMacros.h
   Connections.h
   ConnectionTools.h
   ControlDefinitions.h
   Controls.h
   ControlStrip.h
   CoreFoundation.h
   CRMSerialDevices.h
   CryptoMessageSyntax.h
   CTBUtilities.h
   CursorDevices.h
   DatabaseAccess.h
   DateTimeUtils.h
   Debugging.h
   DeskBus.h
   DeviceControl.h
   Devices.h
   Dialogs.h
   Dictionary.h
   DigitalSignature.h
   DiskInit.h
   Disks.h
   Displays.h
   Drag.h
   DrawSprocket.h
   DriverFamilyMatching.h
   DriverGestalt.h
   DriverServices.h
   DriverSupport.h
   DriverSynchronization.h
   Editions.h
   Endian.h
   ENET.h
   EPPC.h
   Events.h
   fenv.h
   Files.h
   FileSigning.h
   FileTransfers.h
   FileTransferTools.h
   FileTypesAndCreators.h
   FindByContent.h
   Finder.h
   FinderRegistry.h
   FixMath.h
   Folders.h
   Fonts.h
   FontSync.h
   fp.h
   FSM.h
   Gestalt.h
   GXEnvironment.h
   GXErrors.h
   GXFonts.h
   GXGraphics.h
   GXLayout.h
   GXMath.h
   GXMessages.h
   GXPrinterDrivers.h
   GXPrinting.h
   GXTypes.h
   HFSVolumes.h
   HID.h
   HTMLRendering.h
   HyperXCmd.h
   IAExtractor.h
   Icons.h
   ImageCodec.h
   ImageCompression.h
   InputSprocket.h
   Interrupts.h
   IntlResources.h
   IsochronousDataHandler.h
   JManager.h
   Kernel.h
   LanguageAnalysis.h
   Lists.h
   LocationManager.h
   LowMem.h
   MacErrors.h
   MacHelp.h
   MachineExceptions.h
   MacMemory.h
   MacTCP.h
   MacTypes.h
   MacWindows.h
   Math64.h
   MediaHandlers.h
   Menus.h
   MIDI.h
   MixedMode.h
   MovieManager.h
   Movies.h
   MoviesFormat.h
   Multiprocessing.h
   NameRegistry.h
   Navigation.h
   NetSprocket.h
   NetworkSetup.h
   Notification.h
   NSL.h
   NSLUtility.h
   NumberFormatting.h
   OCE.h
   OCEAuthDir.h
   OCEErrors.h
   OCEMail.h
   OCEMessaging.h
   OCEStandardDirectory.h
   OCEStandardMail.h
   OCETemplates.h
   OpenTransportKernel.h
   OpenTransportProtocol.h
   OpenTransportProviders.h
   OpenTransportUNIX.h
   OSA.h
   OSAComp.h
   OSAGeneric.h
   OSUtils.h
   Packages.h
   Palettes.h
   Patches.h
   PCCard.h
   PCCardAdapterPlugin.h
   PCCardEnablerPlugin.h
   PCCardTuples.h
   PCI.h
   PEFBinaryFormat.h
   PictUtils.h
   PLStringFuncs.h
   Power.h
   PPCToolbox.h
   Printing.h
   Processes.h
   QD3D.h
   QD3DAcceleration.h
   QD3DCamera.h
   QD3DController.h
   QD3DCustomElements.h
   QD3DDrawContext.h
   QD3DErrors.h
   QD3DExtension.h
   QD3DGeometry.h
   QD3DGroup.h
   QD3DIO.h
   QD3DLight.h
   QD3DMath.h
   QD3DPick.h
   QD3DRenderer.h
   QD3DSet.h
   QD3DShader.h
   QD3DStorage.h
   QD3DString.h
   QD3DStyle.h
   QD3DTransform.h
   QD3DView.h
   QD3DViewer.h
   QD3DWinViewer.h
   QDOffscreen.h
   qt.h
   QTContentRestrictions.h
   QTML.h
   QTSMovie.h
   QTStreamingComponents.h
   Quickdraw.h
   QuickdrawText.h
   QuickTimeComponents.h
   QuickTimeMusic.h
   QuickTimeStreaming.h
   QuickTimeVR.h
   QuickTimeVRFormat.h
   RAVE.h
   RAVESystem.h
   Resources.h
   Retrace.h
   ROMDefs.h
   ScalerStreamTypes.h
   ScalerTypes.h
   Scrap.h
   Script.h
   SCSI.h
   SegLoad.h
   Serial.h
   SFNTLayoutTypes.h
   SFNTTypes.h
   ShutDown.h
   Slots.h
   SocketServices.h
   Sound.h
   SoundComponents.h
   SoundInput.h
   SoundSprocket.h
   Speech.h
   SpeechRecognition.h
   SpeechSynthesis.h
   StandardFile.h
   Start.h
   StringCompare.h
   Strings.h
   Telephones.h
   Terminals.h
   TerminalTools.h
   TextCommon.h
   TextEdit.h
   TextEncodingConverter.h
   TextServices.h
   TextUtils.h
   Threads.h
   Timer.h
   ToolUtils.h
   Translation.h
   TranslationExtensions.h
   Traps.h
   TSMTE.h
   Unicode.h
   UnicodeConverter.h
   UnicodeUtilities.h
   URLAccess.h
   UTCUtils.h
   Video.h
   VideoServices.h
   WorldScript.h
   ZoomedVideo.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
/*
     File:       OCEStandardMail.h
 
     Contains:   Apple Open Collaboration Environment Standard Mail Interfaces.
 
     Version:    Technology: AOCE Toolbox 1.02
                 Release:    QuickTime 6.0.2
 
     Copyright:  (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
 
     Bugs?:      For bug reports, consult the following page on
                 the World Wide Web:
 
                     http://developer.apple.com/bugreporter/
 
*/
#ifndef __OCESTANDARDMAIL__
#define __OCESTANDARDMAIL__

#ifndef __APPLEEVENTS__
#include "AppleEvents.h"
#endif

#ifndef __DIALOGS__
#include "Dialogs.h"
#endif

#ifndef __FILES__
#include "Files.h"
#endif

#ifndef __QUICKDRAW__
#include "Quickdraw.h"
#endif


#ifndef __OCEAUTHDIR__
#include "OCEAuthDir.h"
#endif

#ifndef __OCEMAIL__
#include "OCEMail.h"
#endif




#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if PRAGMA_IMPORT
#pragma import on
#endif

#if PRAGMA_STRUCT_ALIGN
    #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
    #pragma pack(2)
#endif

enum {
    kSMPVersion                 = 1
};

enum {
    kSMPNativeFormatName        = FOUR_CHAR_CODE('natv')
};


struct LetterSpec {
    unsigned long                   spec[3];
};
typedef struct LetterSpec               LetterSpec;
enum {
    typeLetterSpec              = FOUR_CHAR_CODE('lttr')
};

/*  Wildcard used for filtering letter types. */
enum {
    FilterAnyLetter             = FOUR_CHAR_CODE('ltr*'),
    FilterAppleLetterContent    = FOUR_CHAR_CODE('ltc*'),
    FilterImageContent          = FOUR_CHAR_CODE('lti*')
};



struct LetterDescriptor {
    Boolean                         onDisk;
    Boolean                         filler1;
    union {
        FSSpec                          fileSpec;
        LetterSpec                      mailboxSpec;
    }                                 u;
};
typedef struct LetterDescriptor         LetterDescriptor;
/*
SMPPSendAs values.  You may add the following values together to determine how the
file is sent, but you may not set both kSMPSendAsEnclosureMask and kSMPSendFileOnlyMask.  This
will allow you to send the letter as an image so that it will work with fax gateways
and send as an enclosure as well.
*/
enum {
    kSMPSendAsEnclosureBit      = 0,                            /* Appears as letter with enclosures */
    kSMPSendFileOnlyBit         = 1,                            /* Appears as a file in mailbox. */
    kSMPSendAsImageBit          = 2                             /* Content imaged in letter */
};

/* Values of SMPPSendAs */
enum {
    kSMPSendAsEnclosureMask     = 1 << kSMPSendAsEnclosureBit,
    kSMPSendFileOnlyMask        = 1 << kSMPSendFileOnlyBit,
    kSMPSendAsImageMask         = 1 << kSMPSendAsImageBit
};


typedef Byte                            SMPPSendAs;
/* Send Package Structures */
typedef CALLBACK_API( void , SMPDrawImageProcPtr )(long refcon, Boolean inColor);
typedef STACK_UPP_TYPE(SMPDrawImageProcPtr)                     SMPDrawImageUPP;
#if OPAQUE_UPP_TYPES
#if CALL_NOT_IN_CARBON
    EXTERN_API(SMPDrawImageUPP)
    NewSMPDrawImageUPP             (SMPDrawImageProcPtr     userRoutine);

    EXTERN_API(void)
    DisposeSMPDrawImageUPP         (SMPDrawImageUPP         userUPP);

    EXTERN_API(void)
    InvokeSMPDrawImageUPP          (long                    refcon,
                                    Boolean                 inColor,
                                    SMPDrawImageUPP         userUPP);

#endif  /* CALL_NOT_IN_CARBON */

#else
    enum { uppSMPDrawImageProcInfo = 0x000001C0 };                  /* pascal no_return_value Func(4_bytes, 1_byte) */
    #define NewSMPDrawImageUPP(userRoutine)                         (SMPDrawImageUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSMPDrawImageProcInfo, GetCurrentArchitecture())
    #define DisposeSMPDrawImageUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
    #define InvokeSMPDrawImageUPP(refcon, inColor, userUPP)         CALL_TWO_PARAMETER_UPP((userUPP), uppSMPDrawImageProcInfo, (refcon), (inColor))
#endif
/* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
#define NewSMPDrawImageProc(userRoutine)                        NewSMPDrawImageUPP(userRoutine)
#define CallSMPDrawImageProc(userRoutine, refcon, inColor)      InvokeSMPDrawImageUPP(refcon, inColor, userRoutine)

struct SMPRecipientDescriptor {
    struct SMPRecipientDescriptor * next;                       /*  Q-Link. */
    OSErr                           result;                     /*  result code when using the object. */
    OCEPackedRecipient *            recipient;                  /*  Pointer to a Packed Address. */
    unsigned long                   size;                       /*  length of recipient in bytes. */
    MailRecipient                   theAddress;                 /*  structure points into recipient and theRID. */
    RecordID                        theRID;                     /*  structure points into recipient. */
};
typedef struct SMPRecipientDescriptor   SMPRecipientDescriptor;
typedef SMPRecipientDescriptor *        SMPRecipientDescriptorPtr;

struct SMPEnclosureDescriptor {
    struct SMPEnclosureDescriptor * next;
    OSErr                           result;
    FSSpec                          fileSpec;
    OSType                          fileCreator;                /*  Creator of this enclosure. */
    OSType                          fileType;                   /*  File Type of this enclosure. */
};
typedef struct SMPEnclosureDescriptor   SMPEnclosureDescriptor;
typedef SMPEnclosureDescriptor *        SMPEnclosureDescriptorPtr;

struct SMPLetterPB {
    OSErr                           result;                     /* result of operation */
    RStringPtr                      subject;                    /* RString */
    AuthIdentity                    senderIdentity;             /* Letter is sent from this Identity */
    SMPRecipientDescriptorPtr       toList;                     /* Pointer to linked list */
    SMPRecipientDescriptorPtr       ccList;                     /* Pointer to linked list */
    SMPRecipientDescriptorPtr       bccList;                    /* Pointer to linked list */
    ScriptCode                      script;                     /* Identifier for language */
    Size                            textSize;                   /* length of body data */
    void *                          textBuffer;                 /* body of the letter */
    SMPPSendAs                      sendAs;                     /* Send as Letter,Enclosure,Image */
    Byte                            padByte;
    SMPEnclosureDescriptorPtr       enclosures;                 /* files to be enclosed */
    SMPDrawImageUPP                 drawImageProc;              /* For imaging */
    long                            imageRefCon;                /* For imaging */
    Boolean                         supportsColor;              /* For imaging - set to true if you application supports color imaging */
    Boolean                         filler1;
};
typedef struct SMPLetterPB              SMPLetterPB;
typedef SMPLetterPB *                   SMPLetterPBPtr;
enum {
    kSMPAppMustHandleEventBit   = 0,
    kSMPAppShouldIgnoreEventBit = 1,
    kSMPContractedBit           = 2,
    kSMPExpandedBit             = 3,
    kSMPMailerBecomesTargetBit  = 4,
    kSMPAppBecomesTargetBit     = 5,
    kSMPCursorOverMailerBit     = 6,
    kSMPCreateCopyWindowBit     = 7,
    kSMPDisposeCopyWindowBit    = 8
};

/* Values of SMPMailerResult */
enum {
    kSMPAppMustHandleEventMask  = 1 << kSMPAppMustHandleEventBit,
    kSMPAppShouldIgnoreEventMask = 1 << kSMPAppShouldIgnoreEventBit,
    kSMPContractedMask          = 1 << kSMPContractedBit,
    kSMPExpandedMask            = 1 << kSMPExpandedBit,
    kSMPMailerBecomesTargetMask = 1 << kSMPMailerBecomesTargetBit,
    kSMPAppBecomesTargetMask    = 1 << kSMPAppBecomesTargetBit,
    kSMPCursorOverMailerMask    = 1 << kSMPCursorOverMailerBit,
    kSMPCreateCopyWindowMask    = 1 << kSMPCreateCopyWindowBit,
    kSMPDisposeCopyWindowMask   = 1 << kSMPDisposeCopyWindowBit
};


typedef unsigned long                   SMPMailerResult;
/* Values of SMPMailerComponent*/
enum {
    kSMPOther                   = -1,
    kSMPFrom                    = 32,
    kSMPTo                      = 20,
    kSMPRegarding               = 22,
    kSMPSendDateTime            = 29,
    kSMPAttachments             = 26,
    kSMPAddressOMatic           = 16
};

typedef unsigned long                   SMPMailerComponent;

enum {
    kSMPToAddress               = kMailToBit,
    kSMPCCAddress               = kMailCcBit,
    kSMPBCCAddress              = kMailBccBit
};

typedef MailAttributeID                 SMPAddressType;

enum {
    kSMPUndoCommand             = 0,
    kSMPCutCommand              = 1,
    kSMPCopyCommand             = 2,
    kSMPPasteCommand            = 3,
    kSMPClearCommand            = 4,
    kSMPSelectAllCommand        = 5
};

typedef unsigned short                  SMPEditCommand;
enum {
    kSMPUndoDisabled            = 0,
    kSMPAppMayUndo              = 1,
    kSMPMailerUndo              = 2
};

typedef unsigned short                  SMPUndoState;
/*
SMPSendFormatMask:

Bitfield indicating which combinations of formats are included in,
should be included or, or can be included in a letter.
*/
enum {
    kSMPNativeBit               = 0,
    kSMPImageBit                = 1,
    kSMPStandardInterchangeBit  = 2
};

/* Values of SMPSendFormatMask */
enum {
    kSMPNativeMask              = 1 << kSMPNativeBit,
    kSMPImageMask               = 1 << kSMPImageBit,
    kSMPStandardInterchangeMask = 1 << kSMPStandardInterchangeBit
};

typedef unsigned long                   SMPSendFormatMask;

/*
    Pseudo-events passed to the clients filter proc for initialization and cleanup.
*/
enum {
    kSMPSendOptionsStart        = -1,
    kSMPSendOptionsEnd          = -2
};


/*
SMPSendFormatMask:

Structure describing the format of a letter.  If kSMPNativeMask bit is set, the whichNativeFormat field indicates which of the client-defined formats to use.
*/


struct SMPSendFormat {
    SMPSendFormatMask               whichFormats;
    short                           whichNativeFormat;          /* 0 based */
};
typedef struct SMPSendFormat            SMPSendFormat;



struct SMPLetterInfo {
    OSType                          letterCreator;
    OSType                          letterType;
    RString32                       subject;
    RString32                       sender;
};
typedef struct SMPLetterInfo            SMPLetterInfo;

enum {
    kSMPSave                    = 0,
    kSMPSaveAs                  = 1,
    kSMPSaveACopy               = 2
};


typedef unsigned short                  SMPSaveType;
typedef CALLBACK_API( WindowPtr , FrontWindowProcPtr )(long clientData);
typedef CALLBACK_API( void , PrepareMailerForDrawingProcPtr )(WindowPtr window, long clientData);
typedef STACK_UPP_TYPE(FrontWindowProcPtr)                      FrontWindowUPP;
typedef STACK_UPP_TYPE(PrepareMailerForDrawingProcPtr)          PrepareMailerForDrawingUPP;
#if OPAQUE_UPP_TYPES
#if CALL_NOT_IN_CARBON
    EXTERN_API(FrontWindowUPP)
    NewFrontWindowUPP              (FrontWindowProcPtr      userRoutine);

    EXTERN_API(PrepareMailerForDrawingUPP)
    NewPrepareMailerForDrawingUPP    (PrepareMailerForDrawingProcPtr userRoutine);

    EXTERN_API(void)
    DisposeFrontWindowUPP          (FrontWindowUPP          userUPP);

    EXTERN_API(void)
    DisposePrepareMailerForDrawingUPP    (PrepareMailerForDrawingUPP userUPP);

    EXTERN_API(WindowPtr)
    InvokeFrontWindowUPP           (long                    clientData,
                                    FrontWindowUPP          userUPP);

    EXTERN_API(void)
    InvokePrepareMailerForDrawingUPP    (WindowPtr          window,
                                    long                    clientData,
                                    PrepareMailerForDrawingUPP userUPP);

#endif  /* CALL_NOT_IN_CARBON */

#else
    enum { uppFrontWindowProcInfo = 0x000000F0 };                   /* pascal 4_bytes Func(4_bytes) */
    enum { uppPrepareMailerForDrawingProcInfo = 0x000003C0 };       /* pascal no_return_value Func(4_bytes, 4_bytes) */
    #define NewFrontWindowUPP(userRoutine)                          (FrontWindowUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFrontWindowProcInfo, GetCurrentArchitecture())
    #define NewPrepareMailerForDrawingUPP(userRoutine)              (PrepareMailerForDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrepareMailerForDrawingProcInfo, GetCurrentArchitecture())
    #define DisposeFrontWindowUPP(userUPP)                          DisposeRoutineDescriptor(userUPP)
    #define DisposePrepareMailerForDrawingUPP(userUPP)              DisposeRoutineDescriptor(userUPP)
    #define InvokeFrontWindowUPP(clientData, userUPP)               (WindowPtr)CALL_ONE_PARAMETER_UPP((userUPP), uppFrontWindowProcInfo, (clientData))
    #define InvokePrepareMailerForDrawingUPP(window, clientData, userUPP)  CALL_TWO_PARAMETER_UPP((userUPP), uppPrepareMailerForDrawingProcInfo, (window), (clientData))
#endif
/* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
#define NewFrontWindowProc(userRoutine)                         NewFrontWindowUPP(userRoutine)
#define NewPrepareMailerForDrawingProc(userRoutine)             NewPrepareMailerForDrawingUPP(userRoutine)
#define CallFrontWindowProc(userRoutine, clientData)            InvokeFrontWindowUPP(clientData, userRoutine)
#define CallPrepareMailerForDrawingProc(userRoutine, window, clientData) InvokePrepareMailerForDrawingUPP(window, clientData, userRoutine)
typedef CALLBACK_API( Boolean , SendOptionsFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemHit, long clientData);
typedef STACK_UPP_TYPE(SendOptionsFilterProcPtr)                SendOptionsFilterUPP;
#if OPAQUE_UPP_TYPES
#if CALL_NOT_IN_CARBON
    EXTERN_API(SendOptionsFilterUPP)
    NewSendOptionsFilterUPP        (SendOptionsFilterProcPtr userRoutine);

    EXTERN_API(void)
    DisposeSendOptionsFilterUPP    (SendOptionsFilterUPP    userUPP);

    EXTERN_API(Boolean)
    InvokeSendOptionsFilterUPP     (DialogPtr               theDialog,
                                    EventRecord *           theEvent,
                                    short                   itemHit,
                                    long                    clientData,
                                    SendOptionsFilterUPP    userUPP);

#endif  /* CALL_NOT_IN_CARBON */

#else
    enum { uppSendOptionsFilterProcInfo = 0x00003BD0 };             /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes) */
    #define NewSendOptionsFilterUPP(userRoutine)                    (SendOptionsFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSendOptionsFilterProcInfo, GetCurrentArchitecture())
    #define DisposeSendOptionsFilterUPP(userUPP)                    DisposeRoutineDescriptor(userUPP)
    #define InvokeSendOptionsFilterUPP(theDialog, theEvent, itemHit, clientData, userUPP)  (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSendOptionsFilterProcInfo, (theDialog), (theEvent), (itemHit), (clientData))
#endif
/* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
#define NewSendOptionsFilterProc(userRoutine)                   NewSendOptionsFilterUPP(userRoutine)
#define CallSendOptionsFilterProc(userRoutine, theDialog, theEvent, itemHit, clientData) InvokeSendOptionsFilterUPP(theDialog, theEvent, itemHit, clientData, userRoutine)

struct SMPMailerState {
    short                           mailerCount;
    short                           currentMailer;
    Point                           upperLeft;
    Boolean                         hasBeenReceived;
    Boolean                         isTarget;
    Boolean                         isExpanded;
    Boolean                         canMoveToTrash;
    Boolean                         canTag;
    Byte                            padByte2;
    unsigned long                   changeCount;
    SMPMailerComponent              targetComponent;
    Boolean                         canCut;
    Boolean                         canCopy;
    Boolean                         canPaste;
    Boolean                         canClear;
    Boolean                         canSelectAll;
    Byte                            padByte3;
    SMPUndoState                    undoState;
    Str63                           undoWhat;
};
typedef struct SMPMailerState           SMPMailerState;


struct SMPSendOptions {
    Boolean                         signWhenSent;
    IPMPriority                     priority;
};
typedef struct SMPSendOptions           SMPSendOptions;
typedef SMPSendOptions *                SMPSendOptionsPtr;
typedef SMPSendOptionsPtr *             SMPSendOptionsHandle;


struct SMPCloseOptions {
    Boolean                         moveToTrash;
    Boolean                         addTag;
    RString32                       tag;
};
typedef struct SMPCloseOptions          SMPCloseOptions;
typedef SMPCloseOptions *               SMPCloseOptionsPtr;

/*----------------------------------------------------------------------------------------
    Send Package Routines
----------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
EXTERN_API( OSErr )
SMPSendLetter                   (SMPLetterPBPtr         theLetter)                          FOURWORDINLINE(0x203C, 0x0002, 0x01F4, 0xAA5D);

EXTERN_API( OSErr )
SMPNewPage                      (OpenCPicParams *       newHeader)                          FOURWORDINLINE(0x203C, 0x0002, 0x0834, 0xAA5D);

EXTERN_API( OSErr )
SMPImageErr                     (void)                                                      FOURWORDINLINE(0x203C, 0x0000, 0x0835, 0xAA5D);

EXTERN_API( OSErr )
SMPResolveToRecipient           (PackedDSSpecPtr        dsSpec,
                                 SMPRecipientDescriptorPtr * recipientList,
                                 AuthIdentity           identity)                           FOURWORDINLINE(0x203C, 0x0006, 0x044C, 0xAA5D);



EXTERN_API( OSErr )
SMPInitMailer                   (long                   mailerVersion)                      FOURWORDINLINE(0x203C, 0x0002, 0x1285, 0xAA5D);

EXTERN_API( OSErr )
SMPGetDimensions                (short *                width,
                                 short *                contractedHeight,
                                 short *                expandedHeight)                     FOURWORDINLINE(0x203C, 0x0006, 0x125C, 0xAA5D);

EXTERN_API( OSErr )
SMPGetTabInfo                   (SMPMailerComponent *   firstTab,
                                 SMPMailerComponent *   lastTab)                            FOURWORDINLINE(0x203C, 0x0004, 0x1274, 0xAA5D);

EXTERN_API( OSErr )
SMPNewMailer                    (WindowPtr              window,
                                 Point                  upperLeft,
                                 Boolean                canContract,
                                 Boolean                initiallyExpanded,
                                 AuthIdentity           identity,
                                 PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
                                 long                   clientData)                         FOURWORDINLINE(0x203C, 0x000C, 0x125D, 0xAA5D);

EXTERN_API( OSErr )
SMPPrepareToClose               (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1287, 0xAA5D);

EXTERN_API( OSErr )
SMPCloseOptionsDialog           (WindowPtr              window,
                                 SMPCloseOptionsPtr     closeOptions)                       FOURWORDINLINE(0x203C, 0x0004, 0x1288, 0xAA5D);

EXTERN_API( OSErr )
SMPTagDialog                    (WindowPtr              window,
                                 RString32 *            theTag)                             FOURWORDINLINE(0x203C, 0x0004, 0x128B, 0xAA5D);

EXTERN_API( OSErr )
SMPDisposeMailer                (WindowPtr              window,
                                 SMPCloseOptionsPtr     closeOptions)                       FOURWORDINLINE(0x203C, 0x0004, 0x125E, 0xAA5D);

EXTERN_API( OSErr )
SMPMailerEvent                  (const EventRecord *    event,
                                 SMPMailerResult *      whatHappened,
                                 FrontWindowUPP         frontWindowCB,
                                 long                   clientData)                         FOURWORDINLINE(0x203C, 0x0008, 0x125F, 0xAA5D);

EXTERN_API( OSErr )
SMPClearUndo                    (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1275, 0xAA5D);

EXTERN_API( OSErr )
SMPMailerEditCommand            (WindowPtr              window,
                                 SMPEditCommand         command,
                                 SMPMailerResult *      whatHappened)                       FOURWORDINLINE(0x203C, 0x0005, 0x1260, 0xAA5D);

EXTERN_API( OSErr )
SMPMailerForward                (WindowPtr              window,
                                 AuthIdentity           from)                               FOURWORDINLINE(0x203C, 0x0004, 0x1261, 0xAA5D);

EXTERN_API( OSErr )
SMPMailerReply                  (WindowPtr              originalLetter,
                                 WindowPtr              newLetter,
                                 Boolean                replyToAll,
                                 Point                  upperLeft,
                                 Boolean                canContract,
                                 Boolean                initiallyExpanded,
                                 AuthIdentity           identity,
                                 PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
                                 long                   clientData)                         FOURWORDINLINE(0x203C, 0x000F, 0x1262, 0xAA5D);

EXTERN_API( OSErr )
SMPGetMailerState               (WindowPtr              window,
                                 SMPMailerState *       itsState)                           FOURWORDINLINE(0x203C, 0x0004, 0x1263, 0xAA5D);

EXTERN_API( OSErr )
SMPSendOptionsDialog            (WindowPtr              window,
                                 Str255                 documentName,
                                 StringPtr              nativeFormatNames[],
                                 unsigned short         nameCount,
                                 SMPSendFormatMask      canSend,
                                 SMPSendFormat *        currentFormat,
                                 SendOptionsFilterUPP   filterProc,
                                 long                   clientData,
                                 SMPSendFormat *        shouldSend,
                                 SMPSendOptionsPtr      sendOptions)                        FOURWORDINLINE(0x203C, 0x0013, 0x1388, 0xAA5D);


EXTERN_API( OSErr )
SMPPrepareCoverPages            (WindowPtr              window,
                                 short *                pageCount)                          FOURWORDINLINE(0x203C, 0x0004, 0x1264, 0xAA5D);

EXTERN_API( OSErr )
SMPDrawNthCoverPage             (WindowPtr              window,
                                 short                  pageNumber,
                                 Boolean                doneDrawingCoverPages)              FOURWORDINLINE(0x203C, 0x0004, 0x1265, 0xAA5D);

EXTERN_API( OSErr )
SMPPrepareToChange              (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1289, 0xAA5D);

EXTERN_API( OSErr )
SMPContentChanged               (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x126F, 0xAA5D);

EXTERN_API( OSErr )
SMPBeginSave                    (WindowPtr              window,
                                 const FSSpec *         diskLetter,
                                 OSType                 creator,
                                 OSType                 fileType,
                                 SMPSaveType            saveType,
                                 Boolean *              mustAddContent)                     FOURWORDINLINE(0x203C, 0x000B, 0x1266, 0xAA5D);

EXTERN_API( OSErr )
SMPEndSave                      (WindowPtr              window,
                                 Boolean                okToSave)                           FOURWORDINLINE(0x203C, 0x0003, 0x1270, 0xAA5D);

EXTERN_API( OSErr )
SMPBeginSend                    (WindowPtr              window,
                                 OSType                 creator,
                                 OSType                 fileType,
                                 SMPSendOptionsPtr      sendOptions,
                                 Boolean *              mustAddContent)                     FOURWORDINLINE(0x203C, 0x000A, 0x1267, 0xAA5D);

EXTERN_API( OSErr )
SMPEndSend                      (WindowPtr              window,
                                 Boolean                okToSend)                           FOURWORDINLINE(0x203C, 0x0003, 0x1271, 0xAA5D);

EXTERN_API( OSErr )
SMPOpenLetter                   (const LetterDescriptor * letter,
                                 WindowPtr              window,
                                 Point                  upperLeft,
                                 Boolean                canContract,
                                 Boolean                initiallyExpanded,
                                 PrepareMailerForDrawingUPP  prepareMailerForDrawingCB,
                                 long                   clientData)                         FOURWORDINLINE(0x203C, 0x000C, 0x1268, 0xAA5D);

EXTERN_API( OSErr )
SMPAddMainEnclosure             (WindowPtr              window,
                                 const FSSpec *         enclosure)                          FOURWORDINLINE(0x203C, 0x0004, 0x127D, 0xAA5D);

EXTERN_API( OSErr )
SMPGetMainEnclosureFSSpec       (WindowPtr              window,
                                 FSSpec *               enclosureDir)                       FOURWORDINLINE(0x203C, 0x0004, 0x127E, 0xAA5D);

EXTERN_API( OSErr )
SMPAddContent                   (WindowPtr              window,
                                 MailSegmentType        segmentType,
                                 Boolean                appendFlag,
                                 void *                 buffer,
                                 unsigned long          bufferSize,
                                 StScrpRec *            textScrap,
                                 Boolean                startNewScript,
                                 ScriptCode             script)                             FOURWORDINLINE(0x203C, 0x000C, 0x127A, 0xAA5D);

EXTERN_API( OSErr )
SMPReadContent                  (WindowPtr              window,
                                 MailSegmentMask        segmentTypeMask,
                                 void *                 buffer,
                                 unsigned long          bufferSize,
                                 unsigned long *        dataSize,
                                 StScrpRec *            textScrap,
                                 ScriptCode *           script,
                                 MailSegmentType *      segmentType,
                                 Boolean *              endOfScript,
                                 Boolean *              endOfSegment,
                                 Boolean *              endOfContent,
                                 long *                 segmentLength,
                                 long *                 segmentID)                          FOURWORDINLINE(0x203C, 0x0019, 0x127B, 0xAA5D);

EXTERN_API( OSErr )
SMPGetFontNameFromLetter        (WindowPtr              window,
                                 short                  fontNum,
                                 Str255                 fontName,
                                 Boolean                doneWithFontTable)                  FOURWORDINLINE(0x203C, 0x0006, 0x127C, 0xAA5D);

EXTERN_API( OSErr )
SMPAddBlock                     (WindowPtr              window,
                                 const OCECreatorType * blockType,
                                 Boolean                append,
                                 void *                 buffer,
                                 unsigned long          bufferSize,
                                 MailBlockMode          mode,
                                 unsigned long          offset)                             FOURWORDINLINE(0x203C, 0x000C, 0x127F, 0xAA5D);

EXTERN_API( OSErr )
SMPReadBlock                    (WindowPtr              window,
                                 const OCECreatorType * blockType,
                                 unsigned short         blockIndex,
                                 void *                 buffer,
                                 unsigned long          bufferSize,
                                 unsigned long          dataOffset,
                                 unsigned long *        dataSize,
                                 Boolean *              endOfBlock,
                                 unsigned long *        remaining)                          FOURWORDINLINE(0x203C, 0x0011, 0x1280, 0xAA5D);

EXTERN_API( OSErr )
SMPEnumerateBlocks              (WindowPtr              window,
                                 unsigned short         startIndex,
                                 void *                 buffer,
                                 unsigned long          bufferSize,
                                 unsigned long *        dataSize,
                                 unsigned short *       nextIndex,
                                 Boolean *              more)                               FOURWORDINLINE(0x203C, 0x000D, 0x1281, 0xAA5D);

EXTERN_API( OSErr )
SMPDrawMailer                   (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1269, 0xAA5D);


EXTERN_API( OSErr )
SMPSetSubject                   (WindowPtr              window,
                                 const RString *        text)                               FOURWORDINLINE(0x203C, 0x0004, 0x126B, 0xAA5D);

EXTERN_API( OSErr )
SMPSetFromIdentity              (WindowPtr              window,
                                 AuthIdentity           from)                               FOURWORDINLINE(0x203C, 0x0004, 0x126C, 0xAA5D);

EXTERN_API( OSErr )
SMPAddAddress                   (WindowPtr              window,
                                 SMPAddressType         addrType,
                                 OCEPackedRecipient *   address)                            FOURWORDINLINE(0x203C, 0x0005, 0x126D, 0xAA5D);

EXTERN_API( OSErr )
SMPAddAttachment                (WindowPtr              window,
                                 const FSSpec *         attachment)                         FOURWORDINLINE(0x203C, 0x0004, 0x126E, 0xAA5D);

EXTERN_API( OSErr )
SMPAttachDialog                 (WindowPtr              window)                             FOURWORDINLINE(0x203C, 0x0002, 0x1276, 0xAA5D);


EXTERN_API( OSErr )
SMPExpandOrContract             (WindowPtr              window,
                                 Boolean                expand)                             FOURWORDINLINE(0x203C, 0x0003, 0x1272, 0xAA5D);


EXTERN_API( OSErr )
SMPMoveMailer                   (WindowPtr              window,
                                 short                  dh,
                                 short                  dv)                                 FOURWORDINLINE(0x203C, 0x0004, 0x126A, 0xAA5D);


EXTERN_API( OSErr )
SMPBecomeTarget                 (WindowPtr              window,
                                 Boolean                becomeTarget,
                                 SMPMailerComponent     whichField)                         FOURWORDINLINE(0x203C, 0x0005, 0x1273, 0xAA5D);


EXTERN_API( OSErr )
SMPGetComponentSize             (WindowPtr              window,
                                 unsigned short         whichMailer,
                                 SMPMailerComponent     whichField,
                                 unsigned short *       size)                               FOURWORDINLINE(0x203C, 0x0007, 0x1277, 0xAA5D);


EXTERN_API( OSErr )
SMPGetComponentInfo             (WindowPtr              window,
                                 unsigned short         whichMailer,
                                 SMPMailerComponent     whichField,
                                 void *                 buffer)                             FOURWORDINLINE(0x203C, 0x0007, 0x1278, 0xAA5D);


EXTERN_API( OSErr )
SMPGetListItemInfo              (WindowPtr              window,
                                 unsigned short         whichMailer,
                                 SMPMailerComponent     whichField,
                                 void *                 buffer,
                                 unsigned long          bufferLength,
                                 unsigned short         startItem,
                                 unsigned short *       itemCount,
                                 unsigned short *       nextItem,
                                 Boolean *              more)                               FOURWORDINLINE(0x203C, 0x0010, 0x1279, 0xAA5D);

EXTERN_API( OSErr )
SMPImage                        (WindowPtr              window,
                                 SMPDrawImageUPP        drawImageProc,
                                 long                   imageRefCon,
                                 Boolean                supportsColor)                      FOURWORDINLINE(0x203C, 0x0007, 0x1282, 0xAA5D);

EXTERN_API( OSErr )
SMPGetNextLetter                (OSType *               typesList,
                                 short                  numTypes,
                                 LetterDescriptor *     adjacentLetter)                     FOURWORDINLINE(0x203C, 0x0005, 0x1286, 0xAA5D);

EXTERN_API( OSErr )
SMPGetLetterInfo                (LetterSpec *           mailboxSpec,
                                 SMPLetterInfo *        info)                               FOURWORDINLINE(0x203C, 0x0004, 0x128A, 0xAA5D);



#endif  /* CALL_NOT_IN_CARBON */


#if PRAGMA_STRUCT_ALIGN
    #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
    #pragma pack()
#endif

#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif

#ifdef __cplusplus
}
#endif

#endif /* __OCESTANDARDMAIL__ */

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us