gtpg2m2jGeneral Macros

GENLC-Generate a Data List

Use this general macro to generate a list of data items that can be used with SIPCC and event-type macros. Data item lists are used to define a variable list of items associated with a particular event or set of interprocessor communications (IPC) processor destinations.

Format




label
is a symbolic name that can be assigned to the macro statement.

TYPE
specifies the type of operation requested, where:

CREATE
creates a new data item list.

MODIFY
modifies an existing data item list.

EQUATES
creates DSECT labels for the list definition fields.

BLOCK
specifies that the data item list is to be built or modified in an event block (defined by the EV0BK macro), where:

blkptr
is a label specifying the address of the event block.

Rx
is a register (R0 to R13, or R15) containing the address of the event block.

AREA
specifies that the data item list is to be built or modified in a work area, where:

areaptr
is a label specifying the address where the data item list begins in the work area.

Rx
is a register (R0 to R13, or R15) containing the address where the data item list begins in the work area.

DATA
specifies the type of data or the location of data that will be included or excluded from the list, where:

dataptr
is a label specifying the address where data items can be found.

Notes:

  1. For TYPE=CREATE, both the COUNT and the SIZE parameters must be specified.

  2. For TYPE=MODIFY, the COUNT parameter must be specified.

Rx
is a register (R0 to R13, or R15) containing the address where the data items can be found.

COUNT
specifies the count of data items in the data item list, where:

cntptr
specifies the address of a halfword field that contains the count.

Rx
specifies a register (R0 to R13, or R15) that contains the count.

SIZE
specifies the size, in bytes, of a data item, where:

sptr
specifies the address of a halfword field that contains the size.

Rx
specifies a register (R0 to R13, or R15) that contains the size.

RETVALUE
specifies a return value to be loaded into the return value field of the data items.

rtrnptr
specifies the address of a halfword field that contains the count.

Rx
specifies a register (R0 to R13, or R15) that contains the count.

Notes:

  1. The return value is stored in the number of data items specified in the COUNT parameter.

  2. If RETVALUE is not specified, data item return values default to zero.

PROCESSOR
specifies that the data item list contains processor ordinal numbers as defined in the processor ID table (PIDT).
Note:
For DATA=PROCESSOR, the INCLUDE or EXCLUDE (MODIFY only) parameter must be specified.

INCLUDE
specifies which data items to include in the list or to add to the list.

Notes:

  1. When TYPE=CREATE, INCLUDE is required if DATA=PROCESSOR and is not valid if DATA points to an area containing data items.

  2. When TYPE=MODIFY, either INCLUDE or EXCLUDE must be specified.

ALL
specifies that all the data items in the data item list or the ordinal numbers for all the processors are to be included or added to the data item list.

ACTIVE
specifies that the ordinal numbers for the active processors are to be included or added to the data item list.

Notes:

  1. The ACTIVE parameter is valid only when DATA=PROCESSOR is specified.

  2. The originating processor is not included or added to the list.

INACTIVE
specifies that the ordinal numbers of the inactive processors are to be included or added to the data item list.

Notes:

  1. The INACTIVE parameter is valid only when DATA=PROCESSOR is specified.

  2. The originating processor is not included or added to the list.

EXCLUDE
specifies which data items or processor ordinals are not included in the list.
Note:
EXCLUDE is valid only when TYPE=MODIFY.

ALL
specifies that all the indicated data items or all the processor ordinals are to be removed from the data item list.

ACTIVE
specifies that the ordinal numbers of the processors that are currently active are to be removed from the list.

Notes:

  1. The ACTIVE parameter is valid only when DATA=PROCESSOR is also specified.

  2. The originating processor, if part of the list, is not removed.

INACTIVE
specifies that the ordinal numbers of the inactive processors are to be removed from the data item list.

Notes:

  1. The INACTIVE parameter is valid only when DATA=PROCESSOR is also specified.

  2. The exclude process does not exclude the originating processor.

Entry Requirements

Return Conditions

Programming Considerations

Examples