Microsoft Word - Tmax HostLink Guide - SNA LU0, SNA LU6.2.doc

Similar documents
Tmax Host-link Guide

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - AnyLink Introduction v3.2.3.doc

API 매뉴얼

The Pocket Guide to TCP/IP Sockets: C Version

bn2019_2

게시판 스팸 실시간 차단 시스템

Microsoft Word - src.doc

API 매뉴얼

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

일반적인 네트워크의 구성은 다음과 같다

C# Programming Guide - Types

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

untitled

[Brochure] KOR_TunA

PowerPoint 프레젠테이션

Tmax

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

PowerPoint Template

ISP and CodeVisionAVR C Compiler.hwp

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Cloud Friendly System Architecture

T100MD+

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft PowerPoint - chap06-2pointer.ppt

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

인디쓔피-IOM핸돜벁닄큐1014pdf, page Preflight ( IOM핸돜벁닄큐__1014 )

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

UI TASK & KEY EVENT

SRC PLUS 제어기 MANUAL

마리오와 소닉 리우 올림픽™

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

C++ Programming

BY-FDP-4-70.hwp

금오공대 컴퓨터공학전공 강의자료

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

SMB_ICMP_UDP(huichang).PDF

adfasdfasfdasfasfadf

The Pocket Guide to TCP/IP Sockets: C Version

0. 들어가기 전

Secure Programming Lecture1 : Introduction

The Pocket Guide to TCP/IP Sockets: C Version

ez-shv manual

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Windows 8에서 BioStar 1 설치하기

PowerPoint 프레젠테이션

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

RHEV 2.2 인증서 만료 확인 및 갱신

DE1-SoC Board

PCServerMgmt7

CPX-E-EC_BES_C_ _ k1

Chapter #01 Subject

PowerPoint 프레젠테이션

1217 WebTrafMon II

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

untitled

Tmax

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

기타자료.PDF

2장 변수와 프로시저 작성하기

OCW_C언어 기초

슬라이드 1

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

(SW3704) Gingerbread Source Build & Working Guide

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - o8.pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

BMP 파일 처리

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

Microsoft Word doc

PowerPoint 프레젠테이션

BSC Discussion 1

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Windows Server 2012

PowerPoint Presentation

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures


Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft Word - release note-VRRP_Korean.doc

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

Microsoft PowerPoint - L4-7Switch기본교육자료.ppt


아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

ez-md+_manual01

초보자를 위한 분산 캐시 활용 전략

03_queue

2009년 상반기 사업계획

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

Install stm32cubemx and st-link utility

chap 5: Trees

Microsoft PowerPoint - e pptx

Frama-C/JESSIS 사용법 소개

Transcription:

Host-Link Manual (SNA LU0, SNA LU6.2)

Copyright 2000 TmaxSoft Co., Ltd. All Rights Reserved 1 Tmax HostLink Guide

Copyright Notice Copyright 2000 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted Rights Legend This software and documents are made available only under the terms of the TmaxSoft License Agreement and may be used or copied only in accordance with the terms of this agreement. No part of this document may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, or optical, without the prior written permission of TmaxSoft Co., Ltd. 소프트웨어및문서는오직 TmaxSoft Co., Ltd. 와의사용권계약하에서만이용이가능하며, 사용권계약에따라서사용하거나복사할수있습니다. 또한이매뉴얼에서언급하지않은정보에대해서는보증및책임을지지않습니다. 이매뉴얼에대한권리는저작권에보호되므로발행자의허가없이전체또는일부를어떤형식이나, 사진녹화, 기록, 정보저장및검색시스템과같은그래픽이나전자적, 기계적수단으로복제하거나사용할수없습니다. Trademarks Tmax, WebtoB, WebT, and JEUS are registered trademarks of TmaxSoft Co., Ltd. All other product names may be trademarks of the respective companies with which they are associated. Tmax, WebtoB, WebT, JEUS 는 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Tmax HostLink Guide-SNA LU0, SNA LU6.2 Document Edition Date Version TMS0-0107-05-400 Jan 7, 2006 Tmax 4.0 Tmax 제품은아래표와같이 Tmax Base, Tmax Standard, Options 으로나누어집니다. 본서는 Tmax Standard 와옵션중에굵게기울임꼴로인쇄되어있는내용을포함하고있습니다. Tmax Base Tmax Standard Tmax Options TP Function (Excluding 2 Phase Commit) TP Function + 2 Phase Commit Web Admin Console, X.25 Gateway, TCP/IP Gateway, Host- Tmax HostLink Guide 2

Link, Power Builder Interface Module, SERIAL Gateway, TCP/IP Service Gateway 3 Tmax HostLink Guide

이책에관하여... Tmax Host-Link Guide 는 Tmax 시스템을이용하여 IBM 호스트와연동시필요한기능과사용방법을설명하고그에따른예제프로그램을포함한다. 이책의독자는 Application 프로그램을개발하기위해 Tmax, Unix C Programming 에대한기본적인지식과 text editror(vi 등 ) 를사용할수있는능력이있어야한다. 누구를위한책인가? 이책은 IBM Host 와 Tmax 가통신할수있도록개발을하는개발자를위해 Host- Link 를좀더알기쉽도록하기위한책이다. Host-Link 의개략적인설명과함께실제로사용하기위해 Host-Link Configuration 파일설정을상세히설명하였으므로보고쉽게 Host-Link 를사용할수있도록하였다. 어떻게사용하는가? 본매뉴얼은크게두부분으로구성되어있으며그내용은다음과같다. 1. Host-Link 란? 2. Host-Link 관리 3. Host-Link 등록방법 4. Host-Link 기능 5. Host-Link Service 6. Host-link 장애대책 각절에서 Host-Link 를사용하는데필요한적절한설명을하고있으므로 Host- Link 에대해알기위해서는처음서부터보면서실제로따라하기바란다. Related publications Tmax Getting Started Guide Tmax Administration Guide Tmax HostLink Guide 4

차례 1 Host-Link 란?... 7 1.1 개념... 7 1.2 Host-Link 구조... 8 1.2.1 구조적관점... 8 1.2.2 기능적관점... 11 1.3 Host-Link 시작과종료... 11 2 Host-Link 관리... 12 2.1 INBOUND 세션... 12 2.2 OUTBOUND 세션... 13 3 Host-Link 등록방법... 15 3.1 Tmax Configuration 파일... 15 SERVER절항목... 15 SERVICE절항목... 16 3.2 Host-Link Configuration 파일... 16 3.2.1 HOSTLINK section... 16 3.2.2 SERVER section... 17 3.2.3 SERVICE section... 23 3.2.4 LOGGING section... 27 3.2.5 CONVERSION section... 29 3.2.6 DUMMYDATA section... 31 3.2.7 USERHEADER section... 32 3.2.8 LUINFO section... 35 4 Host-Link 기능... 39 4.1 세션운영... 39 5 Tmax HostLink Guide

SNA LU 0... 39 SNA LU 6.2... 40 4.2 데이터변환... 40 4.3 데이터 LOGGING... 42 4.4 사용자헤더정의... 43 5 Host-Link Service... 46 5.1 tpcall 서비스... 46 5.2 tpacall 서비스... 47 5.3 tpforward 서비스... 51 5.4 Outbound 서비스... 54 5.5 BID 및 ROP 서비스... 56 6 Host-Link 장애대책... 59 6.1 세션별장애대책... 59 6.2 LINK 라인장애대책... 60 6.3 세션 POOL 장애대책... 61 A 부록 1... 62 B 부록 2... 65 C 부록 3... 68 D 부록 4... 70 Tmax HostLink Guide 6

1 Host-Link 란? 1.1 개념 과거에는호스트를이용하여중앙집중식처리방식으로모든업무를처리하는방식으로호스트를이용하였다. 뿐만아니라현재에도여전히뛰어난안정성을바탕으로많은고객을확보하고있다. 이와더불어호스트기반업무에대한오픈시스템화는기술적혹은경제적인많은어려움을수반한다. 또한서버시스템에대한안정성에대해많은관리자가여전히신뢰하고있지못하는것이현실이다. 하지만서버시스템의전자상거래와같은웹서비스와의통합이요구되고있는점역시새로운시대적요구이다. 따라서오픈시스템구성으로뒷전으로밀리기보다는호스트와의인터페이스확보를통해과거와다름없이서비스를처리하고있다. Host-Link(SNA LU 0 기반 Host-Link) 는호스트 (IBM HOST) 에존재하는기존의애플리케이션서비스혹은신규로작성한서비스를클라이언트 / 서버환경의애플리케이션에서마치클라이언트 / 서버환경의애플리케이션에서제공하는서비스처리방식과동일한방식으로접근할수있도록하는 Gateway 이다. 그림 1-1 Host-Link 개요도 7 Tmax HostLink Guide

Host-Link 는호스트시스템에서제공하는상이한프로토콜에대한접속모듈을제시하여기존의개발된메인프레임코드를수정없이사용할수있도록지원하는등기투자된메인프레임자원에대한활용도를높일수있다. 또한 Tmax 시스템과연동하여메인프레임에서개방형환경으로매끄러운이주를가능하게한다. 더불어유연한애플리케이션로직을구성할수있도록서버시스템내에서동기 / 비동기 / 전달형통신방식을지원하여 Tmax 와연결되어있는클라이언트 / 서버프로그램에서호스트에서제공하는서비스를직접호출할수있거나, 반대로호스트로부터 Tmax 에서제공하는서비스를호출할수있도록지원한다. IBM OS/390 시스템과원활한서비스처리를위하여 Host-Link 는 APPC 및 CPI-C 타입연결을제공할뿐만아니라분산프로그램링크 (Distributed Program Link: DPL) 와분산트랜잭션프로세싱 (Distributed Transaction Processing: DTP) 을지원한다. Host-Link 는서버시스템에존재하는 System Network Architecture( 이후 SNA 라칭함 ) Gateway( 이후 GW 라칭함 ) 를통해서호스트와연결을맺게된다. 따라서서버에는호스트와연결을위한 SNA GW 가설치되어야한다. 예를들어 Solaris 시스템의경우에는 SunLink TM, HP-UX 시스템의경우에는 SNAPlus2, 그리고 AIX 시스템의경우에는 IBM Comm Server 등이설치되어야한다. 이매뉴얼은 SNA LU 0 Type Host-Link 에대하여설명하며호스트와연결을위한 SNA GW 환경설정에대해서는 Host- Link 의이해를돕는차원에서간략하게소개할것이며자세한내용에대해서는해당제품의매뉴얼을참조하기바란다. 1.2 Host-Link 구조 1.2.1 구조적관점 Host-Link 는 Tmax 의 Custom Gateway 방식으로관리된다. 따라서 Host- Link 를실행하기위해서는 Tmax Configuration (Host-Link 등록방법참조 ) 파일에 Custom Gateway 타입으로등록되어야한다. 또한 Host-Link 는서버시스템내에존재하는 SNA GW 와연결을맺고서버시스템내의요청혹은클라이언트의요청을호스트에전달한다. Custom Gateway 방식으로사용됨으로써다음과같은장점을지닌다. Tmax HostLink Guide 8

첫째, CPC 를사용하여다중채널의사용이가능하다. Host-Link 는 Tmax 시스템과다중채널을연결함으로써동시에여러건의업무를처리할수 있다. 이는 Host-Link 와서버시스템의 SNA GW 와다중세션을 연결함으로써가능하다. 둘째, 송신프로세스측면에서유량제어가가능하다. Host-Link 는기본적으로송신프로세스와수신프로세스로나뉜다. Host-Link 와 SNA GW 의세션수보다많은거래가요청되는경우, 초과서비스에대해서송신프로세스내의큐에적체된다. 사용가능한세션이발생되는즉시이세션을통해 FIFO 방식으로서비스를요청한다. 셋째, Tmax 시스템의기동 / 종료와함께동작한다. Host-Link 는 Tmax 시스템의기동과함께기동되며 Tmax 시스템의종료와함께자동적으로종료된다. 넷째, 일반서버프로세스형태로관리가능하다. 일반프로세스는프로세스단위로기동과종료가가능하다. Host-Link 도이와마찬가지로 tmdown/tmboot 명령어를사용하여기동및종료가가능하다. 또한시스템관리툴인 tmadmin 을통해처리건수및평균응답시간등을확인할수있다. 다섯째, 서비스형태로호출가능하다. Host-Link 는환경파일에하나의서비스를갖도록규정된다. 따라서클라이언트혹은서버시스템내에서 Host-Link 를사용하기위해서는 Tmax 시스템내에서다른일반서비스호출방식과동일하게서비스명으로호출할수있다. Host-Link SNA LU 0 는하나의프로세스로실행되나내부적으로다양한처리를수행한다. Host-Link SNA LU 6.2 는두가지형태의 threaded-server 방식으로구현되어있다. 즉 INBOUND 서비스를처리하기위한송신프로세스와 OUTBOUND 서비스를처리하기위한수신프로세스로나뉜다. INBOUND/OUTBOUND 서비스는호스트입장에서명명한것으로서 INBOUND 서비스는서버시스템에서호스트로요청하는형태이며 OUTBOUND 서비스는이와반대로호스트에서서버시스템으로요청하는형태이다. 기본적으로각각의프로세스는내부적으로쓰레드를생성하여서비스를처리한다. 쓰레드는커널레벨쓰레드로서최대 50 개까지생성가능하며각각의쓰레드는한개의 LU 세션을담당한다. 9 Tmax HostLink Guide

만약 50 개이상의세션연결을원하는경우에는별도의프로세스를기동시켜처리할수있다. 아래그림은 Host-Link 를기능별로구분한것을보여준다. Host-Link 는크게 Tmax 서비스요청및응답 Module 과 Host 서비스요청및응답 Module, 세션 Manager Module 로구성되어있다. 그림 1-2 Host-Link 내부구조 Tmax 서비스 Module Tmax 서비스 Module 은 Tmax 시스템과의세션을연결하고이를감시하며, Tmax 클라이언트 / 서버에서요청한서비스를 Host 서비스 Module 에게넘겨주거나, Host 서비스 Module 에서요청한서비스를 Tmax 시스템에서비스를요청하는 Module 이다. 세션 Manager Session Manager 는 Host 와 SNA LU0 또는 SNA LU 6.2 방식으로연결하고, 이를감시하여두시스템간의원활한서비스를수행할수있도록지원하는 Module 이다. Tmax HostLink Guide 10

Host 서비스 Host 서비스 Module 은 Host 에존재하는프로세스에서 Tmax 에서제공하는서비스를요청할경우이를수신하여 Tmax 서비스 Modue 에서넘겨주고, 반대로 Tmax 클라이언트 / 서버에서요청한서비스를 Host 에전송하는 Module 이다 Host-Link 는 Tmax 시스템과유기적인구성으로다양한형태의업무로직구성이가능하다. 즉, 동기 / 비동기 / 전달형통신방식을지원함으로써개발자의요구에맞게서비스를요청할수있으며전달형과같은형태의방식으로도사용될수있다. 통신방식에대해서는페이지관계상언급을피하며좀더자세한내용에대해서는 Tmax C Programming Guide 와 Tmax 백서 프로그래밍모델을참고하기바란다. 1.2.2 기능적관점 Host-Link 는이기종프로토콜에대한투명한접근방법을제공한다. 개발자는 LU 세션을위한기본적인환경설정만지정하여 SNA GW 와 Host-Link 가정상적으로연결될수있도록하면된다. 일단연결이성공적으로이루어지면개발자는 Host-Link 에서제공하는 Naming Service 기능에따라 Host-Link 가제공하는서비스명으로호스트와의서비스를처리할수있다. 또한 Host-Link SNA LU 6.2 의경우호스트에서제공하는 Mirror 를통해서서비스를전달하는 DPL 방식과직접적으로호스트서비스와연결하는 DTP 방식을지원하는등의다양한형태의통신방식을제공한다. INBOUND /OUTBOUND 서비스를모두지원하며 Host-Link 환경파일에지정된내용에따라선택적으로운영가능하다. 1.3 Host-Link 시작과종료 Host-Link 시작과종료는항상 Tmax 시스템과연결되어처리됨으로별도의실행명령이없이 Tmax 에서제공하는시작과종료로 Host- Link 를시작하고종료할수있다. 더자세한 Tmax 의기동및종료는 Tmax Administration Guide 를참조하기바란다. 11 Tmax HostLink Guide

2 Host-Link 관리 Host-Link 는여러개의 Host-Link 프로세스가서로연동하여전체의 Host- Link 시스템을구축한다. 즉, 하나의 Host-Link 시스템에는다수의프로세스가존재하여각각별개의세션을관리하고유지한다. 이렇게 Host-Link 시스템을구분하는단위는 Tmax 시스템 Configuration 파일의 *SERVER 절에등록된수만큼별개의 Host-Link 시스템으로취급한다. 또한하나의 Host-Link 시스템에존재하는프로세스수는 *SERVER 절의 MIN, MAX 항목으로조절할수있다. 하나의 Host-Link 시스템에존재하는모든세션은 Tmax 시스템의모든서버프로세스나클라이언트에서공유할수있다. Host-Link 하나의프로세스는최대하나의 Link 세션에서제공하는세션수만큼세션을가지고있다. 그러므로하나의 Host-Link 프로세스는동시에위에서제한된세션수만큼만서비스를처리한다. 그러나하나의 Host-Link 프로세스에서처리할수있는세션이부족할경우자동적으로처리가능한다른 Host-Link 프로세스로서비스를이전하여처리한다. Host-Link 시스템에서관리하는세션의종류에는크게두가지로구분된다. 첫번째는 INBOUND 세션으로, Tmax 시스템의클라이언트 / 서버프로그램에서 Host 로서비스를요청하는세션이다. 두번째는반대로 Host 에서 Tmax 시스템에서제공하는서비스를요청하는 OUTBOUND 세션이다. 2.1 INBOUND 세션 INBOUND 세션은 Host 로서비스를요청하는세션으로위에서설명한프로세스간세션공유대상이다. OUTBOUND 세션은 Host 에서서비스를요청하는세션이때문에세션을공유할수없다. INBOUND 세션은세션을사용하는방식에따라 Poll 방식과 Dedicate 방식으로운영된다. Pool 방식은현재사용가능한세션으로서비스를요청하는방식이다. Tmax 시스템의로드밸런스에의해서선택한 Host-Link 프로세스로 Tmax HostLink Guide 12

서비스가요청되면 Host-Link 프로세스는현재자신이보유하고있는사용가능한세션을찾아서 Host 로서비스를요청한다. 만약, 사용가능한세션이없을경우에는인접한처리가능한다른 Host-Link 프로세스에게서비스를전달한다. 또한, Pool 방식으로세션을사용할경우세부적으로세션을나눌수가있다. 세션을업무별로분할하여해당업무에서사용하는세션을지정하여서비스를요청할수있다. 이방식으로사용하려면 Host-Link Configuration 파일의사용자헤더를지정하고, 헤더의세션타입을지정하여원하는세션으로서비스를요청한다. Dedicate 방식은세션을특정값으로지정하여지정한값으로세션을찾아서서비스를요청하는방식이다. 이방식은보통단말별로세션을유지하고자할경우에사용한다. 기존의 Host 시스템에서는단말별로세션을유지하여단말에서발생한입출금에대한시제를관리하였다. 이런방식으로사용할경우에단말별로유일한번호를부여하여이번호에해당하는세션으로서비스를요청하는방식이다. 2.2 OUTBOUND 세션 OUTBOUND 세션은반대로 Host 에서서비스를요청하는세션으로위에서설명한프로세스간세션공유대상에서제외된다. 이는 Host 에서사용가능한세션으로일방적으로요청하기때문에세션을공유할수없다. SNA LU 6.2 의 OUTBOUND 세션은 Tmax 시스템에서제공하는서비스를요청하는세션이다. 이세션으로서비스가요청되면 Host-Link 프로세스는 Configuration 파일에등록된방식으로서비스를찾아서 Tmax 시스템에서비스를요청한다. SNA LU 0 의 OUTBOUND 세션은대부분같은기능이나, 좀더세분화하면일반세션, BID 세션, ROP 세션등으로나눌수있다. 일반세션은 INBOUND 세션과같이 Tmax 시스템에서제공하는서비스를요청하는세션이다. 이세션으로서비스가요청되면 Host-Link 프로세스는 Configuration 파일에등록된방식으로서비스를찾아서 Tmax 시스템에서비스를요청한다. 13 Tmax HostLink Guide

BID 세션은업무적으로긴급한메시지를특정지역이나특정사람에게전달하기위하여사용하는세션이다. 이세션으로메시지를받으면 Host- Link 프로세스는일반 OUTBOUND 세션과같이 Configuration 파일에등록된방식으로서비스를찾아서 Tmax 시스템에서비스를요청한다. ROP 세션은 BID 세션으로전달할수없는많은데이터를전달하여출력하는세션이다. 이전에는어떠한문서를다른지역으로전달시우편을이용하였으나이세션을이용하여해당지역의특정단말에데이터를전달하여바로출력할수있다. 이세션도마찬가지로 Configuration 파일에등록된방식으로서비스를찾아서 Tmax 시스템에서비스를요청한다. Tmax HostLink Guide 14

3 Host-Link 등록방법 3.1 Tmax Configuration 파일 기본적인 Tmax Configuration 파일등록방법은 Tmax Administration Guide 를참조하기바란다. 여기서는이미 Tmax Configuration 파일이등록되어있다는가정하에 Host-Link 서버를어떻게등록하는지를보여준다. Host-Link 는 Tmax Configuration 파일에별도의절을가지지않고 *SERVER 절과 *SERVICE 절에추가만하면된다. *SERVER 절에아래와같이등록한다. *SERVER snalugw SVGNAME=svg1, MIN=2, MAX=2, SVRTYPE=CUSTOM_GATEWAY *SERVICE 절에아래와같이등록한다. SNALUGW SVRNAME=snalugw SERVER 절항목 SERVER 절에있는각각의항목에대한설명은 Tmax Administration Guide 를참고하기바란다. *SERVER 절에서버이름으로설정되어있는 snalugw 는 Host-Link 실행파일명이다. 그러므로사용자가임의의이름으로등록할수있다. 사용자가임의의이름으로 Configuration 에등록한후에는반드시 Configuration 의 APPDIR 항목에서지정한 path 에등록한이름으로 Host- Link 프로그램을복사하여야한다. 15 Tmax HostLink Guide

SERVICE 절항목 Host-Link 시스템의서비스명을지정한다. 서비스명은사용자임으로지정할수있고, 지정된서비스명을이용하여클라이언트나 / 서버프로그램에서 Host 에서비스를요청할수있다. 3.2 Host-Link Configuration 파일 Host-Link 시스템를실행하기위해서는많은정보가필요하다. 즉, 서비스정보, 데이터 Logging, 데이터 Conversion, 세션채널사용방식등다양한정보가필요한데이를등록하는파일이 Host-Link Configuration 파일이다. Host-Link Configuration 파일의시작은 8 개의 section 으로구성된다. 이 section 은 HOSTLINK, SERVER, SERVICE, LOGGING, CNVERSION, DUMMYDATA, USERHEADER, LUINFO 이다. 3.2.1 HOSTLINK section HOSTLINK section 은전체적인 Host-Link 의환경을설정하는 section 이다. HOSTLINK section 의기본환경설정형식은다음과같다. Host-Link 이름 TMAX = Y N SHMKEY = shared memory segment 키 각항목에대한자세한설명은다음과같다. Host-Link 이름 ( string, 크기 : 16 자이내 ) TMAX 와연동하여 Host-Link 를운영할것인지, 아니면 Host- Link 만을독립적으로운영할것인지를결정한다. 반드시정의해야하는항목으로현재는 Y 만을지원한다. TMAX = Y N Tmax HostLink Guide 16

TMAX 와연동하여 Host-Link 를운영할것인지, 아니면 Host- Link 만을독립적으로운영할것인지를결정한다. 반드시정의해야하는항목으로현재는 Y 만을지원한다. SHMKEY = numeric ( 범위 : 32768 ~ 262143 ) Host-Link 는내부적인정보들을 shared memory 로서관리한다. 이공유메모리세그먼트 (shared memory segment) 를가리키는값이다. 3.2.2 SERVER section SERVER section 은 Host-Link 서버의환경을설정하는 section 이다. SERVER section 의기본환경설정형식은다음과같다. Server 이름 [HLINKNAME = Host-Link 이름 ] TMAXSVRNAME = 서버이름 TMAXSVRNO = 서버 index SVRTYPE = LU0 LU62S LU62R CTG CICSTCPIP IMSTCPIP [FUNCTION = DPL DTP] [HOSTID = host id] [MSGSIZE = 1024 ~ 32000] [TIMEWAIT = WAIT NOWAIT] [LINKDOWN_TIMEOUT = 1 ~ MAX_INT] [SESSION_TIMEOUT = 1 ~ MAX_INT] [BUFFERING = Y N] [INBOUNDLU = (POOL) DEDICATE] [BIDLU = (POOL) DEDICATE ] [LINKNAME = linkname] [TRXID = 트랜잭션 xid] [HOSTADDR = host ip 주소 ] [HOSTPORT = host port] [LISTENPORT = listen port] [INSESSION = 1 ~ MAX_INT] 17 Tmax HostLink Guide

[OUTSESSION = 1 ~ MAX_INT] [MAXSVR = 1 ~ MAX_INT] [SVRLIST = 서버리스트 ] 각항목에대한자세한설명은다음과같다. Server 이름 ( string, 크기 : 16 자이내 ) 서버이름을설정한다. 이이름은 SERVER section 에서유일해야한다. Server 이름은하나의 Host-Link 프로세스를표시하는 Logical 한이름이다. 만약 Tmax 환경파일에하나의 Host-Link 를서버로등록을한후 MIN, MAX 에각 2 로설정을하였다면 SERVER section 에두개의 Server 가설정되어야한다. HLINKNAME = string ( 크기 : 16 자이내 ) HOSTLINK section 의 Host-Link 이름으로설정한이름을이 항목으로설정한다. TMAXSVRNAME = string ( 크기 : 16 자이내 ) 이항목은 Tmax 환경파일에서설정한 SERVER 절의서버이름을등록한다. TMAXSVRNO = numeric ( 범위 : 1 ~ 99 ) Tmax 환경파일에 MIN, MAX 값을정의하면 00 부터 index 가설정된다. 이렇게설정되는 index 를등록한다. 만약 Tmax 환경파일의 SERVER 절에 MIN, MAX 값을각 2 로설정하였다면 index 는 00 과 01 이있을수있게된다. 이값은항상동일한 Server 이름내에서유일해야한다. 더자세한사항은 4.1 세션운영을참고하도록한다. Tmax HostLink Guide 18

SVRTYPE = LU0 LU62S LU62R CTG CICSTCPIP IMSTCPIP Host 와의통신시프로토콜의종류를설정한다. 현재 LU0, LU62S, LU62R, CTG 만이설정가능하다. HLINKNAME = string ( 크기 : 16 자이내 ) HOSTLINK section 의 Host-Link 이름으로설정한이름을이 항목으로설정한다. FUNCTION = DPL DTP function 을 call 하는방식을설정하는항목으로서 SVRTYPE 항목을 LU62S 로설정한경우만해당된다. DPL 또는 DTP 로설정할수있다. HOSTID = string ( 크기 : 4 자이내 ) Host-Link 가해당 Host 와세션을연결하기위하여 initself 데이터를 Host 로전송하는데, 이때 Host-Id 가 initself 데이터에포함된다. 이항목을통하여세션을맺고자하는 Host 의 HOSTID 를입력하면 Host-Link 프로세스는해당 Host 와세션을연결한다. MSGSIZE = numeric ( 범위 : 1 ~ MAX_INT ) Host-Link 항목이다. 와클라이언트 / 서버사이에사용자헤더를지정하는 TIMEWAIT = WAIT NOWAIT Tmax 클라이언트 / 서버에서 timeout 이발생했을때, 해당세션을끊고다시세션을시작할것 (NOWAIT 로설정한경우 ) 인지아니면해당세션을그대로쓸것 (WAIT 로설정한경우 ) 인지를 19 Tmax HostLink Guide

설정하는항목이다. LINKDOWN_TIMEOUT = numeric ( 범위 : 1 ~ MAX_INT ) Host-Link 와 Host 간의 Link Lane 이끊어졌을때 Link Lane 이 Active 한지 check 하는시간간격을설정한다. SESSION_TIMEOUT = numeric ( 범위 : 1 ~ MAX_INT ) 세션이끊어졌을때세션이 Active 한지 check 하는시간간격을설정한다. BUFFERING = Y N 이설정은 Pool 방식으로세션을사용할때적용된다. Host-Link 프로세스가여러개기동되어있을때 Tmax 클라이언트 / 서버에서 request 가들어오면하나의 Host-Link 에더이상사용가능한세션이없는경우, 다른 Host-Link 프로세스에게 request 를넘기게된다 (N 으로설정된경우 ). 그러나이항목을 Y 로설정하면하나의 Host-Link 프로세스에게더이상사용가능한세션이없는경우, 가능한세션이생길때까지다른 Host-Link 프로세스로 request 가넘어가지않고기다리게된다. INBOUNDLU = POOL DEDICATE Host-Link 에서세션을운용할수있는방식을지정하는항목이다. Host 로데이터를전송할경우특정세션으로전송할것이지, 아니면 Idle 한아무세션으로전송할것인지를지정하는항목이다. 이항목은 Host 로서비스를요청할경우에만사용한다. 세션운용을 POOL 로지정하면 Host-Link 시스템은현재세션이정상적으로연결되어있는것중에서 Round-Robin 방식으로세션을찾아서데이터를전송한다. 그러나 DEDICATE 방식으로지정하면 USERHEADER section 의 WSNAMEPOS 와 WSNAMESIZE 로정의한위치의길이값으로해당세션을찾아서데이터를전송한다. Tmax HostLink Guide 20

BIDLU = POOL DEDICATE Host 로부터일방적으로수신하는 BID 데이터를특정세션으로수신할것인지아니면아무세션으로라도수신할것인지를지정하는항목이다. POOL 로지정하면 Host 와연결된세션중어느세션으로도 BID 데이터를수신받을수있다. 그러나 DEDICATE 로지정하면 BID 데이터를수신받을특정세션을지정하여해당세션으로만 BID 데이터를수신받을수있다. 만약, DEDICATE 로지정하고지정된세션이아닌다른세션으로 BID 데이터가수신되면해당 BID 데이터는버려지게된다. LINKNAME = string ( 크기 : 16 자이내 ) 하나의 Host-Link 프로세스가두개이상의 LINKNAME 을관리할수없다. 이 LINKNAME 은 Host 와통신하고자할때물리적으로연결된이름이다. 이이름은 sna d l 명령을통하여확인할수있다. Host-Link 는이항목에서지정한 LINKNAME 이 Active 인경우에만서비스를수행한다. 만약 LINKNAME 이 Active 가아니면 Host- Link 프로세스를 tmadmin 으로확인하면 NOT-READY 로나타난다. TRXID = string ( 크기 : 4 자이내 ) 트랜잭션 id 를설정한다. 이트랜잭션 id 는프로그램이름과함께 Host 측의서비스를찾기위한 id 로사용된다. INSESSION = numeric ( 범위 : 0 ~ MAX_INT ) LU0 의경우이값은 0 으로설정한다. 0 이외의다른값을설정하더라도내부적으로다시설정되므로무의미하다. LU6.2 의경우 LU62R 의세션값을설정한다. 이항목의값과 OUTSESSION 값의합은 LUINFO section 의 SESSION 항목과 21 Tmax HostLink Guide

같아야한다. CTG 는 Host 로부터 Host-Link 로요청이들어오는경우는없으므로이값은 0 으로설정한다. OUTSESSION = numeric ( 범위 : 0 ~ MAX_INT ) LU0 의경우이값은 0 으로설정한다. 0 이외의다른값을설정하더라도내부적으로다시설정되므로무의미하다. LU6.2 의경우 LU62S 의세션값으로설정한다. 이항목의값과 OUTSESSION 값의합은 LUINFO section 의 SESSION 항목과 같아야한다. CTG 의경우이값은 Host 와맺을세션값을설정한다. MAXSVR = numeric ( 범위 : 1 ~ MAX_INT ) SVRTYPE 에 CTG 로설정한경우에해당하는것으로서 Tmax 환경파일에서 MIN, MAX 값으로설정한값을이항목에서설정한다. 이렇게설정하면 Host-Link 프로세스가기동하면서 OUTSESSION 에서설정한세션개수를각 Host-Link 프로세스에서연결을맺으며기동된다. 아래의항목들은 CICSTCPIP 또는 IMSTCPIP 에서사용되는것으로현재는무의미한항목이다. HOSTADDR = literal ( 크기 : 255 자이내 ) Host 주소를설정한다. HOSTPORT = numeric ( 범위 : 1 ~ MAX_INT ) Host port 를설정한다. LISTENPORT = numeric ( 범위 : 1 ~ MAX_INT ) Tmax HostLink Guide 22

listen 하고있는 port 를설정한다. SVRLIST = string ( 크기 : 256 이내 ) CICS 서버이름을,( 콤마 ) 를구분자로정의한다. 3.2.3 SERVICE section SERVICE section 은 SERVER 의 BID 서비스, ROP 서비스, OUT 서비스, TCL 서비스등을설정하는 section 이다. SERVICE section 의기본환경설정형식은다음과같다. Server 이름 [BIDSVCNAME = BID svc name] [BIDSVCPOS = 1 ~ MAX_INT] [BIDSVCSIZE = 1 ~ 15] [ROPSVCNAME = ROP svc name] [ROPSVCPOS = 1 ~ MAX_INT] [ROPSVCSIZE = 1 ~ 15] [OUTSVCNAME = outsvc name] [OUTSVCPOS = 1 ~ MAX_INT] [OUTSVCSIZE = 1 ~ 15] [RLYSVCNAME = relay svc name] [RLYSVCPOS = 1 ~ MAX_INT] [RLYSVCSIZE = 1 ~ 15] [TCLSVCNAME = tclsvc name] [TCLSVCPOS = 1 ~ MAX_INT] [TCLSVCSIZE = 1 ~ 15] 각항목에대한자세한설명은다음과같다. Server 이름 ( string, 크기 : 16 자이내 ) SERVER section 에서설정한서버이름을지정한다. BIDSVCNAME = string ( 크기 : 16 자이내 ) 23 Tmax HostLink Guide

Host 에서강제로전송한 BID 데이터를처리할 Tmax 시스템의서비스명을등록하는항목이다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. BIDSVCPOS = numeric ( 범위 : 1 ~ MAX_INT ) BID 데이터를처리할서비스를 BID 데이터중특정위치에서가져올것인지를지정하는항목이다. 이항목에지정한위치에서가져온서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 이항목을지정하면 BIDSVCNAME 항목에서정의한서비스명은사용하지않는다. BIDSVCSIZE = numeric ( 범위 : 1 ~ MAX_INT ) BID 데이터를처리할서비스를 BID 데이터중특정위치에서가져올때, 서비스명의길이를지정하는항목이다. ROPSVCNAME = string ( 크기 : 16 자이내 ) Host 에서특정단말에접속한프린터에전송한데이터를처리할 Tmax 시스템의서비스명을등록하는항목이다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. ROPSVCPOS = numeric ( 범위 : 1 ~ MAX_INT ) ROP 데이터를처리할서비스를 ROP 데이터중특정위치에서가져올것인지를지정하는항목이다. 이항목에지정한위치에서가져온서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 이항목을지정하면 ROPSVCPOS 항목에서정의한서비스명은사용하지않는다. 이에대한자세한사항은 4.4 사용자헤더정의를참고하도록한다. Tmax HostLink Guide 24

ROPSVCSIZE = numeric ( 범위 : 1 ~ MAX_INT ) ROP 데이터를처리할서비스를 ROP 데이터중특정위치에서가져올때, 서비스명의길이를지정하는항목이다. OUTSVCNAME = string ( 크기 : 16 자이내 ) Host 로부터요청한데이터를처리할 Tmax 시스템의서비스명을등록하는항목이다. Host-Link 는 OUTSVCPOS 항목을등록하지않고이항목만등록하면 Host 로부터요청한모든데이터는이항목에서정의한서비스로요청된다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. OUTSVCPOS = numeric ( 범위 : 1 ~ MAX_INT ) Host 로부터요청한데이터를처리할서비스를 OUTBOUND 데이터중특정위치에서가져올것인지를지정하는항목이다. 이항목에지정한위치에서가져온서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 이항목을지정하면 OUTSVCNAME 항목에서정의한서비스명은사용하지않는다 OUTSVCSIZE = numeric ( 범위 : 1 ~ MAX_INT ) OUTBOUND 데이터를처리할서비스를 OUTBOUND 데이터중특정위치에서가져올때, 서비스명의길이를지정하는항목이다. RLYSVCNAME = string ( 크기 : 16 자이내 ) 25 Tmax HostLink Guide

tpforward 로 Host-Link 서비스를호출할경우에 Host-Link 시스템은처리결과를항상 Relay 서비스로연계한다. Flags 에 TPNOREPLY 값을주는것과관계없이 Host-Link 시스템은 Host 로서비스를요청하고응답으로받은데이터를이항목에서정의한서비스로 tprelay 하게된다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 만약이항목이설정된경우라하더라도 RLYSVCPOS 와 RLYSVCSIZE 항목이설정되었다면이항목은무시된다. 그러나사용자헤더에 Relay 할서비스가설정되었더라도이항목이설정되면, 사용자헤더의서비스명은무시되고이항목의값이쓰이게된다. RLYSVCPOS = numeric ( 범위 : 1 ~ MAX_INT ) tpforward 로 Host-Link 서비스를호출하고 Host 로부터받은응답데이터중에서 tprelay 할서비스명을찾을위치를지정하는항목이다. 이항목을지정하면 RLYSVCNAME 항목에서정의한서비스명은사용하지않는다. 이항목과 RLYSVCSIZE 항목에서서비스명을지정하였다면다른어느곳에서지정한서비스명보다우선하여처리된다. RLYSVCSIZE = numeric ( 범위 : 1 ~ MAX_INT ) tprelay 할서비스명을 Host 로부터받은응답데이터중에서찾을때서비스명의길이를지정하는항목이다. TCLSVCNAME = string ( 크기 : 16 자이내 ) Tmax HostLink Guide 26

tpacall 에 flag 값을 TPNOREPLY 로 Host-Link 를호출한경우 Host-Link 는 Host 로서비스를요청하고응답으로받은데이터를처리할수가없다. 이때이항목을정의하면 Host-Link 는정의한서비스로 tpacall 하게된다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 만약이항목이설정된경우라하더라도 TCLSVCPOS 와 TCLSVCSIZE 항목이설정되었다면이항목은무시된다. 그러나사용자헤더에 Relay 할서비스가설정되었더라도이항목이설정되면, 사용자헤더의서비스명은무시되고이항목의값이쓰이게된다. TCLSVCPOS = numeric ( 범위 : 1 ~ MAX_INT ) tpacall 에 flag 값을 TPNOREPLY 로 Host-Link 를호출하고 Host 로부터받은응답데이터중에서 tpacall 할서비스명을찾을위치를지정하는항목이다. 이항목을지정하면 TCLSVCNAME 항목에서정의한서비스명은사용하지않는다. 이항목과 TCLSVCSIZE 항목에서서비스명을지정하였다면다른어느곳에서지정한서비스명보다우선하여처리된다. TCLSVCSIZE = numeric ( 범위 : 1 ~ MAX_INT ) tpcall 할서비스명을 Host 로부터받은응답데이터중에서찾을때서비스명의길이를지정하는항목이다. 3.2.4 LOGGING section LOGGING section 은 Host 와송수신하는모든데이터를지정한파일로 저장하거나, 또는 지정한 서비스를 호출할 수 있도록 해 주는 section 이다. LOGGING section 의기본환경설정형식은다음과같다. Log 남길서버이름 [LOGPATH = log path] 27 Tmax HostLink Guide

[LOGTYPE = (HEX) TEXT] [LOGSVC = log 서비스이름 ] 각항목에대한자세한설명은다음과같다. Log 남길서버이름 ( string, 크기 : 16 자이내 ) 이항목은 log 를남길서버를설정하는항목으로서 SERVER 절에지정한서버이름을이항목에설정한다. 이렇게설정되면해당서버는 log 를파일로남기거나, LOGSVC 로지정한서비스를호출할수있게된다. LOGPATH = string ( 크기 : 16 자이내 ) Host-Link 시스템은송수신데이터를지정한파일에 Logging 할수있다. 이항목은파일에데이터를출력하기위하여 path 와파일명을지정하는항목이다. 이항목을절대경로 (/ 로시작되는경로 ) 로정의하면그경로를그대로사용하게되고, 상대경로 (/ 로시작되지않는경로 ) 로정의하면 TMAX 의 LogDir 디렉토리아래상대경로에 log 파일이남게된다. 이에대한더자세한사항은 4.3 데이터 LOGGING 을참고하기바란다. 만약이항목과 LOGSVC 항목이같이정의된경우이 LOGPATH 항목은무시된다. 또한이항목이정의되어있는상태에서 LOGTYPE 이정의되지않는다면 logging 은되지않는다. LOGTYPE = (HEX) TEXT Tmax HostLink Guide 28

데이터를 logging 할때 어떤 형식으로 할 것인지 지정하는 항목이다. HEX 는출력데이터를 HEX 값으로출력하는형식이고 TEXT 는데이터를한나인으로출력하는형식이다. 디폴트는 HEX 형식으로출력한다. 만약이항목만정의를하고 LOGPATH 를정의하지않은경우 Log 남길서버이름으로 log 파일이생기게된다. LOGSVC = string ( 크기 : 16 자이내 ) 송수신데이터를 Logging 시 Host-Link 시스템에서제공하는파일에하지않고사용자가작성한서비스로하고자할경우지정하는항목이다. 이항목을지정하면 Host-Link 시스템은특정헤더를추가하여데이터와같이서비스를호출한다. 이항목에등록한서비스명은반드시 Tmax 시스템에등록된이름이어야한다. 3.2.5 CONVERSION section CONVERSION section 은해당하는 Server 의데이터변환을수있도록해주는 section 이다. CONVERSION section 의기본환경설정형식은다음과같다. Server 이름 [INBOUND = Y (N)] [INBOUND_KOR = Y (N)] [INBOUND_SKIP = 1 ~ MAX_INT] [OUTBOUND = Y (N)] [OUTBOUND_KOR = Y (N)] [OUTBOUND_SKIP = 1 ~ MAX_INT] [MAPPATH = map path] 각항목에대한자세한설명은다음과같다. Server 이름 ( string, 크기 : 16 자이내 ) 29 Tmax HostLink Guide

SERVER section 에서정의한 Server 이름을설정한다. INBOUND = Y (N) 이항목을 Y 로설정하면 Host-Link 는 IBM Host 로전송하는모든데이터를 ASCII 를 EBCDIC, 완성형한글을조합형한글로변환한다. 한글변환시 ASCII 는 2 Bytes 중첫번째 Byte 의첫 bit 가 1 로되어있으면이를한글로인식하는데 IBM Host 는한글시작과끝을가리키는문자를두어서한글인지 EBCDIC 코드인지를판단한다. 이런방식으로한글을관리하다보니 Host-Link 에서한글을변환할때한글시작과끝문자가추가된다. 예를들어홍길동을변환하면 0x0e 홍길동 0x0f 으로변환된다. 그러나홍길동을변환하면 0x0e 홍 0x0f + space + 0x0e 길 0x0f + space + 0x0e 동 0x0f 로변환된다. INBOUND_KOR = Y (N) 항목은코드변환시한글은변환하지않고 ASCII 를 EBCIDC 로만변환할것인지를지정하는항목이다. INBOUND_SKIP = numeric ( 범위 : 1 ~ MAX_INT ) 이항목은코드변환시특정 Bytes 를제외하고변환할경우에사용하는항목이다. 데이터에 Hex 데이터가포함된경우이를 Skip 하기위하여사용하는항목이다. OUTBOUND = Y (N) Tmax HostLink Guide 30

이항목은항목은 INBOUND 항목과반대로 EBCDIC 를 ASCII 로, 조합형한글을완성형한글로변환한다. 한글시작과끝을가리키는문자는 Space 로변환된다. OUTBOUND 항목을 TRUE 로설정하면 IBM Host 에서수신한모든데이터를변환한다. 예를들어 0x0e 홍길동 0x0f 을홍길동 +space+space 로변환된다. OUTBOUND_KOR = Y (N) 이항목은코드변환시한글은변환하지않고 EBCDIC ASCII 로만변환할것인지를지정하는항목이다. 를 OUTBOUND_SKIP = numeric ( 범위 : 1 ~ MAX_INT ) 이항목은코드변환시특정 Bytes 를제외하고변환할경우에사용하는항목이다. 데이터에 Hex 데이터가포함된경우이를 Skip 하기위하여사용하는항목이다. MAPPATH = literal ( 크기 : 255 자이내 ) Host-Link 와 Host 가통신하기위해서는각서비스에서처리하는 format 으로데이터를주고받아야한다. 이각 format 을정의하는파일의경로를정의하는항목이다. 3.2.6 DUMMYDATA section DUMMYDATA section 은 Host 로부터수신한데이터가 0 이거나데이터중의특정값이설정된경우 dummy 데이터로간주하도록설정해주는 section 이다. DUMMYDATA section 의기본환경설정형식은다음과같다. Server 이름 [ZEROSIZE = (Y) N] DUMMYPOS = dummy position DUMMYVAL = dummy value 각항목에대한자세한설명은다음과같다. 31 Tmax HostLink Guide

Server 이름 ( string, 크기 : 16 자이내 ) SERVER section 에서정의한 Server 이름을설정한다. ZEROSIZE = (Y) N Host 로부터수신한데이터의길이가 Zero Byte 인경우에사용하는항목이다. 이항목을 Y 로하면 Host 에서 Zero Byte 가수신되어도응답으로간주하고 Host-Link 시스템의서비스를호출한클라이언트에응답을전송한다. 그러나이항목의값을 N 로하면 Zero Byte 가수신된경우해당데이터는무시된다. DUMMYPOS = numeric ( 범위 : 1 ~ MAX_INT ) Host 로부터수신한데이터를 Host-Link 시스템의서비스를호출한클라이언트로무조건전송하지않고특정지정한값일경우에는이데이터를무시하고자할경우에사용하는항목이다. 이항목은무시하고자하는값이있는특정위치를지정하는항목이다. 이항목을지정하지않으면모든수신된데이터는클라이언트로전달된다. DUMMYVAL = numeric ( 범위 : 1 ~ MAX_INT ) 위의 DUMMY_DATA_POS 에서지정한위치의값과비교할값을입력하는항목이다. 이항목에서지정한값은 Ebcdic 코드로변환하여비교한다. 3.2.7 USERHEADER section USERHEADER section 은 Host-Link 와클라이언트 / 서버사이에사용자헤더를지정해주는 section 이다. USERHEADER section 의기본환경설정형식은다음과같다. Server 이름 [HSIZE = 0 ~ 512] [SVCPOS = 1 ~ HSIZE - 1] [SVCSIZE = 1 ~ 16] Tmax HostLink Guide 32

[LUTYPEPOS = 1 ~ HSIZE - 1] [LUTYPESIZE = 1 ~ 8] [LUNAMEPOS = 1 ~ HSIZE - 1] [LUNAMESIZE = 1 ~ 8] [WSNAMEPOS = 1 ~ HSIZE - 1] [WSNAMESIZE = 1 ~ 8] [ERRCODEPOS = 1 ~ HSIZE - 1] [ERRCODESIZE = 1 ~ 4] [TIMEWAITPOS = 1 ~ HSIZE - 1] 각항목에대한자세한설명은다음과같다. Server 이름 ( string, 크기 : 16 자이내 ) SERVER section 에서정의한 Server 이름을설정한다. HSIZE = numeric ( 범위 : 0 ~ 512 ) 이항목을사용하여사용자는원하는길이의헤더를정할수있다. Host-Link 는이헤더데이터를보관하였다가 Host 로부터응답을수신하면해당헤더데이터를앞에추가하여클라이언트나 / 서버로응답을, 전송한다. 또한 Host 로부터요청한서비스나 BID 데이터를수신받을경우에도이헤더를앞에추가하여지정한서비스를호출하게된다. 세션운용을 Dedicate 방식으로운용할경우에는이헤더를반드시지정하여야한다. 이헤더데이터중에서세션을찾을정보를가져오기때문이다. 이항목의값을 Zero 로지정하면다음에따라오는항목에서값을지정하여도무시된다. SVCPOS = numeric ( 범위 : 1 ~ HSIZE - 1) 사용자헤더데이터중에서서비스명의위치를지정하는항목이다. tpacall 에 TPNOREPLAY 나 tpforward 로 Host-Link 를호출하고 Host 로부터응답을수신하면 Host-Link 는이위치에지정한서비스명으로서비스를호출하게된다. 사용자가필요에따라서연계서비스를바꾸고자하는경우에사용한다. 33 Tmax HostLink Guide

SVCSIZE = numeric ( 범위 : 1 ~ 16) 사용자헤더데이터중에서서비스명의길이를지정하는항목이다. LUTYPEPOS = numeric ( 범위 : 1 ~ HSIZE 1 ) 이항목은 Host-Link 시스템이데이터를 Host 로전송할때업무별로구분된세션중특정세션의위치를지정하는항목이다. 하나의 Host-Link 에속한많은세션을업무별로구분하여사용할경우에사용한다. LUTYPESIZE = numeric ( 범위 : 1 ~ 8 ) 이항목은 Host-Link 시스템이데이터를 Host 로전송할때업무별로구분된세션중특정세션의길이를지정하는항목이다. LUNAMEPOS = numeric ( 범위 : 1 ~ HSIZE - 1) 이항목은 Host-Link 시스템이클라이언트 / 서버에게요청한서비스를송수신한세션의위치를지정하는항목이다. 그러므로사용자가이항목에서지정한위치에어떤값을넣어도 Host- Link 는사용하지않는다. LUNAMESIZE = numeric ( 범위 : 1 ~ 8 ) 이항목은 Host-Link 시스템이클라이언트 / 서버에게요청한서비스를송수신한세션의길이를지정하는항목이다. WSNAMEPOS = numeric ( 범위 : 1 ~ HSIZE - 1) 이항목은 Host-Link 시스템이세션운용을 Dedicate 방식으로사용할경우에만사용한다. 특정세션으로데이터를송수신하기위하여사용자가세션의위치를지정할수있도록하는항목이다. Tmax HostLink Guide 34

WSNAMESIZE = numeric ( 범위 : 1 ~ 8 ) 특정세션으로데이터를송수신하기위하여사용자가세션의길이를지정할수있도록하는항목이다. ERRCODEPOS = numeric ( 범위 : 1 ~ HSIZE - 1) 이항목은 Host-Link 시스템이 Host 로서비스를요청할때오류가발생하거나, 또는 Timeout 으로응답을수신받지못할경우에클라이언트 / 서버에게오류코드를전달하기위하여사용하는항목으로서오류코드가있는위치를설정하는값이다. Host-Link 는이항목에지정한위치에 ERRCODESIZE 항목에서설정한길이의오류코드를문자로변환하여응답한다. ERRCODESIZE = numeric ( 범위 : 1 ~ 4 ) ERRCODEPOS 와함께쓰이는항목으로서오류코드의길이를설정하는항목이다. TIMEWAITPOS = numeric ( 범위 : 1 ~ HSIZE - 1) 이항목은 TIMEOUT 이났을때세션을끊고다시시작할것인지 (NOWAIT) 그세션을그대로사용할것인지 (WAIT) 를설정한위치를설정한다. 3.2.8 LUINFO section Host-Link 시스템은 SNA LU0 로 Host 와세션을연결할경우에는세션에대한정보가필요하다. 이 LUINFO section 은세션정보를지정해주는 section 이다. LUINFO section 의기본환경설정형식은다음과같다. lu 이름 SVRNAME = Server 이름 [HOSTID = host id] [WSNAME = ws name] [DIRECTION = INBOUND OUTBOUND] 35 Tmax HostLink Guide

[LUTYPE = lu type] [FQPLUNAME = partner-fully qualified lu name] [TPNAME = Host 와세션을연결하기위한 LU 이름 ] [MODENAME = 세션용도 ] [SYNCMODE = NONE CONFIRM SYNCPT] [SESSION = 1 ~ 50] 각항목에대한자세한설명은다음과같다. lu 이름 ( string, 크기 : 8 자이내 ) LU0 세션이름을지정한다. SVRNAME = string ( 크기 : 16 자이내 ) LU0 세션이맺어지는 Server 이름을지정한다. HOSTID = string ( 크기 : 4 자이내 ) 이항목은해당세션이속한 Host ID 이다. WSNAME = literal ( 크기 : 8 자이내 ) 이항목은 Host-Link 가세션을 Dedicate 방식으로사용할경우특정세션을지정하고자할경우에사용하는항목이다. 사용자는특정세션으로데이터를송수신하고자할경우이항목에정의한값을사용자헤더정보에저장하고해당위치를 USERHEADER section 의 WSNAMEPOS 와 WSNAMESIZE 항목에지정하면해당세션으로데이터를송수신할수있다. 그러나세션사용방식이 Pool 이면이항목의값은의미가없다. DIRECTION = INBOUND OUTBOUND 이세션이 INBOUND 인지 OUTBOUND 인지를설정하는항목이다. Tmax HostLink Guide 36

LUTYPE = string ( 크기 : 8 자이내 ) 이항목은각각의세션을용도별로구분하는항목이다. INBOUND 세션일경우에는사용자가원하는값을입력하고, Host- Link Configuration 의 USERHEADER section 의 LUTYPEPOS 와 LUTYPESIZE 항목에서지정하는위치에이항목에서지정하는 Type 중하나를입력하면된다. OUTBOUND 세션은 3 가지로나누어진다. 첫째는 Host 에서먼저서비스를요청하는일반세션 (NORMAL), Host 로부터강제메시지를전달하기위한 BID 세션, 특정단말의프린터에데이터를전송하는 ROP 세션으로구분된다. FQPLUNAME = literal ( 크기 : 17 자이내 ) 이항목 (partner-fully qualified lu name) 은 Host-Link LU6.2 의경우해당되는것으로 Host-Link 가세션을 Dedicate 방식으로사용할경우특정세션을지정하고자할경우에사용하는항목이다. 사용자는특정세션으로데이터를송수신하고자할경우이항목에정의한값을사용자헤더정보에저장하고해당위치를 USERHEADER section 의 WSNAMEPOS, WSNAMESIZE 항목에지정하면해당세션으로데이터를송수신할수있다. 그러나세션사용방식이 Pool 이면이항목의값은의미가없다. TPNAME = string ( 크기 : 64 자이내 ) Host-Link LU 6.2 는이 LU 명으로 Host 와세션을연결한다. 그러므로세션정보파일에는반드시하나이상의 LU 명등록되어있어야한다. MODENAME = string ( 크기 : 8 자이내 ) 이항목은 Host-Link LU6.2 의경우해당되는것으로각각의세션이어떤용도로사용할것인지를지정하는항목이다. 세션의종류에는 Host 로서비스를요청하는 INBOUBND 세션, Host 로부터서비스를요청하는 OUTBOUND 세션으로나눌수 37 Tmax HostLink Guide

있다. 이항목에정의한값에따라서 Host-Link 는해당세션을관리하고사용한다. SYNCMODE = NONE CONFIRM SYNCPT 이항목은 Host-Link LU6.2 의경우해당되는것으로각각의세션이끊어질때상대편 TP 로버퍼에쌓인데이터를 flush 할것인지 (SYNCPT), 아니면 flush 한후세션이끊긴다는것을알릴것인지 (CONFIRM) 를설정한다. NONE 으로설정하면기본적으로 SYNCPT 값이설정된다. SESSION = numeric ( 범위 : 1 ~ MAX_INT) 이항목은 lu 항목이다. 하나에설정될수있는세션개수를정의하는 LU0 의경우는 lu 하나당하나의세션만을맺을수있으므로 1 로설정할수있다. 그러나 LU6.2 의경우는 lu 하나당여러개의세션을맺을수 있으므로여기서그개수를설정할수있다. 또한 LU6.2 의경우 이항목에서설정한값은 SERVER section 의 INSESSION 과 OUTSESSION 값의합과동일해야한다. Tmax HostLink Guide 38

4 Host-Link 기능 4.1 세션운영 SNA LU 0 Host-Link 는 IBM Host 와 LU0 Type 으로연결한다. 이연결된세션을이용하여 Host 에존재하는서비스를요청할수도있고, 반대로 Host 에서 Tmax 시스템에있는서비스도요청할수있다. 이때 Tmax 클라이언트 / 서버에서 Host 에서비스를요청할때세션을사용하는방식이있는데 Pool 방식과 Dedicate 방식이다. *SERVER snalugw00... INBOUNDLU=POOL, BIDLU=DEDICATE,... INBOUND 를 Pool 방식으로세션을운용할경우에 Host-Link 는현재연결된세션중에서 Round Robin 방식으로 Host 에서비스를요청한다. 그러나 Dedicate 방식은사용자가특정한세션을지정하여 Host 로서비스를요청하는방식이다. 위의 Host-Link Configuration 파일에서정의한방식은 Poll 방식으로세션을운용한다. BID 데이터 (ROP 데이터포함 ) 도특정세션으로받거나모든세션으로 BID 데이터를받을수있다. Host-Link Configuration 의 SERVER section 의 BUDLU 항목은 BID 데이터를수신할때모든세션으로수신할것인지, 또는특정세션으로수신할것인지를지정하는항목이다. Pool 로지정하면 BID 데이터는모든세션으로받을수있고, Dedicate 지정하면특정한세션으로 BID 데이터를받을수있다. 39 Tmax HostLink Guide

SNA LU 6.2 참고로 OUTBOUND 는 2.2 OUTBOUND 세션에서설명한대로세션공유대상에서제외되기때문에 Dedicate 방식만을사용할수있다. Host-Link 는 IBM Host 와 LU6.2 Type 으로연결한다. 이연결된세션을이용하여 Host 에존재하는서비스를요청할수도있고, 반대로 Host 에서 Tmax 시스템에있는서비스도요청할수있다. 이때 Tmax 클라이언트 / 서버에서 Host 에서비스를요청할때세션을사용하는방식이있는데 DPL 방식과 DTP 방식이다. *SERVER snalusgw00... FUNCTION=DPL W... 4.2 데이터변환 Host-Link 에서의데이터변환은 SNA LU0, SNA LU 6.2 모두동일하다. 클라이언트 / 서버에서사용하는 Code 는 ASCII 이고, IBM Host 에서사용하는코드는 EBCDIC 이다. 또한대부분의클라이언트나 / 서버는완성형한글을사용하나 IBM 는 2 Bytes 조합형을사용하는경우가많다. 이렇게서로다른코드를 Host-Link 에서변환하도록지정할수있다. *CONVERSION snalugw00 INBOUND=Y, INBOUND_KOR=N, INBOUND_SKIP=50, OUTBOUND=N, OUTBOUND_KOR=N, OUTBOUND_SKIP=55,... INBOUND 항목을 Y 로설정하면 Host-Link 는 IBM Host 로전송하는모든데이터를 ASCII 를 EBCDIC, 완성형한글을조합형한글로변환한다. 한글변환시 ASCII 는 2 Bytes 중첫번째 Byte 의첫 bit 가 1 로되어있으면이를한글로인식하는데 IBM Host 는한글시작과끝을가리키는 Tmax HostLink Guide 40

문자를두어서한글인지 EBCDIC 코드인지를판단한다. 이런방식으로한글을관리하다보니 Host-Link 에서한글을변환할때한글시작과끝문자가추가된다. 예를들어홍길동을변환하면 0x0e 홍길동 0x0f 으로변환된다. 그러나홍 길동을변환하면 0x0e 홍 0x0f + space + 0x0e 길 0x0f + space + 0x0e 동 0x0f 로변환된다. INBOUND_KOR 항목은코드변환시한글은변환하지않고 ASCII 를 EBCDIC 로만변환할것인지를지정하는항목이다. INBOUND 항목을 Y 로설정한후 INBOUND_KOR 항목을 Y 로설정하면한글까지도변환을하게된다. 만약 INBOUND 항목을 N 로설정한후 INBOUND_KOR 항목을 Y 로설정하여도한글 ( 물론 ASCII 데이터도변환되지않는다 ) 을 EBCDIC 코드로변환하지않는다. INBOUND_SKIP 항목은코드변환시특정 Bytes 를제외하고변환할경우에사용하는항목이다. 데이터에 Hex 데이터가포함된경우이를 Skip 하기위하여사용하는항목이다. OUTBOUND 항목은 INBOUND 항목과반대로 EBCDIC 를 ASCII 로, 조합형한글을완성형한글로변환한다. 한글시작과끝을가리키는문자는 Space 로변환된다. OUTBOUND 항목을 Y 로설정하면 IBM Host 에서수신한모든데이터를변환한다. 예를들어 0x0e 홍길동 0x0f 을홍길동 +space+space 로변환된다. OUTBOUND_KOR 항목은코드변환시한글은변환하지않고 EBCDIC 를 ASCII 로만변환할것인지를지정하는항목이다. OUTBOUND 항목을 Y 로설정한후 OUTBOUND_KOR 항목을 Y 로설정하면한글까지도변환을하게된다. 만약 OUTBOUND 항목을 N 로설정한후 OUTBOUND_KOR 항목을 Y 로설정하여도한글 ( 물론 ASCII 데이터도변환되지않는다 ) 을 EBCDIC 코드로변환하지않는다. OUTBOUND_SKIP 항목은코드변환시특정 Bytes 를제외하고변환할경우에사용하는항목이다. 데이터에 Hex 데이터가포함된경우이를 Skip 하기위하여사용하는항목이다. 41 Tmax HostLink Guide

4.3 데이터 LOGGING 데이터 Logging 은 SNA LU 0, SNA LU 6.2 모두동일하다. Host-Link 는 Host 와송수신하는모든데이터를지정한파일로저장하거나, 또는지정한서비스를호출할수있다. 데이터를 Logging 하고자할경우에는반드시 LOGTYPE 항목을지정해야한다. 다른 LOGPATH 나 LOGSVC 항목만등록하고 LOGTYPE 항목을지정하지않으면데이터에대한 Logging 은이루어지지않는다. 또한 Logging 서비스명이등록되어있을경우에는패스항목이등록되어있어도무조건서비스를호출한다. 데이터 Logging 은하나의서비스요청에대해서두지점의데이터를저장한다. 첫번째는 Host-Link 에서 Host 로전송하기직전데이터, 두번째는 Host 에서수신한데이터를 Logging 한다. 디폴트는 No Logging 모드이다. *LOGGING snalu0gw00 LOGPATH=aaa, LOGTYPE=HEX, LOGSVC=LOGSVC LOGPATH 항목은 Logging 하고자하는 Directory 나파일을지정하는항목이다. 첫문자가 / 로시작하지않으면 Host-Link 는 Tmax 시스템에서정의한 ULOGDIR 항목에정의한 path 로부터시작한다. Tmax 환경파일의 NODE 절에 ULOGDIR= /home/tmax/log/ulog 로정의하고 Host-Link 환경파일의 LOGGING section 에서 LOGPATH= test 로하면 Logging 파일은 /home/tmax/log/ulog/test_ 서버 index. 현재시간 파일에 Logging 파일을저장한다. LOGPATH 항목의마지막문자가 / 로끝나거나지정하지않으면기본적으로 Logging 파일명은 ULOGDIR/ 자신의실행프로세스명 _ 서버 index. 현재시간 으로만들어진다. LOGTYPE 항목은데이터를 Logging 할때어떤형식으로할것인지를지정하는항목이다 Tmax HostLink Guide 42

LOGGING_TYPE 를 HEX 로지정하면 Logging 데이터는아래와같다. HOSTLINK HOST Length[70] time[14:10:58.375] 00000000 e3f1c9d8 c3e5c840 40d3f0f5 f8f3f740...@@...@ 00000010 40f9f1f0 4040f0f0 f0f04040 40404040 @...@@...@@@@@@ 00000020 40e5c8e3 f5f0f040 d3404080 80808080 @...@.@@... 00000030 a040f4f5 f9f9f5f0 f4f0f0f8 f0f8f3f9.@... 00000040 f0f91ed5 1e0d... HOST HOSTLINK Length[70] time[14:10:58.376] 00000000 e3f1c9d8 c3e5c840 40d3f0f5 f8f3f740...@@...@ 00000010 40f9f1f0 4040f0f0 f0f04040 40404040 @...@@...@@@@@@ 00000020 40e5c8e3 f5f0f040 d3404080 80808080 @...@.@@... 00000030 a040f4f5 f9f9f5f0 f4f0f0f8 f0f8f3f9.@... 00000040 f0f91ed5 1e0d... LOGTYPE 를 HTEXT 지정하면 Logging 데이터는아래와같다. HOSTLINK HOST Length[70] time[14:11:35.446] 蜃춧?@ 到沖綵 @@ 亢?@ 拙拙 @@@@@@@ 瀁辰拙 @?@ 淙淙蔡琮 -?? 逮桁春替 HOST HOSTLINK Length[70] time[14:11:35.446] 蜃춧?@ 到沖綵 @@ 亢?@ 拙拙 @@@@@@@ 瀁辰拙 @?@ 淙淙蔡琮 -?? 逮桁春替 LOGSVC 항목은특정한 Logging 관련서비스명을등록하는항목이다. 이항목을등록하면 Host-Link 프로세스에서는 Logging 을하지않고해당서비스로 Logging 을넘긴다. 서비스 Logging 시 Host-Link 프로세스는지정한 Logging 헤더폼으로서비스를호출한다. 해당폼은 Tmax 시스템의 usrinc/hlinkapi.h 에 LOGHEADER 로정의되어있다. 4.4 사용자헤더정의 사용자헤더정의부분은 SNA LU 0, SNA LU 6.2 모두동일하다. 43 Tmax HostLink Guide

Host-Link 시스템은 Tmax 시스템의클라이언트 / 서버와데이터를주고받을때특정한헤더를정의할수가있다. Host-Link 는이헤더를 Host 로전송하지않고보관하였다가 Host 에서응답을수신하면수신한데이터에이헤더를추가하여응답한다. 사용자헤더를지정하면 INBOUND 데이터뿐만아니라 OUTBOUND 데이터수신시에도사용자헤더를추가하여서비스를호출한다. 또한이헤더데이터중에특별한용도로사용할수있도록 Configuration 파일에정의할수있다. *USERHEADER snalu0gw00 HSIZE=41, <-- user total header size SVCPOS=1, SVCSIZE=15, <-- user defined svc name position <-- user defined svc name length LUTYPEPOS=16, <-- inbound lu type position LUTYPESIZE=7, <-- inbound lu type length LUNAMEPOS=23, <-- output only, lu name position LUNAMESIZE=7, <-- output only, lu name length WSNAMEPOS=30, <-- only INBOUNDLU is DEDICATE WSNAMESIZE=7, <-- only INBOUNDLU is DEDICATE ERRCODEPOS=37,<-- output only ERRCODESIZE=3,<-- output only TIMEWAITPOS=40<-- time wait position HSIZE 항목은사용자가정의한전체헤더 Size 를정의한다. 이항목이 Zero 이면뒤에따라오는항목에어떤값을정의하더라도무시된다. SVCPOS 와 SVCSIZE 항목은사용자가정의한헤더중에서서비스명이있는위치를정의하는항목이다. 이항목을통해서 Host-Link 는 tpacall 이나 tpforward 를이용하여다른서비스로연계하고자할때사용한다. tpacall 이나 tpforward 를이용하여다른서비스로연계하고자할때는다음의네가지방법에의하여연계할서비스명을가져오게된다. SERVICE section 의 RLYSVCPOS 와 RLYSVCSIZE 을정의하여 Host 로부터받은데이터에서서비스명을가져오는것 Tmax HostLink Guide 44

SERVICE section 의 RLYSVCNAME 을 정의하여 서비스명을 가져오는것 TPGWINFO_T 의 svc 멤버에서정의한서비스명을가져오는것. USERHEADER section 에서 SVCPOS 와 SVCSIZE 를통하여 tprelay 를받을서비스명을가져오는것. 서비스연계와관련된자세한사항은 5.2 tpacall 서비스와 5.3 tpforward 서비스를참조하기바란다. LUTYPEPOS 와 LUTYPESIZE 항목은 Host 로데이터를전송할때 Host 와연결된세션을사용하는데, 각각의세션마다용도나업부별로구분하였을경우해당세션을찾기위해사용하는항목이다. LUNAMEPOS 와 LUNAMESIZE 항목은 Host-Link 에서응답을줄때어떤세션을통해서서비스를요청했는지를알려주기위해서사용하는항목이다. WSNAMEPOS 와 WSNAMESIZE 항목은세션운용을 Dedicate 방식으로운용할경우사용자가특정세션을지정하기위해서사용하는항목이다. Host-Link 는이항목에서지정한위치의값으로세션을찾아서해당세션으로서비스를요청한다. ERRCODEPOS 와 ERRCODESIZE 항목은 Host-Link 에서 Host 로서비스를요청할오류가발생하면오류코드를저장할위치를지정하는항목이다. 여기서 ERRCODESIZE 는 4 보다작아야한다. TIMEWAITPOS 항목은 TIMEOUT 이났을때세션을끊고다시시작할것인지 (NOWAIT) 그세션을그대로사용할것인지 (WAIT) 를설정한위치를설정한다. 45 Tmax HostLink Guide

5 Host-Link Service Host-Link 시스템은 Tmax 시스템에서제공하는기본적인서비스인 tpcall, tpacall, tpforward 등을제공한다 (INBOUND). 대화형모드인 tpconnect, tpsend, tprecv 는사용할수없다. 또한, Host-Link 시스템은 Host 에서 Tmax 시스템에존재하는서비스를호출할수있는방식을지원한다 (OUTBOUND). Host 에서강제로 Host-Link 시스템의특정세션에 Message 를전달할수있는기능이있는데이를 BID 나 ROP 라고한다. Host-Link 시스템은 BID 나 ROP 데이터를수신하면 Host-Link Configuration 파일 SERVICE section 에정의한 BID 나 ROP 서비스를호출한다. 5.1 tpcall 서비스 tpcall 서비스는 Tmax 시스템의다른서버프로세스에서제공하는서비스와동일하게사용할수있는서비스이다. Host-Link 시스템은일반서버프로세스와다르게 CPC 를사용하여동시에여러건의서비스를처리할수있다. 즉 CPC 를 5 를주었을경우 Host-Link 는동시에 5건의서비스를처리할수있다. Tmax HostLink Guide 46

그림 5-1 tpcall 서비스 클라이언트 / 서버에서 Tmax Configuration 서비스호출 에서정의한 Host-Link Host-Link 는해당 Host 에서제공하는프로그램에데이터전송 Host 1는해당서비스를처리하고결과를 Host-Link 에응답 Host-Link 는해당응답데이터를 2 서비스를호출한클라이언트 / 서버에응답 3 5.2 tpacall 서비스 tpacall 의경우에는두가지가있는데서비스를요청하고응답을받는서비스가있고, 서비스만요청하고응답을받지않는경우가있을수있다. 첫번째방법은응답을받는경우로 tpcall 서비스와동일하게처리된다. 그러나두번째방법은 Host-Link 에서 Host 의응답을수신할경우다른 47 Tmax HostLink Guide

서비스로연계할수있다. 사용자가 Host-Link Configuration 정의에따라서다른서비스로 tpacall 할수있다. 이경우 Host-Link 는응답을받지않는모드로서비스를요청한다. 서비스요청후응답수신 그림 5-2 tpacall 서비스 ( 서비스요청후동일서비스응답수신 ) 클라이언트 / 서버에서 Tmax Configuration 서비스호출 에서정의한 Host-Link Host-Link 는해당 IBM Host 에서제공하는프로그램에데이터전송 Host 는해당서비스를처리하고결과를 Host-Link 에응답 Host-Link 는해당응답데이터를서비스를호출한클라이언트 / 서버에응답 서비스요청후다른서비스연계 Tmax HostLink Guide 48

이런기능을이용하기위해서는 tpacall 시 flag 값에 TPNOREPLY 값을주고서비스를호출하고, 또한 Host-Link Configuration 파일에아래와같이연계서비스를정의하면된다. *SERVICE snalu0gw00 TCLSVCNAME=TPACALL_RECV, # defaule svc name SVCPOS=0, SVCSIZE=10,... 위와같이 TCLSVCPOS 와 TCLSVCSIZE 을정의하면 Host-Link 는 Host 에서수신한데이터중처음부터 10 번째까지의데이터를서비스명으로인식하여서비스를호출하게된다. TCLSVCPOS 와 TCLSVCSIZE 를정의하지않으면 (TCLSVCPOS=0, TCLSVCSIZE=0) TCLSVCNAME 에정의한서비스명으로호출한다. 또한, 사용자가 Host-Link 서비스를호출할때사용자헤더정보를통해서도서비스명을전달할수있다. *USERHEADER snalu0gw00 HSIZE=100, # user total header size HSVCPOS=1, # user defined svc name position HSVCSIZE=10, # user defined svc name size LUNAMEPOS=11, # output only LUNAMESIZE=10,# output only WSNAMEPOS=21, # only INBOUNDLU is DEDICATE WSNAMESIZE=10,# only INBOUNDLU is DEDICATE ERRCODEPOS=31,# output only ERRCODESIZE=4,# output only TIMEWAITPOS=1 # WAIT or NOWAIT value position 이경우 Host-Link 는연계서비스명을찾는순서는다음과같다. SERVICE section 의 TCLSVCPOS 와 TCLSVCSIZE 을정의하여 Host 로부터받은데이터에서서비스명을가져오는것 SERVICE section 의 TCLSVCNAME 을 정의하여 서비스명을 가져오는것 TPGWINFO_T 의 svc 멤버에서정의한서비스명을가져오는것. 49 Tmax HostLink Guide

USERHEADER section 에서 SVCPOS 와 SVCSIZE 를통하여 tprelay 를받을서비스명을가져오는것. 위의 4 가지의방법을 Host-Link Configuration 에모두정의하지않으면 Host 에서수신한응답데이터는버린다. 그림 5-3 tpacall 서비스 ( 서비스요청후타서비스응답수신 ) 클라이언트 / 서버에서 Tmax Configuration 서비스호출 에서정의한 Host-Link Host-Link 는해당 IBM Host 에서제공하는프로그램에데이터전송 Host 는해당서비스를처리하고결과를 Host-Link 에응답 Host-Link 는 Configuration 에정의된서비스호출 Tmax HostLink Guide 50

5.3 tpforward 서비스 tpforward 서비스도두가지가있는데, 첫번째방법은 tpforward 시 flag 값에 TPNOREPLY 값을주지않고 Host-Link 서비스를호출하는방법이고, 두번째는 TPNOREPLY 값을주고 Host-Link 서비스를호출하는방법이다. TPNOREPLY 없이서비스요청 이서비스는서버프로그램에서만호출할수있는서비스이다. 처리방식은 tpcall 서비스호출방식과비슷하다. 이방식은 Tmax 시스템 3.5 버전에서는아래와같이동작하나 Tmax 시스템 3.8 부터는 Flags 에 TPNOREPLY 값을주는것에관계없이항상 TPNOREPLY 값을주는것처럼동작한다. 그림 5-4 tpforward 서비스 (NOREPLY 없이서비스요청 ) 클라이언트 / 서버에서 Tmax Configuration 서비스호출 에서정의한 Host-Link 51 Tmax HostLink Guide

Host-Link 는해당 IBM Host 에서제공하는프로그램에데이터전송 Host 는해당서비스를처리하고결과를 Host-Link 에응답 Host-Link 는 TPFORWARD 서비스를호출한클라이언트응답전송 TPNOREPLY 값을주고서비스요청 이서비스는 tpacall 의서비스연계방식과같은것이다. 서버프로세스에서 tpcall 로 Host-Link 시스템의서비스를호출하면해당서버프로세스는 Host-Link 시스템의서비스에서응답을수신할때까지 Block 상태로된다. 이런단점을보완하기위하여송신과수신서비스로분리하고송신서비스는 Host-Link 시스템에 tpforward 로서비스를호출하고서비스를종료한다. Host-Link 시스템은 Host 로부터응답을수신하면수신서비스를호출하여응답을처리할수있도록하는방식이다. Tmax 시스템 3.5 에서는연계서비스를이용하기위해서는반드시 Flags 에 TPNOREPLY 값을주어야하나, Tmax 시스템 3.8 부터는 Flags 값은사용하지않고항상 tpforward 로요청한서비스는연계서비스로간주한다. 수신처리서비스를찾는방식은 tpacall 의연계서비스와같다. *SERVICE snalu0gw00... #RLYSVCNAME=TPACALL_RECV, # defaule svc name RLYSVCPOS=1, # svcname position RLYSVCSIZE=10, # max length 16... 이방식으로서비스를요청하면 Host-Link 시스템이 Host 로서비스를요청하다가오류가발생하면이때 Host-Link 는 RLYSVCPOS, RLYSVCSIZE 항목에정의한서비스로오류를전달한다. RLYSVCPOS, RLYSVSIZE 에서정의한서비스는서비스를시작하기전에반드시서비스데이터정상인지오류인지를판단하여야한다. 판단할수잇는방법은 tpurcode 가 Zero 보다크면오류가발생한것이고, 그렇지않으면정상적인데이터이다. Tmax HostLink Guide 52

만약 RLYSVCPOS, RLYSVCSIZE 가정의되어있지않다면 RLYSVCNAME 에정의한서비스로오류를전달한다. 또한, 사용자가 Host-Link 서비스를호출할때사용자헤더정보를통해서도오류를전달할서비스명을설정할수있다. *USERHEADER snalu0gw00 HSIZE=100, # user total header size HSVCPOS=1, # user defined svc name position HSVCSIZE=10, # user defined svc name size... 이경우 Host-Link 는연계서비스명을찾는순서는다음과같다. RVICE section 의 RLYSVCPOS 와 RLYSVCSIZE 을정의하여 Host 로부터받은데이터에서서비스명을가져오는것 SERVICE section 의 RLYSVCNAME 을 정의하여 서비스명을 가져오는것 TPGWINFO_T 의 svc 멤버에서정의한서비스명을가져오는것. USERHEADER section 에서 SVCPOS 와 SVCSIZE 를통하여 tprelay 를받을서비스명을가져오는것. 53 Tmax HostLink Guide

그림 5-5 tpforward 서비스 (NOREPLY 로서비스요청 ) 클라이언트 / 서버에서 Tmax Configuration 서비스호출 에서정의한 Host-Link Host-Link 는해당 Host 에서제공하는프로그램에데이터전송 Host 는해당서비스를처리하고결과를 Host-Link 에응답 Host-Link 는 Configuration 에정의된서비스호출로 Relay 5.4 Outbound 서비스 Outbound 서비스는서비스시작이 Host 에서부터이루어지는것으로 Host 에서 Tmax 시스템에존재하는서비스를호출하여그처리결과를받는형태의서비스이다. Tmax HostLink Guide 54

이서비스의경우 Tmax 시스템에서제공하는서비스명을찾는방식은두가지가있다. *SERVICE snalu0gw00... #OUTSVCNAME=OUTBOUND, # defaule svc name OUTSVCPOS=0, # outsvc position OUTSVCSIZE=10, # max length 16... *USERHEADER snalu0gw00... ERRCODEPOS=1, #reponse error position ERRCODESIZE=4, # max length 4... 위와같이 Host-Link Configuration 를정의하면 Host-Link 는 OUTSVCPOS, OUTSVCSIZE 항목에서정의한위치에서서비스명을찾아서서비스를호출한다. OUTSVCPOS, OUTSVCSIZE 항목을정의하지않으면모든 Outbound 데이터는 OUTSVCNAME 항목에서정의한서비스를호출한다. 항목 ERRCODEPOS 와 ERRCODESIZE 는 Tmax 시스템에서제공하는서비스가없거나또는비정상적으로종료된경우오류를전송하기위해서사용하는항목이다. 오류데이터는 Host 로부터수신받은데이터중 ERRCODEPOS 항목에정의한위치의 ERRCODESIZE 만큼의사이즈에값을넣어서 Host 로응답하게된다. 55 Tmax HostLink Guide

그림 5-6 OUTBOUND 서비스 Host 에서 Host-Link 로서비스요청 Host-Link 는 Configuration 파일에정의한것에따라 Tmax 시스템의서비스호출 Tmax 시스템서비스를처리하고그결과를 Host-Link 에응답 Host-Link 는응답데이터를 Host 에전송 5.5 BID 및 ROP 서비스 Outbound 서비스는처리결과를반드시 Host 로전송해야하나 BID 데이터는 Host 로부터수신만받고응답을하지않는형태의서비스이다. BID 데이터는보통 Host 에서특정세션이나또는모든세션에강제메시지를보내기위하여사용한다. Tmax HostLink Guide 56

이서비스도경우 Tmax 시스템에서제공하는서비스명을찾는방식은두가지가있다. *SERVICE snalu0gw00... #BIDSVCNAME=BIDSVC, BIDSVCPOS=1, # defaule svc name # svcname position BIDSVCSIZE=10, # max length 16 #ROPSVCNAME=ROPSVC, ROPSVCPOS=11, #default svc name #svcname position ROPSVCSIZE=10, # max length 16... BID 및 ROP 관련 Host-Link Configuration 를위와같이정의하면 Host- Link 는 BIDSVCPOS, BIDSVCSIZE(ROP 서비스인경우 ROPSVCPOS, ROPSVCSIZE) 항목에서정의한위치에서서비스명을찾아서서비스를호출한다. BIDSVCPOS, BIDSVCSIZE(ROP 서비스인경우 ROPSVCPOS, ROPSVCSIZE) 항목을정의하지않으면모든 BID 데이터는 BIDSVCNAME (ROP 서비스인경우 ROPSVCNAME) 항목에서정의한서비스를호출한다. 57 Tmax HostLink Guide

Tmax HostLink Guide 58 그림 5-7 BID, ROP 서비스

6 Host-Link 장애대책 Host-Link 는 Tmax 시스템에서제공하는장애대책을기본적으로따른다. 또한 Host-Link 는 Host 와연결된세션에대한장애대책을가지고있다. Host-Link 장애대책은크게 3 가지로나눌수있다. 첫째는세션을대한장애대책이다. 특정세션이비정상적으로 Inactive 되었을경우 Host-Link 프로세스는해당세션을주기적으로 Host 와다시연결을시도한다. 둘째는 Link 라인에대한장애대책이다. 하나의 Host-Link 프로세스는하나의 Link 라인만을관리하는데, 해당 Link 라인이 Inactive 되었을경우, 주기적으로해당 Link 라인이 Active 되었는지를감시하여, 해당 Link 이 Active 되었으면이에속한모든세션을 Host 와연결을시도한다. 셋째는하나의 Host-Link 프로세스는최대 256 개의세션을관리하는데, 여러개의 Host-Link 프로세스를하나의 Pool 개념으로사용할수있다. 이때요청한서비스를수행하는 Host-Link 프로세스에사용할수있는세션이없을경우에는다른사용가능한세션을보유한 Host-Link 프로세스로데이터를전달한다. 6.1 세션별장애대책 세션별장애대책은 Host-Link 프로세스가관리하는특정세션이 Inactive 되었을경우이를다시 Host 와정상적인세션으로연결하는것이다. Host-Link 프로세스는특정세션이 Inactive 되었다는것을감지했을경우먼저 SNA 서버와세션을종료하고다시처음세션을맺는절차에따라서 Host 와연결을시도한다. 각각의절차마다일정한타임아웃을두었기때문에반복해서위와같은시도를하여도시스템에는부하가없다. SNA 서버와세션을종료한다. 59 Tmax HostLink Guide

SNA 서버에세션을초기화한다. Host 에세션정보를전송한다. Host 로부터 Bind 수신을수신하면정상적으로세션이연결된것이고, 그렇지않으면일정한시간이경과된이후에 3 번부터다시반복한다. 정상적인세션으로등록한다. 6.2 LINK 라인장애대책 하나의 Link 라인에는최대 256 개의세션을연결할수있다. Link 라인이 Inactive 되면해당 Link 라인에속한모든세션은 Host 와연결이종료된다. Host-Link 프로세스는먼저 Tmax 시스템으로부터스케줄을받지않게하기위하여 Tmax 시스템과연결을종료한다. 그런이후에일정한시간간격으로 (Default 60 초 ) Link 라인이정상적으로 Active 되었는지를감시한다. Link 라인정상적으로 Active 되면 link 라인에속한세션중하나만 Host 와연결을시도하여, 정상연결되면모든세션을 Host 와연결한다. 그런이후에 Tmax 시스템과연결하여다시스케줄링에참여한다. Tmax 시스템과연결을잠시종료한다. SNA 서버와세션을종료한다. Link 라인을감시한다. Link 라인이정상적으로연결되면세션중하나만연결을시도한다. 하나의세션이 Host 로부터 Bind 를수시하면모든세션을 Host 와연결한다. Tmax 시스템과다시연결하여스케줄링에참여한다. Tmax HostLink Guide 60

6.3 세션 POOL 장애대책 Host-Link 시스템은 Tmax 시스템에서버프로세스로등록된다. 서버프로세스등록시 MIN, MAX 항목을이용하여여러개의 Host-Link 프로세스를실행시키고각프로세스에서관리하는모든세션을하나의 Pool 처럼사용할수있다. 이때서버절에등록한하나의서버를 Host- Link 시스템이라고한다. 즉, 하나의 Host-Link 시스템에는여러개의 Host-Link 프로세스가속할수있다. 서버절에또다른 Host-Link 를등록한경우에는별개의 Host-Link 시스템으로취급한다. Host-Link 시스템에속한하나의 Host-Link 프로세스는최대 256 개의세션만을관리하기때문에 256 개이상의서비스를동시에요청하면 256 개이상넘는서비스는처리할수가없다. 해당 Host-Link 프로세스에서사용가능한세션이없을경우에자신이속한 Host-Link 시스템에서사용가능한세션을찾아서, 이를관리하는 Host-Link 프로세스에게데이터를전달하여서비스를수행한다. 61 Tmax HostLink Guide

A 부록 1 Host-Link SNA LU 0 프로세스를실행하는데필요한전체 Configuration 예제이다. *HOSTLINK aaa SHMKEY=98765, TMAX=Y *SERVER snalu0gw00 SVRTYPE=LU0, HOSTID="X3", MSGSIZE=8192, TIMEWAIT=WAIT, LINKDOWN_TIMEOUT=60, SESSION_TIMEOUT=300, BUFFERING=YES, INBOUNDLU=DEDICATE, BIDLU=DEDICATE, LINKNAME=AAA *SERVICE snalu0gw00 BIDSVCNAME=BIDSVC, BIDSVCPOS=1, BIDSVCSIZE=10, ROPSVCNAME=BIDSVC, ROPSVCPOS=1, ROPSVCSIZE=10, OUTSVCNAME=OUTBOUND, OUTSVCPOS=1, OUTSVCSIZE=10, OUTERRPOS=20, OUTERRVAL="0001", Tmax HostLink Guide 62

RLYSVCNAME=BIDSVC, RLYSVCPOS=1, RLYSVCSIZE=10, TCLSVCNAME=BIDSVC, TCLSVCPOS=1, TCLSVCSIZE=10 *LOGGING snalu0gw00 LOGPATH=aaa, LOGTYPE=HEX, LOGSVC=AAA *CONVERSION snalu0gw00 INBOUND=YES, INBOUND_KOR=YES, INBOUND_SKIP=50, OUTBOUND=YES, OUTBOUND_KOR=YES, OUTBOUND_SKIP=50 *DUMMYDATA snalu0gw00 ZEROSIZE=YES, DUMMYPOS=1, DUMMYVAL="xxxx" *USERHEADER snalu0gw00 HSIZE=20, SVCPOS=1, SVCSIZE=10, LUTYPEPOS=2, LUTYPESIZE=6, LUNAMEPOS=2, LUNAMESIZE=8, WSNAMEPOS=10, WSNAMESIZE=8, ERRCODEPOS=1, ERRCODESIZE=4, 63 Tmax HostLink Guide

TIMEWAITPOS=1 *LUINFO TLU015 TLU016 TLU017 TLU018 TLU019 svrname=snalu0gw00, HOSTID=I9, WSANME="A000001", LUKIND=INBOUND, LUTYPE=i svrname=snalu0gw00, HOSTID=I9, WSANME="A000002", LUKIND=OUTBOUND, LUTYPE=BID svrname=snalu0gw00, HOSTID=I9, WSANME="A000002", LUKIND=OUTBOUND, LUTYPE=NORMAL svrname=snalu0gw00, HOSTID=I9, WSANME="A000002", LUKIND=OUTBOUND, LUTYPE=ROP svrname=snalu0gw00, HOSTID=I9, WSANME="A000002", LUKIND=OUTBOUND, LUTYPE=ROP Tmax HostLink Guide 64

B 부록 2 Host-Link SNA LU 6.2 프로세스를실행하는데필요한전체 Configuration 예제이다. *HOSTLINK aaa SHMKEY=98765 *SERVER sna62rgw00 sna62sgw00 SVRTYPE=LU62R, MSGSIZE=8192 SVRTYPE=LU62S, MSGSIZE=8192, FUNCTION=DPL *SERVICE sna62rgw00 sna62sgw00 OUTSVCNAME=BIDSVC, OUTSVCPOS=1, OUTSVCSIZE=10 RLYSVCNAME=BIDSVC, RLYSVCPOS=1, RLYSVCSIZE=10, TCLSVCNAME=BIDSVC, TCLSVCPOS=1, TCLSVCSIZE=10 *LOGGING sna62rgw00 sna62sgw00 LOGPATH=aaa, LOGTYPE=HEX, LOGSVC=AAA LOGPATH=aaa, LOGTYPE=HEX, LOGSVC=AAA 65 Tmax HostLink Guide

*CONVERSION sna62rgw00 sna62sgw00 INBOUND=YES, INBOUND_KOR=YES, INBOUND_SKIP=50, OUTBOUND=YES, OUTBOUND_KOR=YES, OUTBOUND_SKIP=50 INBOUND=YES, INBOUND_KOR=YES, INBOUND_SKIP=50, OUTBOUND=YES, OUTBOUND_KOR=YES, OUTBOUND_SKIP=50 *DUMMYDATA sna62rgw00 sna62sgw00 DUMMYPOS=0, DUMMYVAL="xxxx" DUMMYPOS=0, DUMMYVAL="xxxx" *USERHEADER sna62rgw00 sna62sgw00 HSIZE=20 HSIZE=20 *LUINFO TLU015 TLU016 TLU017 TLU018 svrname=sna62rgw00, PLUNAME="KMTNET.CICSD3", SESSION=20 svrname=sna62rgw00, PLUNAME="KMTNET.CICSD3", SESSION=20 svrname=sna62rgw01, PLUNAME="KMTNET.CICSD3", SESSION=20 svrname=sna62sgw00, PLUNAME="KMTNET.CICSD3", Tmax HostLink Guide 66

TLU019 TLU020 TPNAME=A000001, MODENAME=IBMRDB1, SYNCMODE=NONE, SESSION=20 svrname=sna62sgw00, PLUNAME="KMTNET.CICSD3", TPNAME=A000001, DENAME=IBMRDB1, MODE=NONE, SESSION=20 svrname=sna62sgw01, PLUNAME="KMTNET.CICSD3", PTPNAME=A000001, MODENAME=IBMRDB1, SYNCMODE=NONE, SESSION=20 67 Tmax HostLink Guide

C 부록 3 Host-Link 시스템은 Host-Link 의상태정보를 Monitoring 할수있는여러가지 API 함수를제공한다. 이들함수는 Host-Link 시스템이실행된이후에 Tmax 시스템의클라이언트 / 서버프로그램또는기타일반프로그램에서사용할수있는함수이다. Host-Link 시스템의상태정보를제공하는 API 함수는 3 개로구성되어있다. 첫번째는 Host-Link 시스템에속한 Host-Link 프로세스수를되돌려준다. 이함수는뒤의두 API 함수를사용하기전에반드시사용해야만한다. 두번째는 Host-Link 시스템에속한프로세스정보를제공하는함수이다. 세번째는각각의 Host-Link 프로세스별로관리하는세션정보를제공하는함수이다. 이들함수에대한 Prototype 및구조체는 usrinc/hlinkapi.h 를참조하라. 함수 1: int tpgethlinksvr(int shmkey) 이함수는 Host-Link 시스템에속한프로세스수를되돌려주는함수이다. 이함수를통해서 Host-Link 에서사용하는공유메모리정보를얻어서아래의두 API 함수에서사용한다. 정상 : Host-Link 프로세스수 오류 : -1 함수 2: int tpgethlinkproc(int svrn, HLPROCINFO *info) 이함수는 Host-Link 시스템에속한프로세스의정보를되돌려주는함수이다. 입력으로들어오는프로세스번호에해당하는 Host-Link 프로세스의정보이다. 입력 svrn 은 0 부터시작하여 tpgethlinksvr 에서되돌려준값보다작아야한다. 정상 : 1 오류 : -1 Tmax HostLink Guide 68

함수 3: HLSESSINFO *tpgethlinkinfo(int svrn) 이함수는 Host-Link 시스템에속한프로세스의세션정보를되돌려주는함수이다. 이함수는내부에서프로세스에서관리하는세션수만큼메모리를할당함으로, 이함수를사용한이후에는반드시할당된메모리를해제해야한다. 입력 svrn 은 0 부터시작하여 tpgethlinksvr 에서되돌려준값보다작아야한다. 정상 : Host-Link 프로세스의세션정보 오류 : NULL 69 Tmax HostLink Guide

D 부록 4 Host-Link 시스템은상황에따라서여러가지오류를되돌려준다. 사용자는이오류코드를분석하여어떠한오류가발생했는지파악해야한다. 각각의오류코드는다음과같다. 오류코드설명 TPEOS TPENOREADY Host-Link 에서사용하는여러가지메모리를할당할경우에발생하는오류 Host-Link 시스템에서관리하는많은세션중사용가능한세션이없을경우 TPESVCERR Host-Link 프로세스에서 Host 로데이터를전송시 발생하는오류 TPESVCFAIL Host-Link 프로세스에서 Host 로데이터를수시시 발생하는오류 TPEBADDESC TPETIME TPEPROTO Host-Link 프로세스에서 Host 로데이터를전송한이후에 Host 로부터센스코드가내려온경우 Host-Link 프로세스에서 Host 로데이터를전송한이후에지정된시간이초과할경우 Host-Link 프로세스에서관리하는 Link 세션이 Inactive 된경우 Tmax HostLink Guide 70