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

int X400Initialize (char *myname)
 Initialize X.400 API. More...
 
int X400InitializeLogging (const char *myname, const char *xmlfile)
 Initialize X.400 API logging. If just the name of the logging configuration file is provided, it will be searched for first in $ETCDIR and then in $SHAREDIR. More...
 
int X400MsgNew (int type, struct X400Message **mpp)
 Creates new message. More...
 
int X400MsgCountRecip (struct X400Message *mp, int recipient_type, int *number)
 Returns count of addresses of given type in message object. More...
 
int X400MsgFree (struct X400Message *mp)
 Frees a message. More...
 
int X400MsgAddAttachment (struct X400Message *mp, int type, const char *string, size_t length)
 Add an attachment to the message. More...
 
int X400MsgAddBodypart (struct X400Message *mp, struct X400Bodypart *bp)
 Add a body part object to a message. More...
 
int X400MsgAddMessageBody (struct X400Message *mp, struct X400Message *mbp)
 
int X400MsgAddMessageBodyWType (struct X400Message *mp, struct X400Message *mbp, int type)
 Add a message body part object to a message. More...
 
int X400MsgAddIntParam (struct X400Message *mp, int paramtype, int value)
 Add integer-valued parameter to the message. More...
 
int X400MsgAddStrParam (struct X400Message *mp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the message. More...
 
int X400MsgAddRecip (struct X400Message *mp, int reciptype, struct X400Recipient *recip)
 Add a recipient object to the message. More...
 
int X400MsgGetIntParam (struct X400Message *mp, int paramtype, int *valuep)
 Return a integer-valued parameter from the message object. More...
 
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...
 
int X400MsgGetAttachment (struct X400Message *mp, int number, int *typep, char *buffer, size_t buflen, size_t *lengthp)
 Return data from a simple attachment. More...
 
int X400MsgGetBodypart (struct X400Message *mp, int number, int *typep, struct X400Bodypart **bpp)
 Return a pointer to a body part object. More...
 
int X400MsgGetMessageBody (struct X400Message *mp, int number, struct X400Message **mbpp)
 Return a pointer to a body part object. More...
 
int X400MsgGetRecip (struct X400Message *mp, int recip_type, int number, struct X400Recipient **rpp)
 Get recipient object from message. More...
 
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...
 
int X400RecipNew (int type, struct X400Recipient **rpp)
 Create a new recipient object. More...
 
int X400RecipFree (struct X400Recipient *rpp)
 Free a recipient object. More...
 
int X400RecipAddIntParam (struct X400Recipient *rp, int paramtype, int value)
 Add integer-valued parameter to the recipient. More...
 
int X400RecipAddStrParam (struct X400Recipient *rp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the recipient. More...
 
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...
 
int X400RecipGetIntParam (struct X400Recipient *rp, int paramtype, int *valp)
 Return a integer-valued parameter from the recipient object. More...
 
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...
 
int X400BodypartNew (int type, struct X400Bodypart **bpp)
 Create a new body part object. More...
 
int X400BodypartFree (struct X400Bodypart *bpp)
 Free a body part object. More...
 
int X400BodypartAddIntParam (struct X400Bodypart *bp, int paramtype, int value)
 Add integer-valued parameter to the body part. More...
 
int X400BodypartAddStrParam (struct X400Bodypart *bp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the body part. More...
 
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...
 
int X400BodypartGetIntParam (struct X400Bodypart *bp, int paramtype, int *valp)
 Return a integer-valued parameter from the body part object. More...
 
int X400DefaultsNew (struct x400_attribute **ap)
 Return a new defaults object. More...
 
int X400DefaultsFree (struct x400_attribute *ap)
 Free a defaults object. More...
 
int X400SetStrDefault (struct x400_attribute *ap, int paramtype, const char *value, size_t length)
 Set a string value in a defaults object. More...
 
int X400SetIntDefault (struct x400_attribute *ap, int paramtype, int value)
 Set an integer value in a defaults object. More...
 
const char * X400Error (int error)
 Return string for error code. More...
 
int X400DLExpHistGet (struct X400Message *mp, int entry, struct X400DLExpHist **hist)
 Create a new DL Expansion History object from the message object. More...
 
int X400DLExpHistDelete (struct X400DLExpHist *hist)
 Delete the DL Expansion History object. More...
 
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...
 
int X400DLExpHistNew (struct X400DLExpHist **histp)
 Create a new X400DLExpHist object. More...
 
int X400MsgAddDLExpHist (struct X400Message *mp, struct X400DLExpHist *histp)
 Associates a X400DLExpHist object with a X400Message object. More...
 
int X400DLExpHistAddStrParam (struct X400DLExpHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400DLExpHist object. More...
 
struct X400DLExpHist * X400DLExpHistDeepCopy (struct X400DLExpHist *original)
 Copy an existing DL Expansion History object. More...
 
int X400TraceInfoGet (struct X400Message *mp, int entry, struct X400TraceInfo **info, int trace_info_type)
 Get the Trace information object from a message. More...
 
int X400TraceInfoGetStrParam (struct X400TraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Trace Information object. More...
 
int X400TraceInfoGetIntParam (struct X400TraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Trace Information object. More...
 
int X400TraceInfoNew (struct X400Message *msg, struct X400TraceInfo **info, int type)
 Create a new Trace information object. More...
 
struct X400TraceInfo * X400TraceInfoDeepCopy (struct X400Message *mp, struct X400TraceInfo *original, int type)
 Copy an existing Trace information object. More...
 
int X400MsgAddTraceInfo (struct X400Message *mp, struct X400TraceInfo *info, int type)
 Create a new Trace information object. More...
 
int X400TraceInfoAddStrParam (struct X400TraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400TraceInfo object. More...
 
int X400TraceInfoAddIntParam (struct X400TraceInfo *info, int paramtype, int value)
 Set an integer value in a Trace Info object. More...
 
int X400RediHistAddStrParam (struct X400RediHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400RediHist object. More...
 
int X400RediHistAddIntParam (struct X400RediHist *hist, int paramtype, int value)
 Set an integer value in a Redirection History object. More...
 
int X400RediHistGetStrParam (struct X400RediHist *hist, int paramtype, char *value, size_t length, size_t *lengthp)
 Get string-valued parameter from the X400RediHist object. More...
 
int X400RediHistGetIntParam (struct X400RediHist *info, int paramtype, int *valuep)
 Get int parameter from Redirection History object. More...
 
int X400RediHistGet (struct X400Recipient *recip, int entry, struct X400RediHist **hist)
 Get the Redirection History object from a recipient. More...
 
int X400RediHistNew (struct X400Recipient *recip, struct X400RediHist **hist)
 Create a new Redirection History object. More...
 
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...
 
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...
 
struct X400RediHist * X400RediHistDeepCopyEnv (struct X400Message *msg, struct X400RediHist *original)
 Copy an existing Redirection History object into a message. More...
 
struct X400RediHist * X400RediHistDeepCopy (struct X400Recipient *recip, struct X400RediHist *original)
 Copy an existing Redirection History object into a recipient. More...
 
const char * X400RediReason (int redirection_reason)
 Return a human readable string based on a redirection reason. More...
 
int X400InternalTraceInfoGet (struct X400Message *mp, int entry, struct X400InternalTraceInfo **info)
 Get the Trace information object from a message. More...
 
struct X400InternalTraceInfo * X400InternalTraceInfoDeepCopy (struct X400Message *mp, struct X400InternalTraceInfo *original)
 Copy an existing Internal Trace information object. More...
 
int X400InternalTraceInfoNew (struct X400Message *msg, struct X400InternalTraceInfo **info)
 Create a new Trace information object. More...
 
int X400MsgAddInternalTraceInfo (struct X400Message *mp, struct X400InternalTraceInfo *info)
 Create a new Trace information object. More...
 
int X400InternalTraceInfoGetStrParam (struct X400InternalTraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Internal Trace Information object. More...
 
int X400InternalTraceInfoGetIntParam (struct X400InternalTraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Internal Trace Information object. More...
 
int X400InternalTraceInfoAddStrParam (struct X400InternalTraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the Internal Trace info object. More...
 
int X400InternalTraceInfoAddIntParam (struct X400InternalTraceInfo *info, int paramtype, int value)
 Set an integer value in an Internal Trace Info object. More...
 
int X400ALIGet (struct X400Message *mp, int entry, struct X400ALI **ali)
 Get the Address List Indicator information object from a message. More...
 
int X400ALINew (struct X400Message *msg, struct X400ALI **ali)
 Create an Address List Indicator object. More...
 
struct X400ALI * X400ALIDeepCopy (struct X400Message *mp, struct X400ALI *ali)
 Copy an Address List Indicator object. More...
 
int X400ALIGetStrParam (struct X400ALI *ALI, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Address List Indicator object. More...
 
int X400ALIGetIntParam (struct X400ALI *ALI, int paramtype, int *valuep)
 Get int parameter from Address List Indicator object. More...
 
int X400ALIAddStrParam (struct X400ALI *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the ALI info object. More...
 
int X400ALIAddIntParam (struct X400ALI *info, int paramtype, int value)
 Set an integer value in an Address List Indicator object. More...
 
int X400PSSGet (struct X400Message *mp, int type, int entry, struct X400PSS **pss)
 Get the Printable String Sequence object from a message. More...
 
struct X400PSS * X400PSSDeepCopy (struct X400Message *mp, struct X400PSS *pss, int type)
 Copy a Printable String Sequence object. More...
 
int X400PSSNew (struct X400Message *msg, struct X400PSS **pss, int type)
 Create a Printable String Sequence object. More...
 
int X400PSSGetStrParam (struct X400PSS *pss, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Printable String Sequence object. More...
 
int X400PSSAddStrParam (struct X400PSS *pss, const char *value, size_t length)
 Add string-valued parameter to the PSS info object. More...
 
int X400DistFieldGet (struct X400Message *mp, int entry, struct X400DistField **distfield)
 Get the Distribution Code extension Field object from a message. More...
 
struct X400DistField * X400DistFieldDeepCopy (struct X400Message *mp, struct X400DistField *original)
 Copy a P772 Distribution Code extension Field object. More...
 
int X400DistFieldNew (struct X400Message *msg, struct X400DistField **distfield)
 Create a P772 Distribution Code extension Field object. More...
 
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...
 
int X400DistFieldAddStrParam (struct X400DistField *distfield, int type, const char *value, size_t length)
 Add string-valued parameter to the DistField info object. More...
 
int X400OtherRecipGet (struct X400Message *mp, int entry, struct X400OtherRecip **otherrecip)
 Get a new P772 Other Recipient object for a message object. More...
 
struct X400OtherRecip * X400OtherRecipDeepCopy (struct X400Message *mp, struct X400OtherRecip *original)
 Copy a P772 Other Recipient object. More...
 
int X400OtherRecipNew (struct X400Message *mp, struct X400OtherRecip **otherrecip)
 Create a new P772 Other Recipient object for a message object. More...
 
int X400OtherRecipGetStrParam (struct X400OtherRecip *otherrecip, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Other Recipient object. More...
 
int X400OtherRecipAddStrParam (struct X400OtherRecip *otherrecip, const char *value, size_t length)
 Add string-valued parameter to the Other Recipient Indicator object. More...
 
int X400OtherRecipAddIntParam (struct X400OtherRecip *otherrecip, int value)
 Add integer parameter to the Other Recipient Indicator object. More...
 
int X400OtherRecipGetIntParam (struct X400OtherRecip *otherrecip, int *value)
 Get integer parameter from the Other Recipient Indicator object. More...
 
int X400ACP127RespGet (struct X400Message *mp, struct X400ACP127Resp **resp)
 Get the ACP127 Notification Response object from a message. More...
 
struct X400ACP127Resp * X400ACP127RespDeepCopy (struct X400Message *mp, struct X400ACP127Resp *original)
 Copy an ACP127 Notification Response object. More...
 
int X400ACP127RespNew (struct X400Message *mp, struct X400ACP127Resp **resp)
 Create an ACP127 Notification Response object. More...
 
int X400ACP127RespGetStrParam (struct X400ACP127Resp *resp, int type, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from ACP127 Notification Response object. More...
 
int X400ACP127RespAddStrParam (struct X400ACP127Resp *resp, int type, const char *value, size_t length)
 Add string-valued parameter to the ACP127 Notification Response object. More...
 
int X400ACP127RespAddIntParam (struct X400ACP127Resp *resp, int value)
 Add integer parameter to the ACP127 Notification Response object. More...
 
int X400ACP127RespGetIntParam (struct X400ACP127Resp *resp, int *value)
 Get integer parameter from the ACP127 Notification Response object. More...
 
int X400ACP127RespNewALI (struct X400ACP127Resp *resp, struct X400ALI **ali)
 Create new Address List Indicator object associated with the X400ACP127 Resp. More...
 
int X400ACP127RespGetALI (struct X400ACP127Resp *resp, struct X400ALI **ali, int entry)
 Get an Address List Indicator object associated with the X400ACP127 object. More...
 
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...
 
struct X400ORandDL * X400ORandDLDeepCopy (struct X400Message *msg, struct X400ORandDL *orig)
 Copy Originator and DL Expansion history object. More...
 
int X400ORandDLNew (struct X400Message *msg, struct X400ORandDL **or_and_dl)
 Create new Originator and DL Expansion history object. More...
 
int X400MsgORandDLGet (struct X400Message *msg, int entry, struct X400ORandDL **or_and_dl)
 Get Originator and DL expansion history object. More...
 
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...
 
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...
 
int X400CertGetIntParam (struct X400Certificate *cp, int paramtype, int *valp)
 Return a integer-valued parameter from the certificate object. More...
 
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...
 
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...
 
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...
 
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...
 
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...
 
int X400MsgGetCriticality (struct X400Message *mp, int paramtype, int *critp)
 Get the criticality value for a parameter which comes from an extension field within a message's envelope. Sets a *critp as a bitmask with X400_CRITICAL_NONE, X400_CRITICAL_SUBMISSION, X400_CRITICAL_TRANSFER, X400_CRITICAL_DELIVERY. 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.