The caller needs to construct a header containing:
- A value of 0 in the parameter list version field
- The length of the profile in the profile name length field
The caller then places the profile name after the header.
For the extract-next functions, the caller can invoke RACF® iteratively, using as input
the block which RACF previously
returned as output. For example:
- Construct an input parameter list, as described above, where the
profile name consists of a single blank character (X'40').
- Set the Parm_list parameter to the address of the header just
created.
- Call IRRSEQ00.
- Process the output returned by RACF in
the Out_message_strings parameter. The output header, using the profile
name offset, length, and value fields, will identify the profile which
was extracted.
- Set the Parm_list parameter to the address returned by RACF in the Out_message_strings
parameter. Note that you might need to make some adjustments to the
output returned by RACF to
use it as an input parameter list. For example, if a supervisor state
caller has turned on the "bypass authorization checking" or the "BASE
only" flag in the previous call, he will need to turn them on again
in the subsequent call.
- Call IRRSEQ00 again.
- On return, the storage now pointed to by Parm_list (previously
returned by RACF) can be freed.
You should be careful of virtual storage consumption issues if you
do not immediately free this storage. That is, depending on the size
of the output, and the number of times you are calling IRRSEQ00, your
virtual storage consumption could add up to a significant amount.
- Iterate (see step 4) until profiles are exhausted (SAF return
code 4, RACF return code 4, RACF reason code 4), or until your
purpose has been accomplished.