|
|
This appendix includes the macro instruction forms indicated by the MF operand. It includes these sections:
Macro instruction forms are indicated by the MF operand. The first sublist operand is the form type. The second sublist operand, if coded, must be the address of the storage area that contains, or will contain, the parameter list associated with the macro instruction.
This table indicates which macro instruction forms are supported for each API macro instruction. A "Yes" appearing in a column indicates the corresponding form is supported for the particular macro instruction. "Default" appearing in a column indicates the corresponding form is the default if the MF operand is not coded.
| Macro Instruction | Macro Instruction Forms | ||||||
|---|---|---|---|---|---|---|---|
| MF=I | MF=L | MF=L,addr | MF=G,addr | MF=M,addr | MF=E,addr | MF=DSECT | |
| ACLOSE | MF operand not supported for this macro instruction | ||||||
| AOPEN | MF operand not supported for this macro instruction | ||||||
| APCB | No | Default | No | No | No | No | Yes |
| TACCEPT | Default | Yes | Yes | Yes | Yes | Yes | No |
| TADDR | Default | Yes | Yes | Yes | Yes | Yes | No |
| TBIND | Default | Yes | Yes | Yes | Yes | Yes | No |
| TCHECK | No | No | No | No | No | Default | No |
| TCLEAR | Default | Yes | Yes | Yes | Yes | Yes | No |
| TCLOSE | Default | Yes | Yes | Yes | Yes | Yes | No |
| TCONFIRM | Default | Yes | Yes | Yes | Yes | Yes | No |
| TCONNECT | Default | Yes | Yes | Yes | Yes | Yes | No |
| TDISCONN | Default | Yes | Yes | Yes | Yes | Yes | No |
| TDSECT | MF operand not supported for this macro instruction | ||||||
| TERROR | No | No | No | No | No | Default | No |
| TEXEC | Default | No | No | Yes | No | Yes | No |
| TEXLST | No | Default | Yes | No | Yes | No | No |
| TINFO | Default | Yes | Yes | Yes | Yes | Yes | No |
| TLISTEN | Default | Yes | Yes | Yes | Yes | Yes | No |
| TOPEN | Default | Yes | Yes | Yes | Yes | Yes | No |
| TOPTION | Default | Yes | Yes | Yes | Yes | Yes | No |
| TPL | No | Default | Yes | No | Yes | No | No |
| TRECV | Default | Yes | Yes | Yes | Yes | Yes | No |
| TRECVERR | Default | Yes | Yes | Yes | Yes | Yes | No |
| TRECVFR | Default | Yes | Yes | Yes | Yes | Yes | No |
| TREJECT | Default | Yes | Yes | Yes | Yes | Yes | No |
| TRELACK | Default | Yes | Yes | Yes | Yes | Yes | No |
| TRELEASE | Default | Yes | Yes | Yes | Yes | Yes | No |
| TRETRACT | Default | Yes | Yes | Yes | Yes | Yes | No |
| TSEND | Default | Yes | Yes | Yes | Yes | Yes | No |
| TSENDTO | Default | Yes | Yes | Yes | Yes | Yes | No |
| TSTATE | No | No | No | No | No | Default | No |
| TUNBIND | Default | Yes | Yes | Yes | Yes | Yes | No |
| TUSER | Default | Yes | Yes | Yes | Yes | Yes | No |
Most API macro instructions are TPL-based, indicating that they use a TPL for passing parameters to the requested transport service function and returning information to the application program. The TPL is normally 64 bytes in length and contains all of the necessary fields to store parameters for any API function. The same TPL can be used for all macro instructions as long as the appropriate operands are indicated and fields are initialized as required.
However, many TPL-based macro instructions do not require a full-size TPL since only a subset of the information contained in the TPL is interpreted by the function executed. Therefore, the API supports a short form of the TPL for most TPL-based macro instructions. The TPL has been organized so that the most frequently required fields occur at the beginning, and the least frequently used fields occur at the end.
Finally, the extended TPL adds a suffix to the standard length TPL. The suffix contains ALETs for all possible TPL parameters that address other data areas. Extended TPLs enable these data areas to reside in other address spaces.
For a given macro instruction, the short form TPL is a contiguous subset of the long (standard) form. The size of this subset is function-specific. These rules apply:
If only the protocol address parameter is required (in other words, ADLEN and ADBUF operands), a 40-byte TPL can be used. If a protocol address and/or user data is required, a 48-byte TPL can be used. Generally, less frequently used parameters such as protocol options and user connect data are excluded for the purpose of determining the length of the short form TPL.
The API uses several internal macro instructions for expanding TPL-based macro instructions. These have been included in the macro library provided with the API.
The APIMZGBL macro instruction is used to set global constants that are referenced by other macro instructions. Since some of these constants affect the appearance of the assembler language listing, the APIMZGBL macro instruction is partially defined in this section. Only those operands that may be of interest to the application programmer are documented.
This is the assembler format description for the APIMZGBL macro instruction:
[symbol] APIMZGBL [COMMENT=comment column number]| symbol | The symbolic name of the macro. |
| COMMENT = comment column number | Specifies the initial column number for comments in generated assembler language statements.
The operand must be an integer value between 16 and 71, inclusive. Default: 36 |
| R0 = symbol for register 0 | Specifies the symbol used to represent general register 0 in generated assembler language statements.
If an alphanumeric symbol is specified, the symbol must be defined elsewhere in the input stream using an EQU statement. Default: 0 (use standard numeric symbol) |
| R1 = symbol for register 1 | Specifies the symbol used to represent general register 1 in generated assembler language statements.
If an alphanumeric symbol is specified, the symbol must be defined elsewhere in the input stream using an EQU statement. Default: 1 (use standard numeric symbol) |
| R13 = symbol for register 13 | Specifies the symbol used to represent general register 13 in generated assembler language statements.
If an alphanumeric symbol is specified, the symbol must be defined elsewhere in the input stream using an EQU statement. Default: 13 (use standard numeric symbol) |
| R14 = symbol for register 14 | Specifies the symbol used to represent general register 14 in generated assembler language statements.
If an alphanumeric symbol is specified, the symbol must be defined elsewhere in the input stream using an EQU statement. Default: 14 (use standard numeric symbol) |
| R15 = symbol for register 15 | Specifies the symbol that is used to represent general register 15 in generated assembler language statements.
If an alphanumeric symbol is specified, the symbol must be defined elsewhere in the input stream using an EQU statement. Default: 15 (use standard numeric symbol) |
This example sets the comment column to 41, and redefines the general register symbols:
APIMZGBL COMMENT=41,R0=R0,R1=R1,R13=R13,R14=R14,R15=R15
|
|