제1장 개요

내용 목차

1.1. 명령어
1.2. 함수
1.2.1. 서버/클라이언트 사용 함수
1.2.2. 서버 함수
1.2.3. 클라이언트 함수
1.2.4. TCP/IP 게이트웨이 함수
1.2.5. TDL 함수
1.2.6. Windows 관련 함수
1.2.7. 기타 함수

Tmax 시스템을 사용하기 위해서 제공하는 명령어와 함수를 사용해야 한다.

1.1. 명령어

다음은 Tmax에서 제공되는 명령어의 목록이다.

명령어설명
cfl텍스트 형태의 Tmax 환경 파일을 컴파일하여 tmconfig(이진 Tmax 환경 파일)을 생성한다.
etmm / eclh이벤트 기반 방식의 통신을 사용하여 기존의 통신 방식에 비해 많은 FD를 사용할 경우에 사용한다.
fdlc필드 키 테이블을 컴파일한다.
gst이진 Tmax 환경 파일을 참조하여 서비스 테이블을 생성한다.
mkclimkcli는 Tmax 클라이언트 모듈을 생성한다.
mkaclACL(Access Control List)를 생성한다.
mkgrp사용자 그룹을 생성한다.
mkpw암호를 관리한다.
mksvrTmax 서버 모듈을 생성한다.
racd멀티 노드로 분산된 환경에서 중앙 집중 관리한다.
sdlc구조체를 정의한 파일을 컴파일한다.
svcrptTmax 시스템을 운용할 때 서비스 수행에 관련된 로그 기록을 분석하여 출력한다.
tdlcleanrun 디렉터리의 구버전 라이브러리 파일이나 불필요한 파일을 정리한다.
tdlinitTDL 공유 메모리 및 동적 모듈 초기화를 수행한다.
tdlnm지정한 라이브러리에 대한 자동 export될 함수 목록을 조회한다.
tdlrmTDL을 더 이상 사용하지 않을 경우에 공유 메모리를 완전히 제거한다.
tdlshmTDL 공유 메모리 정보를 조회하거나, 통계 모니터링 활성화 여부 및 모듈 활성화 여부를 설정한다.
tdlsyncTDL 공유 메모리와 백업 파일 동기화를 수행한다.
tdlupdate지정한 동적 모듈을 업데이트한다.
tencrypt환경설정의 OPENINFO절을 암호화한다.
tmadminTmax 시스템 관리를 한다.
tmapm시그알람을 사용할 수 없거나, 용이하지 않은 경우 서비스 타임아웃을 설정하고 사용할 수 있는 별도의 서버이다.
tmaxlibverTmax 라이브러리의 버전 정보를 조회한다.
tmbootTmax 시스템의 전체나 또는 일부분을 실행한다.
tmd서버 프로그램을 테스트하기 위한 클라이언트 시뮬레이션을 한다.
tmdownTmax 시스템 전체 또는 일부분을 종료한다.
tmmbfgen서비스 정보 파일(text)을 서비스 정보 바이너리 파일로 만든다.
tmaxtrace애플리케이션에 대하여 Run time tracing을 한다.
tmsnmpd표준 SNMP 프로토콜에 의해서 Tmax 구성 및 성능 정보를 조회한다.
tperrTmax 에러 번호와 에러 타입을 이용하여 에러에 관한 자세한 정보를 조회한다.
uncfl텍스트 형태의 Tmax 환경 파일을 컴파일하여 생성된 tmconfig를 텍스트 형태의 환경 파일로 만든다.
untmmbfgen서비스 정보 바이너리 파일을 서비스 정보 파일(text)로 변환한다.
xwsdlgen웹 서비스 스펙 중 명세서 역할을 하는 WSDL 문서를 생성한다.

1.2. 함수

다음은 각 용도별 사용되는 함수에 대한 설명이다.

1.2.1. 서버/클라이언트 사용 함수

함수설명
gettperrnoTmax 시스템을 호출할 때 설정된 에러 코드(errno)를 반환한다.
tmax_chk_conn클라이언트의 연결 상태를 체크하는 함수로, tpstart 수행 여부 체크, 소켓 상태 점검, 메시지 전달로서 연결 상태를 점검하는 역할을 한다.
tmax_gq_countGQ에 저장된 데이터의 개수를 반환한다.
tmax_gq_getGQ에서 데이터를 가져오는 함수로 키를 지정하면 해당 키의 데이터를 가져온다.
tmax_gq_getkeylistGQ의 키 리스트를 가져온다.
tmax_gq_keygen시스템 키를 생성하고 가져온다.
tmax_gq_purgeGQ의 데이터를 삭제한다.
tmax_gq_put데이터를 GQ에 저장하는 함수로, 키와 데이터 값을 전달한다.
tmax_get_sessionid현 세션의 ID를 반환한다.
tmax_keylist_countkeylist 핸들로부터 키 리스트의 개수를 반환한다.
tmax_keylist_freekeylist 핸들의 메모리나 기타 자원들을 해제한다.
tmax_keylist_getakeykeylist 핸들로부터 n번째 키 정보를 가져온다.
tmax_sq_count현재 SQ에 저장된 데이터 개수를 반환한다.
tmax_sq_get데이터를 세션 큐에 저장한다.
tmax_sq_getkeylist현 세션 SQ의 키 리스트를 가져온다.
tmax_sq_keygen시스템 키를 생성하고 가져온다.
tmax_sq_purgeSQ의 데이터를 삭제한다.
tmax_sq_put서버 데이터를 세션 큐에 저장한다.
tmaxlastsvc가장 마지막에 수행된 조회하는 함수로, 에러가 발생한 서비스명 또는 최후로 루틴을 수행한 서비스명을 반환한다.
tmaxreadenv환경변수를 파일에서 접속할 시스템의 정보를 읽어서 환경변수에 새로운 값을 설정한다.
tp_sleep데이터의 도착을 초 단위로 기다린다.
tp_usleep데이터의 도착을 1000000(백만)분의 1초 단위로 기다린다.
tpabort전역 트랜잭션을 Rollback한다.
tpacall비동기 서비스 요청을 송신한다.
tpacallsvgCOUSIN으로 묶인 멀티 서버 그룹 환경에서 특정 서버 그룹에 속하는 서비스에 비동기형 통신으로 서비스 요청을 송신한다.
tpalivechk클라이언트의 연결 상태를 체크하는 함수로, 소켓의 상태를 점검하는 역할을 한다.
tpalloc유형 버퍼(typed buffer)를 할당한다.
tpbegin트랜잭션 시간 설정 및 전역 트랜잭션을 시작한다.
tpbroadcastTmax 시스템에 등록된 클라이언트들에게 요청하지 않은 메시지를 송신한다.
tpcall동기형 서비스 요청을 송수신한다.
tpcallsvg특정 서버 그룹에 속하는 서비스를 서버와 클라이언트에서 호출한다.
tpcancel응답을 취소한다.
tpcommit전역 트랜잭션을 Commit한다.
tpconnect프로그램이 대화형 서비스 svc와 통신을 연결한다.
tpdeqRQ로부터 데이터를 로드한다.
tpdeq_ctl트랜잭션을 지원하며 RQ로부터 데이터를 로드한다.
tpdiscon대화형 통신의 연결을 종료한다.
tpenqRQ에 데이터를 저장한다.
tpenq_ctl트랜잭션을 지원하며 RQ 데이터를 저장한다.
tperrordetail서버와 클라이언트에서 Tmax 시스템 호출할 때 발생한 오류의 자세한 정보를 얻을 때 사용한다.
tpextsvcinfotpdeq()로 RQ에서 데이터를 읽은 경우, 해당 데이터에 대한 상세한 정보를 제공한다.
tpextsvcnameRQ에 저장된 데이터 중 서비스명을 출력한다.
tpfree유형 버퍼(typed buffer)에 할당된 메모리를 해제한다.
tpget_timeout블록 타임아웃 시간을 반환한다.
tpgetactivesvr현재 활성화되어 있는 서버들의 목록을 조회한다.
tpgetcliaddrTmax 시스템에 접속된 클라이언트 중 clid에 해당하는 클라이언트의 IP와 포트 번호를 얻는 함수이다.
tpgetcliaddr_ipv6Tmax 시스템에 접속된 클라이언트 중 clid에 해당하는 클라이언트의 IP와 포트 번호를 얻는 함수로, IPv6 환경에서 사용한다.
tpgetclidTmax 시스템에 접속된 클라이언트의 번호를 알 수 있는 함수이다.
tpgetctxt현재 컨텍스트를 반환한다.
tpgetenvname이라는 이름으로 등록된 환경변수의 값을 반환한다.
tpgetlev트랜잭션 모드에 있는지의 여부를 확인한다.
tpgetpeername연결된 상대방의 소켓 주소를 얻어오는 함수이다.
tpgetrply비동기적으로 요청한 서비스에 대한 응답을 수신한다.
tpgetsocknameTmax 시스템 내부적으로 사용되는 소켓 주소를 얻는 함수이다.
tpgetsprlist서버 프로세스 단위로 호출을 하기 위하여 해당 서비스가 속한 서버 프로세스의 인덱스를 가져오는 함수이다.
tpgetsvglist해당 서비스가 속하는 서버 그룹과 이 서버 그룹의 COUSIN으로 설정된 서버 그룹들에 대한 정보를 제공한다.
tpgprio요청받은 서비스의 우선순위를 보여주는 함수이다.
tpmcallCOUSIN으로 묶인 모든 서버 그룹 서버의 서비스를 호출한다.
tpmcallx기존 tpmcall()의 확장 기능 제공을 목적으로 하는 함수로, 기존과 달리 COUSIN 서버 그룹의 서비스들로부터 모두 응답을 받을 때까지 기다리는 함수이다.
tpnotify서버에서 지정된 클라이언트에 비요청 메시지를 송신한다.
tppost특정 사건을 발생시키고 메시지를 전달한다.
tpputenv환경변수값을 재설정한다.
tpqstatRQ에 저장된 데이터의 통계를 요청한다.
tpqsvcstatRQ에 저장된 데이터 중 지정한 서비스에 대한 통계를 요청하는 함수로, 현재 RQ에 쌓여 있는 데이터의 통계를 구한다.
tpreallocRQ에 저장된 데이터 건수를 조회한다.
tprecv대화형 통신을 하는 경우 메시지를 수신한다.
tpreissue해당 RQ의 fail 큐에 쌓인 요청 데이터를 다시 Request 큐에 넣어주는 함수이다.
tpscmtCommit 방법을 재설정한다.
tpsend대화형 통신에서 메시지를 송신한다.
tpsetsvctimeout서버에서 사용되는 함수로 서버에 설정되어 있는 서비스 타임아웃 시간을 설정한다.
tpset_timeout블록 타임아웃 시간을 설정한다.
tpsetfd소켓 fd를 UCS 프로세스의 스케줄러에 등록한다.
tpsleep데이터가 도착할 때까지 대기한다.
tpspracalltpgetsprlist()를 통해 얻어온 서버 프로세스의 인덱스 중 특정 프로세스에게 서비스를 호출한다.
tpsprio서비스 요청의 우선순위를 설정한다.
tpsetctxt현재 컨텍스트를 설정한다.
tpstrerror에러 번호에 해당하는 메시지를 출력한다.
tpsubqname서브 큐 번호에 해당하는 큐의 이름을 반환한다.
tpsubscribe특정 사건의 메시지에 대한 요청을 등록한다.
tptypes버퍼의 유형 및 하위 유형에 대한 정보를 조회한다.
tpunsubscribe특정 사건의 메시지에 대한 등록을 해제한다.
tuxgetenv환경변수값을 반환한다.
tuxputenv환경변수를 적용한다.
tuxreadenv파일의 환경변수를 읽어오는 함수이다.
tx_begin전역 트랜잭션을 시작한다.
tx_commit전역 트랜잭션을 Commit한다.
tx_info전역 트랜잭션 정보를 반환한다.
tx_rollback전역 트랜잭션을 Rollback한다.
tx_set_commit_returncommit_return 특성을 설정한다.
tx_set_transaction_controltransaction_control 특성을 control 값으로 설정한다.
tx_set_transaction_timeouttransaction_timeout 특성을 타임아웃 값으로 설정한다.
ulogsync메모리 버퍼의 'ulog'를 파일로 저장한다.
userlog메모리 버퍼에 'ulog'를 저장한다.
UserLog'ulog'를 즉시 파일에 저장한다.
tpremoteconnect리모트와 TCP로 연결하는 함수이다.
tpgetrcahseqnotpgetsvrseqno API와 동일하게 RCAH 프로세스 번호를 반환한다.
tpgetrcainfoRCAH의 스레드 정보를 알려준다.

1.2.2. 서버 함수

이름설명
_tmax_check_licenseAnyLink 및 OpenFrame에서 해당 라이선스가 발급되었는지 체크할 수 있는 함수이다.
_tmax_event_handlerSVRTYPE이 EVT_SVR인 경우 SLOG가 발생하는 경우 호출되는 Callback 함수이다.
_tmax_main사용자 프로그램에 main()이 포함되어 있는 경우 사용한다.
tmadminTmax 시스템 관리 툴인 tmadmin에서 조회할 수 있는 통계정보를 출력한다.
tmax_get_db_passwd현재 Tmax가 접속하고 있는 데이터베이스의 username에 대한 비밀번호를 조회한다.
tmax_get_db_tnsname현재 Tmax가 접속하고 있는 데이터베이스의 tnsname을 조회한다.
tmax_get_db_usrname현재 Tmax가 접속하고 있는 데이터베이스의 username을 조회한다.
tmax_get_svccnt자신이 속한 서버의 서비스 개수를 반환한다.
tmax_get_svclist자신이 속한 서버의 서비스 목록을 가져오기 위한 함수이다.
tmax_is_restartedTmax AP 서버 루틴 내에서 자신이 속한 서버 프로세스가 비정상적으로 종료된 후 재기동되었는지의 여부를 판단할 수 있도록 한다.
tmax_is_xa현재 자신이 속한 서버가 XA인지 NON-XA인지 체크해 주는 함수이다.
tmax_my_svrinfo서버 프로세스의 시스템 설정 정보를 획득한다.
tmgetsmgidSysMaster trace 기능을 지원하기 위한 함수로, 현재 자신의 GID를 얻어오는 함수이다.
tmget_smtrclog로깅 데이터를 구조체 버퍼에 저장한다.
tmget_smtrclog_count데이터의 개수를 반환한다.
tpadvertise서버 프로세스가 제공하는 서비스를 서버에 advertise한다.
tpcancelctx서버 라이브러리 내의 CTX_T 구조체의 내용을 삭제한다.
tpchkclidUCS 프로세스내에서 데이터를 송부하기에 앞서 해당 클라이언트가 정상적으로 접속되어 비요청 데이터를 수신할 수 있는지 판별한다.
tpclrfdUCS 방식 프로세스 내부의 fdset의 소켓 fd를 off시키는 데 사용된다.
tpclrfd_wUCS 방식 프로세스 내부의 writable fdset의 소켓 fd를 off시키는 데 사용되는 함수이다.
tpforward서비스 요청을 또 다른 서비스 루틴으로 전달한다.
tpgetctx서버 라이브러리 내의 CTX_T 구조체의 값을 사용자 변수에 저장한다.
tpgetdbsessionidRM 세션 정보를 얻어오는 함수이다.
tpgetmaxsvr서버 프로세스의 최대 실행 개수를 출력한다.
tpgetmaxuser서버 프로세스가 속한 노드의 최대 동시 접속자 수를 출력한다.
tpgetminsvr서버 프로세스의 최소 실행 개수를 출력한다.
tpgetmynode서버에서 특정 노드명과 노드 번호를 얻는 함수이다.
tpgetmysvgno현재 자신이 속해 있는 서버 그룹의 번호를 알려주는 함수이다.
tpgetmysvrid서버 프로세스 ID를 출력한다.
tpgetnodename서버에서 지정된 노드명을 얻는 함수이다.
tpgetnodeno서버에서 nodename을 가지는 노드의 번호를 얻는 함수이다.
tpgetorgclh해당 클라이언트가 현재 접속되어 있는 CLH 번호를 알아내는 함수이다.
tpgetorgnode해당 클라이언트가 접속된 노드 번호(node number)를 반환한다.
tpgetpeer_ipaddr연결된 상대방의 IP 주소를 출력한다.
tpgetsvcname서비스 인덱스로부터 서비스명을 가져오는 함수이다.
tpgetsvrseqno같은 서버 프로세스들 간의 서버 프로세스에 대한 일련번호를 반환한다.
tpissetfd서버에서 UCS 프로세스에서 소켓 fd로 데이터가 도착했는지를 검사한다.
tpissetfd_wUCS 방식 서버 프로세스의 FDSET을 검사하여 파라미터 값으로 주어진 소켓 fd에 보낼 데이터가 있는지 확인한다.
tpprechkRM의 상태 점검을 위한 사용자 Callback 함수로, tpprechk()는 Tmax 시스템 접속 전에 호출된다.
tpregcb서버에서 UCS 상에서 비동기형 요청에 대한 응답을 받는 루틴을 설정한다.
tprelayUCS 서버 프로세스에서 서비스를 요청한 클라이언트의 정보를 담아서 또 다른 서비스를 요청한다.
tpresumetx현재 중지된 전역 트랜잭션을 재개하는 함수로, 중지된 전역 트랜잭션을 tpresumetx() ,tpsuspendxt()를 통하여 재개시킬 수 있다.
tpreturn서버의 서비스를 종료한다.
tpsavectxUCS 프로세스에서 사용되며 클라이언트의 정보를 내부적으로 관리하도록 한다.
tpscheduleUCS 서버 프로세스에서 데이터의 도착을 기다리는 함수이다.
tpsendtocli지정된 클라이언트에 비요청 메시지를 송신한다.
tpsetdbsessionidUCS 프로세스에서 데이터 도착을 기다리는 함수이다.
tpsuspendtx기존 전역 트랜잭션을 중지하기 위한 함수이다.
tpsvctimeoutUCS 서버 프로세스를 down한다.
tpsvrdoneTmax 서버 프로세스 종료 루틴을 호출한다.
tpsvrdown서버 프로세스를 down한다.
tpsvrinitTmax 서버 프로세스를 초기화한다.
tptsleepTMM으로부터 서버 프로세스 종료 이벤트를 대기한다.
tpunadvertise서버 프로세스가 제공하는 서비스를 서버에서 등록해제(unadvertise)한다.
tpunregcb서버에서 UCS에서 비동기형 요청에 대한 응답을 받는 루틴을 재설정한다.
tpuscheduleUCS 서버 프로세스에서 데이터 도착을 기다리는 함수이다.
tx_close리소스 관리자들과의 연결을 종료한다.
tx_open관련된 리소스 관리자와 연결한다.

1.2.3. 클라이언트 함수

이름설명
gettpurcodeurcode 서비스에 설정된 urcode를 클라이언트에 반환한다.
tpchkunsol함수를 호출할 당시에 서버로부터 비요청 메시지가 있는 경우 해당 메시지를 처리하기 위한 함수를 호출하기 위한 함수이다.
tpend클라이언트에서 Tmax 시스템과의 연결을 해제한다.
tpgethostaddrTmax 클라이언트와 Tmax 시스템에 접속여부를 확인하거나, 접속된 Tmax 시스템의 IP와 포트 번호에 대한 정보를 얻고자 할 때 사용한다.
tpgetunsol클라이언트의 요청없이 일방적으로 전달받은 메시지를 처리한다.
tpinitTmax 시스템에 연결한다.
tpreset현재 접속된 클라이언트 연결을 해제한다.
tpsetunsol비요청 수신 메시지를 처리하는 루틴을 설정한다.
tpsetunsol_flag비요청 메시지 수신 flags를 변경한다.
tpstartTmax 시스템에 연결한다.
tptermTmax 시스템과의 연결을 해제한다.
tptobackupTmax 백업 시스템으로 연결한다.

1.2.4. TCP/IP 게이트웨이 함수

이름설명
chk_extpong_msgPING 체크하는 경우 서버에서 받은 메시지를 체크한다.
reset_extping_msgTCP/IP 게이트웨이에서 PING 메시지 재설정을 위하여 주기적으로 호출되는 함수이다.
set_extping_msg서버에 PING 체크할 때 보낼 메시지를 설정하는 함수로, 리모트 서버에 PING 체크하는 경우 메시지도 함께 설정하여 송수신할 수 있다.

1.2.5. TDL 함수

이름설명
tdlcall최신 버전의 동적 모듈 함수를 호출한다.
tdlcall2최신 버전의 동적 모듈 함수를 호출한다.
tdlcall2s최신 버전의 동적 모듈 함수를 호출한다.
tdlcall2v최신 버전의 동적 모듈 함수를 호출한다.
tdlcallva최신 버전의 동적 모듈 함수를 호출한다.
tdlcallva2최신 버전의 동적 모듈 함수를 호출한다.
tdlcreate최신 버전의 동적 모듈에서 Class Factory를 사용하여 클래스 인스턴스를 생성하는 함수로, TDL 환경 파일(tdl.cfg)에 VERSION=4로 설정된 경우 사용 가능하다.
tdldestroy최신 버전의 동적 모듈에서 Class Factory를 사용하여 클래스 인스턴스를 파괴하는 함수로, TDL 환경 파일(tdl.cfg)에 VERSION=4로 설정된 경우 사용 가능하다.
tdlend명시적 버전 정합성(Explicit Version Consistency) 유지를 종료한다.
tdlerrortdlcall()에 대한 에러가 발생했을 때 문자열 형태로 변환한다.
tdlresume일시적으로 중지된 버전 정합성 유지를 재개한다.
tdlstart명시적 버전 정합성(Explicit Version Consistency) 유지를 시작한다.
tdlsuspend일시적으로 버전 정합성 유지를 중지한다.
tdlgetseqno글로벌 시퀀스 번호를 가져온다.
tdlclose해당 모듈의 레퍼런스 카운트를 0으로 초기화하거나, 모듈을 직접 메모리에서 해제한다.
tdlloadHashtable 검색 및 라이브러리 적재를 tdlcall()을 하기 전에 미리 수행하여 로컬 캐시에 해당 모듈의 정보를 저장한다.
tdlload2Hashtable 검색 및 라이브러리 적재를 tdlcall()을 하기 전에 미리 수행하여 로컬 캐시에 해당 모듈의 정보를 저장한다.
tdlinit공유 메모리를 초기 설정한다.
tdldone공유 메모리를 초기화한다.
tdlfind모듈의 인덱스를 찾는다.
tdlfind2모듈의 인덱스를 찾는다.
tdlstatTDL 통계 정보를 출력한다.
tdlstat2TDL 통계 정보를 출력한다.

1.2.6. Windows 관련 함수

이름설명
WinTmaxAcall멀티 스레드 환경에서의 비동기 서비스의 송신 요청한다.
WinTmaxAcall2멀티 스레드 환경에서의 비동기 서비스의 송신 요청한다.
WinTmaxEndTmax 시스템과 연결을 종료한다.
WinTmaxSend데이터를 송신한다.
WinTmaxSetContextWindows 핸들과 메시지 타입을 설정한다.
WinTmaxStart멀티 Windows 환경에서 Tmax 시스템과 연결하는 데 사용되는 함수이다.

1.2.7. 기타 함수

이름설명
tlog_close트랜잭션 로그를 분석하기 위한 함수 중 하나로, 해당 로그 파일을 닫는 함수이다.
tlog_find해당 트랜잭션 로그 파일에서 entry에 지정된 정보와 매칭(matching)되는 entry를 찾는 함수이다.
tlog_nodenoXID를 이용하여 트랜잭션이 시작된 노드 번호를 찾는 함수이다.
tlog_open트랜잭션 로그를 분석하기 위한 함수로 해당 로그 파일을 불러(open)온다.
UsiginitTmax 시그널 핸들러를 초기화한다.
Usignal사용자 시그널 핸들링에 필요한 매크로 설정에 사용되는 함수로, Windows 시스템 환경에는 사용되지 않는다.
Uunixerr시스템 호출 도중 에러가 발생할 경우 통합된 에러 번호가 설정되는 변수이다.
Uunix_errATMI API 호출이 실패하고 tperrno가 TPEOS로 설정된 경우 시스템 에러의 종류를 stderr로 출력한다.
Ustrerror시스템 에러코드(errno)에 대한 통합 에러 메시지를 반환한다.