Pure X.400 API


Functions

int X400Initialize (char *myname)
 Initialize X.400 API.
int X400MsgNew (int type, struct X400Message **mpp)
 Creates new message.
int X400MsgCountRecip (struct X400Message *mp, int recipient_type, int *number)
 Returns count of addresses of given type in message object.
int X400MsgFree (struct X400Message *mp)
 Frees a message.
int X400MsgAddAttachment (struct X400Message *mp, int type, const char *string, size_t length)
 Add an attachment to the message.
int X400MsgAddBodypart (struct X400Message *mp, struct X400Bodypart *bp)
 Add a body part object to a message.
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.
int X400MsgAddIntParam (struct X400Message *mp, int paramtype, int value)
 Add integer-valued parameter to the message.
int X400MsgAddStrParam (struct X400Message *mp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the message.
int X400MsgAddRecip (struct X400Message *mp, int reciptype, struct X400Recipient *recip)
 Add a recipient object to the message.
int X400MsgGetIntParam (struct X400Message *mp, int paramtype, int *valuep)
 Return a integer-valued parameter from the message object.
int X400MsgGetStrParam (struct X400Message *mp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the message object.
int X400MsgGetAttachment (struct X400Message *mp, int number, int *typep, char *buffer, size_t buflen, size_t *lengthp)
 Return data from a simple attachment.
int X400MsgGetBodypart (struct X400Message *mp, int number, int *typep, struct X400Bodypart **bpp)
 Return a pointer to a body part object.
int X400MsgGetMessageBody (struct X400Message *mp, int number, struct X400Message **mbpp)
 Return a pointer to a body part object.
int X400MsgGetRecip (struct X400Message *mp, int recip_type, int number, struct X400Recipient **rpp)
 Get recipient object from message.
int X400RecipNew (int type, struct X400Recipient **rpp)
 Create a new recipient object.
int X400RecipFree (struct X400Recipient *rpp)
 Free a recipient object.
int X400RecipAddIntParam (struct X400Recipient *rp, int paramtype, int value)
 Add integer-valued parameter to the recipient.
int X400RecipAddStrParam (struct X400Recipient *rp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the recipient.
int X400RecipGetStrParam (struct X400Recipient *rp, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string-valued parameter from the recipient object.
int X400RecipGetIntParam (struct X400Recipient *rp, int paramtype, int *valp)
 Return a integer-valued parameter from the recipient object.
int X400BodypartNew (int type, struct X400Bodypart **bpp)
 Create a new body part object.
int X400BodypartFree (struct X400Bodypart *bpp)
 Free a body part object.
int X400BodypartAddIntParam (struct X400Bodypart *bp, int paramtype, int value)
 Add integer-valued parameter to the body part.
int X400BodypartAddStrParam (struct X400Bodypart *bp, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the body part.
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.
int X400BodypartGetIntParam (struct X400Bodypart *bp, int paramtype, int *valp)
 Return a integer-valued parameter from the body part object.
int X400DefaultsNew (struct x400_attribute **ap)
 Return a new defaults object.
int X400DefaultsFree (struct x400_attribute *ap)
 Free a defaults object.
int X400SetStrDefault (struct x400_attribute *ap, int paramtype, const char *value, size_t length)
 Set a string value in a defaults object.
int X400SetIntDefault (struct x400_attribute *ap, int paramtype, int value)
 Set an integer value in a defaults object.
const char * X400Error (int error)
 Return string for error code.
int X400DLExpHistGet (struct X400Message *mp, int entry, struct X400DLExpHist **hist)
 Create a new DL Expansion History object from the message object.
int X400DLExpHistDelete (struct X400DLExpHist *hist)
 Delete the DL Expansion History object.
int X400DLGetStrParam (struct X400DLExpHist *hist, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Return a string parameter from the DL Expansion History object.
int X400DLExpHistNew (struct X400DLExpHist **histp)
 Create a new X400DLExpHist object.
int X400MsgAddDLExpHist (struct X400Message *mp, struct X400DLExpHist *histp)
 Associates a X400DLExpHist object with a X400Message object.
int X400DLExpHistAddStrParam (struct X400DLExpHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400DLExpHist object.
int X400TraceInfoGet (struct X400Message *mp, int entry, struct X400TraceInfo **info, int trace_info_type)
 Get the Trace information object from a message.
int X400TraceInfoGetStrParam (struct X400TraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Trace Information object.
int X400TraceInfoGetIntParam (struct X400TraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Trace Information object.
int X400TraceInfoNew (struct X400Message *msg, struct X400TraceInfo **info, int type)
 Create a new Trace information object.
int X400MsgAddTraceInfo (struct X400Message *mp, struct X400TraceInfo *info, int type)
 Create a new Trace information object.
int X400TraceInfoAddStrParam (struct X400TraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400TraceInfo object.
int X400TraceInfoAddIntParam (struct X400TraceInfo *info, int paramtype, int value)
 Set an integer value in a Trace Info object.
int X400RediHistAddStrParam (struct X400RediHist *hist, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the X400RediHist object.
int X400RediHistAddIntParam (struct X400RediHist *hist, int paramtype, int value)
 Set an integer value in a Redirection History object.
int X400RediHistGetStrParam (struct X400RediHist *hist, int paramtype, char *value, size_t length, size_t *lengthp)
 Get string-valued parameter from the X400RediHist object.
int X400RediHistGetIntParam (struct X400RediHist *info, int paramtype, int *valuep)
 Get int parameter from Redirection History object.
int X400RediHistGet (struct X400Recipient *recip, int entry, struct X400RediHist **hist)
 Get the Redirection History object from a recipient.
int X400RediHistNew (struct X400Recipient *recip, struct X400RediHist **hist)
 Create a new Redirection History object.
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.
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.
const char * X400RediReason (int redirection_reason)
 Return a human readable string based on a redirection reason.
int X400InternalTraceInfoGet (struct X400Message *mp, int entry, struct X400InternalTraceInfo **info)
 Get the Trace information object from a message.
int X400InternalTraceInfoNew (struct X400Message *msg, struct X400InternalTraceInfo **info)
 Create a new Trace information object.
int X400MsgAddInternalTraceInfo (struct X400Message *mp, struct X400InternalTraceInfo *info)
 Create a new Trace information object.
int X400InternalTraceInfoGetStrParam (struct X400InternalTraceInfo *info, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Internal Trace Information object.
int X400InternalTraceInfoGetIntParam (struct X400InternalTraceInfo *info, int paramtype, int *valuep)
 Get int parameter from Internal Trace Information object.
int X400InternalTraceInfoAddStrParam (struct X400InternalTraceInfo *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the Internal Trace info object.
int X400InternalTraceInfoAddIntParam (struct X400InternalTraceInfo *info, int paramtype, int value)
 Set an integer value in an Internal Trace Info object.
int X400ALIGet (struct X400Message *mp, int entry, struct X400ALI **ali)
 Get the Address List Indicator information object from a message.
int X400ALINew (struct X400Message *msg, struct X400ALI **ali)
 Create an Address List Indicator object.
int X400ALIGetStrParam (struct X400ALI *ALI, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Address List Indicator object.
int X400ALIGetIntParam (struct X400ALI *ALI, int paramtype, int *valuep)
 Get int parameter from Address List Indicator object.
int X400ALIAddStrParam (struct X400ALI *info, int paramtype, const char *value, size_t length)
 Add string-valued parameter to the ALI info object.
int X400ALIAddIntParam (struct X400ALI *info, int paramtype, int value)
 Set an integer value in an Address List Indicator object.
int X400PSSGet (struct X400Message *mp, int type, int entry, struct X400PSS **pss)
 Get the Printable String Sequence object from a message.
int X400PSSNew (struct X400Message *msg, struct X400PSS **pss, int type)
 Create a Printable String Sequence object.
int X400PSSGetStrParam (struct X400PSS *pss, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Printable String Sequence object.
int X400PSSAddStrParam (struct X400PSS *pss, const char *value, size_t length)
 Add string-valued parameter to the PSS info object.
int X400DistFieldGet (struct X400Message *mp, int entry, struct X400DistField **distfield)
 Get the Distribution Code extension Field object from a message.
int X400DistFieldNew (struct X400Message *msg, struct X400DistField **distfield)
 Create a P772 Distribution Code extension Field object.
int X400DistFieldGetStrParam (struct X400DistField *distfield, int type, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Distribution Code extension Field object.
int X400DistFieldAddStrParam (struct X400DistField *distfield, int type, const char *value, size_t length)
 Add string-valued parameter to the DistField info object.
int X400OtherRecipGet (struct X400Message *mp, int entry, struct X400OtherRecip **otherrecip)
 Get a new P772 Other Recipient object for a message object.
int X400OtherRecipNew (struct X400Message *mp, struct X400OtherRecip **otherrecip)
 Create a new P772 Other Recipient object for a message object.
int X400OtherRecipGetStrParam (struct X400OtherRecip *otherrecip, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from Other Recipient object.
int X400OtherRecipAddStrParam (struct X400OtherRecip *otherrecip, const char *value, size_t length)
 Add string-valued parameter to the Other Recipient Indicator object.
int X400OtherRecipAddIntParam (struct X400OtherRecip *otherrecip, int value)
 Add integer parameter to the Other Recipient Indicator object.
int X400OtherRecipGetIntParam (struct X400OtherRecip *otherrecip, int *value)
 Get integer parameter from the Other Recipient Indicator object.
int X400ACP127RespGet (struct X400Recipient *rp, struct X400ACP127Resp **resp)
 Get the ACP127 Response object from a message.
int X400ACP127RespNew (struct X400Recipient *rp, struct X400ACP127Resp **resp)
 Create a P772 ACP127 Response object.
int X400ACP127RespGetStrParam (struct X400ACP127Resp *resp, int type, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from ACP127 Response object.
int X400ACP127RespAddStrParam (struct X400ACP127Resp *resp, int type, const char *value, size_t length)
 Add string-valued parameter to the ACP127 Response object.
int X400ACP127RespAddIntParam (struct X400ACP127Resp *resp, int value)
 Add integer parameter to the ACP127 Response object.
int X400ACP127RespGetIntParam (struct X400ACP127Resp *resp, int *value)
 Get integer parameter from the ACP127 Response object.
int X400ACP127RespNewALI (struct X400ACP127Resp *resp, struct X400ALI **ali)
 Create new Address List Indicator object associated with the X400ACP127 Resp.
int X400ACP127RespGetALI (struct X400ACP127Resp *resp, struct X400ALI **ali, int entry)
 Get an Address List Indicator object associated with the X400ACP127 object.
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.
int X400ORandDLNew (struct X400Message *msg, struct X400ORandDL **or_and_dl)
 Create new Originator and DL Expansion history object.
int X400MsgORandDLGet (struct X400Message *msg, int entry, struct X400ORandDL **or_and_dl)
 Get Originator and DL expansion history object.
int X400ORandDLGetStrParam (struct X400ORandDL *or_and_dl, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
 Get string parameter from ACP127 Response object.

Detailed Description

Description of the function calls for the X.400 object access interface.

Function Documentation

int X400Initialize ( char *  myname  ) 

Initialize X.400 API.

Parameters:
myname [in] Name of application
Returns:
zero on success or non-zero error code

int X400MsgNew ( int  type,
struct X400Message **  mpp 
)

Creates new message.

Parameters:
type [in] Type of message object
mpp [out] pointer to receive pointer to message object
Returns:
zero on success or non-zero error code
Message types are
  • X400_MSG_MESSAGE A Message object
  • X400_MSG_REPORT A Report object
  • X400_MSG_PROBE A Probe object
Examples:
examples/x400_mssend.c.

int X400MsgCountRecip ( struct X400Message *  mp,
int  recipient_type,
int *  number 
)

Returns count of addresses of given type in message object.

Parameters:
mp [in] X400 message
recipient_type [in] Type of address to count
number [out] pointer integer to receive count of addresses
Returns:
zero on success or non-zero error code

int X400MsgFree ( struct X400Message *  mp  ) 

Frees a message.

Parameters:
mp [in] message object to free
Returns:
zero on success or non-zero error code

int X400MsgAddAttachment ( struct X400Message *  mp,
int  type,
const char *  string,
size_t  length 
)

Add an attachment to the message.

Parameters:
mp [in] Message pointer
type [in] Type of attachment
string [in] String value for attachment
length [in] Length of string
Returns:
Zero on success or non-zero error code
Not all X.400 body part types can be added to a message in this way. If the type is such that a X400Bodypart is needed, then the error X400_E_COMPLEX_BODY is returned.
Examples:
examples/x400_mssend.c.

int X400MsgAddBodypart ( struct X400Message *  mp,
struct X400Bodypart *  bp 
)

Add a body part object to a message.

Parameters:
mp [in] Message pointer
bp [in] Bodypart pointer
Returns:
Zero on success or non-zero error code

int X400MsgAddMessageBody ( struct X400Message *  mp,
struct X400Message *  mbp 
)

Deprecated:
Use X400MsgAddMessageBodyWType instead.

int X400MsgAddMessageBodyWType ( struct X400Message *  mp,
struct X400Message *  mbp,
int  type 
)

Add a message body part object to a message.

Parameters:
mp [in] Message pointer
mbp [in] Message body part pointer
type [in] BodyPart type (E.G X400_T_MESSAGE)
Returns:
Zero on success or non-zero error code
The message body part must be a message delivery object for forwarded-message body part.

If the message object being created has an IPN content, then any envelope information is ignored.

int X400MsgAddIntParam ( struct X400Message *  mp,
int  paramtype,
int  value 
)

Add integer-valued parameter to the message.

Parameters:
mp [in] Message pointer
paramtype [in] Type of parameter
value [in] Value of parameter
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_mssend.c.

int X400MsgAddStrParam ( struct X400Message *  mp,
int  paramtype,
const char *  value,
size_t  length 
)

Add string-valued parameter to the message.

Parameters:
mp [in] Message pointer
paramtype [in] Type of parameter
value [in] Value of parameter
length [in] Length of parameter, -1 if NUL terminated
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_mssend.c.

int X400MsgAddRecip ( struct X400Message *  mp,
int  reciptype,
struct X400Recipient *  recip 
)

Add a recipient object to the message.

Parameters:
mp [in] Message pointer
reciptype [in] Type of recipient
recip [in] Recipient object to add
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_mssend.c.

int X400MsgGetIntParam ( struct X400Message *  mp,
int  paramtype,
int *  valuep 
)

Return a integer-valued parameter from the message object.

Parameters:
mp [in] message object pointer
paramtype [in] type of parameter
valuep [out] Pointer to receive value
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400MsgGetStrParam ( struct X400Message *  mp,
int  paramtype,
char *  buffer,
size_t  buflen,
size_t *  paramlenp 
)

Return a string-valued parameter from the message object.

Parameters:
mp [in] message object pointer
paramtype [in] type of parameter
buffer [in/out] address for result
buflen [in] length of buffer provided
paramlenp [out] Pointer to receive actual length
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400MsgGetAttachment ( struct X400Message *  mp,
int  number,
int *  typep,
char *  buffer,
size_t  buflen,
size_t *  lengthp 
)

Return data from a simple attachment.

Parameters:
mp [in] message object pointer
number [in] Attachment number
typep [out] Pointer to receive attachment type
buffer [in] Buffer to receive string
buflen [in] Buffer length
lengthp [out] Pointer to receive length of string
Returns:
Zero on success or non-zero error code
Not all X.400 body part types can be returned from a message in this way. If the type is such that a X400Bodypart is needed, then the error X400_E_COMPLEX_BODY is returned. If the type is a forwarded message or returned IPM, then X400_E_MESSAGE_BODY is returned.

int X400MsgGetBodypart ( struct X400Message *  mp,
int  number,
int *  typep,
struct X400Bodypart **  bpp 
)

Return a pointer to a body part object.

int number, int *typep, struct X400Bodypart **bpp)

Parameters:
mp [in] message object pointer
number [in] Bodypart number
typep [out] Pointer to receive attachment type
bpp [out] Pointer to pointer to object
Returns:
Zero on success or non-zero error code
If the body part is a forwarded message body part or a returned IPM then the error X400_E_MESSAGE_BODY is returned.

int X400MsgGetMessageBody ( struct X400Message *  mp,
int  number,
struct X400Message **  mbpp 
)

Return a pointer to a body part object.

Parameters:
mp [in] message object pointer
number [in] Bodypart number
mbpp [out] Pointer to address of BodyPart
Returns:
Zero on success or non-zero error code

int X400MsgGetRecip ( struct X400Message *  mp,
int  recip_type,
int  number,
struct X400Recipient **  rpp 
)

Get recipient object from message.

Parameters:
mp [in] Message object pointer
recip_type [in] Type of recipient
number [in] Ordinal number of recipient
rpp [out] Pointer to receive recipient object pointer
Returns:
Zero on success, non-zero on failure
Examples:
examples/x400_msrcv.c.

int X400RecipNew ( int  type,
struct X400Recipient **  rpp 
)

Create a new recipient object.

Parameters:
type [in] type of recipient
rpp [out] Pointer to place for pointer to recipient information
Returns:
Zero on success or non-zero error code
Creates a recipient object. There are several different types for recipient object. Normal recipients can be specified separately for the envelope (i.e. controlling where the message actually goes) and the header which is part of the content. They can also be specified together. A separate type of recipient is the reported recipient which appears in a report content.

  • X400_RECIP_PRIMARY Primary recipient in header
  • X400_RECIP_CC Carbon copy recipient in header
  • X400_RECIP_BCC Blind copy recipient in header
  • X400_RECIP_REPLY Reply-recipient in header
  • X400_RECIP_ENVELOPE Actual recipient in envelope
  • X400_RECIP_REPORT Reported recipient in report content
  • X400_RECIP_ORIGINAL Originally intended recipient in report content
  • X400_ORIGINATOR Originator address in IPM header
  • X400_AUTH_ORIG Authorizing originator address in IPM header

To set a given recipient in both envelope and header, add together the values, e.g. X400_RECIP_PRIMARY + X400_RECIP_ENVELOPE. The value X400_RECIP_STANDARD is a shorthand for this combination.

Examples:
examples/x400_msraa.c, examples/x400_msrcv.c, examples/x400_msrcv_sign.c, and examples/x400_mssend.c.

int X400RecipFree ( struct X400Recipient *  rpp  ) 

Free a recipient object.

Parameters:
rpp [out] Recipient object to free
Returns:
Zero on success or non-zero error code

int X400RecipAddIntParam ( struct X400Recipient *  rp,
int  paramtype,
int  value 
)

Add integer-valued parameter to the recipient.

Parameters:
rp [in] Message pointer
paramtype [in] Type of parameter
value [in] Value of parameter
Returns:
Zero on success or non-zero error code

int X400RecipAddStrParam ( struct X400Recipient *  rp,
int  paramtype,
const char *  value,
size_t  length 
)

Add string-valued parameter to the recipient.

Parameters:
rp [in] Recipient pointer
paramtype [in] Type of parameter
value [in] Value of parameter
length [in] Length of parameter, -1 if NUL terminated
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msraa.c, examples/x400_msrcv.c, examples/x400_msrcv_sign.c, and examples/x400_mssend.c.

int X400RecipGetStrParam ( struct X400Recipient *  rp,
int  paramtype,
char *  buffer,
size_t  buflen,
size_t *  paramlenp 
)

Return a string-valued parameter from the recipient object.

Parameters:
rp [in] recipient object pointer
paramtype [in] type of parameter
buffer [in/out] address for result
buflen [in] length of buffer provided
paramlenp [out] Pointer to receive actual length
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400RecipGetIntParam ( struct X400Recipient *  rp,
int  paramtype,
int *  valp 
)

Return a integer-valued parameter from the recipient object.

Parameters:
rp [in] recipient object pointer
paramtype [in] type of parameter
valp [out] Pointer to receive value
Returns:
Zero on success or non-zero error code

int X400BodypartNew ( int  type,
struct X400Bodypart **  bpp 
)

Create a new body part object.

Parameters:
type [in] type of bodypart
bpp [out] Pointer to place for pointer to body part object
Returns:
Zero on success or non-zero error code
Creates a body part object. There are several different types for body part object.

int X400BodypartFree ( struct X400Bodypart *  bpp  ) 

Free a body part object.

Parameters:
bpp [out] body part object to free
Returns:
Zero on success or non-zero error code

int X400BodypartAddIntParam ( struct X400Bodypart *  bp,
int  paramtype,
int  value 
)

Add integer-valued parameter to the body part.

Parameters:
bp [in] Body part pointer
paramtype [in] Type of parameter
value [in] Value of parameter
Returns:
Zero on success or non-zero error code

int X400BodypartAddStrParam ( struct X400Bodypart *  bp,
int  paramtype,
const char *  value,
size_t  length 
)

Add string-valued parameter to the body part.

Parameters:
bp [in] Body part pointer
paramtype [in] Type of parameter
value [in] Value of parameter
length [in] Length of parameter, -1 if NUL terminated
Returns:
Zero on success or non-zero error code

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.

Parameters:
bp [in] body part object pointer
paramtype [in] type of parameter
buffer [in/out] address for result
buflen [in] length of buffer provided
paramlenp [out] Pointer to receive actual length
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400BodypartGetIntParam ( struct X400Bodypart *  bp,
int  paramtype,
int *  valp 
)

Return a integer-valued parameter from the body part object.

Parameters:
bp [in] bodypart object pointer
paramtype [in] type of parameter
valp [out] Pointer to receive value
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400DefaultsNew ( struct x400_attribute **  ap  ) 

Return a new defaults object.

Parameters:
ap [out] Address of pointer to receive defaults object
Returns:
Zero on success or non-zero error code

int X400DefaultsFree ( struct x400_attribute *  ap  ) 

Free a defaults object.

Parameters:
ap [in] Address of defaults object to free
Returns:
Zero on success or non-zero error code

int X400SetStrDefault ( struct x400_attribute *  ap,
int  paramtype,
const char *  value,
size_t  length 
)

Set a string value in a defaults object.

Parameters:
ap [in] Defaults object to operate on
paramtype [in] Type of parameter to set
value [in] String value to set
length [in] Length of value to set
Returns:
Zero on success or non-zero error code

int X400SetIntDefault ( struct x400_attribute *  ap,
int  paramtype,
int  value 
)

Set an integer value in a defaults object.

Parameters:
ap [in] Defaults object to operate on
paramtype [in] Type of parameter to set
value [in] Integer value to set
Returns:
Zero on success or non-zero error code

const char* X400Error ( int  error  ) 

Return string for error code.

Parameters:
error [in] error code
Returns:
Pointer to NUL terminated string for error

int X400DLExpHistGet ( struct X400Message *  mp,
int  entry,
struct X400DLExpHist **  hist 
)

Create a new DL Expansion History object from the message object.

Parameters:
mp [in] message object pointer
entry [in] DL expansion history element to fetch
hist [out] pointer to receive new DL Expansion History object
Returns:
Zero on success, or non-zero error code

int X400DLExpHistDelete ( struct X400DLExpHist *  hist  ) 

Delete the DL Expansion History object.

Parameters:
hist [in] DL Expansion History object to be deleted
Returns:
Zero on success, or non-zero error code.

int X400DLGetStrParam ( struct X400DLExpHist *  hist,
int  paramtype,
char *  buffer,
size_t  buflen,
size_t *  paramlenp 
)

Return a string parameter from the DL Expansion History object.

Parameters:
hist [in] DL Expansion History object pointer
paramtype [in] type of parameter
buffer [in/out] pointer to receive value
buflen [in] Size of buffer
paramlenp [out] pointer to receive actual length
Returns:
Zero on success, or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400DLExpHistNew ( struct X400DLExpHist **  histp  ) 

Create a new X400DLExpHist object.

Parameters:
histp [out] pointer to receive object
Returns:
Zero on success, or non-zero error code

int X400MsgAddDLExpHist ( struct X400Message *  mp,
struct X400DLExpHist *  histp 
)

Associates a X400DLExpHist object with a X400Message object.

Parameters:
mp [in] Pointer to X400Message object
histp [in] Pointer to X400DLExpHist object.
Returns:
Zero on success, or non-zero error code

int X400DLExpHistAddStrParam ( struct X400DLExpHist *  hist,
int  paramtype,
const char *  value,
size_t  length 
)

Add string-valued parameter to the X400DLExpHist object.

Parameters:
hist [in] X400DLExpHist pointer
paramtype [in] Type of parameter
value [in] Value of parameter
length [in] Length of parameter, -1 if NULL terminated
Returns:
Zero on success or non-zero error code

int X400TraceInfoGet ( struct X400Message *  mp,
int  entry,
struct X400TraceInfo **  info,
int  trace_info_type 
)

Get the Trace information object from a message.

Parameters:
mp [in] X.400 Message pointer
entry [in] Trace Info object to use
info [out] Pointer to trace info object
trace_info_type [in] Type of trace info object.
Returns:
Zero on success or non-zero error code

int X400TraceInfoGetStrParam ( struct X400TraceInfo *  info,
int  paramtype,
char *  buffer,
size_t  buflen,
size_t *  paramlenp 
)

Get string parameter from Trace Information object.

Parameters:
info [in] Trace Info object
paramtype [in] Type of parameter
buffer [out] Buffer to contain string value
buflen [in] Length of buffer
paramlenp [out] Length of require buffer
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400TraceInfoGetIntParam ( struct X400TraceInfo *  info,
int  paramtype,
int *  valuep 
)

Get int parameter from Trace Information object.

Parameters:
info [in] Trace Info object
paramtype [in] Type of parameter
valuep [out] pointer to integer to return
Returns:
Zero on success or non-zero error code
Examples:
examples/x400_msrcv.c.

int X400TraceInfoNew ( struct X400Message *  msg,
struct X400TraceInfo **  info,
int  type 
)

Create a new Trace information object.

Parameters:
msg [in] X400 message pointer
info [out] Pointer to trace info object
type [in] Type info object X400_TRACE_INFO or X400_SUBJECT_TRACE_INFO
Returns:
Zero on success or non-zero error code

int X400MsgAddTraceInfo ( struct X400Message *  mp,
struct X400TraceInfo *  info,
int  type 
)

Create a new Trace information object.

Parameters:
mp [in] X400 message pointer
info [in] Pointer to trace info object
type [in] Either X400_TRACE_INFO or X400_SUBJECT_TRACE_INFO
Returns:
Zero on success or non-zero error code

int X400TraceInfoAddStrParam ( struct X400TraceInfo *  info,
int  paramtype,
const char *  value,
size_t  length 
)

Add string-valued parameter to the X400TraceInfo object.

Parameters:
info [in] X400TraceInfo pointer
paramtype [in] Type of parameter
value [in] Value of parameter
length [in] Length of parameter, -1 if NULL terminated
Returns:
Zero on success or non-zero error code

int X400TraceInfoAddIntParam