![[16.0.0.4 以及更新版本]](../ng_v16004plus.gif)
Angel 檢查 API
使用「Angel 檢查 API」來檢查特定名稱的 Angel 或預設 Angel 是否在執行中。
BBGZACHK、BGVT 及 ECVT 控制區塊包含必要的指標位置,可判斷給定的 Angel 是否在執行中。下表列出「Angel 檢查 API」或控制區塊的指標位置。
API 或控制區塊 | 指標位置 |
---|---|
Angel 檢查 API | BBGZACHK 控制區塊的偏移 0x14 |
BBGZACHK 控制區塊 | BGVT 控制區塊的偏移 0x2AC 如果指標為 NULL,表示未啟動任何 Angel。 |
BGVT 控制區塊 | ECVT 控制區塊的偏移 0x234。 如果指標為 NULL,表示未啟動任何 Angel。如需 ECVT 控制區塊的相關資訊,請參閱《MVS 資料區第 1 冊 (ABE- IAX)》。 |
環境
下表提供呼叫端的需求。
環境因素 | 需求 |
---|---|
AMODE | 64 位元 |
ASC 模式 | 主要 |
最小授權 | 問題狀態或監督者狀態
|
輸入暫存器資訊
下表提供「Angel 檢查 API」的輸入暫存器。
登錄 | 內容 |
---|---|
1 | 以空值結尾的 Angel 名稱字串的位址,或 NULL。
|
13 | F4SA 格式的 144 位元組儲存區。 |
14 | 返回的位址。 |
輸出暫存器資訊
下表提供「Angel 檢查 API」的輸出暫存器。
登錄 | 內容 |
---|---|
15 | 如果指定的 Angel 在執行中,則回覆碼為 0,否則回覆碼不是零 |
用於呼叫「Angel 檢查 API」的 BBGZAACK 巨集
如果要簡化呼叫「Angel 檢查 API」,您可以使用位於 ${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK 的 BBGZAACK 巨集。
下表提供 BBGZAACK 巨集的語法。
語法 | 說明 |
---|---|
name | name:符號。name 在第 1 欄開始。 |
ƀ | BBGZAACK 前面必須有一或多個空格。 |
BBGZAACK | |
ƀ | BBGZAACK 後面必須有一或多個空格。 |
ANAME=angelname | A 類型位址或暫存器 (2) - (12)。 |
參數
參數的說明如下:
- ANAME
- 指定要檢查之 Angel 名稱的位址。包含終止空值,這個參數的長度必須在 1 到 55 個字元之間(含)。使用單一空值字元可指定預設 Angel。
回覆碼和原因碼
當控制權從 BBGZAACK 巨集返回時,一般目的暫存器 (GPR) 15 會包含回覆碼。 回覆碼 0 表示找到指定的 Angel 且在作用中。非零回覆碼表示找不到指定的 Angel 或不在作用中。
範例
下列範例假設您已將 ${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK 檔複製到 MACLIB。
範例 1
檢查預設 Angel 是否在作用中。
USING PARMS,5
XC ANGLPARM,ANGLPARM 清除儲存體 / 空值終止
BBGZAACK ANAME=ANGLPARM
ST 15,ANGLRC 儲存回覆碼
*
PARMS DSECT
ANGLPARM DS CL1
ANGLRC DS F
範例 2
檢查名為 ANGEL01 的 Angel 是否在作用中。
USING PARMS,5 XC
ANGLPARM,ANGLPARM 清除儲存體 / 空值終止
MVC ANGLPARM(7),ANGLNAME 複製 Angel 名稱
BBGZAACK ANAME=ANGLPARM
ST 15,ANGLRC 儲存回覆碼
*
LTORG
ANGLNAME DC CL7'ANGEL01'
*
PARMS DSECT
ANGLPARM DS CL8
ANGLRC DS F