Manpages

이 름

console ioctl − 콘 솔 터 미 널 과 가 상 터 미 널 을 위 해 입 출 력 제 어 를 한 다 .

설 명

WARNING: 다 음 정 보 를 사 용 하 는 것 은 무 의 미 하 다 .

WARNING: 입 출 력 제 어 에 관 한 내 용 은 문 서 화 되 지 않 아 공 지 없 이 바 뀌 기 쉽 다 . POSIX함 수 를 사 용 한 다 .
KDGETLED

argp LEDs의 상 태 를 얻 는 다 . argp는 long int를 가 리 킨 다 . argp의 저 수 준 의 세 개 비 트 는 아 래 와 같 은 LEDs의 상 태 로 설 정 된 다 :

LED_CAP 0x04 caps lock led
LEC_NUM 0x02 num lock led
LED_SCR 0x01 scroll lock led

KDSETLED

LEDs설 정 . LEDs는 argp의 세 비 트 보 다 낮 게 설 정 된 다 . 그 러 나 , 비 트 를 높 게 설 정 한 다 면 LEDs는 표 준 으 로 전 환 된 다 : caps lock,num lock, scroll lock 키 보 드 기 능 의 디 스 플 레 이 상 태 .

버 전 1.1.54이 전 의 LEDs는 단 지 일 치 하 는 키 보 드 플 래 그 의 상 태 를 반 영 한 다 . 그 리 고 KDGTLED/KDSTLED는 또 한 키 보 드 플 래 그 를 바 꾼 다 . 버 전 1.1.54부 터 LEDs는 상 황 에 따 라 디 스 클 레 이 를 조 절 한 다 . 그 러 나 기 본 값 에 의 해 leds는 키 보 드 플 래 그 를 디 스 플 레 이 한 다 . 다 음 두 개 의 입 출 력 제 어 는 키 보 드 플 래 그 에 액 세 스 하 는 데 사 용 된 다 .
KDGKBLED

capsLock, NumLock,ScrollLock와 같 은 키 보 드 플 래 그 를 취 한 다 . argp는 플 래 그 상 태 를 설 정 하 는 char를 가 리 킨 다 . 저 수 준 지 정 비 트 (mask 0x7)는 현 재 플 래 그 상 태 를 취 하 고 , 나 머 지 는 기 본 플 래 그 상 태 를 취 한 다 .

KDSKBLED

CapsLock, NumLock, ScrollLock같 은 키 보 드 플 래 그 를 설 정 한 다 . argp는 원 하 는 플 래 그 상 태 를 갖 는 다 . 저 수 준 지 정 비 트 는 현 재 플 래 그 상 태 를 취 하 고 , 나 머 지 는 기 본 플 래 그 상 태 를 취 한 다 .

KDGKBTYPE

키 보 드 타 입 을 취 한 다 . 이 것 은 0x02로 정 의 되 는 KB_101값 을 반 환 한 다 .

KDADDIO

유 효 한 입 출 력 포 트 를 추 가 한 다 . ioperm(arg,1,1)과 같 다 .

KDDELIO

유 효 한 입 출 력 포 트 를 삭 제 한 다 . ioperm(arg,1,0)과 같 다 .

KDENABIO

비 디 오 보 드 로 입 출 력 이 가 능 하 다 . ioperm(0x3b4, 0x3df-0x3b4+1,1)과 같 다 .

KDDISABIO

비 디 오 보 드 로 입 출 력 이 불 가 능 하 다 . ioperm(0x3b4, 0x3df-0x3b4+1,0)과 같 다 .

KDSETMODE

텍 스 트 /그 래 픽 모 드 를 설 정 한 다 . argp는 다 음 중 하 나 다 :

KD_TEXT 0x00
KD_GRAPHICS 0x01

KDGETMODE

텍 스 트 /그 래 픽 모 드 를 취 한 다 . argp는 위 의 값 중 하 나 를 설 정 하 는 long 을 가 리 킨 다 .

KDMKTONE

특 정 길 이 의 톤 (tone)생 성 한 다 . argp의 낮 은 16비 트 는 시 간 사 이 클 의 기 간 을 열 거 하 고 , 높 은 16비 트 는 msec에 기 간 을 준 다 . 기 간 이 0이 면 , 소 리 는 즉 시 꺼 진 다 . 제 어 력 즉 시 반 환 된 다 .

KIOCSOUND

사 운 드 생 성 을 시 작 하 거 나 멈 춘 다 . argp의 낮 은 16비 트 는 시 간 사 이 클 의 기 간 을 열 거 한 다 .(즉 , argp = 1193180/frequency) argp = 0은 소 리 를 끈 다 . 같 은 경 우 로 , 제 어 력 은 즉 시 반 환 된 다 .

GIO_CMAP

커 널 로 부 터 현 재 기 본 컬 러 맵 을 얻 는 다 . argp는 48-바 이 트 배 열 을 가 리 킨 다 .(버 전 1.3.3부 터 )

PIO_CMAP

기 본 텍 스 트 모 드 컬 러 맵 을 바 꾼 다 . argp는 16비 트 컬 러 를 위 한 빨 강 ,녹 색 , 파 랑 색 값 을 포 함 하 는 48-바 이 트 배 열 을 가 리 킨 다 : 0 is off, and 255 is full intensity. 기 본 색 은 검 정 , 암 적 색 (dark red), 암 녹 색 (dark green), 갈 색 , 암 청 색 (dark blue), 밝 은 빨 강 , 밝 은 녹 색 , 노 랑 , 밝 은 파 랑 , 밝 은 자 주 , 밝 은 청 록 색 , 흰 색 이 다 .

GIO_FONT

확 장 된 256-문 자 폰 트 를 취 한 다 . argp는 8192바 이 트 배 열 을 가 리 킨 다 . 현 재 로 드 된 폰 트 가 512-문 자 폰 트 이 거 나 콘 솔 이 텍 스 트 모 드 가 아 니 라 면 EINVAR코 드 와 함 께 작 동 하 지 않 는 다 .

GIO_FONTX

화 면 폰 트 와 관 련 정 보 를 얻 는 다 . argp는 consolefontdisc을 가 리 킨 다 . (PIO_FONTX 참 조 ). 호 출 시 charcount필 드 는 문 자 중 가 장 큰 수 치 로 설 정 되 어 야 한 다 . 반 환 시 , charcountcharheight는 현 재 로 드 된 폰 트 를 위 한 관 련 데 이 타 로 채 워 져 야 한 다 . 그 리 고 chardata배 열 은 charcount의 초 기 값 이 지 시 하 는 충 분 한 공 간 이 있 다 면 폰 트 데 이 타 를 포 함 한 다 . 그 렇 지 않 으 면 버 퍼 는 그 대 로 있 고 , errnoENOMEM를 설 정 한 다 .(버 전 1.3.1부 터 )

PIO_FONT

화 면 폰 트 를 256-문 자 로 설 정 한 다 . EGA/VGA문 자 생 성 기 로 부 터 폰 트 를 로 드 한 다 . argp는 문 자 마 다 32바 이 트 인 8192맵 을 가 리 킨 다 . 단 지 그 런 것 들 중 첫 N는 8xN폰 트 를 위 해 사 용 된 다 (0 < N <= 32). 이 호 출 은 또 한 유 니 코 드 를 쓸 모 없 게 한 다 .

PIO_FONTX

스 크 린 폰 트 와 관 련 정 보 를 설 정 한 다 . argp
consolefontdesc {
u_short charcount; /* characters in font (256 or 512) */
u_short charheight; /* scan lines per character (1-32) */
char *chardata; /* font data in expanded form */
};
를 가 리 킨 다 . 필 요 하 다 면 , 화 면 크 기 는 적 절 하 게 재 조 정 될 것 이 고 , SIGWINCH는 적 절 한 프 로 세 스 를 보 낸 다 . 이 호 출 은 또 한 유 니 코 드 를 쓸 모 없 게 한 다 .

PIO_FONTRESET

폰 트 , 크 기 , 유 니 코 드 를 재 설 정 한 다 . argp는 사 용 되 지 않 지 만 , 리 눅 스 의 차 후 버 전 의 호 환 을 위 해 NULL는 설 정 되 어 야 한 다 .

GIO_SCRNMAP

커 널 로 부 터 화 면 맵 핑 을 얻 는 다 . argp는 E_TABSZ의 범 위 를 가 리 킨 다 . 그 것 은 각 문 자 디 스 플 레 에 사 용 되 는 폰 트 위 치 와 함 께 로 드 된 다 . 이 호 출 은 로 드 된 폰 트 가 256문 자 이 상 이 면 쓸 모 없 는 정 보 를 반 환 할 것 이 다 .

PIO_SCRNMAP

콘 솔 화 면 심 볼 의 맵 바 이 트 인 커 널 의 ’’user definable’’을 로 드 한 다 . argp는 size E_TABSZ의 공 간 에 포 인 트 한 다 .

PIO_UNISCRNMAP

유 니 코 드 의 맵 바 이 트 인 커 널 의 ’’user definable’’을 로 드 한 다 . ?

GIO_UNIMAP

커 널 로 부 터 Unicode-to-font를 구 한 다 . argp

struct unimapdesc {
u_short entry_ct;
struct unipair *entries;
};

where entries points to an array of

struct unipair {
u_short unicode;
u_short fontpos;
};
를 가 리 킨 다 . (Since 1.1.92.)

PIO_UNIMAPCLR

hash 알 고 리 즘 을 참 조 해 테 이 블 을 소 거 한 다 . argp

struct unimapinit {
u_short advised_hashsize; /* 0 if no opinion */
u_short advised_hashstep; /* 0 if no opinion */
u_short advised_hashlevel; /* 0 if no opinion */
};
를 가 리 킨 다 . (버 전 1.1.92부 터 .)

KDGKBMODE

현 재 키 보 드 모 드 를 구 한 다 . ARGP는 다 음 중 하 나 로 설 정 된 long을 포 인 트 한 다 .

K_RAW 0x00
K_XLATE 0x01
K_MEDIUMRAW 0x02
K_UNICODE 0x03

KDSKBMODE

현 재 키 보 드 모 드 를 설 정 한 다 . argp는 위 의 값 중 하 나 와 같 은 long이 다 .

KDGKBMETA

메 타 키 운 용 모 드 를 구 한 다 . argp는 다 음 중 하 나 를 설 정 하 는 long을 포 인 트 한 다 .

K_METABIT 0x03 set high order bit
K_ESCPREFIX 0x04 escape prefix

KDSKBMETA

메 타 키 운 용 모 드 를 설 정 한 다 . argp는 위 의 값 중 하 나 와 같 은 long이 다 .

KDGKBSENT

함 수 키 구 문 을 얻 는 다 . argp

struct kbsentry {
u_char kb_func;
u_char kb_string[512];
};
를 가 리 킨 다 . kb_stringkb_func함 수 키 활 성 코 드 와 일 치 하 는 구 문 을 설 정 한 다 .

KDSKBSENT

함 수 키 문 자 내 용 (entry)을 설 정 한 다 . argp는 구 조 체 kbsentry를 가 리 킨 다 .

KDGETKEYCODE

커 널 키 코 드 테 이 블 내 용 을 읽 는 다 .(키 코 드 로 코 드 를 스 캔 한 다 . argp

struct kbkeycode { unsigned int scancode, keycode; };
를 가 리 킨 다 . keycode는 주 어 진 scancode와 일 치 하 게 설 정 한 다 . (89 <= scancode <= 255 only. For 1 <= scancode <= 88, keycode==scancode.) (버 전 1.1.63부 터 .)

KDSETKEYCODE

커 널 키 코 드 테 이 블 기 재 사 항 을 기 록 한 다 . argp는 구 조 체 키 코 드 를 포 인 트 한 다 . (버 전 1.1.63 부 터 .)

KDSIGACCEPT

호 출 한 프 로 세 스 들 은 적 당 한 키 조 합 이 프 레 스 에 의 해 생 성 될 때 , 프 로 세 스 에 의 해 시 그 널 argp를 받 아 들 인 다 . (1 <= argp <= NSIG). (See spawn_console() in linux/drivers/char/keyboard.c.)

VT_OPENQRY

유 효 한 첫 콘 솔 을 반 환 한 다 . argp는 vt(1 <= *argp <= MAX_NR_CONSOLES)의 번 호 를 설 정 한 정 수 를 포 인 트 한 다 .

VT_GETMODE

활 성 화 된 vt모 드 를 구 한 다 . argp

struct vt_mode {
char mode; /* vt mode */
char waitv; /* if set, hang on writes if not active */
short relsig; /* signal to raise on release req */
short acqsig; /* signal to raise on acquisition */
short frsig; /* unused (set to 0) */
};
를 포 인 트 한 다 . mode는 다 음 값 중 하 나 를 설 정 한 다 .

VT_AUTO 자 동 vt 스 위 칭
VT_PROCESS 프 로 세 스 제 어 스 위 칭
VT_ACKACQ acknowledge switch

VT_SETMODE

활 성 화 된 vt의 모 드 를 설 정 한 다 . argp는 구 조 체 vt_mode를 포 인 트 한 다 .

VT_GETSTATE

전 역 vt상 태 정 보 를 구 한 다 . argp

struct vt_stat {
ushort v_active; /* active vt */
ushort v_signal; /* signal to send */
ushort v_state; /* vt bitmask */
};
를 포 인 트 한 다 .

VT_RELDISP

디 스 플 레 이 를 릴 리 즈 한 다 .

VT_ACTIVATE

vt argp를 전 환 한 다 (1 <= argp <= MAX_NR_CONSOLES).

VT_WAITACTIVE

vt argp가 활 성 화 될 때 까 지 기 다 린 다 .

VT_DISALLOCATE

vt argp와 일 치 하 는 메 모 리 를 Deallocate the memory associated with vt argp. (Since 1.1.54.)

VT_RESIZE

화 면 크 기 의 커 널 이 해 (kernel’s idea)를 설 정 한 다 . argp
struct vt_sizes {
ushort v_rows; /* # rows */
ushort v_cols; /* # columns */
ushort v_scrollsize; /* no longer used */
};
로 포 인 트 한 다 .

이 것 으 로 비 디 오 모 드 를 바 꿀 수 없 다 는 것 을 주 지 한 다 . resizecons(8) 참 조 한 다 . (버 전 1.1.54부 터 .)

VT_RESIZEX

다 양 한 화 면 매 개 변 수 의 커 널 이 해 (kernel’s idea)를 설 정 한 다 . argp

struct vt_consize {
ushort v_rows; /* 열 (줄 )번 호 */
ushort v_cols; /* 행 번 호 */
ushort v_vlin; /* 화 면 상 의 픽 셀 열 번 호 */
ushort v_clin; /* 문 자 별 픽 셀 열 번 호 */
ushort v_vcol; /* 화 면 상 의 픽 셀 행 번 호 */
ushort v_ccol; /* 문 자 별 픽 셀 행 번 호 */
};
를 포 인 트 한 다 .

모 든 매 개 변 수 는 0으 로 설 정 될 런 지 모 른 다 . 그 러 나 복 수 의 매 개 변 수 가 설 정 된 다 면 일 관 되 어 야 만 한 다 . 이 것 으 로 비 디 오 모 드 를 바 꿀 수 없 다 는 것 을 주 지 한 다 . resizecons(8)를 참 조 한 다 . (버 전 1.3.3부 터 .)

다 음 의 입 출 력 제 어 들 은 argp에 의 해 구 조 체 포 인 트 첫 번 째 바 이 트 에 의 존 한 다 . 이 것 들 은 오 로 지 수 퍼 유 저 나 현 재 tty의 소 유 자 만 이 가 능 하 다 .
TIOCLINUX, subcode=0

화 면 을 덤 프 한 다 . 버 전 1.1.92에 는 없 는 옵 션 이 다 .

TIOCLINUX, subcode=1

처 리 정 보 를 얻 는 다 . 1.1.92에 는 없 다 .

TIOCLINUX, subcode=3

선 택 한 것 을 붙 인 다 . 선 택 된 버 퍼 의 문 자 는 fd에 기 록 된 다 .

TIOCLINUX, subcode=4

화 면 을 채 운 다 .

TIOCLINUX, subcode=6

argp는 커 널 변 수 shift_state의 값 을 설 정 하 는 char을 포 인 트 한 다 . (버 전 1.1.32부 터 .)

TIOCLINUX, subcode=7

argp는 커 널 변 수 report_mouse의 값 을 설 정 하 는 char을 포 인 트 한 다 . (버 전 1.1.33부 터 .)

TIOCLINUX, subcode=8

화 면 너 비 와 높 이 , 커 서 위 치 , 그 리 고 모 든 문 자 -속 성 쌍 을 덤 프 한 다 . (커 널 버 전 1.1.67 에 서 1.1.91까 지 만 쓸 수 있 다 . 커 널 1.1.92 이 후 버 전 에 서 는 대 신 /dev/vcsa*에 서 읽 을 수 있 다 .)

TIOCLINUX, subcode=9

화 면 너 비 와 높 이 , 커 서 위 치 , 그 리 고 모 든 문 자 -속 성 쌍 을 재 저 장 한 다 . (커 널 버 전 1.1.67 에 서 1.1.91까 지 만 쓸 수 있 다 . 커 널 1.1.92 이 후 버 전 에 서 는 대 신 /dev/vcsa*에 서 읽 을 수 있 다 .)

TIOCLINUX, subcode=10

신 세 대 모 니 터 의 강 력 한 저 장 기 능 을 다 룬 다 . VESA 화 면 공 백 모 드 는 argp[1]를 설 정 한 다 . 그 것 은 화 면 공 백 을 다 룬 다 .

0: 화 면 공 백 은 불 가 능 하 다 .

1: 현 재 비 디 오 아 답 터

레 지 스 터 설 정 이 저 장 된 후 제 어 기 는 수 직 동 기 화 펄 스 전 환 (turn off)을 프 로 그 램 한 다 . 이 것 은 모 니 터 를 "standby"모 드 로 한 다 . 모 니 터 가 타 이 머 오 프 모 드 가 있 다 면 그 것 은 결 국 자 신 을 꺼 버 린 다 .

2: 현 재

설 정 이 저 장 된 후 , 수 직 ,수 평 동 기 와 펄 스 는 꺼 진 다 . 이 것 은 모 니 터 를 "off"모 드 로 둔 다 . 모 니 터 에 타 이 머 OFF모 드 가 없 거 나 , 모 니 터 를 즉 시 끄 고 싶 다 면 이 옵 션 을 선 택 한 다 . (Caution:는 결 국 모 니 터 에 손 상 을 입 힌 다 .)

(Since 1.1.76.)

반 환 값

에 러 시 -1을 반 환 하 고 , errno는 설 정 된 다 .

에 러

errno는 아 래 의 값 을 가 진 다 :

EBADF

파 일 디 스 크 립 터 는 유 효 치 않 다 .

ENOTTY

파 일 디 스 크 립 터 는 문 자 장 치 와 일 치 하 지 않 거 나 , 요 청 을 거 부 했 다 .

EINVAL

파 일 파 일 디 스 크 립 터 나 argp는 유 효 치 않 다 .

EPERM

권 한 위 반 .

경 고

이 맨 페 이 지 (Man page)는 리 눅 스 콘 솔 입 출 력 에 관 한 문 서 가 아 니 다 . 이 맨 페 이 지 는 소 스 를 보 고 싶 어 하 는 사 용 자 의 호 기 심 에 대 안 으 로 제 공 되 는 것 이 다 . 입 출 력 제 어 는 문 서 화 되 지 않 았 다 . 따 라 서 경 고 없 이 내 용 이 바 뀔 수 있 다 는 것 을 주 지 하 기 바 란 다 .

입 출 력 제 어 는 커 널 과 잘 알 려 진 프 로 그 램 (fdisk, hdparm, setserisl,tunelp, loadkeys, selection, setfont, etc..) 사 이 의 통 신 을 위 해 자 주 소 개 되 고 , 입 출 력 제 어 는 프 로 그 램 의 요 구 에 따 라 변 화 할 것 이 다 .

입 출 력 제 어 를 사 용 하 는 프 로 그 램 은 다 른 버 전 의 유 닉 스 에 포 팅 할 수 없 다 . 그 리 고 이 후 버 전 에 서 는 사 라 질 수 도 있 다 .

POSIX함 수 들 을 사 용 한 다 .

관 련 항 목

kbd_mode(1), loadkeys(1), dumpkeys(1), mknod(1), setleds(1), setmetamode(1), ioperm(2), termios(2), execve(2), fcntl(2), console(4), console_codes(4), mt(4), sd(4), tty(4), ttys(4), vcs(4), vcsa(4), charsets(7), mapscrn(8), setfont(8), resizecons(8), /usr/include/linux/kd.h, /usr/include/linux/vt.h