x400_api.h

Go to the documentation of this file.
00001 /*  Copyright (c) 2004-2005, 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_api.h,v $ $Revision: 1.11 $ $Date: 2007/08/28 15:29:56 $ $State: Exp $
00012  *
00013  * $Log: x400_api.h,v $
00014  * Revision 1.11  2007/08/28 15:29:56  paga
00015  * T070828E - Add X400DLExpHistNew / X400MsgAddDLExpHist /
00016  *            X400DLExpHistAddStrParam to allow the caller to add a DL Expansion
00017  *            History object to an X.400 message.
00018  *
00019  * Revision 1.10  2007/07/31 16:25:24  paga
00020  * T070730F - Add code to fetch DL expansion history.
00021  *
00022  * Revision 1.9  2007/06/21 10:04:48  tc
00023  * T070621A - Add prototype for X400MsgCountRecip().
00024  *
00025  * Revision 1.8  2005/11/03 11:55:56  tc
00026  * T051103A - Remove X400tailor.
00027  *
00028  * Revision 1.7  2005/11/02 11:21:55  dbw
00029  * T051101D.T1 - Update or add copyright for 2005
00030  *
00031  * Revision 1.6  2005/06/29 11:22:42  brs
00032  * T050628F - Remove @fn sections, and change some parameters and documented
00033  *            parameter names to match up.
00034  *
00035  * Revision 1.5  2004/08/16 15:43:35  ir
00036  * T040812E - Tidy up doxygen annotations.
00037  *
00038  * Revision 1.4  2004/05/27 09:03:20  dbw
00039  * T040526B - Add new Bodypart and MessageBody functions
00040  *
00041  * Revision 1.3  2004/05/10 10:29:20  tc
00042  * T040510C - Use X400COMMON_CDECL for X400MsgAddRecip function.
00043  *
00044  * Revision 1.2  2004/05/07 11:27:30  tc
00045  * T040507J - Add comments so that DoxyGen can generate documentation.
00046  *
00047  * Revision 1.1  2004/05/06 09:26:38  tc
00048  * T040505C - New file. Contains prototypes for X400 generic API.
00049  *
00050  */
00051 
00052 #ifndef X400_API_H
00053 
00054 #define X400_API_H
00055 
00056 #include "cdecl.h"
00057 #include "x400_att.h"
00058 
00074 /* generic X400 recipient */
00075 struct X400Recipient;
00076 
00077 /* generic X400 message */
00078 struct X400Message;
00079 
00080 /* generic X400 Body Part (Attachment) */
00081 struct X400Bodypart;
00082 
00083 /* X400 attribute structure */
00084 struct x400_attribute;
00085 
00086 /* X400 DL Expansion List History*/
00087 struct X400DLExpHist;
00088 
00089 /* X400 Trace Information Object */
00090 struct X400TraceInfo;
00091 
00092 /* X400 Internal Trace Information Object */
00093 struct X400InternalTraceInfo;
00094 
00095 /* X400 Redirection History Object */
00096 struct X400RediHist;
00097 
00098 /* X400 Address List indicator */
00099 struct X400ALI;
00100 
00101 /* X400 Printable String Sequence */
00102 struct X400PSS;
00103 
00104 /* X400 Distribution Field Object*/
00105 struct X400DistField;
00106 
00107 /* X400 Other Recipient Indicator Object */
00108 struct X400OtherRecip;
00109 
00110 /* X400 ACP127 Response Notification */
00111 struct X400ACP127Resp;
00112 
00113 /* X400 Originator and DL history Object */
00114 struct X400ORandDL;
00115 
00121 X400COMMON_CDECL int X400Initialize (char *myname);
00122 
00123 
00136 X400COMMON_CDECL int X400MsgNew (int type,
00137                                  struct X400Message **mpp);
00138 
00148 X400COMMON_CDECL int X400MsgCountRecip(struct X400Message *mp,
00149                                        int recipient_type,
00150                                        int *number);
00151 
00157 X400COMMON_CDECL int X400MsgFree (struct X400Message *mp);
00158 
00172 X400COMMON_CDECL int X400MsgAddAttachment (struct X400Message *mp,
00173                                            int type,
00174                                            const char *string,
00175                                            size_t length);
00176 
00177 
00184 X400COMMON_CDECL int X400MsgAddBodypart (struct X400Message *mp,
00185                                          struct X400Bodypart *bp);
00186 
00189 X400COMMON_CDECL int X400MsgAddMessageBody (struct X400Message *mp,
00190                                             struct X400Message *mbp);
00191 
00205 X400COMMON_CDECL int X400MsgAddMessageBodyWType (struct X400Message *mp,
00206                                                  struct X400Message *mbp,
00207                                                  int type);
00208 
00216 X400COMMON_CDECL int X400MsgAddIntParam (struct X400Message *mp,
00217                                       int paramtype,
00218                                       int value);
00219 
00229 X400COMMON_CDECL int X400MsgAddStrParam (struct X400Message *mp,
00230                                          int paramtype,
00231                                          const char *value,
00232                                          size_t length);
00233 
00241 X400COMMON_CDECL int X400MsgAddRecip(struct X400Message *mp,
00242                                      int reciptype,
00243                                      struct X400Recipient *recip);
00244 
00252 X400COMMON_CDECL int X400MsgGetIntParam(struct X400Message *mp,
00253                                      int paramtype,
00254                                      int *valuep);
00255 
00265 X400COMMON_CDECL int X400MsgGetStrParam(struct X400Message *mp,
00266                                      int paramtype,
00267                                      char *buffer,
00268                                      size_t buflen,
00269                                      size_t *paramlenp);
00270 
00287 X400COMMON_CDECL int X400MsgGetAttachment (struct X400Message *mp,
00288                                         int number,
00289                                         int *typep,
00290                                         char *buffer,
00291                                         size_t buflen,
00292                                         size_t *lengthp);
00293 
00308 X400COMMON_CDECL int X400MsgGetBodypart (struct X400Message *mp,
00309                                          int number,
00310                                          int *typep,
00311                                          struct X400Bodypart **bpp);
00312 
00321 X400COMMON_CDECL int X400MsgGetMessageBody (struct X400Message *mp,
00322                                             int number,
00323                                             struct X400Message **mbpp);
00324 
00333 X400COMMON_CDECL int X400MsgGetRecip(struct X400Message *mp,
00334                                   int recip_type,
00335                                   int number,
00336                                   struct X400Recipient **rpp);
00337 
00338 
00367 X400COMMON_CDECL int X400RecipNew (int type,
00368                                    struct X400Recipient **rpp);
00369 
00370 
00371 
00377 X400COMMON_CDECL int X400RecipFree (struct X400Recipient *rpp);
00378 
00387 X400COMMON_CDECL int X400RecipAddIntParam (struct X400Recipient *rp,
00388                                         int paramtype,
00389                                         int value);
00390 
00399 X400COMMON_CDECL int X400RecipAddStrParam (struct X400Recipient *rp,
00400                                         int paramtype,
00401                                         const char *value,
00402                                         size_t length);
00403 
00414 X400COMMON_CDECL int X400RecipGetStrParam (struct X400Recipient *rp,
00415                                         int paramtype,
00416                                         char *buffer,
00417                                         size_t buflen,
00418                                         size_t *paramlenp);
00419 
00427 X400COMMON_CDECL int X400RecipGetIntParam (struct X400Recipient *rp,
00428                                         int paramtype,
00429                                         int *valp);
00430 
00431 
00432 
00433 
00443 X400COMMON_CDECL int X400BodypartNew (int type,
00444                                       struct X400Bodypart **bpp);
00445 
00446 
00447 
00453 X400COMMON_CDECL int X400BodypartFree (struct X400Bodypart *bpp);
00454 
00463 X400COMMON_CDECL int X400BodypartAddIntParam (struct X400Bodypart *bp,
00464                                               int paramtype,
00465                                               int value);
00466 
00475 X400COMMON_CDECL int X400BodypartAddStrParam (struct X400Bodypart *bp,
00476                                               int paramtype,
00477                                               const char *value,
00478                                               size_t length);
00479 
00490 X400COMMON_CDECL int X400BodypartGetStrParam (struct X400Bodypart *bp,
00491                                               int paramtype,
00492                                               char *buffer,
00493                                               size_t buflen,
00494                                               size_t *paramlenp);
00495 
00503 X400COMMON_CDECL int X400BodypartGetIntParam (struct X400Bodypart *bp,
00504                                               int paramtype,
00505                                               int *valp);
00506 
00507 
00508 
00514 X400COMMON_CDECL int X400DefaultsNew (struct x400_attribute **ap);
00515 
00521 X400COMMON_CDECL int X400DefaultsFree (struct x400_attribute *ap);
00522 
00523 
00532 X400COMMON_CDECL int X400SetStrDefault(struct x400_attribute *ap,
00533                                     int paramtype,
00534                                     const char *value,
00535                                     size_t length);
00536 
00544 X400COMMON_CDECL int X400SetIntDefault(struct x400_attribute *ap,
00545                                     int paramtype,
00546                                     int value);
00547 
00553 X400COMMON_CDECL const char *X400Error(int error);
00554 
00562 X400COMMON_CDECL int X400DLExpHistGet (struct X400Message *mp,
00563                                        int entry,
00564                                        struct X400DLExpHist **hist);
00565 
00571 X400COMMON_CDECL int X400DLExpHistDelete (struct X400DLExpHist *hist);
00572 
00582 X400COMMON_CDECL int X400DLGetStrParam (struct X400DLExpHist *hist,           
00583                                         int paramtype,
00584                                         char *buffer,
00585                                         size_t buflen,
00586                                         size_t *paramlenp);
00587 
00593 X400COMMON_CDECL int X400DLExpHistNew (
00594     struct X400DLExpHist **histp
00595 );
00596 
00603 X400COMMON_CDECL int X400MsgAddDLExpHist(
00604     struct X400Message *mp,
00605     struct X400DLExpHist *histp
00606 );
00607 
00608 
00617 X400COMMON_CDECL int X400DLExpHistAddStrParam (
00618     struct X400DLExpHist *hist,
00619     int paramtype,
00620     const char *value,
00621     size_t length
00622 );
00623 
00632 X400COMMON_CDECL int X400TraceInfoGet(struct X400Message *mp,
00633                                       int entry,
00634                                       struct X400TraceInfo **info,
00635                                       int trace_info_type);
00636 
00646 X400COMMON_CDECL int X400TraceInfoGetStrParam (struct X400TraceInfo *info,
00647                                                int paramtype,
00648                                                char *buffer,
00649                                                size_t buflen ,
00650                                                size_t *paramlenp);
00658 X400COMMON_CDECL int X400TraceInfoGetIntParam (struct X400TraceInfo *info,
00659                                                int paramtype,
00660                                                int *valuep);
00661 
00662 
00663 
00671 X400COMMON_CDECL int X400TraceInfoNew(
00672     struct X400Message    *msg,
00673     struct X400TraceInfo **info,
00674     int type
00675 );
00676 
00677 
00685 X400COMMON_CDECL int X400MsgAddTraceInfo(
00686     struct X400Message *mp,
00687     struct X400TraceInfo *info,
00688     int type
00689 );
00690 
00699 X400COMMON_CDECL int X400TraceInfoAddStrParam (
00700     struct X400TraceInfo *info,
00701     int paramtype,
00702     const char *value,
00703     size_t length
00704 );
00705 
00706 
00714 X400COMMON_CDECL int X400TraceInfoAddIntParam(
00715     struct X400TraceInfo *info,
00716     int paramtype,
00717     int value
00718 );
00719 
00720 
00729 X400COMMON_CDECL int X400RediHistAddStrParam (
00730     struct X400RediHist *hist,
00731     int paramtype,
00732     const char *value,
00733     size_t length
00734 );
00735 
00743 X400COMMON_CDECL int X400RediHistAddIntParam (
00744     struct X400RediHist *hist,
00745     int paramtype,
00746     int value
00747 );
00748 
00749 
00759 X400COMMON_CDECL int X400RediHistGetStrParam (
00760     struct X400RediHist *hist,
00761     int paramtype,
00762     char *value,
00763     size_t length,
00764     size_t *lengthp
00765 );
00766 
00767 
00775 X400COMMON_CDECL int X400RediHistGetIntParam (struct X400RediHist *info,
00776                                               int paramtype,
00777                                               int *valuep);
00778 
00786 X400COMMON_CDECL int X400RediHistGet(struct X400Recipient *recip,
00787                                      int entry,
00788                                      struct X400RediHist **hist);
00789 
00796 X400COMMON_CDECL int X400RediHistNew(
00797     struct X400Recipient *recip,
00798     struct X400RediHist **hist
00799 );
00800 
00808 X400COMMON_CDECL int X400RediHistGetEnv(struct X400Message *msg,
00809                                         int entry,
00810                                         struct X400RediHist **hist);
00811 
00818 X400COMMON_CDECL int X400RediHistNewEnv(
00819     struct X400Message *msg,
00820     struct X400RediHist **hist
00821 );
00822 
00823 
00824 
00825 
00831 X400COMMON_CDECL const char * X400RediReason(
00832     int redirection_reason
00833 );
00834 
00835 
00843 X400COMMON_CDECL int X400InternalTraceInfoGet(struct X400Message *mp,
00844                                               int entry,
00845                                               struct X400InternalTraceInfo **info);
00846 
00853 X400COMMON_CDECL int X400InternalTraceInfoNew(
00854     struct X400Message    *msg,
00855     struct X400InternalTraceInfo **info
00856 );
00857 
00858 
00865 X400COMMON_CDECL int X400MsgAddInternalTraceInfo(
00866     struct X400Message *mp,
00867     struct X400InternalTraceInfo *info
00868 );
00869 
00879 X400COMMON_CDECL int X400InternalTraceInfoGetStrParam (struct X400InternalTraceInfo *info,
00880                                                        int paramtype,
00881                                                        char *buffer,
00882                                                        size_t buflen ,
00883                                                        size_t *paramlenp);
00884 
00892 X400COMMON_CDECL int X400InternalTraceInfoGetIntParam (struct X400InternalTraceInfo *info,
00893                                                        int paramtype,
00894                                                        int *valuep);
00895 
00904 X400COMMON_CDECL int X400InternalTraceInfoAddStrParam (
00905     struct X400InternalTraceInfo *info,
00906     int paramtype,
00907     const char *value,
00908     size_t length
00909 );
00910 
00911 
00919 X400COMMON_CDECL int X400InternalTraceInfoAddIntParam(
00920     struct X400InternalTraceInfo *info,
00921     int paramtype,
00922     int value
00923 );
00924 
00925 
00926 
00934 X400COMMON_CDECL int X400ALIGet(struct X400Message *mp,
00935                                 int entry,
00936                                 struct X400ALI **ali);
00937 
00944 X400COMMON_CDECL int X400ALINew(
00945     struct X400Message    *msg,
00946     struct X400ALI **ali
00947 );
00948 
00958 X400COMMON_CDECL int X400ALIGetStrParam (struct X400ALI *ALI,
00959                                          int paramtype,
00960                                          char *buffer,
00961                                          size_t buflen ,
00962                                          size_t *paramlenp);
00963 
00971 X400COMMON_CDECL int X400ALIGetIntParam (struct X400ALI *ALI,
00972                                          int paramtype,
00973                                          int *valuep);
00974 
00983 X400COMMON_CDECL int X400ALIAddStrParam (
00984     struct X400ALI *info,
00985     int paramtype,
00986     const char *value,
00987     size_t length
00988 );
00989 
00990 
00998 X400COMMON_CDECL int X400ALIAddIntParam(
00999     struct X400ALI *info,
01000     int paramtype,
01001     int value
01002 );
01003 
01012 X400COMMON_CDECL int X400PSSGet(
01013     struct X400Message *mp,
01014     int type,
01015     int entry,
01016     struct X400PSS **pss
01017 );
01018 
01026 X400COMMON_CDECL int X400PSSNew(
01027     struct X400Message    *msg,
01028     struct X400PSS **pss,
01029     int type
01030 );
01031 
01040 X400COMMON_CDECL int X400PSSGetStrParam (
01041     struct X400PSS *pss,
01042     char *buffer,
01043     size_t buflen ,
01044     size_t *paramlenp
01045 );
01046 
01054 X400COMMON_CDECL int X400PSSAddStrParam (
01055     struct X400PSS *pss,
01056     const char *value,
01057     size_t length
01058 );
01066 X400COMMON_CDECL int X400DistFieldGet(
01067     struct X400Message *mp,
01068     int entry,
01069     struct X400DistField **distfield
01070 );
01071 
01078 X400COMMON_CDECL int X400DistFieldNew(
01079     struct X400Message    *msg,
01080     struct X400DistField **distfield
01081 );
01082 
01092 X400COMMON_CDECL int X400DistFieldGetStrParam (
01093     struct X400DistField *distfield,
01094     int type,
01095     char *buffer,
01096     size_t buflen ,
01097     size_t *paramlenp
01098 );
01099 
01108 X400COMMON_CDECL int X400DistFieldAddStrParam (
01109     struct X400DistField *distfield,
01110     int type,
01111     const char *value,
01112     size_t length
01113 );
01114 
01122 X400COMMON_CDECL int X400OtherRecipGet (
01123     struct X400Message *mp,
01124     int entry,
01125     struct X400OtherRecip **otherrecip
01126 );
01127 
01134 X400COMMON_CDECL int X400OtherRecipNew(
01135     struct X400Message *mp,
01136     struct X400OtherRecip **otherrecip
01137 );
01138 
01147 X400COMMON_CDECL int X400OtherRecipGetStrParam (
01148     struct X400OtherRecip *otherrecip,
01149     char *buffer,
01150     size_t buflen ,
01151     size_t *paramlenp
01152 );
01153 
01161 X400COMMON_CDECL int X400OtherRecipAddStrParam (
01162     struct X400OtherRecip *otherrecip,
01163     const char *value,
01164     size_t length
01165 );
01166 
01174 X400COMMON_CDECL int X400OtherRecipAddIntParam(
01175     struct X400OtherRecip *otherrecip,
01176     int value
01177 );
01178 
01179 
01186 X400COMMON_CDECL int X400OtherRecipGetIntParam(
01187     struct X400OtherRecip *otherrecip,
01188     int *value
01189 );
01190 
01191 
01192 
01193 
01200 X400COMMON_CDECL int X400ACP127RespGet(
01201     struct X400Recipient *rp,
01202     struct X400ACP127Resp **resp
01203 );
01204 
01211 X400COMMON_CDECL int X400ACP127RespNew(
01212     struct X400Recipient    *rp,
01213     struct X400ACP127Resp **resp
01214 );
01215 
01225 X400COMMON_CDECL int X400ACP127RespGetStrParam (
01226     struct X400ACP127Resp *resp,
01227     int type,
01228     char *buffer,
01229     size_t buflen ,
01230     size_t *paramlenp
01231 );
01232 
01233 
01242 X400COMMON_CDECL int X400ACP127RespAddStrParam (
01243     struct X400ACP127Resp *resp,
01244     int type,
01245     const char *value,
01246     size_t length
01247 );
01248 
01255 X400COMMON_CDECL int X400ACP127RespAddIntParam(
01256     struct X400ACP127Resp *resp,
01257     int value
01258 );
01259 
01260 
01267 X400COMMON_CDECL int X400ACP127RespGetIntParam(
01268     struct X400ACP127Resp *resp,
01269     int *value
01270 );
01271 
01272 
01279 X400COMMON_CDECL int  X400ACP127RespNewALI (
01280     struct X400ACP127Resp *resp,
01281     struct X400ALI **ali
01282 );
01283 
01291 X400COMMON_CDECL int X400ACP127RespGetALI (
01292     struct X400ACP127Resp *resp,
01293     struct X400ALI **ali,
01294     int entry
01295 );
01296 
01297 
01306 X400COMMON_CDECL int X400ORandDLAddStrParam (
01307     struct X400ORandDL *or_and_dl,
01308     int type,
01309     const char *value,
01310     size_t length
01311 );
01312 
01319 X400COMMON_CDECL int X400ORandDLNew(
01320     struct X400Message *msg,
01321     struct X400ORandDL **or_and_dl
01322 );
01323 
01331 X400COMMON_CDECL int X400MsgORandDLGet(
01332     struct X400Message  *msg,
01333     int entry,
01334     struct X400ORandDL **or_and_dl
01335 );
01336 
01337 
01347 X400COMMON_CDECL int X400ORandDLGetStrParam (
01348     struct X400ORandDL *or_and_dl,
01349     int paramtype,
01350     char *buffer,
01351     size_t buflen ,
01352     size_t *paramlenp
01353 );
01354 
01355 
01356 /* \} */
01357 
01358 #endif
Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed