![[16.0.0.4 and later]](../ng_v16004plus.gif)
エンジェル・チェック API
エンジェル・チェック API を使用して、特定の名前付きエンジェルまたはデフォルト・エンジェルが実行されているかどうかを確認します。
BBGZACHK、BGVT、および ECVT の各制御ブロックには、特定のエンジェルが実行されているかどうかを判別するために必要なポインター・ロケーションが含まれています。以下の表では、エンジェル・チェック API または制御ブロックのポインター・ロケーションをリストします。
API または制御ブロック | ポインター・ロケーション |
---|---|
エンジェル・チェック API | BBGZACHK 制御ブロックのオフセット 0x14 |
BBGZACHK 制御ブロック | BGVT 制御ブロックのオフセット 0x2AC ポインターが NULL の場合、エンジェルは開始されていません。 |
BGVT 制御ブロック。 | ECVT 制御ブロックのオフセット 0x234。 ポインターが NULL の場合、エンジェルは開始されていません。ECVT 制御ブロックについて詳しくは、「MVS Data Areas」、Volume 1 (ABE- IAX) を参照してください。 |
環境
以下の表では、呼び出し元の要件を示します。
環境要因 | 要件 |
---|---|
AMODE | 64 ビット |
ASC モード | Primary |
最小の許可 | 問題プログラム状態または監視プログラム状態
|
入力レジスター情報
以下の表では、エンジェル・チェック API の入力レジスターを示します。
登録 | 内容 |
---|---|
1 | ヌル終了エンジェル名ストリングのアドレス、または NULL。
|
13 | F4SA 形式の 144 バイトの保存域。 |
14 | 戻り先のアドレス。 |
出力レジスター情報
以下の表では、エンジェル・チェック API の出力レジスターを示します。
登録 | 内容 |
---|---|
15 | 戻りコード 0 (指定されたエンジェルが実行されている場合)、または非ゼロ (それ以外の場合) |
エンジェル・チェック API を呼び出すための BBGZAACK マクロ
エンジェル・チェック API の呼び出しを簡素化するために、${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK にある BBGZAACK マクロを使用できます。
以下の表に、BBGZAACK マクロの構文を示します。
構文 | 説明 |
---|---|
name | name: シンボル。1 桁目から name を始めます。 |
ƀ | 1 つ以上のブランクを BBGZAACK の前に置く。 |
BBGZAACK | |
ƀ | 1 つ以上のブランクを BBGZAACK の後に続ける。 |
ANAME=angelname | A タイプ・アドレスまたはレジスター (2) - (12)。 |
パラメーター
パラメーターの説明は、以下のとおりです。
- ANAME
- 確認するエンジェルの名前のアドレスを指定します。このパラメーターの長さは、終了ヌルも含め、1 文字以上 55 文字以下でなければなりません。デフォルト・エンジェルを指定する場合は、単一のヌル文字を使用します。
戻りコードと理由コード
BBGZAACK マクロから制御が戻ると、汎用レジスター (GPR) 15 に戻りコードが入ります。戻りコード 0 は、指定されたエンジェルが検出され、アクティブであることを示します。非ゼロの戻りコードは、指定されたエンジェルが検出されなかったか、アクティブでないことを示します。
例
以下の例では、${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK ファイルを MACLIB にコピーしたものとしています。
例 1
デフォルト・エンジェルがアクティブかどうかを確認します。
USING PARMS,5
XC ANGLPARM,ANGLPARM Clear storage / null term
BBGZAACK ANAME=ANGLPARM
ST 15,ANGLRC Store return code
*
PARMS DSECT
ANGLPARM DS CL1
ANGLRC DS F
例 2
ANGEL01 という名前のエンジェルがアクティブかどうかを確認します。
USING PARMS,5 XC
ANGLPARM,ANGLPARM Clear storage / null term
MVC ANGLPARM(7),ANGLNAME Copy angel name
BBGZAACK ANAME=ANGLPARM
ST 15,ANGLRC Store return code
*
LTORG
ANGLNAME DC CL7'ANGEL01'
*
PARMS DSECT
ANGLPARM DS CL8
ANGLRC DS F