Summary: Isode provides a number of APIs which allow integrators and product developers to build components that access the Isode Messaging server products or other products supporting the same protocols.
x400_api.h File Reference

X400 Object Interface. More...

#include "cdecl.h"
#include "x400_att.h"

Go to the source code of this file.

Macros

#define X400DLGetStrParam   X400DLExpHistGetStrParam
 

Functions

X400COMMON_CDECL int X400Initialize (char *myname)
 Initialize X.400 API. More...
 
X400COMMON_CDECL int X400MsgNew (int type, struct X400Message **mpp)
 Creates new message. More...
 
X400COMMON_CDECL int X400MsgCountRecip (struct X400Message *mp, int recipient_type, int *number)
 Returns count of addresses of given type in message object. More...
 
X400COMMON_CDECL int X400MsgFree (struct X400Message *mp)
 Frees a message. More...
 
X400COMMON_CDECL int X400MsgAddAttachment (struct X400Message *mp, int type, const char *string, size_t length)
 Add an attachment to the message. More...
 
X400COMMON_CDECL int X400MsgAddBodypart (struct X400Message *mp, struct X400Bodypart *bp)
 Add a body part object to a message. More...
 
X400COMMON_CDECL int X400MsgAddMessageBody (struct X400Message *mp, struct X400Message *mbp)
 
X400COMMON_CDECL int X400MsgAddMessageBodyWType (struct X400Message *mp, struct X400Message *mbp, int type)
 Add a message body part object to a message. More...
 
X400COMMON_CDECL int X400MsgAddIntParam (struct X400Message *mp, int paramtype, int value)
 Add integer-valued parameter to the message. More...
 
X400COMMON_CDECL int X400MsgAddStrParam (struct X400Message *mp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the message. More...
 
X400COMMON_CDECL int X400MsgAddRecip (struct X400Message *mp, int reciptype, struct X400Recipient *recip)
 Add a recipient object to the message. More...
 
X400COMMON_CDECL int X400MsgGetIntParam (struct X400Message *mp, int paramtype, int *valuep)
 Return a integer-valued parameter from the message object. More...
 
X400COMMON_CDECL int X400MsgGetStrParam (struct X400Message *mp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the message object. More...
 
X400COMMON_CDECL int X400MsgGetAttachment (struct X400Message *mp, int number, int *typep, char *buffer, size_t buflen, size_t *lengthp)
 Return data from a simple attachment. More...
 
X400COMMON_CDECL int X400MsgGetBodypart (struct X400Message *mp, int number, int *typep, struct X400Bodypart **bpp)
 Return a pointer to a body part object. More...
 
X400COMMON_CDECL int X400MsgGetMessageBody (struct X400Message *mp, int number, struct X400Message **mbpp)
 Return a pointer to a body part object. More...
 
X400COMMON_CDECL int X400MsgGetRecip (struct X400Message *mp, int recip_type, int number, struct X400Recipient **rpp)
 Get recipient object from message. More...
 
X400COMMON_CDECL int X400MsgGetCert (struct X400Message *mp, int certtype, struct X400Certificate **certp)
 Get certificate object from message This returns a certificate which was used to sign an object in the message. The attribute type indicates which object type. More...
 
X400COMMON_CDECL int X400RecipNew (int type, struct X400Recipient **rpp)
 Create a new recipient object. More...
 
X400COMMON_CDECL int X400RecipFree (struct X400Recipient *rpp)
 Free a recipient object. More...
 
X400COMMON_CDECL int X400RecipAddIntParam (struct X400Recipient *rp, int paramtype, int value)
 Add integer-valued parameter to the recipient. More...
 
X400COMMON_CDECL int X400RecipAddStrParam (struct X400Recipient *rp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the recipient. More...
 
X400COMMON_CDECL int X400RecipGetStrParam (struct X400Recipient *rp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the recipient object. More...
 
X400COMMON_CDECL int X400RecipGetIntParam (struct X400Recipient *rp, int paramtype, int *valp)
 Return a integer-valued parameter from the recipient object. More...
 
X400COMMON_CDECL int X400RecipGetCert (struct X400Recipient *rp, int certtype, struct X400Certificate **certp)
 Get certificate object from recipient This returns a certificate which was used to sign an object in the recipient. The attribute type indicates which object type. More...
 
X400COMMON_CDECL int X400BodypartNew (int type, struct X400Bodypart **bpp)
 Create a new body part object. More...
 
X400COMMON_CDECL int X400BodypartFree (struct X400Bodypart *bpp)
 Free a body part object. More...
 
X400COMMON_CDECL int X400BodypartAddIntParam (struct X400Bodypart *bp, int paramtype, int value)
 Add integer-valued parameter to the body part. More...
 
X400COMMON_CDECL int X400BodypartAddStrParam (struct X400Bodypart *bp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the body part. More...
 
X400COMMON_CDECL int X400BodypartGetStrParam (struct X400Bodypart *bp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the body part object. More...
 
X400COMMON_CDECL int X400BodypartGetIntParam (struct X400Bodypart *bp, int paramtype, int *valp)
 Return a integer-valued parameter from the body part object. More...
 
X400COMMON_CDECL int X400DefaultsNew (struct x400_attribute **ap)
 Return a new defaults object. More...
 
X400COMMON_CDECL int X400DefaultsFree (struct x400_attribute *ap)
 Free a defaults object. More...
 
X400COMMON_CDECL int X400SetStrDefault (struct x400_attribute *ap, int paramtype, const char *value, size_t length)
 Set a string value in a defaults object. More...
 
X400COMMON_CDECL int X400SetIntDefault (struct x400_attribute *ap, int paramtype, int value)
 Set an integer value in a defaults object. More...
 
X400COMMON_CDECL const char * X400Error (int error)
 Return string for error code. More...
 
X400COMMON_CDECL int X400DLExpHistGet (struct X400Message *mp, int entry, struct X400DLExpHist **hist)
 Create a new DL Expansion History object from the message object. More...
 
X400COMMON_CDECL int X400DLExpHistDelete (struct X400DLExpHist *hist)
 Delete the DL Expansion History object. More...
 
X400COMMON_CDECL int X400DLExpHistGetStrParam (struct X400DLExpHist *hist, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string parameter from the DL Expansion History object. More...
 
X400COMMON_CDECL int X400DLExpHistNew (struct X400DLExpHist **histp)
 Create a new X400DLExpHist object. More...
 
X400COMMON_CDECL int X400MsgAddDLExpHist (struct X400Message *mp, struct X400DLExpHist *histp)
 Associates a X400DLExpHist object with a X400Message object. More...
 
X400COMMON_CDECL int X400DLExpHistAddStrParam (struct X400DLExpHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400DLExpHist object. More...
 
X400COMMON_CDECL struct X400DLExpHist * X400DLExpHistDeepCopy (struct X400DLExpHist *original)
 Copy an existing DL Expansion History object. More...
 
X400COMMON_CDECL int X400TraceInfoGet (struct X400Message *mp, int entry, struct X400TraceInfo **info, int trace_info_type)
 Get the Trace information object from a message. More...
 
X400COMMON_CDECL int X400TraceInfoGetStrParam (struct X400TraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Trace Information object. More...
 
X400COMMON_CDECL int X400TraceInfoGetIntParam (struct X400TraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Trace Information object. More...
 
X400COMMON_CDECL int X400TraceInfoNew (struct X400Message *msg, struct X400TraceInfo **info, int type)
 Create a new Trace information object. More...
 
X400COMMON_CDECL struct X400TraceInfo * X400TraceInfoDeepCopy (struct X400Message *mp, struct X400TraceInfo *original, int type)
 Copy an existing Trace information object. More...
 
X400COMMON_CDECL int X400MsgAddTraceInfo (struct X400Message *mp, struct X400TraceInfo *info, int type)
 Create a new Trace information object. More...
 
X400COMMON_CDECL int X400TraceInfoAddStrParam (struct X400TraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400TraceInfo object. More...
 
X400COMMON_CDECL int X400TraceInfoAddIntParam (struct X400TraceInfo *info, int paramtype, int value)
 Set an integer value in a Trace Info object. More...
 
X400COMMON_CDECL int X400RediHistAddStrParam (struct X400RediHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400RediHist object. More...
 
X400COMMON_CDECL int X400RediHistAddIntParam (struct X400RediHist *hist, int paramtype, int value)
 Set an integer value in a Redirection History object. More...
 
X400COMMON_CDECL int X400RediHistGetStrParam (struct X400RediHist *hist, int paramtype, char *value, size_t length, size_t *lengthp)
 Get string-valued parameter from the X400RediHist object. More...
 
X400COMMON_CDECL int X400RediHistGetIntParam (struct X400RediHist *info, int paramtype, int *valuep)
 Get int parameter from Redirection History object. More...
 
X400COMMON_CDECL int X400RediHistGet (struct X400Recipient *recip, int entry, struct X400RediHist **hist)
 Get the Redirection History object from a recipient. More...
 
X400COMMON_CDECL int X400RediHistNew (struct X400Recipient *recip, struct X400RediHist **hist)
 Create a new Redirection History object. More...
 
X400COMMON_CDECL int X400RediHistGetEnv (struct X400Message *msg, int entry, struct X400RediHist **hist)
 Get the Redirection History object from a message envelope this is represented by 8.3.1.2.1.5 in X.411. More...
 
X400COMMON_CDECL int X400RediHistNewEnv (struct X400Message *msg, struct X400RediHist **hist)
 Create a new Redirection History object for a message envelope this is represented by 8.3.1.2.1.5 in X.411. More...
 
X400COMMON_CDECL struct X400RediHist * X400RediHistDeepCopyEnv (struct X400Message *msg, struct X400RediHist *original)
 Copy an existing Redirection History object into a message. More...
 
X400COMMON_CDECL struct X400RediHist * X400RediHistDeepCopy (struct X400Recipient *recip, struct X400RediHist *original)
 Copy an existing Redirection History object into a recipient. More...
 
X400COMMON_CDECL const char * X400RediReason (int redirection_reason)
 Return a human readable string based on a redirection reason. More...
 
X400COMMON_CDECL int X400InternalTraceInfoGet (struct X400Message *mp, int entry, struct X400InternalTraceInfo **info)
 Get the Trace information object from a message. More...
 
X400COMMON_CDECL struct X400InternalTraceInfo * X400InternalTraceInfoDeepCopy (struct X400Message *mp, struct X400InternalTraceInfo *original)
 Copy an existing Internal Trace information object. More...
 
X400COMMON_CDECL int X400InternalTraceInfoNew (struct X400Message *msg, struct X400InternalTraceInfo **info)
 Create a new Trace information object. More...
 
X400COMMON_CDECL int X400MsgAddInternalTraceInfo (struct X400Message *mp, struct X400InternalTraceInfo *info)
 Create a new Trace information object. More...
 
X400COMMON_CDECL int X400InternalTraceInfoGetStrParam (struct X400InternalTraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Internal Trace Information object. More...
 
X400COMMON_CDECL int X400InternalTraceInfoGetIntParam (struct X400InternalTraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Internal Trace Information object. More...
 
X400COMMON_CDECL int X400InternalTraceInfoAddStrParam (struct X400InternalTraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the Internal Trace info object. More...
 
X400COMMON_CDECL int X400InternalTraceInfoAddIntParam (struct X400InternalTraceInfo *info, int paramtype, int value)
 Set an integer value in an Internal Trace Info object. More...
 
X400COMMON_CDECL int X400ALIGet (struct X400Message *mp, int entry, struct X400ALI **ali)
 Get the Address List Indicator information object from a message. More...
 
X400COMMON_CDECL int X400ALINew (struct X400Message *msg, struct X400ALI **ali)
 Create an Address List Indicator object. More...
 
X400COMMON_CDECL struct X400ALI * X400ALIDeepCopy (struct X400Message *mp, struct X400ALI *ali)
 Copy an Address List Indicator object. More...
 
X400COMMON_CDECL int X400ALIGetStrParam (struct X400ALI *ALI, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Address List Indicator object. More...
 
X400COMMON_CDECL int X400ALIGetIntParam (struct X400ALI *ALI, int paramtype, int *valuep)
 Get int parameter from Address List Indicator object. More...
 
X400COMMON_CDECL int X400ALIAddStrParam (struct X400ALI *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the ALI info object. More...
 
X400COMMON_CDECL int X400ALIAddIntParam (struct X400ALI *info, int paramtype, int value)
 Set an integer value in an Address List Indicator object. More...
 
X400COMMON_CDECL int X400PSSGet (struct X400Message *mp, int type, int entry, struct X400PSS **pss)
 Get the Printable String Sequence object from a message. More...
 
X400COMMON_CDECL struct X400PSS * X400PSSDeepCopy (struct X400Message *mp, struct X400PSS *pss, int type)
 Copy a Printable String Sequence object. More...
 
X400COMMON_CDECL int X400PSSNew (struct X400Message *msg, struct X400PSS **pss, int type)
 Create a Printable String Sequence object. More...
 
X400COMMON_CDECL int X400PSSGetStrParam (struct X400PSS *pss, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Printable String Sequence object. More...
 
X400COMMON_CDECL int X400PSSAddStrParam (struct X400PSS *pss, const char *value, size_t length)
 Add string-valued parameter to the PSS info object. More...
 
X400COMMON_CDECL int X400DistFieldGet (struct X400Message *mp, int entry, struct X400DistField **distfield)
 Get the Distribution Code extension Field object from a message. More...
 
X400COMMON_CDECL struct X400DistField * X400DistFieldDeepCopy (struct X400Message *mp, struct X400DistField *original)
 Copy a P772 Distribution Code extension Field object. More...
 
X400COMMON_CDECL int X400DistFieldNew (struct X400Message *msg, struct X400DistField **distfield)
 Create a P772 Distribution Code extension Field object. More...
 
X400COMMON_CDECL int X400DistFieldGetStrParam (struct X400DistField *distfield, int type, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Distribution Code extension Field object. More...
 
X400COMMON_CDECL int X400DistFieldAddStrParam (struct X400DistField *distfield, int type, const char *value, size_t length)
 Add string-valued parameter to the DistField info object. More...
 
X400COMMON_CDECL int X400OtherRecipGet (struct X400Message *mp, int entry, struct X400OtherRecip **otherrecip)
 Get a new P772 Other Recipient object for a message object. More...
 
X400COMMON_CDECL struct X400OtherRecip * X400OtherRecipDeepCopy (struct X400Message *mp, struct X400OtherRecip *original)
 Copy a P772 Other Recipient object. More...
 
X400COMMON_CDECL int X400OtherRecipNew (struct X400Message *mp, struct X400OtherRecip **otherrecip)
 Create a new P772 Other Recipient object for a message object. More...
 
X400COMMON_CDECL int X400OtherRecipGetStrParam (struct X400OtherRecip *otherrecip, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Other Recipient object. More...
 
X400COMMON_CDECL int X400OtherRecipAddStrParam (struct X400OtherRecip *otherrecip, const char *value, size_t length)
 Add string-valued parameter to the Other Recipient Indicator object. More...
 
X400COMMON_CDECL int X400OtherRecipAddIntParam (struct X400OtherRecip *otherrecip, int value)
 Add integer parameter to the Other Recipient Indicator object. More...
 
X400COMMON_CDECL int X400OtherRecipGetIntParam (struct X400OtherRecip *otherrecip, int *value)
 Get integer parameter from the Other Recipient Indicator object. More...
 
X400COMMON_CDECL int X400ACP127RespGet (struct X400Message *mp, struct X400ACP127Resp **resp)
 Get the ACP127 Notification Response object from a message. More...
 
X400COMMON_CDECL struct X400ACP127Resp * X400ACP127RespDeepCopy (struct X400Message *mp, struct X400ACP127Resp *original)
 Copy an ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespNew (struct X400Message *mp, struct X400ACP127Resp **resp)
 Create an ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespGetStrParam (struct X400ACP127Resp *resp, int type, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespAddStrParam (struct X400ACP127Resp *resp, int type, const char *value, size_t length)
 Add string-valued parameter to the ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespAddIntParam (struct X400ACP127Resp *resp, int value)
 Add integer parameter to the ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespGetIntParam (struct X400ACP127Resp *resp, int *value)
 Get integer parameter from the ACP127 Notification Response object. More...
 
X400COMMON_CDECL int X400ACP127RespNewALI (struct X400ACP127Resp *resp, struct X400ALI **ali)
 Create new Address List Indicator object associated with the X400ACP127 Resp. More...
 
X400COMMON_CDECL int X400ACP127RespGetALI (struct X400ACP127Resp *resp, struct X400ALI **ali, int entry)
 Get an Address List Indicator object associated with the X400ACP127 object. More...
 
X400COMMON_CDECL int X400ORandDLAddStrParam (struct X400ORandDL *or_and_dl, int type, const char *value, size_t length)
 Add string parameter for a Originator and DL Expansion History object. More...
 
X400COMMON_CDECL struct X400ORandDL * X400ORandDLDeepCopy (struct X400Message *msg, struct X400ORandDL *orig)
 Copy Originator and DL Expansion history object. More...
 
X400COMMON_CDECL int X400ORandDLNew (struct X400Message *msg, struct X400ORandDL **or_and_dl)
 Create new Originator and DL Expansion history object. More...
 
X400COMMON_CDECL int X400MsgORandDLGet (struct X400Message *msg, int entry, struct X400ORandDL **or_and_dl)
 Get Originator and DL expansion history object. More...
 
X400COMMON_CDECL int X400ORandDLGetStrParam (struct X400ORandDL *or_and_dl, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from ACP127 Response object. More...
 
X400COMMON_CDECL int X400CertGetStrParam (struct X400Certificate *cp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the certificate object. More...
 
X400COMMON_CDECL int X400CertGetIntParam (struct X400Certificate *cp, int paramtype, int *valp)
 Return a integer-valued parameter from the certificate object. More...
 
X400COMMON_CDECL int X400GetContentOctets (struct X400Message *mp, char *buf, size_t buflen, size_t *lenp)
 Obtains the bytes containing the ASN.1 encoding of the Content of a message. The Content is obtained by building an IPM from the attributes of the message and then encoding it. More...
 
X400COMMON_CDECL int X400SetContentOctets (struct X400Message *mp, char *buf, size_t len)
 Takes a byte stream containing the ASN.1 encoding of a P22 (or P772) content, decodes it and sets it into a message, so that attributes can be extracted from it. More...
 
X400COMMON_CDECL int X400SetupSecEnv (struct X400SecurityEnv **envp, struct x400_attribute *attrs, int allow_no_id)
 Test that the default (sessions) security environment has been initialised with valid values, ie P12 filename and trusted CA certificate directory. More...
 
X400COMMON_CDECL int X400SetupMessageSecEnv (struct X400SecurityEnv **msgenvp, struct x400_attribute *msg_attrs, struct x400_attribute *default_attrs)
 Test that the message security environment has been initialised with valid values, ie P12 filename and trusted CA certificate directory. More...
 
X400COMMON_CDECL int X400SetupRecipSecenv (struct X400SecurityEnv **recipenvp, struct x400_attribute *recip_attrs, struct x400_attribute *msg_attrs, struct x400_attribute *default_attrs)
 Test that the message security environment has been initialised with valid values, ie P12 filename and trusted CA certificate directory. More...
 

Detailed Description

X400 Object Interface.

This is an API for accessing X.400 Message, Report and Probe objects. It does not provide protocol interfaces for transfer, submission or delivery of such objects.

Definition in file x400_api.h.