プロファイル名リスト・サービス・ルーチンの呼び出し

プロファイル名リスト・サービス・ルーチン (IRRPNL00) を呼び出す場合、プログラムは以下の 4 つのパラメーターを渡す必要があります。
クラス名
RACF® が派生させるユーザー ID が許可を持っている プロファイル名の、元の 8 文字のクラス名
作業域の長さ
IRRPNL00 がプロファイル名リストを 構築する作業域の長さが入っているフルワード
作業域
IRRPNL00 がプロファイル名リストを 構築する作業域のアドレスが入っているフルワード・ポインター
ACEE ポインター
プロファイル許可を判別する対象である、 ユーザー ID の ACEE アドレスが入っているフルワード・ポインター
注: ACEE ポインターがゼロの場合、IRRPNL00 は TCBSENV によって示される ACEE を使用します。

TCBSENV ポインターがゼロの場合、IRRPNL00 は ASXBSENV フィールドの使用を試みます。

ASXBSENV フィールドがゼロの場合、 IRRPNL00 はエラーの戻りコードと理由コードを戻します。

呼び出し側プログラムは CALL コマンドを使用して、 これらのパラメーターを IRRPNL00 に渡します。

RACF 出口で IRRPNL00 を呼び出す場合は、SYNCH マクロを使用する必要があります。 z/OS MVS プログラミング:アセンブラー・サービス ガイドを参照してください。

戻されるプロファイル名リストの形式

プロファイル名リストに先行する FIXED(31) カウント・フィールドに、IRRPNL00 によって戻されるプロファイル名の合計カウントが入ります。 プロファイル名リストが作業域に置かれる時の形式は、 次のとおりです。
NAME LENGTH
2 バイトのプロファイル名の長さ
FLAGS
1 バイトのフラグ・フィールド (最初のビットのみが使用される)
PROFILE NAME
可変長のプロファイル名
注: フラグ・フィールド・バイトの最初のビットは、 プロファイルが総称プロファイルの場合にオンになります。

戻りコード

IRRPNL00 からの戻りコードは RACF 規則に従い、戻りコード 0 は探索の成功を示します。 戻りコードは、次のとおりです。
注: すべての戻りコードと理由コードは 16 進数で示されます。
以下に示す戻りコードはレジスター 15 に戻され、 理由コードはレジスター 0 に戻されます。
戻りコード
意味
00
プロファイル名リスト機能が正常に完了した。
04
ユーザー ID が少なくとも読み取りアクセスを持っているプロファイルが 見つからなかった。
08
指定されたクラスに関するプロファイル項目が見つからなかった。 入力クラスのプロファイルが存在しないか、 あるいは SETROPTS RACLIST が入力クラスを処理しなかったかのいずれかであることを示します。
0C
作業域がすべてのプロファイル名を保持するほど大きくない。
14
プロファイル名リスト・パラメーターにエラーがある。
理由コード
意味
04
ACEE が利用不能である。
08
作業域が小さすぎて単一のプロファイルを入れることができない。
10
入力されたクラス名が無効である。
18
ESTAE 環境を確立できない。
1C
データ・スペース探索ルーチンから、ゼロ以外の戻りコードが戻された。戻りコードと理由コードは、レジスター 0 の下位ハーフワードと高位ハーフワードに戻される。以下のコードを除く大部分のコードは、RACF 内のエラーを示す内部 RACF コードである。
理由コード
意味
00080008
SETROPTS RACLIST がクラスを処理していない
00080018
RACLIST データ・スペースが ALESERV 障害のためにアクセスできなかった。
20
ACEE がデフォルトの UTOKEN を持つ
24
ACEE UTOKEN のエントリー・ポート・クラスを示すビットに、 エントリー・ポート名が指定されていない。