For z/OS platforms[16.0.0.4 and later]

엔젤 확인 API

엔젤 확인 API를 사용하여 특정 이름 지정된 엔젤이나 기본 엔젤이 실행 중인지 여부를 확인할 수 있습니다.

BBGZACHK, BGVT 및 ECVT 제어 블록에는 해당 엔젤이 실행 중인지 여부를 판별하는 데 필요한 포인터 위치가 포함되어 있습니다. 다음 표에는 엔젤 확인 API 또는 제어 블록에 대한 포인터 위치가 나열되어 있습니다.
표 1. 엔젤 확인 API 또는 제어 블록에 대한 포인터 위치
API 또는 제어 블록 포인터 위치
엔젤 확인 API BBGZACHK 제어 블록의 오프셋 0x14
BBGZACHK 제어 블록 BGVT 제어 블록의 오프셋 0x2AC.

포인터가 NULL이면 시작된 엔젤이 없습니다.

BGVT 제어 블록 ECVT 제어 블록의 오프셋 0x234.

포인터가 NULL이면 시작된 엔젤이 없습니다. ECVT 제어 블록에 대한 자세한 정보는 MVS 데이터 영역, 볼륨 1(ABE- IAX)을 참조하십시오.

환경

다음 표에서는 호출자에 대한 요구사항을 제공합니다.
표 2. 환경 요인 및 해당 요구사항
환경 요인 요구사항
AMODE 64비트
ASC 모드 Primary
최소 권한부여 문제점 상태 또는 수퍼바이저 상태
  • BBGZACHK 제어 블록은 PSW(Program Status Word) 0-15의 스토리지 키에서 사용 가능합니다.

입력 레지스터 정보

다음 표에서는 엔젤 확인 API에 대한 입력 레지스터를 제공합니다.
표 3. 입력 레지스터 및 해당 컨텐츠
등록 컨텐츠
1 널(null)로 종료되는 엔젤 이름 문자열의 주소 또는 NULL입니다.
  • 특정 이름 지정된 엔젤이 실행 중인지 여부를 확인하려면, 엔젤 확인 API를 호출할 때 레지스터 1에 널 종료 문자열로서 엔젤의 이름에 대한 포인터가 포함되는지 확인하십시오.
  • 기본 엔젤이 실행 중인지 여부를 확인하려면, 엔젤 확인 API를 호출할 때 레지스터 1이 지워져 있는지 확인하십시오.
13 F4SA 형식의 144바이트 저장 영역입니다.
14 리턴되는 주소입니다.

출력 레지스터 정보

다음 표에서는 엔젤 확인 API에 대한 출력 레지스터를 제공합니다.
표 4. 출력 레지스터 및 해당 컨텐츠
등록 컨텐츠
15 지정된 엔젤이 실행 중이면 리턴 코드가 0이며, 그렇지 않으면 0 이외의 값입니다.

엔젤 확인 API 호출을 위한 BBGZAACK 매크로

엔젤 확인 API의 호출을 단순화하기 위해 ${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK에 있는 BBGZAACK 매크로를 사용할 수 있습니다.

다음 표에서는 BBGZAACK 매크로의 구문을 제공합니다.
표 5. BBGZAACK 매크로 구문
구문 설명
이름 name: 기호. 열 1에서 name이 시작됩니다.
ƀ 하나 이상의 공백이 BBGZAACK 앞에 있어야 합니다.
BBGZAACK
ƀ 하나 이상의 공백이 BBGZAACK 뒤에 있어야 합니다.
ANAME=angelname A-유형 주소 또는 레지스터 (2) - (12).

매개변수

매개변수는 다음과 같이 설명됩니다.
ANAME
확인할 엔젤의 이름에 대한 주소를 지정합니다. 종료 널을 포함하여 이 매개변수의 길이는 1 - 55자여야 합니다. 기본 엔젤을 지정하려면 하나의 널 문자를 사용하십시오.

리턴 및 이유 코드

제어가 BBGZAACK 매크로에서 리턴되는 경우, GPR(General Purpose Register) 15에는 리턴 코드가 포함됩니다. 리턴 코드 0은 지정된 엔젤을 찾았으며 상태가 활성임을 표시합니다. 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

주제의 유형을 표시하는 아이콘 참조 주제

파일 이름: rwlp_angel_check.html