The format of the execute form of the REALLOC macro is:
>>-+-------+--REALLOC--MF=-+-(E,addr)--+--+-----------------+--->
'-label-' '-(E,(reg))-' | .-MOV-. |
'-,ALLOC=-+-ABS-+-'
'-NON-'
>--+--------------------+--+--------------------+--------------->
'-,DSSIZE=-+-addr--+-' '-,F3DSCB=-+-addr--+-'
'-(reg)-' '-(reg)-'
>--+--------------------+--+-------------------+---------------->
'-,F9DSCB=-+-addr--+-' '-,MINAU=-+-addr--+-'
'-(reg)-' '-(reg)-'
>--+--------------------------+--+-------------------+---------->
'-,NUMF9=-+-number_dscbs-+-' '-,PDSCB=-+-addr--+-'
'-(reg)--------' '-(reg)-'
>--+--------------------+--+-------------+---------------------><
'-,PDSDIR=-+-addr--+-' '-,UCB=-(reg)-'
'-(reg)-'
All parameters except ALLOC default to the current contents of
the referenced parameter list. The ALLOC parameter defaults to MOV.
- MF=(E,addr) or (E,(reg))
- Specifies the execute form of the macro and the address of a REALLOC
parameter list.
- addr–RX-type address, (reg)—(0-12)
- Specifies the address of the REALLOC parameter list.
- ALLOC=ABS or MOV or NON
- Specifies one of the following:
- ALLOC=ABS
- Specifies that the REALLOC request is for absolute extents.
- ALLOC=MOV
- Specifies that the REALLOC request is for a movable allocation.
ALLOC=MOV is the default.
- ALLOC=NON
- Specifies that the REALLOC request is to rebuild the free space
chain on an unindexed VTOC without allocating a data set. Expect a
DADSM create return code X'3D'.
- DSSIZE=addr or (reg)
- Specifies the size of the data set to be allocated in tracks.
The DSSIZE parameter is invalid for an ALLOC=ABS request.
- addr–RX-type address
- Specifies the address of a word that contains the data set size.
- (reg)–(0), (2-12)
- Specifies a register that contains the size of the data set.
Provide a value for DSSIZE for an ALLOC=MOV
request.The PDPRIQTY field of the partial DSCB is ignored.
REALLOC
assumes that you have provided the value of DSSIZE in tracks even
if the PD1SCALO flag byte of the partial DSCB indicates a cylinder
request (X'C0'), or an average block request, (X'40').
If
the PD1SCALO flag byte of the partial DSCB indicates a cylinder request
(X'C0'), or an average block with round request (X'41'),
the value of DSSIZE is rounded up to the next full cylinder.
- F2DSCB
- This parameter still is supported for assembly purposes, but the
system no longer supports it when your program executes. This because
you can no longer create indexed sequential data sets
- F3DSCB=addr or (reg)
- Specifies the in-storage address of a format-3 DSCB. This DSCB
is used as a model to construct the allocated data set's format-3
DSCB.
The F3DSCB parameter is invalid for an ALLOC=MOV request.
addr–RX-type
address, (reg)–(0), (2-12)
Provide
a value for F3DSCB in an ALLOC=ABS request when the DS1NOEPV byte
of the format-1 DSCB indicates more than three extents (or when the
DS1NOEPV byte indicates more than two extents and the DS1EXT1 extent
type indicator is X'40', a user label extent).
The
REALLOC request is limited to a maximum of 16 extents when the F3DSCB
keyword is specified. No more than one format-3 DSCB can be specified.
Enter
a value of zero for the F3DSCB in an ALLOC=ABS request when the DS1NOEPV
byte of the format-1 DSCB indicates that there are less than four
extents (or when the DS1NOEPV byte indicates that there are less than
three extents and the DS1EXT1 extent type indicator is X'40',
a user label extent).
- F9DSCB=addr or (reg) or 0
- Specifies the address of a caller-provided contiguous partial
format-9 DSCB data area where attribute information from it is to
be used when creating a format-9 DSCB. Specify this keyword if you
wish to pass format-9 DSCB attribute information to REALLOC processing.
Only attribute information in the format-9 DSCB will be processed.
Format-9 DSCBs with a subtype field with a value other than 1 will
be ignored. See mapping macro, IECSDSL1. The number of contiguous
partial format-9 DSCBs defined in this data area is defined in the
NUMF9=number_dscb keyword or is defaulted
to one.
- addr-RX-type address
- Specifies the address of the partial format-9 DSCB data area.
- (reg)-(2-12)
- Specifies a register containing the address of the partial format-9
DSCB data area.
- 0
- Specifies that you do not want to pass a partial format-9 DSCB
data area.
- MINAU=addr or (reg)
- Specifies the size of the minimum allocation unit in tracks. All
primary extents for this data set are in multiples of this minimum
allocation unit. This minimum does not apply to subsequent extensions
of the data set.
The MINAU parameter is invalid on an ALLOC=ABS
request.
- addr–RX-type address
- Specifies the address of a word containing the minimum allocation
unit.
- (reg)–(0), (2-12)
- Specifies a register containing the minimum allocation unit.
The MINAU parameter has no effect on the
requested allocation if:
- You provide a value of zero.
- The PD1SCALO flag byte of the partial DSCB indicates either a
cylinder request (X'C0') or an average block with round request
(X'41').
Otherwise, the value of DSSIZE must be a multiple of the value
of MINAU.
- NUMF9=number_dscbs or (reg)
- For REALLOC with F9DSCB requests, number_dscbs is
an absolute expression or (register) with a value between 0 and 255
that designates the number of consecutive 140-byte partial format-9
DSCB areas that are provided in the F9DSCB=addr.
The system treats a value of 0 as a 1 when F9DSCB=addr is
specified. Format-9 DSCBs with a subtype field with a value other
than 1 are ignored.
- PDSCB=addr or (reg)
- Specifies the address of a partial DSCB (for ALLOC=MOV)
or the in-storage address of a full format-1 or format-8 DSCB (for
ALLOC=ABS). This DSCB is used as a model to construct the allocated
data set's format-1 or format-8 DSCB.
addr–RX-type
address, (reg)–(0), (2-12)
Provide
a value for the PDSCB parameter and initialize the PD1FMTID field
to X'F1' for a format-1 DSCB or to X'F8' for a format-8
DSCB. However, the PDSCB attribute information determines EAS eligibility
and whether the actual allocated DSCB allocated is a format-1 or format-8
DSCB.
- PDSDIR=addr or (reg)
- Specifies the number of 256-byte directory blocks for a partitioned
data set (PDS).
- addr–RX-type address
- Specifies an in-storage address of a full word containing the
number of 256-byte PDS directory blocks.
- (reg)–(0), (2-12)
- Specifies a register containing the number of 256-byte PDS directory
blocks.
Provide a value for PDSDIR when partitioned
organization is indicated:
- The DS1DSORG flag byte of the format-1 DSCB is X'02' (ALLOC=ABS).
- The PD1DSORG flag byte of the partial DSCB is X'02' (ALLOC=MOV).
For an ALLOC=MOV request, you can specify the value
of PDSDIR in the PDDIRQTY field of the partial DSCB. The PDDIRQTY
field is used only if the REALLOC parameter list value of PDSDIR is
zero.
Do not specify a value for PDSDIR if a PDS is not indicated.
- UCB=(reg)
- Specifies the address of the UCB for the volume on which the data
set is to be allocated. The UCB address can be for a captured UCB,
or for an actual UCB above or below the 16MB line. For 31-bit callers,
the high-order byte is part of the UCB address and must be cleared
to zeros if a 24-bit UCB address is being passed. The volume must
be mounted, and remain mounted. Use the address of a UCB, not a UCB
copy.
- (reg)–(0), (2-12)
- Specifies a register containing the UCB address for the device.