gtps1m24System Macros

CRESVC-Create an SVC/Fast-Link Table Entry

Use this system macro to centralize the process of adding a macro interface system service to the TPF system. This macro generates data necessary for defining to the TPF system a primary or indexed supervisor call (SVC), or a fast link macro.

Format




MACRO=svcnam
This parameter specifies the macro name for the SVC. Specify a one- to six-character macro name for SVCs and a five- or six-character name for fast-link macros. If the names are not unique, an assembly error will be generated. For fast-link macros, the first four letters of the name must be different.

ROUTINE
This parameter specifies the location of the SVC service code. For SVCs that are pointers to indexed tables (when SVCTYPE=IBM_V or USER_V), this parameter is optional since the address of the driver is given automatically. This parameter is also optional for SVCTYPE=TEST as well.

svcloc
A VCON to the entry point for the macro service is generated.

A(svcloc)
An address constant is generated for the SVC location.

NUMBER=svcnum
This parameter specifies the SVC, index or fast-link number. It is the index into the appropriate macro table as defined by the SVCTYPE parameter. The macro definition is automatically placed in the proper macro table in the appropriate entry:

CKMAC=(opt1,opt2,...optn)
This parameter is used to specify that this macro requires an authorization check when it is called by an E-type program. Valid options are:

RESTR
Restricted use macro check

KEY0
Key0 write authorization check

MONTC
Supervisor state authorization check

CMB
Common block authorization check.

One or more of these options may be specified in any order. If no options are specified, the parameter is ignored. See $CKMAC-Validate Use of Restricted Macro for more information.

PTV=service_routine
This parameter specifies the PTV service routine. The address is switched with the address specified by the ROUTINE parameter when PTV is active. There is no default.

PARMTYP
This parameter specifies the type of parameter(s) to be passed.

F
The parameter length is fixed. This is the default.

V
The parameter length is variable. The length is contained in a halfword following the SVC number (for primary SVCs) or the SVC index number (for indexed SVCs).

U
The parameter length is unknown. It is be calculated by the service routine. Use PARMTYP=U for fast-link type macros.

PARMLN=n1
This parameter specifies the parameter length used with fixed parameter types (PARMTYP=F). The length does not include the SVC opcode nor the SVC number. Specify a decimal number in the range 0-32767.

SVCTYPE
This parameter specifies the table in which the macro definition will reside.

The following are supported macro service types for IBM-defined macros and their supporting service routines.

IBM
An IBM-defined SVC for the primary table (0-255).

IBM_V
An SVC that points to an indexed table containing IBM-defined SVC services. Vectored SVCs must have PARMTYP=U.

IBM_I
An IBM-indexed SVC. This is the default.

IBM_F
A fast-link SVC (numbers 256-32767 except 500-599).

The following are supported macro service types for user-defined macros and their supporting service routines.

USER
A user-defined SVC for use in the primary table (restricted to numbers 97, 127, 162, and odd numbers from 197 to 253).

USER_V
An SVC that points to an indexed table that contains user SVCs (restricted to numbers 97, 127, 162, and odd numbers from 197 to 253).

USER_I
A user-indexed SVC.

USER_F
A user-defined fast-link macro. Numbers 500-599 are reserved for users.

Used by the Test Tools functions.

TEST
SVCs that are used by test tools to overlay the fast-link macros to enable proper tracing and/or trapping. These can only be used in the primary table.

ISTREAM
This parameter specifies whether the SVC runs on the main I-stream or all I-streams.

ALL
Indicates that the SVC runs on all I-streams. This is the default.

MAIN
Indicates that the SVC runs on the main I-stream only.

GRPCODE=n2
This parameter specifies the proper test tools group code. See the TPF Program Development Support Reference for details. This is an optional parameter for TEST, IBM_V and USER_V SVC types, but is mandatory for all other types. The user groups can be assigned as additional groups in IBMSVC by using the ADDGRP parameter. Specify a decimal number from 0 to 15. There is no default.

MAXLNG=n3
This optional parameter specifies the maximum parameter length, in bytes, to be dumped in RTT. Specify a number from 0 to 8.

FILE
This optional parameter indicates if the macro is a file macro or unit record macro. RTT uses this parameter to determine whether a data block should be dumped when the macro is traced.

N
Do not dump the data block. This is the default.

Y
Dump the data block.

WAIT
This optional parameter indicates if the SVC macro implies a wait (for example, FINWC and FIWHC). It is used exclusively by real-time trace (RTT).

N
This macro does not imply a wait. This is the default.

Y
This macro implies a wait.

SEND
This optional parameter indicates if the macro is a communication send type for which real-time trace (RTT) should dump data blocks.

N
This macro is not a send type, data blocks should not be dumped. This is the default.

Y
This macro is a send type, data blocks should be dumped.

ECBSYS=(start,length)
This optional parameter specifies the ECB data area associated with a given macro to be dumped by Realtime Trace (RTT). The starting location in the ECB and the length (in bytes) of the area to be dumped can be specified by an ECB field name or can be a hardcoded, decimal number. The default is ECBSYS=(0,0). For example,
(CE1FA0,CE1SUG+1-CE1FA0)

This specifies that RTT should begin dumping at ECB location CE1FA0 and continue dumping between CE1FA0 and CE1SUG (inclusive).

ECBAPP=(start,length)
This optional parameter specifies the ECB data area associated with an application to be dumped by Realtime Trace (RTT). The starting location in the ECB and the length (in bytes) of the area to be dumped can be specified by an ECB field name or can be a hardcoded, decimal number. The default is ECBAPP=(0,0). For example,
(EBW000,EBW064-EBW000)

This specifies that RTT should begin dumping at ECB location EBW000 and continue dumping between EBW000 and EBW064.

ADDGRP=(group1,group2,group3)
This optional parameter allows the macro to be assigned to more than one group. The additional groups are used by the macro breakpoint support for TPF C Debugger for VisualAge Client and TPF Assembler Debugger for VisualAge Client. A maximum of three additional groups can be specified, up to a total of four groups. The group numbers must be from 0 to 32. The additional groups are not used by RTT.

Entry Requirements

Return Conditions

None.

Programming Considerations

Examples