리눅스 프로그래머를 위한 가이드
8.2.3 단말기 내용 살펴보기 (Look at a Terminal Description)
정보의 모든 조각들은 능력(capability)이라 불리어 진다. 모든 능력(capability)은 두 글자
코드이고, 모든 두 글자 코드는 능력(capability)을 위한 값에 의해 다음과 같다. 가능한 타입들:
- 숫자(Numeric):예를 들어 co - 컬럼의 수
- 논리적 자료 또는 플래그(Boolean or Flag):예를 들어 hc
- 하드카피 단말기(hardcopy terminal)
- 문자열(String):예를 들어 st - 탭 위치 지정
각각의 능력(capability)은 단일 값 타입과 연관되어있다. (co는 항상 숫자, hc는
항상 플래그 그리고 st는 항상 문자열) 값들에는 세게의 다른 타입이 있고 그것들에게
질문하기위한 세개의 함수가 있다. char *name은 능력(capability)를 위한 두 글자 코드이다.
- int tgetnum(char *name)
co와 같은 숫자(numeric) 능력(capability) 값(value)을 얻는다. tgetnum(...)는
능력을 사용가능하다면, 숫자값을 반환하고 그렇지 않으면 1을 반환한다. (Note:반환되는 값은
음수가 아니다.)
- int tgetflag(char *name)
논리적(boolean) 자료 (또는 플래그(flag))인 능력 값을 얻는다. 플래그가 존재하면 1, 그렇지
않으면 0을 반환한다.
- char *tgetstr(char *name, char **area)
문자열인 능력값을 얻는다. 문자열에 대한 포인터를 반환하고 존재하지 않으면 NULL을 반환한다.
GNU 버전에서, 영역이 NULL이면, termcap은 스스로 메모리를 할당할 것이다. termcap은 결코
그 포인터를 다시 참조하지 않는다. 그러므로 프로그램을 떠나기 전에 name을 풀어주는 것을
잊지말아라. 우리가 포인터를 위해 얼마나 많은 공간이 필요한지를 모르기 때문에, termcap이
이러한 일을 하도록 하는 것이 더 좋다.
이전:8.2.2 단말기 내용 찾기
다음:8.2.4 Termcap 능력들
Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved
Email To:Webmaster ,
Another address
LAST UPDATE Dec 2,1997
Created Dec 2,1997