x400_mtapi.h

Go to the documentation of this file.
00001 /*  Copyright (c) 2003-2006, Isode Limited, London, England.
00002  *  All rights reserved.
00003  *                                                                       
00004  *  Acquisition and use of this software and related materials for any      
00005  *  purpose requires a written licence agreement from Isode Limited,
00006  *  or a written licence from an organisation licenced by Isode Limited
00007  *  to grant such a licence.
00008  *
00009  */
00010 
00011 /* $RCSfile: x400_mtapi.h,v $ $Revision: 1.25 $ $Date: 2007/08/28 15:30:04 $ $State: Exp $
00012  *
00013  * $Log: x400_mtapi.h,v $
00014  * Revision 1.25  2007/08/28 15:30:04  paga
00015  * T070828E - Add x400ms_dlexpnew.c / x400mt_dlexpnew.c wrappers.
00016  *
00017  * Revision 1.24  2007/07/31 16:25:27  paga
00018  * T070730F - Add code to fetch DL expansion history.
00019  *
00020  * Revision 1.23  2007/06/29 09:59:15  ldv
00021  * T070629B - Update documentation version
00022  *
00023  * Revision 1.22  2007/06/21 10:04:50  tc
00024  * T070621A - Add prototype for X400mtMsgCountRecip().
00025  *
00026  * Revision 1.21  2007/05/15 13:11:17  dbw
00027  * T070515D - Update/Add copyright
00028  *
00029  * Revision 1.20  2006/09/25 13:56:56  ldv
00030  * T060925M - Change R11.4 to R12.0
00031  *
00032  * Revision 1.19  2006/01/18 11:59:33  ir
00033  * T060118A - Update to R11.4.
00034  *
00035  * Revision 1.18  2005/12/19 12:52:14  tc
00036  * T051219D.T1 - Add description of relationship with 'pure X.400' API.
00037  *
00038  * Revision 1.17  2005/11/03 11:55:12  tc
00039  * T051103A - Improve Doxygen text. Correct minor Doxygen warnings.
00040  *
00041  * Revision 1.16  2005/10/10 07:57:18  ir
00042  * T051007C - Update version (to 11.2) and Copyright year.
00043  *
00044  * Revision 1.15  2005/08/16 09:18:07  ldv
00045  * T050815V - Document that DR generation depends on 'x400_reports' key of the x400tailor file
00046  *
00047  * Revision 1.14  2005/07/15 16:19:15  ldv
00048  * T050608B - Remove X400mtAFTN2X400 and X400mtAFTN2X400
00049  *
00050  * Revision 1.13  2005/06/29 11:22:43  brs
00051  * T050628F - Remove @fn sections, and change some parameters and documented
00052  *            parameter names to match up.
00053  *
00054  * Revision 1.12  2005/05/25 16:04:00  dbw
00055  * T050525C - Add or update copyright for 2005
00056  *
00057  * Revision 1.11  2005/02/21 14:43:06  tc
00058  * T050221A - Add prototypes and doxygen text for X400mtMsgGetStart and
00059  *            X400mtMsgGetFinish.
00060  *
00061  * Revision 1.10  2004/08/16 15:43:37  ir
00062  * T040812E - Tidy up doxygen annotations.
00063  *
00064  * Revision 1.9  2004/05/27 09:03:21  dbw
00065  * T040526B - Add new Bodypart and MessageBody functions
00066  *
00067  * Revision 1.8  2004/05/07 11:27:32  tc
00068  * T040507J - Correct some comments. Add description for new functions.
00069  *
00070  * Revision 1.7  2004/05/06 09:26:42  tc
00071  * T040505C - Change X400Message to X400mtMessage throughout.
00072  *            Add X400mtSetIntDefault and X400mtSetStrDefault functions.
00073  *
00074  * Revision 1.6  2004/02/06 15:23:38  ir
00075  * T040205A - Update for released version.  Redefine X400mtMsgGetAttachment()
00076  *            so that it is consistent with rest of API.
00077  *
00078  * Revision 1.5  2003/10/20 09:14:56  tc-local
00079  * T031017B - Rename amhs->x400 throughout.
00080  *
00081  * Revision 1.4  2003/10/02 15:49:18  ir
00082  * T031002A - Remove AMHSmtSession from AMHSmtMsgSend() interface.
00083  *            AMHSmtOpen() becomes a macro wwrapper for AMHSmtOpenVer().
00084  *
00085  * Revision 1.3  2003/09/29 16:36:34  ir
00086  * T030929C - Change prototype for AMHSmtMsgSend to include message pointer.
00087  *
00088  * Revision 1.2  2003/09/11 11:01:30  ir
00089  * T030911A - Use AMHSMessage and AMHSRecipient over AMHS API.
00090  *
00091  * Revision 1.1  2003/08/27 15:22:39  ir
00092  * T030819A - Initial checkin of AMHS module.
00093  *
00094  *
00095  */
00096 
00097 #ifndef _X400_MTAPI_H
00098 #define _X400_MTAPI_H
00099 
00100 #include "cdecl.h"
00101 #include "x400_api.h"
00102 
00103 
00104 
00246 X400MT_CDECL const char *X400mtError (int error);
00247 
00248 struct X400mtSession;
00249 
00260 X400MT_CDECL int X400mtOpen (const char *credentials,
00261                              struct X400mtSession **spp);
00262 
00263 
00264 
00273 X400MT_CDECL int X400mtClose (struct X400mtSession *sp);
00274 
00288 X400MT_CDECL int X400mtSetIntDefault(struct X400mtSession *sp,
00289                                      int paramtype,
00290                                      int value);
00291 
00306 X400MT_CDECL int X400mtSetStrDefault(struct X400mtSession *sp,
00307                                      int paramtype,
00308                                      const char *value,
00309                                      size_t length);
00310 
00311 struct X400mtMessage;
00312 
00326 X400MT_CDECL int X400mtMsgNew (struct X400mtSession *sp,
00327                                int type,
00328                                struct X400mtMessage **mpp);
00329 
00338 X400MT_CDECL int X400mtMsgCountRecip(struct X400mtMessage *mp, int type, int *cp);
00339 
00346 X400MT_CDECL int X400mtMsgSend (struct X400mtMessage *mp);
00347 
00357 X400MT_CDECL int X400mtMsgDelete (struct X400mtMessage *mp);
00358 
00368 X400MT_CDECL int X400mtMsgAddStrParam (struct X400mtMessage *mp,
00369                                        int paramtype,
00370                                        const char *value,
00371                                        size_t length);
00372 
00381 X400MT_CDECL int X400mtMsgAddIntParam (struct X400mtMessage *mp,
00382                                        int paramtype,
00383                                        int value);
00384 
00385 
00395 X400MT_CDECL int X400mtMsgAddAttachment (struct X400mtMessage *mp,
00396                                          int type,
00397                                          const char *string,
00398                                          size_t length);
00399 
00400 
00407 X400MT_CDECL int X400mtMsgAddBodypart (struct X400mtMessage *mp,
00408                                        struct X400Bodypart *bp);
00409 
00413 X400MT_CDECL int X400mtMsgAddMessageBody (struct X400mtMessage *mp,
00414                                           struct X400Message *mbp);
00415 
00429 X400MT_CDECL int X400mtMsgAddMessageBodyWType (struct X400mtMessage *mp,
00430                                                struct X400Message *mbp,
00431                                                int type);
00432 
00433 struct X400Recipient;
00434 
00465 X400MT_CDECL int X400mtRecipNew (struct X400mtMessage *mp,
00466                                  int type,
00467                                  struct X400Recipient **rpp);
00468 
00469 
00479 X400MT_CDECL int X400mtRecipAddStrParam (struct X400Recipient *rp,
00480                                          int paramtype,
00481                                          const char *value,
00482                                          size_t length);
00483 
00492 X400MT_CDECL int X400mtRecipAddIntParam (struct X400Recipient *rp,
00493                                          int paramtype,
00494                                          int value);
00495 
00496        
00508 X400MT_CDECL int X400mtWait (struct X400mtSession *sp,
00509                              int seconds,
00510                              int *count);
00511 
00521 X400MT_CDECL int X400mtMsgGet (struct X400mtSession *sp,
00522                                struct X400mtMessage **mpp,
00523                                int *typep);
00524 
00539 X400MT_CDECL int X400mtMsgGetStart (struct X400mtSession *sp,
00540                                     struct X400mtMessage **mpp,
00541                                     int *typep);
00542 
00566 X400MT_CDECL int X400mtMsgGetFinish (struct X400mtMessage *mp,
00567                                      int status,
00568                                      int reason,
00569                                      int diag,
00570                                      char *info);
00571 
00582 X400MT_CDECL int X400mtMsgGetStrParam (struct X400mtMessage *mp,
00583                                        int paramtype,
00584                                        char *buffer,
00585                                        size_t buflen,
00586                                        size_t *paramlenp);
00587 
00596 X400MT_CDECL int X400mtMsgGetIntParam (struct X400mtMessage *mp,
00597                                        int paramtype,
00598                                        int *valp);
00599 
00614 X400MT_CDECL int X400mtMsgGetAttachment (struct X400mtMessage *mp,
00615                                          int number,
00616                                          int *typep,
00617                                          char *buffer,
00618                                          size_t buflen,
00619                                          size_t *lengthp);
00620 
00621 
00636 X400MT_CDECL int X400mtMsgGetBodypart (struct X400mtMessage *mp,
00637                                        int number,
00638                                        int *typep,
00639                                        struct X400Bodypart **bpp);
00640 
00641 
00650 X400MT_CDECL int X400mtMsgGetMessageBody (struct X400mtMessage *mp,
00651                                           int number,
00652                                           struct X400Message **mpp);
00653 
00665 X400MT_CDECL int X400mtRecipGet (struct X400mtMessage *mp,
00666                                  int type,
00667                                  int number,
00668                                  struct X400Recipient **rpp);
00669 
00670 
00681 X400MT_CDECL int X400mtRecipGetStrParam (struct X400Recipient *rp,
00682                                          int paramtype,
00683                                          char *buffer,
00684                                          size_t buflen,
00685                                          size_t *paramlenp);
00686 
00695 X400MT_CDECL int X400mtRecipGetIntParam (struct X400Recipient *rp,
00696                                          int paramtype,
00697                                          int *valp);
00698 
00706 X400MT_CDECL int X400mtDLExpHistGet (struct X400mtMessage *mp,
00707                                      int entry,
00708                                      struct X400DLExpHist **hist);
00709 
00710     
00711 struct X400DLExpHist;
00712 
00720 X400MT_CDECL int X400mtDLExpHistNew (
00721      struct X400mtMessage       *mp,
00722      struct X400DLExpHist       **histp
00723 );
00724 
00733 X400MT_CDECL int X400mtTraceInfoGet (
00734     struct X400mtMessage *mp,
00735     int entry,
00736     struct X400TraceInfo **info,
00737     int type
00738 );
00739 struct X400TraceInfo;
00740 
00741 
00749 X400MT_CDECL int X400mtTraceInfoNew(
00750     struct X400mtMessage *mp,
00751     struct X400TraceInfo **info,
00752     int type
00753 );
00754 
00762 X400MT_CDECL int X400mtInternalTraceInfoGet (
00763     struct X400mtMessage *mp,
00764     int entry,
00765     struct X400InternalTraceInfo **info
00766 );
00767 struct X400InternalTraceInfo;
00768 
00769 
00776 X400MT_CDECL int X400mtInternalTraceInfoNew(
00777     struct X400mtMessage *mp,
00778     struct X400InternalTraceInfo **info
00779 );
00780 
00781 
00782 struct X400ALI;
00783 
00784 
00791 X400MT_CDECL int X400mtALINew(
00792     struct X400mtMessage *mp,
00793     struct X400ALI **ali
00794 );
00795 
00803 X400MT_CDECL int X400mtALIGet (
00804     struct X400mtMessage *mp,
00805     int entry,
00806     struct X400ALI **ali
00807 );
00808 
00809 
00810 struct X400PSS;
00811 
00812 
00820 X400MT_CDECL int X400mtPSSNew(
00821     struct X400mtMessage *mp,
00822     int type,
00823     struct X400PSS **pss
00824 );
00825 
00834 X400MT_CDECL int X400mtPSSGet (
00835     struct X400mtMessage *mp,
00836     int type,
00837     int entry,
00838     struct X400PSS **pss
00839 );
00840 
00841 struct X400DistField;
00842 
00843 
00850 X400MT_CDECL int X400mtDistFieldNew(
00851     struct X400mtMessage *mp,
00852     struct X400DistField **distfield
00853 );
00854 
00862 X400MT_CDECL int X400mtDistFieldGet (
00863     struct X400mtMessage *mp,
00864     int entry,
00865     struct X400DistField **distfield
00866 );
00867 
00868 
00869 struct X400OtherRecip;
00870 
00871 
00878 X400MT_CDECL int X400mtOtherRecipNew(
00879     struct X400mtMessage *mp,
00880     struct X400OtherRecip **otherrecip
00881 );
00882 
00890 X400MT_CDECL int X400mtOtherRecipGet (
00891     struct X400mtMessage *mp,
00892     int entry,
00893     struct X400OtherRecip **otherrecip
00894 );
00895 
00896 
00897 
00905 X400MT_CDECL int X400mtRediHistGetEnv(struct X400mtMessage *msg,
00906                                       int entry,
00907                                       struct X400RediHist **hist);
00908 
00915 X400MT_CDECL int X400mtRediHistNewEnv(
00916     struct X400mtMessage *msg,
00917     struct X400RediHist **hist
00918 );
00919 
00920 
00927 X400MT_CDECL int X400mtORandDLNew(
00928     struct X400mtMessage *msg,
00929     struct X400ORandDL **or_and_dl
00930 );
00931 
00932 
00940 X400MT_CDECL int X400mtORandDLGet(struct X400mtMessage *msg,
00941                                   int entry,
00942                                   struct X400ORandDL **or_and_dl);
00943 
00944 struct X400ORandDL;
00947 /* Here we add the API versioning into the API, so that it is hidden
00948  * from the client
00949  */
00951 #define X400mtOpen(p1, p2) X400mtOpenVer(p1, p2, X400_API_VERSN)
00952 
00960 X400MT_CDECL int X400mtOpenVer (const char *credentials,
00961                              struct X400mtSession **spp, int version);
00962 #endif /* _X400_MTAPI_H */
Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed