You can use this macro to send e-mails.
Entry names or SVC number(s)
SVC 20 (decimal)
UNIT=940, FUNCTION=20, VERSION=1 | 2 | 3
Macro call format and operand description
YMLSML |
FL= *TU / *TPR ,VERSION= 1 / 2 / 3 ,XPAND= PARAM / GENERAL / ADD_HEADER / DATA_SPEC / CHARSET / ENCODING / CONT_DISP / MSG_ATT ,MAILP= <var: pointer> ,MAILPL= <integer: 1..32767> / <var: int:4> ,OPTFILE= *NONE / <var: char:54> ,ENCRYPT= *NO / *YES / *OPTFILE ,SIGN= *NO / *YES / *OPTFILE ,SECPROT= *SMIME ,CIPHER= *3DES / *AES-128 / *AES-192 / *AES-256 / *OPTFILE ,WAIT= *NO-DISCARD / *NO / *YES ,WAITTIM= *UNLIM / <integer: 1..65535> / <var: int:4> |
FL=
Function area
*TU
An SVC interface is generated.
*TPR
A CALL interface is generated.
VERSION=
Selects the interface version.
1
Selects the original interface version.
This is the default.
2
Selects the new interface version, which offers the operand WAITTIM and additional return codes.
3
Selects the newest interface version, which allows in the DATA_SPEC data structure the specification of options for locking and deleting a file. With this comes an additional return code.
XPAND=
These parameters control the expansion of the data structures that describe the parameter list of the macro and the layout of the mail parameters. These data structures are referenced by the mail parameter MAILP. You will find a description of the data structures starting on "YMLSML - Send mail".
PARAM
A macro parameter list is generated.
GENERAL
A data layout is generated for the general mail parameters.
ADD_HEADER
A data layout is generated for the additional header lines.
DATA_SPEC
A data layout is generated for the specification of the mail data.
CHARSET
A data layout is generated for the specification of the character set.
ENCODING
A data layout is generated for the specification of the encoding.
CONT_DISP
A data layout is generated for the specification of the internal structure of the content.
MSG_ATT
A data layout is generated for the nesting of messages/attachments.
MAILP=
Parameter section for describing the e-mail. This parameter is mandatory.
<IDENTIFIER>
Variable in which the address of the parameter section is stored or register containing the address of the parameter section.
MAILPL=
Length of the parameter section for describing the e-mail. This parameter is mandatory.
<INTEGER 1..32767>
Length of the parameter section.
<IDENTIFIER>
Variable in which the length of the parameter section is stored or register containing the length of the parameter section.
OPTFILE=
Name of the user option file (see "Configuration file for the mail sender frontend (user option file)"). The options in this file can be overwritten or options can be added by using macro parameters.
*NONE
No file defined.
<IDENTIFIER>
Variable in which the name of the option file is stored or register containing the address of the name of the option file.
ENCRYPT=
Specifies whether the user wants to encrypt the message to be sent.
*NO
The e-mail is not encrypted.
*YES
The e-mail is encrypted.
*OPTFILE
The specification is taken from the user option file (see "Configuration file for the mail sender frontend (user option file)").
SIGN=
This parameter specifies whether the caller wants to sign the message to be sent.
*NO
The e-mail is not signed.
*YES
The e-mail is signed.
*OPTFILE
The specification is taken from the user option file (see "Configuration file for the mail sender frontend (user option file)").
SECPORT=
This parameter specifies the encryption/signing method.
Currently, S/MIME is the only method supported.
*SMIME
S/MIME is used.
CIPHER=
Symmetrical encryption code.
*3DES
Triple DES
*AES-128
AES with 128-bit key length.
*AES-192
AES with 192-bit key length.
*AES-256
AES with 256-bit key length.
*OPTFILE
The specification in the user option file (see "Configuration file for the mail sender frontend (user option file)") is taken.
WAIT=
Specifies whether the caller wants to wait for the mail send order to be completed by the mail sender backend.
*NO-DISCARD
Do not wait or instruct ASTI to reject the result status of the mail sender backend.
*NO
Do not wait, but instruct ASTI to save the result status of the mail sender backend.
*YES
Wait until the mail sender backend has completed the send order or reports an error sending the e-mail.
WAITTIME=
With this operand the wait time can be limited in the case of WAIT=*YES. The operand is only available with VERSION=2. When the maximal wait time is reached, the call is terminated with an appropriate return code.
*UNLIM
Unlimited wait time. With this operand value the behaviour is as hitherto.
<INTEGER 1..65535>
Maximal wait time in seconds.
<IDENTIFIER>
Variable or register containing the wait time (in seconds).
Return codes
SRC2 | SRC1 | MRC | MRC name | Meaning |
|
|
|
| No error found. |
|
|
|
| Parameter error. |
|
|
|
| Internal error. |
|
|
|
| Syntax error in the mail parameter. |
|
|
|
| Option file not available. |
|
|
|
| Message or attachment not available. |
|
|
|
| File for SMIME not available. |
|
|
|
| Mail parameter too large. |
|
|
|
| Backend error. |
|
|
|
| Maximum number of orders exceeded. |
|
|
|
| Mail client service not available. |
|
|
|
| Mail parameter address invalid. |
|
|
|
| Resources exhausted. |
|
|
|
| ASTI subsystem not available. |
|
|
|
| No FROM address specified. |
|
|
|
| Unexpected ASTI error. |
|
|
|
| Maximal wait time reached. |
00
|
40
|
0011
|
YMLSFLME
| Unexpected file lock manager error |
SRC1/2 = sub-return code 1/2 in hexadecimal notation
MRC = main return code in hexadecimal notation
Macro call parameters
The data structure of the macro call parameters of YMLSML is composed as follows:
VERSION=1:
Distance | Identifier | Value | Meaning |
| Parameter section | ||
000 |
| Function header | |
008 |
| Input parameter | |
008 |
| Address of the mail parameter area | |
00C |
| Length of the mail parameter area | |
010 |
| Wait for the end of the mail send order? | |
| 1 | Yes | |
| 2 | No; ASTI discards order execution status. | |
| 3 | No; ASTI does not discard order execution status. | |
011 |
| Protocol for encryption and signing | |
| 1 | S/MIME | |
012 |
| Encryption? | |
| 1 | Yes | |
| 2 | No | |
| 3 | Value from user option file | |
013 |
| Signing? | |
| 1 | Yes | |
| 2 | No | |
| 3 | Value from user option file | |
014 |
| Encryption algorithm: | |
| 5 | 3DES | |
| 6 | AES-128 | |
| 7 | AES-192 | |
| 8 | AES-256 | |
| 127 | Value from user option file | |
015 |
| Name of user option file | |
04B |
| Reserved area | |
04C |
| Output parameter | |
04C |
| Order ID for referencing the mail send order if the caller does not wait for the transfer to be completed. | |
05C |
| Return code from backend | |
| 00 | Ok | |
| 01 | Parameter error | |
| 02 | Resource saturation | |
| 03 | SMTP error | |
| 04 | S/MIME error | |
| 0A | Internal error | |
060 |
| May contain error messages in text format (e.g. SMTP error messages of the SMTP server). | |
100 |
| If the YMLSML call returns the return code YMLSASTI, this field contains the ASTI return code. |
VERSION>=2:
Distance | Identifier | Value | Meaning |
| Parameter area | ||
000 |
| Function header | |
008 |
| Input parameters | |
008 |
| Adress of mail parameter area | |
00C |
| Length of mail parameter area | |
010 | YMLSWTTM | Maximal wait time | |
014 |
| Wait for completion of mail send order? | |
|
| Yes | |
|
| No; ASTI discards order execution status. | |
|
| No; ASTI does not discard order execution status. | |
015 |
| Protocol for encryption and signing | |
|
| S/MIME | |
016 |
| Encryption? | |
|
| Yes | |
|
| No | |
YMLSGOPT | 3 | Value from user option file | |
017 |
| Signing? | |
|
| Yes | |
|
| No | |
YMLSGOPT | 3 | Value from user option file | |
018 |
| Encryption algorithm: | |
|
| 3DES | |
|
| AES-128 | |
|
| AES-192 | |
|
| AES-256 | |
YMLSFOPT | 127 | Value from user option file | |
019 |
| Name of user option file | |
04F |
| Reserved area | |
050 |
| Output parameters | |
050 |
| Order ID for referencing the mail send order if the caller does not wait for the transfer to be completed. | |
060 |
| Returncode from backend | |
| 00 | Ok | |
| 01 | Parameter error | |
| 02 | Resource saturation | |
| 03 | General SMTP error | |
| 04 | S/MIME error | |
| 05 | Error with SMTP MAIL command | |
| 06 | Error with SMTP RCPT command | |
| 07 | Error with SMTP DATA command | |
| 08 | Error at access to user option file | |
| 09 | Mail too large | |
| 0A | Internal error | |
064 |
| May contain error messages in text format (e.g. SMTP error | |
104 |
| This field contains the ASTI return code in case the YMLSSML | |
108 |
| Message ID | |
10F |
| Reserved area |
Supplementary notes to the output parameters:
YMLSRETC
Some failure situations, where with VERSION=1 only a collective return code is delivered, are covered with VERSION>=2 by specific return codes for finding out the real error reason more quickly.
For instance the return code YMLSBMM is a strong hint that there is an error in the sender address. Accordingly the return code YMLSBMR indicates an error in at least one of the recipient addresses. A YMLSBMD can e.g. occur when the SMTP server checks the violation of certain rules only after the DATA command, the reason for the rule violation can be related to the specified addresses. In any case the field YMLSRETM should give further (text) information related to the error cause.
YMLSRETM
If the SMTP server used supports RFC 2034, then this field contains a machine interpretable error indicator, which in general is more specific than the SMTP related return codes in the YMLSRETC field.
YMLSMID
This field contains a YML message key for a message describing the occured error. This is normally the same message as a corresponding SEND-MAIL command call would deliver.
Listing of the expansion of the data structure for the macro call parameters
Expansion:
XPAND= PARAM
YMLSML MF=D,XPAND=PARAM
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSPARL
000000 2 YMLSPARL DSECT ,
1 * Parameter area
1 YMLSHDR FHDR MF=(C,YMLS),EQUATES=NO FHDR
1 * main return codes
00000000 1 YMLSSUCC EQU 0 No error detected
00000001 1 YMLSPARE EQU 1 Parameter error
00000002 1 YMLSINTE EQU 2 Internal error
00000003 1 YMLSMSYN EQU 3 Syntax error
00000004 1 YMLSOFNA EQU 4 Option file not
accessible
00000005 1 YMLSMFNA EQU 5 Message or attachment
file
1 * not accessible
00000006 1 YMLSSFNA EQU 6 SMIME related file not
1 * accessible
00000007 1 YMLSPTBG EQU 7 Mail parameter too big
00000008 1 YMLSBACK EQU 8 Back-end error
00000009 1 YMLSMORD EQU 9 Max number of orders
exceeded
0000000A 1 YMLSSNAV EQU 10 Mailclient Service not
1 * available
0000000B 1 YMLSAINV EQU 11 Mailpar address invalid
0000000C 1 YMLSRSRC EQU 12 Resource saturation
0000000D 1 YMLSANAV EQU 13 Subsystem ASTI not
available
0000000E 1 YMLSNFRA EQU 14 No FROM address specified
0000000F 1 YMLSASTI EQU 15 Unexpected ASTI error
1 *
1 *
000008 1 YMLSIND DS 0XL68 Input parameters
000008 1 YMLSMPAR DS A Mail parameter area
00000C 1 YMLSMPRL DS F Mail parameter area
length
000010 1 YMLSWAIT DS FL1 wait
1 * Wait operand values
00000001 1 YMLSWYES EQU 1 YES
00000002 1 YMLSWNO EQU 2 NO-DISCARD
00000003 1 YMLSWRES EQU 3 NO
1 *
000011 1 YMLSSPRO DS FL1 Protocol for encryption
and
1 * signing
1 * Mail encryption/signing protocol
00000001 1 YMLSSMIM EQU 1 SMIME
1 *
000012 1 YMLSENC DS FL1 Encryption
1 * General yes or no selection
00000001 1 YMLSGYES EQU 1 YES
00000002 1 YMLSGNO EQU 2 NO
00000003 1 YMLSGOPT EQU 3 OPTFILE
1 *
000013 1 YMLSSIGN DS FL1 Signing
000014 1 YMLSCPHR DS FL1 Cipher
1 * Cipher operand values
00000005 1 YMLS3DES EQU 5 3DES
00000006 1 YMLSAES8 EQU 6 AES-128
00000007 1 YMLSAES2 EQU 7 AES-192
00000008 1 YMLSAES6 EQU 8 AES-256
0000007F 1 YMLSFOPT EQU 127 OPTFILE
1 *
000015 1 YMLSOPTF DS CL54 Option file
00004B 1 YMLSRSV1 DS CL1 Reserved
1 *
1 *
00004C 1 YMLSOUTD DS 0XL184 Output parameters
00004C 1 YMLSOID DS CL16 Order Id
00005C 1 YMLSRETC DS F Return code
1 * rc
00000000 1 YMLSBOK EQU 0 OK
00000001 1 YMLSBPER EQU 1 Parameter error
00000002 1 YMLSBRSC EQU 2 Resource saturation
00000003 1 YMLSBSMT EQU 3 SMTP error
00000004 1 YMLSBSMI EQU 4 SMIME error
0000000A 1 YMLSBINT EQU 10 Internal error
1 *
000060 1 YMLSRETM DS CL160 Return message
000100 1 YMLSARET DS F Return code from ASTI
1 *
00000104 1 YMLS# EQU *-YMLSHDR
Mail parameters
An e-mail consists of many constituent parts, some of which are optional, whose length is generally variable. Data structures based on tuples of a certain format (type, length, value) are therefore used to specify the mail parameters.
Each parameter is a 2-byte integer field. The field contains one of the values listed in the table below.
Value name | Tag # | Meaning |
|
| Envelope sender address (is also placed in the FROM header line if YMLSFFRM is not specified). |
|
| Sender address in the FROM header line. |
|
| List of envelope recipient addresses separated by commas (is also placed in the TO header line if YMLSFTO is not specified). |
|
| List of recipient addresses separated by commas. Is placed in the To header line. |
|
| List of envelope recipient addresses separated by commas (is also placed in the CC header line if YMLSFCC is not specified). |
|
| List of recipient addresses separated by commas. Is placed in the CC header line. |
|
| List of envelope recipient addresses separated by commas. |
|
| Address in the REPLY-TO header line. |
|
| Text for the SUBJECT header line. |
|
| Additional header lines in which the caller can define the field names. |
|
| Beginning of the definition of the message text. |
|
| End of the definition of the message text. |
|
| Beginning of the definition of the attachment. |
|
| End of the definition of the attachment. |
|
| Data definition for message/attachment. |
|
| Character set definition for header/message/attachment. |
|
| Transfer encoding of message/attachment. |
|
| Content type of message/attachment. |
|
| Presentation note for message/attachment. |
|
| Key file (see the user option file “privateKeyFile”). |
|
| File containing an X.509 certificate for signing e-mails with S/MIME (see the user option “signerCertificateFile”). |
|
| File containing additional X.509 certificates for signing e-mails with S/MIME (see the user option “addSignerCertificatesFile”). |
|
| File containing X.509 certificates for encrypting e-mails with S/MIME (see the user option “recipientCertificatesFile”). |
|
| File containing certificate revocation lists (CRLs) for X.509 certificates (see the user option “certificateRevocationListFile”). |
Notes on defining the input section for the mail parameters
If one of the parameters YMLSKEYF, YMLSSGNF, YMLSASCF or YMLSCRLF is specified, the corresponding option in the user option file is ignored. This option is deactivated by specifying the value
*NONE. This is the case, for example, if an X.509 certificate other than the one specified in the option file is used to sign
e-mails with S/MIME (YMLSSGNF), and for which, in contrast to the X.509 certificate in the option file, no additional X.509 certificates are required (YMLSASCF:*NONE).If the YMLSRCTF parameter is specified, the file specified there is placed above the files specified in recipientCertificatesFile options in the search sequence.
The current implementation limits the size of the mail parameters to 63 kB. This limit is only likely to be reached if the text of the e-mail or data in the attachments is inserted directly in the e-mail’s parameter section. If this error occurs, write the e-mail text in a (temporary) file, and specify only the file name in the parameter section.
- The reserved header fields must be initialized with binary zeroes.
The data of a variable length begins immediately after the associated header. The headers must be designed for full word length. You therefore have to insert filler bytes when the variable part contains a number of bytes that is not a multiple of 4.
The field name of the mail header must be entered in the data structure for additional headers without the subsequent colon.
Unless otherwise indicated, the order in which the data structures occur is of no significance.
The definition of the mail text or an attachment must be bracketed with two YMLSATT data structures in which YMLSMBEG/YMLSMEND (e-mail) or YMLSABEG/YMLSAEND is assigned to the tag field.
The definition of the e-mail text or an attachment can contain data structures with the following tags:
YMLSDSPC, YMLSCHST, YMLSTRCD, YMLSTCTDIf a YMLSCSET data structure (with a YMLSCHST tag) is outside a YMLSATT data structure, it is applied to the following header lines (see RFC 2047) until the occurrence of a further YMLSCSET data structure.
All the specified files must remain unchanged until the e-mail is sent.
Listing of the expansion of the data structures for the mail parameters
Expansion:
XPAND= | GENERAL, ADD_HEADER, DATA_SPEC, CHARSET, ENCODING, |
YMLSML MF=D,XPAND=GENERAL
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSGNRL
000000 2 YMLSGNRL DSECT ,
1 * Input parameters
000000 1 YMLSGTAG DS H tag of general parameter
1 * Tag value(s) for struct _general
00000001 1 YMLSFROM EQU 1 from
00000002 1 YMLSFFRM EQU 2 fake_from
00000003 1 YMLSTO EQU 3 to
00000004 1 YMLSFTO EQU 4 fake_to
00000005 1 YMLSCC EQU 5 cc
00000006 1 YMLSFCC EQU 6 fake_cc
00000007 1 YMLSBCC EQU 7 envelope recipient mail
1 * addresses
00000008 1 YMLSRPLT EQU 8 reply_to
00000009 1 YMLSSBJT EQU 9 subject
00000012 1 YMLSCTTT EQU 18 content_type
00000014 1 YMLSOPFI EQU 20 option file
00000015 1 YMLSKEYF EQU 21 key file
00000016 1 YMLSSGNF EQU 22 signer certificate file
00000017 1 YMLSASCF EQU 23 additional signer
1 * certificates file
00000018 1 YMLSRCTF EQU 24 recipient certificate
file
00000019 1 YMLSCRLF EQU 25 CRL file
1 *
000002 1 YMLSGRS1 DS XL2 reserved
000004 1 YMLSGLEN DS F general parameter length
00000008 1 YMLSGNRL# EQU *-YMLSGTAG
YMLSML MF=D,XPAND=ADD_HEADER
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSHEAD
000000 2 YMLSHEAD DSECT ,
1 * Input parameters
000000 1 YMLSHTAG DS H tag of add. header
1 * Tag value(s) for struct _add_header
0000000A 1 YMLSAHDR EQU 10 add. header
1 *
000002 1 YMLSHRS1 DS XL2 reserved
000004 1 YMLSHLNN DS F add. header name length
000008 1 YMLSHLNB DS F add. header body length
0000000C 1 YMLSHEAD# EQU *-YMLSHTAG
YMLSML MF=D,XPAND=DATA_SPEC
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDTSP
000000 2 YMLSDTSP DSECT ,
1 * Data specification
000000 1 YMLSDTAG DS H tag of add. header
1 * Tag value(s) for struct _data_spec
0000000F 1 YMLSDSPC EQU 15 dataspec
1 *
000002 1 YMLSDTYP DS FL1 reserved
1 * Type of data specification
00000001 1 YMLSFILE EQU 1 file
00000002 1 YMLSDATA EQU 2 data
1 *
000003 1 YMLSDRS1 DS XL1 reserved
000004 1 YMLSDLEN DS F length of data. spec.
00000008 1 YMLSDTSP# EQU *-YMLSDTAG
YMLSML MF=D,XPAND=DATA_SPEC,VERSION=3
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDTSP
000000 2 YMLSDTSP DSECT ,
1 * Data specification
000000 1 YMLSDTAG DS H tag of add. header
1 * Tag value(s) for struct _data_spec
0000000F 1 YMLSDSPC EQU 15 dataspec
1 *
000002 1 YMLSDTYP DS FL1 reserved
1 * Type of data specification
00000001 1 YMLSFILE EQU 1 file
00000002 1 YMLSDATA EQU 2 data
1 *
000003 1 YMLSDOPT DS AL1 options
00000080 1 YMLSDDEL EQU X'80' delete file
00000040 1 YMLSDDES EQU X'40' destroy when deleting
00000020 1 YMLSDLCK EQU X'20' lock file
0000001F 1 YMLSDUNU EQU X'1F' unused
000004 1 YMLSDLEN DS F length of data. spec.
00000008 1 YMLSDTSP# EQU *-YMLSDTAG
YMLSML MF=D,XPAND=CHARSET
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSCSET
000000 2 YMLSCSET DSECT ,
1 * Data specification
000000 1 YMLSCTAG DS H tag of add. header
1 * Tag value(s) for struct _charset
00000010 1 YMLSCHST EQU 16 character set
1 *
000002 1 YMLSCBNR DS FL1 binary data
1 * Binary data selection
00000001 1 YMLSBYES EQU 1 YES
00000002 1 YMLSBNO EQU 2 NO
1 *
000003 1 YMLSCRS1 DS XL1 reserved
000004 1 YMLSCLEN DS F length
000008 1 YMLSCSCX DS CL8 src_charset_XHCS
000010 1 YMLSCDCX DS CL8 dest_charset_XHCS
00000018 1 YMLSCSET# EQU *-YMLSCTAG
YMLSML MF=D,XPAND=ENCODING
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSENCD
000000 2 YMLSENCD DSECT ,
1 * Encoding
000000 1 YMLSETAG DS H tag of encoding
1 * Tag value(s) for struct _encoding
00000011 1 YMLSTRCD EQU 17 transfer encoding
1 *
000002 1 YMLSEMCH DS FL1 encoding mechanism
1 * Type of encoding mechanism
00000001 1 YMLSE7BT EQU 1 7 bit
00000002 1 YMLSE8BT EQU 2 8 bit
00000003 1 YMLSEBIN EQU 3 binary
00000004 1 YMLSEQP EQU 4 quoted printable
00000005 1 YMLSEB64 EQU 5 base64
1 *
000003 1 YMLSERS1 DS XL1 reserved
00000004 1 YMLSENCD# EQU *-YMLSETAG
YMLSML MF=D,XPAND=CONT_DISP
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSDISP
000000 2 YMLSDISP DSECT ,
1 * Content disposition
000000 1 YMLSITAG DS H tag of content
disposition
1 * Tag value(s) for struct _cont_disp
00000013 1 YMLSTCTD EQU 19 content disposition
1 *
000002 1 YMLSISPT DS FL1 content disposition
1 * Disposition type
00000001 1 YMLSINLN EQU 1 inline
00000002 1 YMLSIATT EQU 2 attachment
1 *
000003 1 YMLSIRS1 DS XL1 reserved
00000004 1 YMLSDISP# EQU *-YMLSITAG
YMLSML MF=D,XPAND=MSG_ATT
1 MFTST MF=D,PREFIX=Y,MACID=MLS,ALIGN=F,
1 DMACID=MLS,SUPPORT=(E,D,C,M,L),DNAME=MLSATT
000000 2 YMLSATT DSECT ,
1 * Bracketing message or attachment specification
000000 1 YMLSATAG DS H tag of msg | att
1 * Tag value(s) for struct _msg_att
0000000B 1 YMLSMBEG EQU 11 msg_begin
0000000C 1 YMLSMEND EQU 12 msg_end
0000000D 1 YMLSABEG EQU 13 att_begin
0000000E 1 YMLSAEND EQU 14 att_end
1 *
000002 1 YMLSARS1 DS XL2 reserved
00000004 1 YMLSATT# EQU *-YMLSATAG