cc/td/doc/product/software/ioss390
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

MF Operand Summary

MF Operand Summary

This appendix includes the macro instruction forms indicated by the MF operand. It includes these sections:

Describes the macro instruction forms supported by the API.
Describes the MF operands supported by the API macro instructions.
Discusses the long and short parameter list forms.
Describes internal macro instructions for expanding TPL-based macro instructions.

Macro Instruction Forms Supported by the API

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.


Table A-1: Macro Instruction Forms Recognized By the AP
Macro Instruction Form Description
MF=I Generate parameter list in-line with macro instruction. Also generate instructions in-line to execute parameter list.
MF=L Generate parameter list in-line with macro instruction. Do not generate instructions to execute parameter list.
MF=(L,addr) Generate instructions in-line with macro instruction to build parameter list in remote storage area indicated by addr. Do not generate instructions to execute parameter list.
MF=(G,addr) Generate instructions in-line with macro instruction to build parameter list in remote storage area indicated by addr. Also generate instructions to execute parameter list.
MF=(M,addr) Generate instructions in-line with macro instruction to modify parameter list in remote storage area indicated by addr. Do not generate instructions to execute parameter list.
MF=(E,addr) Generate instructions in-line with macro instruction to modify parameter list in remote storage area indicated by addr. Also generate instructions to execute parameter list.
MF=DSECT Generate a dummy control section in-line with macro instruction that maps the fields of the control block.

Note Macro instruction forms are discussed in detail in Assembler Language Macro Instructions.

MF Operands Supported by API Macro Instructions

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.


Table  A-2: Macro Instruction Forms Supported For Each API Macro Instruction
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

Short, Long and Extended Parameter List Forms

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.

Macro Instruction Rules

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:

Example

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.

Internal API Macro Instructions

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

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.

Assembler Format Description

This is the assembler format description for the APIMZGBL macro instruction:

[symbol] APIMZGBL [COMMENT=comment column number]
                                        [,R0 = symbol for register 0]
                                        [,R1 = symbol for register 1]
                                        [,R13 = symbol for register 13]
                                        [,R14 = symbol for register 14]
                                        [,R15 = symbol for register 15

Syntax Description
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)

Example

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

hometocprevnextglossaryfeedbacksearchhelp
Copyright 1989-1998 © Cisco Systems Inc.