dsmInit
dsmInit 함수 호출은 API 세션을 시작하고 클라이언트를 IBM® Storage Protect 스토리지에 연결합니다. 애플리케이션 클라이언트에는 한 번에 하나의 활성 세션만 열려 있을 수 있습니다. 다른 매개변수를 사용하여 다른 세션을 열려면 먼저 dsmTerminate 호출을 사용하여 현재 세션을 종료하십시오.
노드 간 조회 및 복원 또는 검색을 허용하려면 -fromnode 및 -fromowner 문자열 옵션을 사용하십시오. 자세한 정보는 노드 및 소유자 전체에서 오브젝트 액세스 를 참조하십시오.
구문
dsInt16_t dsmInit (dsUint32_t *dsmHandle,
dsmApiVersion *dsmApiVersionP,
char *clientNodeNameP,
char *clientOwnerNameP,
char *clientPasswordP,
char *applicationType,
char *configfile,
char *options); 매개변수
- dsUint32_t *dsmHandle (O)
- 이 초기화 세션을 식별하고 후속 IBM Storage Protect 호출과 연관시키는 핸들입니다.
- dsmApiVersion *dsmApiVersionP (I)
- 애플리케이션 클라이언트가 이 세션에 사용 중인 API의 버전을 식별하는 데이터 구조에 대한 포인터입니다. 구조에는 dsmapitd.h 파일에 설정된 세 개의 상수 DSM_API_VERSION, DSM_API_RELEASE및 DSM_API_LEVEL의 값이 포함되어 있습니다. 애플리케이션 클라이언트 API 버전과 사용자의 워크스테이션에 설치된 API 라이브러리 버전 간에 호환성이 있는지 확인하기 위해 dsmQueryApiVersion 에 대한 이전 호출을 수행해야 합니다.
- char *clientNodeNameP (I)
- 이 매개변수는 IBM Storage Protect 세션의 노드에 대한 포인터입니다. 모든 세션에는 연관된 노드 이름이 있어야 합니다. dsmapitd.h 파일의 상수 DSM_MAX_NODE_LENGTH는 노드 이름에 허용되는
최대 크기를 설정합니다.
노드 이름은 대소문자를 구분하지 않습니다.
이 매개변수가 NULL로 설정되고 passwordaccess가 prompt로 설정되면 API는 전달된 옵션 문자열로부터 먼저 노드 이름 확보를 시도합니다. 노드 이름이 해당 위치에 없는 경우 API는 구성 파일 또는 옵션 파일로부터 노드 이름 확보를 시도합니다. 노드 이름을 찾으려는 시도가 실패하면 UNIX 또는 Linux® API는 시스템 호스트 이름을 사용하는 반면, 다른 운영 체제의 API는 DSM_RC_REJECT_ID_UNKNOWN 코드를 리턴합니다.
이 매개변수가 NULL이고 dsm.opt 파일 (Windows API의 경우) 또는 dsm.sys 파일 (UNIX 또는 Linux API의 경우) 의 passwordaccess 옵션이 generate로 설정된 경우, API는 nodename 옵션 값 또는 시스템 호스트 이름을 사용합니다.
- char *clientOwnerNameP (I)
- 이 매개변수는 IBM Storage Protect 세션의 소유자에 대한 포인터입니다. 세션이 시작되는 운영 체제가 다중 사용자 운영 체제인 경우 소유자 이름 NULL(root
사용자)은 오브젝트 소유자에 관계없이 애플리케이션에 속하는 모든 오브젝트를
백업, 아카이브, 복원 또는 검색할 수 있는 권한을 가집니다.
소유자 이름은 대소문자를 구분합니다.
이 매개변수가 NULL이고 dsm.sys 파일의 passwordaccess 옵션이 generate로 설정된 경우, API는 로그인 사용자 ID를 사용합니다.
주: 다중 사용자 운영 체제에서는 소유자 이름이 애플리케이션을 실행하는 세션의 활성 사용자 ID와 일치할 필요가 없습니다. - char *clientPasswordP (I)
- 이 매개변수는 IBM Storage Protect 세션이 실행되는 노드의 비밀번호에 대한 포인터입니다. dsmapitd.h 파일의 DSM_MAX_VERIFIER_LENGTH
상수는 비밀번호에 허용되는 최대 크기를 설정합니다.
비밀번호는 대소문자가 구분되지 않습니다.
비밀번호 파일이 먼저 시작되는 경우를 제외하고 passwordaccess가 generate로 설정된 경우 이 매개변수의 값은 무시됩니다.
- char *applicationType (I)
- 이 매개변수는 세션을 실행 중인 애플리케이션을 식별합니다. 애플리케이션 클라이언트가 값을 정의합니다.
API 애플리케이션 클라이언트가 서버에 대한 세션을 시작할 때마다 클라이언트의 애플리케이션 유형(또는 플랫폼)이 서버에서 업데이트됩니다. 애플리케이션 유형 값은 서버의 platform 필드에 입력되므로 이 값에는 운영 체제 약어가 포함되어 있는 것이 좋습니다. 최대 문자열 길이는 DSM_MAX_PLATFORM_LENGTH입니다.
애플리케이션 유형의 현재 값을 보려면 dsmQuerySessInfo를 호출하십시오.
- char *configfile (I)
- 이 매개변수는 API 구성 파일의 완전한 이름이 포함된 문자열을 가리킵니다. API 구성 파일에 지정된 옵션은 클라이언트 옵션 파일에 있는 스펙을 겹쳐씁니다. 옵션 파일은 IBM Storage Protect (클라이언트 또는 API) 가 설치될 때 정의됩니다.
- char *options (I)
- 다음과 같은 사용자 옵션을 포함할 수 있는 문자열을 가리킵니다.
- 콤201값 방법 테이블 테이블 방법 페이지
- Servername (UNIX 또는 Linux 전용)
- TCP 서버 주소
- Fromnode
- Fromowner (프로모너)
- EnableClientEncryptKey
- 암호 액세스
애플리케이션 클라이언트는 옵션 목록을 사용하여 구성 파일이 설정하는 이러한 옵션의 값을 겹쳐쓸 수 있습니다.
옵션 형식은 다음과 같습니다.
- 옵션 목록에 지정된 각 옵션은 대시(-)로 시작하며 그 뒤에 옵션 키워드가 표시됩니다.
- 그런 다음 키워드 뒤에 등호(=)와 옵션 매개변수가 순서대로 표시됩니다.
- 옵션 매개변수에 공백이 포함되어 있는 경우 작은 따옴표 또는 큰 따옴표로 매개변수를 묶으십시오.
- 둘 이상의 옵션이 지정된 경우 공백으로 옵션을 분리하십시오.
옵션이 NULL인 경우 모든 옵션에 대한 값은 사용자 옵션 파일 또는 API 구성 파일로부터 가져옵니다.
리턴 코드
리턴 코드 번호는 괄호 ( ) 안에 표시됩니다.
| 리턴 코드 | 설명 |
|---|---|
| DSM_RC_ABORT_SYSTEM_ERROR (1) | 서버에서 시스템 오류를 감지하여 클라이언트에게 알렸습니다. |
| DSM_RC_REJECT_VERIFIER_EXPIRED (52) | 비밀번호가 만료되었으므로 업데이트해야 합니다. |
| DSM_RC_REJECT_ID_UNKNOWN (53) | 노드 이름을 찾을 수 없습니다. |
| DSM_RC_AUTH_FAILURE (137) | 인증에 실패했습니다. |
| DSM_RC_NO_STARTING_DELIMITER (148) | 패턴에 시작 구분 기호가 없습니다. |
| DSM_RC_NEEDED_DIR_DELIMITER (149) | 일치 디렉토리메타 문자열( ...) 바로 앞뒤에 디렉토리 구분 기호가 필요하지만 없습니다. |
| DSM_RC_NO_PASS_FILE (168) | 비밀번호 파일을 사용할 수 없습니다. |
| DSM_RC_UNMATCHED_QUOTE (177) | 옵션 문자열에 일치하지 않는 따옴표가 있습니다. |
| DSM_RC_NLS_CANT_OPEN_TXT (0610) | 메시지 텍스트 파일을 열 수 없습니다. |
| DSM_RC_INVALID_OPT (400) | 옵션 문자열의 항목이 올바르지 않습니다. |
| DSM_RC_INVALID_DS_HANDLE (2014) | DSM 핸들이 올바르지 않습니다. |
| DSM_RC_NO_OWNER_REQD (2032) | passwordaccess가 generate로 설정된 경우 소유자 매개변수는 NULL이어야 합니다. |
| DSM_RC_NO_NODE_REQD (2033) | passwordaccess가 generate로 설정된 경우 노드 매개변수는 NULL이어야 합니다. |
| DSM_RC_WRONG_VERSION (2064) | 애플리케이션 클라이언트의 API 버전이 IBM Storage Protect 버전보다 높은 값을 갖습니다. |
| DSM_RC_PASSWD_TOOLONG (2103) | 지정된 비밀번호가 너무 깁니다. |
| DSM_RC_NO_OPT_FILE (2220) | 구성 파일을 찾을 수 없습니다. |
| DSM_RC_INVALID_KEYWORD (2221) | 옵션 문자열에 지정된 키워드가 올바르지 않습니다. |
| DSM_RC_PATTERN_TOO_COMPLEX (2222) | include-exclude 패턴은 IBM Storage Protect 가 해석하기에 너무 복잡합니다. |
| DSM_RC_NO_CLOSING_BRACKET (2223) | 패턴에 종료 대괄호가 없습니다. |
| DSM_RC_INVALID_SERVER (2225) | 다중 사용자 환경에 대해 시스템 구성 파일에서 서버를 찾을 수 없습니다. |
| DSM_RC_NO_HOST_ADDR (2226) | 호스트에 연결하기 위한 정보가 충분하지 않습니다. |
| DSM_RC_MACHINE_SAME (2227) | 옵션 파일에 정의된 노드 이름은 시스템 호스트 이름과 동일해서는 안 됩니다. |
| DSM_RC_NO_API_CONFIGFILE (2228) | 구성 파일을 열 수 없습니다. |
| DSM_RC_NO_INCLEXCL_FILE (2229) | Include-Exclude 파일을 찾을 수 없습니다. |
| DSM_RC_NO_SYS_OR_INCLEXCL (2230) | dsm.sys 파일 또는 Include-Exclude 파일을 찾을 수 없습니다. |