1 | Exit point name | Input | Char(20) |
2 | Mail message identifier | Input | Char(32) |
3 | Message descriptor attributes | Input | Array of Char(*) |
4 | Number of message descriptor attributes | Input | Binary(4) |
5 | Format name | Input | Char(8) |
6 | Return code | Output | Binary(4) |
The Snap-In Call exit program is used to pass information about an electronic mail message to defined snap-in programs. When the snap-in program has completed processing the message, it returns its status in the return code parameter.
None.
The variable containing the name of the user exit point that is calling the snap-in program. The following table shows the exit points from which snap-in programs can be called.
Exit Point Name | Description |
---|---|
QIBM_QZMFMSF_LST_EXP | MSF List Expansion Exit |
QIBM_QZMFMSF_ADR_RSL | MSF Address Resolution Exit |
QIBM_QZMFMSF_ENL_PSS | MSF Envelope Processing Exit |
QIBM_QZMFMSF_ATT_CNV | MSF Attachment Conversion Exit |
QIBM_QZMFMSF_SEC_AUT | MSF Security and Authority Exit |
QIBM_QZMFMSF_LCL_DEL | MSF Local Delivery Exit |
QIBM_QZMFMSF_MSG_FWD | MSF Messaging Forwarding Exit |
QIBM_QZMFMSF_NON_DEL | MSF Non Delivery Exit |
QIBM_QZMFMSF_ATT_MGT | MSF Attachment Management Exit |
QIBM_QZMFMSF_ACT | MSF Accounting User Exit |
The variable containing the message identifier that the Snap-In Call exit is passing information for. The mail message identifier is composed of characters A through Z and 0 through 9 only.
This array contains the message descriptor attributes for the data that is to be passed. The following table defines a message descriptor attributes array entry.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | POINTER | Message descriptor pointer |
16 | 10 | BINARY(4) | Length of the message descriptor |
20 | 14 | CHAR(8) | Message descriptor format name |
28 | 1C | BINARY(4) | Reserved (must be set to zero) |
The number of message descriptor attribute entries being passed in the array.
The variable containing the format identifier of the parameter list in which information is being passed. This field is set to SPCL0100. This is defined in the first 8 characters of the exit program data associated with the exit point programs that are registered to work with the exit points from which snap-in programs can be called.
The defined return codes are:
0 | Continue processing |
1 | Backout changes made but continue processing. |
2 | End the mail server framework job. |
3 | End the processing of this message. |
A message descriptor consists of:
This section is composed of a list of individual entries. The data in these entries is in one of the formats listed below. The following table shows valid array element format names for the data list section:
Format Name | Description |
---|---|
ORCL0100 | Original recipient entry |
ORGL0100 | Originator entry |
ENVL0100 | Envelope entry |
RCPL0100 | Recipient entry |
ROAL0100 | Report-on address entry |
RPYL0100 | Reply-to address entry |
RTAL0100 | Report-to address entry |
ATTL0100 | Attachment reference entry |
MSGL0100 | Message types in the recipient list entry |
CRTA0100 | Creation attributes entry |
Not all of these formats are passed to the Snap-In Call exit at each of the user exit points. The following table identifies the format of the message descriptors that are passed at each exit point.
Exit Point Name | Formats Passed |
---|---|
QIBM_QZMFMSF_LST_EXP |
RCPL0100 ENVL0100 |
QIBM_QZMFMSF_ADR_RSL |
RCPL0100 ENVL0100 ORGL0100 RTAL0100 ROAL0100 RPYL0100 ORCL0100 |
QIBM_QZMFMSF_ENL_PSS |
MSGL0100 RCPL0100 ROAL0100 ENVL0100 ATTL0100 RTAL0100 RPYL0100 ORCL0100 ORGL0100 |
QIBM_QZMFMSF_ATT_CNV |
MSGL0100 RCPL0100 ATTL0100 ENVL0100 |
QIBM_QZMFMSF_SEC_AUT |
RCPL0100 ATTL0100 ORGL0100 |
QIBM_QZMFMSF_LCL_DEL |
RCPL0100 ENVL0100 ATTL0100 ORGL0100 ROAL0100 RTAL0100 RPYL0100 ORCL0100 CRTA0100 |
QIBM_QZMFMSF_MSG_FWD |
RCPL0100 ENVL0100 ATTL0100 ORGL0100 ROAL0100 RTAL0100 RPYL0100 ORCL0100 CRTA0100 |
QIBM_QZMFMSF_NON_DEL |
RCPL0100 ENVL0100 ATTL0100 ORGL0100 RTAL0100 |
QIBM_QZMFMSF_ATT_MGT |
RCPL0100 ATTL0100 |
QIBM_QZMFMSF_ACT |
RCPL0100 ENVL0100 ATTL0100 ORGL0100 RTAL0100 RPYL0100 ORCL0100 CRTA0100 |
The following table shows the common header section that is always included at the beginning of a message descriptor. It is used for all of the different formats that can be passed when calling Snap-In Call exit programs. The common header will always be passed when there is message descriptor data to be included. The message descriptor data may include one or more individual entries after the common header section.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this message descriptor |
4 | 4 | BINARY(4) | Reserved (must be set to zero) |
8 | 8 | CHAR(8) | Message descriptor format name |
16 | 10 | BINARY(4) | Offset of the first entry in the message descriptor |
20 | 14 | BINARY(4) | Number of entries in this message descriptor |
24 | 18 | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Message descriptor data. See the sections that follow. |
If there is data after the common header, the format associated with the message descriptor is used.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the original recipient address from the beginning of this ORCL0100 entry |
8 | 8 | BINARY(4) | Length of original recipient address |
12 | C | CHAR(4) | Address type |
16 | 10 | BINARY(4) | Original recipient address coded character set identifier(CCSID) |
20 | 14 | BINARY(4) | Distribution type |
24 | 18 | BINARY(4) | Reply requested flag |
28 | 1C | BINARY(4) | Unique identifier |
32 | 20 | BINARY(4) | Unique identifier of referenced ORCL0100 entry |
36 | 24 | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Original recipient address |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the origin address from the beginning of this ORGL0100 entry |
8 | 8 | BINARY(4) | Length of origin address |
12 | C | CHAR(4) | Address type |
16 | 10 | BINARY(4) | Origin address coded character set identifier (CCSID) |
20 | 14 | BINARY(4) | Unique identifier |
24 | 18 | BINARY(4) | Unique identifier of referenced ORGL0100 entry |
28 | 1C | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Origin address |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of envelope from the beginning of this ENVL0100 entry |
8 | 8 | BINARY(4) | Length of envelope |
12 | C | CHAR(4) | Envelope type |
16 | 10 | BINARY(4) | Unique identifier |
20 | 14 | BINARY(4) | Unique identifier of referenced ENVL0100 entry |
24 | 18 | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Envelope |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the snap-in provided information (SPIN) from the beginning of this RCPL0100 entry |
8 | 8 | BINARY(4) | Length of snap-in provided information (SPIN) |
12 | C | BINARY(4) | Displacement of the recipient address from the beginning of this RCPL0100 entry |
16 | 10 | BINARY(4) | Length of recipient address |
20 | 14 | CHAR(4) | Address type |
24 | 18 | BINARY(4) | Recipient address coded character set identifier (CCSID) |
28 | 1C | BINARY(4) | Reason code |
32 | 20 | BINARY(4) | Diagnostic code |
36 | 24 | CHAR(4) | Message type |
40 | 28 | BINARY(4) | Status |
44 | 2C | BINARY(4) | Reserved |
48 | 30 | BINARY(4) | Unique identifier |
52 | 34 | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Recipient address |
* | * | CHAR(*) | Snap-in provided information (SPIN) |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the reply-to address from the beginning of this RPYL0100 entry |
8 | 8 | BINARY(4) | Length of reply-to address |
12 | C | CHAR(4) | Address type |
16 | 10 | BINARY(4) | Reply-to address coded character set identifier (CCSID) |
20 | 14 | BINARY(4) | Unique identifier |
24 | 18 | BINARY(4) | Unique identifier of referenced RPYL0100 entry |
28 | 1C | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Reply-to address |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the snap-in provided information (SPIN) from the beginning of this ROAL0100 entry |
8 | 8 | BINARY(4) | Length of snap-in provided information (SPIN) |
12 | C | BINARY(4) | Displacement of the report-on address from the beginning of this ROAL0100 entry |
16 | 10 | BINARY(4) | Length of address |
20 | 14 | CHAR(4) | Address type |
24 | 18 | BINARY(4) | Report-on address coded character set identifier (CCSID) |
28 | 1C | BINARY(4) | Reason code |
32 | 20 | BINARY(4) | Diagnostic code |
36 | 24 | BINARY(4) | Unique identifier |
40 | 28 | BINARY(4) | Unique identifier of referenced ROAL0100 entry |
44 | 2C | BINARY(4) | Reserved |
* | * | CHAR(*) | Report-on address |
* | * | CHAR(*) | Snap-in provided information (SPIN) |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the report-to address from the beginning of this RTAL0100 entry |
8 | 8 | BINARY(4) | Length of address |
12 | C | CHAR(4) | Address type |
16 | 10 | BINARY(4) | Report-to address coded character set identifier (CCSID) |
20 | 14 | BINARY(4) | Unique identifier |
24 | 18 | BINARY(4) | Unique identifier of referenced RTAL0100 entry |
28 | 1C | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Report-to address |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of this entry |
4 | 4 | BINARY(4) | Displacement of the attachment reference from the beginning of this ATTL0100 entry |
8 | 8 | BINARY(4) | Length of attachment reference |
12 | C | CHAR(4) | Attachment reference type |
16 | 10 | BINARY(4) | Unique identifier |
20 | 14 | BINARY(4) | Unique identifier of referenced ATTL0100 entry |
24 | 18 | BINARY(4) | Reserved (must be set to zero) |
* | * | CHAR(*) | Attachment reference |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | CHAR(4) | Message type |
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | CHAR(16) | Timestamp of when the message was created |
16 | 10 | CHAR(4) | Creation message type |
Address type. The type of address that is contained in the entry.
Attachment reference. A reference to an attachment that is associated with the message.
Attachment reference type. The type of attachment that is contained in the entry.
Creation message type. The creation message type specified when the MSF message was created.
Diagnostic code. A code that indicates the cause of a problem which caused the delivery of a message to this address to fail. The diagnostic code is assumed to contain the X.400 nondelivery diagnostic code.
Note: The reason code and diagnostic code fields are assumed to contain values that are documented in CCITT Data Communication Networks Message Handling Systems 1988 Recommendation for X.400-X.420 for fields Non-delivery-reason-code and Non-delivery-diagnostic-code.
Displacement of the attachment reference from the beginning of this ATTL0100 entry. The displacement from the beginning of this entry to the attachment reference in this entry.
Displacement of the envelope from the beginning of this ENVL0100 entry. The displacement from the beginning of this entry to the envelope in this entry.
Displacement to the original recipient address from the beginning of this ORCL0100 entry. The displacement from the beginning of this entry to the original recipient address in this entry.
Displacement of the origin address from the beginning of this ORGL0100 entry. The displacement from the beginning of this entry to the origin address in this entry.
Displacement of the recipient address from the beginning of this RCPL0100 entry. The displacement from the beginning of this entry to the recipient address in this entry.
Displacement of the reply-to address from the beginning of this RPYL0100 entry. The displacement from the beginning of this entry to the reply-to address in this entry.
Displacement of the report-to address from the beginning of this RTAL0100 entry. The displacement from the beginning of this entry to the report-to address in this entry.
Displacement of the report-on address from the beginning of this ROAL0100 entry. The displacement from the beginning of this entry to the report-on address in this entry.
Displacement of the snap-in provided information (SPIN) of this RCHL0100. The displacement from the beginning of this entry to the snap-in provided information (SPIN). (There are fields for RCPL0100 and RCHL0100 entries.)
Distribution type. The type of distribution associated with each recipient entry. The possible values are:
0 | Normal message recipient |
1 | CC (carbon copy) recipient |
2 | BCC (blind carbon copy) recipient |
Envelope. A string of data representing information about the message, aside from the attachments and its recipients.
Envelope type. The type of envelope that is contained in the entry.
Exit program number. A number assigned to the exit program when it is registered using the registration facility. This is the number in effect at the time the exit program was called.
Format name. The content and format of the information provided for each message parameter. The possible values are:
ORCL0100 | Original recipient entry |
ORGL0100 | Originator entry |
ENVL0100 | Envelope entry |
RCPL0100 | Recipient entry |
ROAL0100 | Report-on address entry |
RPYL0100 | Reply-to address entry |
RTAL0100 | Report-to address entry |
ATTL0100 | Attachment reference entry |
MSGL0100 | List of message types in the recipient list entry |
Length of address. The length of address that is contained in the entry. The maximum length of an address is 1024 bytes.
Length of attachment reference. The length in bytes of the attachment reference that is contained in the entry.
Length of envelope. The length of envelope that is contained in the entry.
Length of origin address. The length of the origin address for this entry. The maximum length of an origin address is 1024 bytes.
Length of original recipient address. The length of the original recipient address for this entry. The maximum length of an original recipient address is 1024 bytes.
Length of receiver message descriptor. The length in bytes of the message descriptor that is being pointed to by the pointer to the message descriptor. The maximum length of a message descriptor is 16 million bytes.
Length of recipient address. The length in bytes of the recipient address. The maximum length of a recipient address is 1024 bytes.
Length of reply-to address. The length in bytes of the reply-to address. The maximum length of a reply-to address is 1024 bytes.
Length of snap-in provided information (SPIN). The length in bytes of the snap-in provided information (SPIN). The maximum length of the SPIN is 256 bytes.
Length of this entry. The length in bytes of this entry. This is used to get to the next entry.
Length of this message descriptor. The length in bytes of this message descriptor. The maximum length of a message descriptor is 16 million bytes.
Message descriptor data. One or more parameter list formats that follow the common header. Message descriptors are made up of a common header and a list of entries. The format of each entry in the list is defined by the format name associated with the message descriptor, which is located in the common header. The number of entries in the list is also defined in the common header.
Message type. The type of message that is associated with the entry.
Number of bytes available for this message descriptor. The number of bytes available in the space where the mail server framework puts the information being retrieved.
Number of entries available for this message descriptor. The total number of entries available for this message descriptor indicates the number of entries that would be returned if the length of the message descriptor is greater than or equal to the number of bytes available for this message descriptor.
Offset of the first entry in the message descriptor. The offset from the beginning of this message descriptor to the first entry in the list of entries.
Origin address. A string that represents the address associated with the originator of the message. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the origin address defines the contents of the origin address field.
Origin address coded character set identifier (CCSID). The CCSID provided for the origin address. Valid values for the CCSID are 1 through 65533 and 65535.
Original recipient address. A string that represents the address associated with the original recipient of the message. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the original recipient address defines the contents of the original recipient address field.
Original recipient address coded character set identifier (CCSID). The CCSID provided for the original recipient address. Valid values for the CCSID are 1 through 65533 and 65535.
Qualified mail server framework exit program name. The qualified program name of the program that was called at the mail server framework exit point.
Reason code. A code that identifies reasons associated with the message delivery to this address. In the case of a nondelivery entry, this field would contain the reason the delivery of this message to this recipient failed. The reason code is assumed to contain the X.400 nondelivery reason code.
Note: The reason code and diagnostic code fields are assumed to contain values that are documented in CCITT Data Communication Networks Message Handling Systems 1988 Recommendation for X.400-X.420 for fields Non-delivery-reason-code and Non-delivery-diagnostic-code.
Receiver message descriptor pointer. A space pointer that points to a message descriptor. A message descriptor is used to pass information which describes the message.
Recipient address. A string that represents the address associated with a recipient of the message. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the recipient address defines the contents of the recipient address field.
Recipient address coded character set identifier (CCSID). The CCSID provided for the recipient address. Valid values for the CCSID are 1 through 65533 and 65535.
Recipient status flag. A flag which when set to 1 indicates that this entry has been replaced by either one or multiple entries. Entries with this flag set to 1 are referred to as parents. Entries with this flag set zero are referred to as children.
Reply-to address. A string that represents the address to be replied to. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the reply-to address defines the contents of the reply-to address field.
Reply-to address coded character set identifier (CCSID). The CCSID provided for the reply-to address. Valid values for the CCSID are 1 through 65533 and 65535.
Reply requested flag. Whether this original recipient should reply to the message. The possible values are as follows:
0 | A reply is not requested from this original recipient |
1 | A reply is requested from this original recipient |
Report-on address. A string which represents the address to be reported on. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the report-on address defines the contents of the report-on address field.
Report-on address coded character set identifier (CCSID). The CCSID provided for the report-on address. Valid values for the CCSID are 1 through 65533 and 65535.
Report-to address. A string which represents the address to be reported to. The contents and format of the string are not defined by the mail server framework. It is assumed that the address type associated with the report-to address defines the contents of the report-to address field.
Report-to address coded character set identifier (CCSID). The CCSID provided for the report-to address. Valid values for the CCSID are 1 through 65533 and 65535.
Reserved. All reserved fields must be set to zero.
Return code from the exit program. The return code returned by the user exit program.
Snap-in provided information (SPIN). An area where snap-ins can store information that other snap-ins may use. SPIN provides a place where information relating to a specific recipient can be stored and used by snap-ins in the same or different exit points. This is completely user-defined and user-interpreted data.
Status. The status associated with each recipient entry. The possible values are:
1 | Forwarded (remote) |
2 | Ignore |
3 | Local |
4 | Nondeliverable |
5 | Security violation |
Timestamp of when the message was created. The timestamp of when the message was created. The format of the timestamp is CYYMMDDHHMMSSMMM. The fields are defined in the order that they occur in the string.
C | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
YY | Year |
MM | Month |
DD | Day |
HH | Hour |
mm | Minute of the hour |
SS | Second of the minute |
MMM | Milliseconds in zoned format |
Unique identifier. A unique identifier that differentiates each item within a particular list. Identifiers are generated for each list item when the Create Mail Message (QzmfCrtMailMsg) API has successfully completed. These unique identifiers are temporary and may change as the mail service processes a message. List entries are placed in message descriptors such that unique identifiers are in ascending order.
Unique identifier of parent entry. The unique identifier associated with the parent entry of this entry. A parent entry is an entry that had been replaced by a single or multiple entries.
Unique identifier of referenced entry. The unique identifier of another ORCL0100, ORGL0100, ENVL0100, RTAL0100, ROAL0100, RPYL0100, or ATTL0100 entry that this entry refers to. This field can be used to create entry cross-references as new entries are added.
None
The following messages can be signaled by the snap-in program to the mail server framework.
Message ID | Exception Message Text |
---|---|
CPFAF90 E | End mail server framework (MSF) job. |
CPFAF91 E | End processing MSF message. |
Top | Office APIs | APIs by category |