ioctl(입력/출력 제어) 호출은 장치의 입력과 출력을 처리하기 위한 하위 수준의 루틴입니다.
응용프로그램은 터미널 표시를 적절히 구성하기 위해 termcap 및 terminfo 데이터베이스를 사용합니다.
한국어 Solaris 운영 환경은 일반적인 EUC 처리를 위해 ioctl(2) STREAMS 명령을 사용합니다. 다음은 ioctl 호출과 호출에 따른 결과를 요약한 것입니다.
표 4-1 ioctl요청 및 설명
ioctl 요청 |
설명 |
---|---|
EUC_WGET |
TTY 스트림에서 cswidth값 얻기 |
EUC_WSET |
TTY 스트림의 cswidth값 설정 |
EUC_OXLOFF |
코드 변환을 OFF로 설정 |
EUC_OXLON |
코드 변환을 ON으로 설정 |
터미널과 관련된 문자 코드 변환은 EUC_OXLON과 EUC_OXLOFF에 의해 제어됩니다.
termcap과 terminfo는 응용프로그램의 터미널 특성에 맞도록 만들어진 데이터베이스입니다. 다음은 termcap 데이터베이스의 확장입니다.
표 4-2 termcap변수 및 설명
변수 |
설명 |
---|---|
dv |
장치 유형: 언어 및 코드세트 |
ci |
다중 코드세트의 초기 시퀀스 |
s0 |
코드세트 0으로 이동 |
s1 |
코드세트 1로 이동 |
s2 |
코드세트 2로 이동 |
s3 |
코드세트 3으로 이동 |
다음은 terminfo의 확장입니다. s0-s3 문자열 값은 터미널 입출력시 각 코드세트의 데이터 선언 메커니즘으로 사용됩니다.
표 4-3 terminfo 변수 및 설명
변수 |
단축명 |
Tc |
설명 |
---|---|---|---|
device_type |
devt |
dv |
장치 유형: 언어 및 코드세트 |
code_set_init |
csin |
ci |
다중 코드세트의 초기 순서 |
set0_des_set |
s0ds |
s0 |
코드세트 0으로 이동 |
set1_des_set |
s1ds |
s1 |
코드세트 1로 이동 |
set2_des_set |
s2ds |
s2 |
코드세트 2로 이동 |
set3_des_set |
s3ds |
s3 |
코드세트 3으로 이동 |