KD 약어는 어떻게 공개되나요? /usr/include/linux/kd.h

KD 약어는 어떻게 공개되나요? /usr/include/linux/kd.h

나는 이것이 콘솔(Ctrl+Alt+F[1-9]의 "실제" TTY)과 관련이 있다는 것을 알고 있습니다.

ioctl_console매뉴얼 페이지에는 많은 KD* 접두사 상수가 나열되어 있습니다. 매우 간단한 가상 vt.h터미널이나 의사 터미널 도 있습니다 . KD가 도대체 ​​뭐야?/usr/include/linuxVT

답변1

가능하다면 VT_상수 의 상위 바이트는 /usr/include/linux/vt.h대문자에 대한 ASCII 코드인 0x56으로 설정된다는 점에 유의하세요 V.

시작 부분에 /usr/include/linux/kd.h설명이 있습니다 .

/* 0x4B is 'K', to avoid collision with termios and vt */

KD_-로 시작하는 2바이트 숫자 중 상위 바이트는 ioctl()대문자의 ASCII 코드 값인 0x4b로 설정됩니다 K.

따라서 이는 기본적으로 두문자어가 아니라 니모닉입니다. 16진수 덤프를 읽을 때 ioctl 값의 상위 바이트에 대한 문자 표현을 볼 수 있습니다(또는 진지한 C 프로그래머라면 이미 대부분의 ASCII를 알고 있을 것입니다). 어쨌든 명심하십시오) 이것은 K키보드와 D디스플레이를 모두 처리하는 "K 시리즈" ioctl입니다. 즉, KVM 스타일 시스템 콘솔이 있는 시스템에서 말입니다.

따라서 선택의 주된 이유는 Kioctl 숫자의 상위 바이트에 해당하는 반면 두 번째 문자는 이해하기 위해 방금 선택되었을 수 있다는 것입니다. 이 경우 "키보드 및 디스플레이"가 작동합니다.

(일부 임베디드 시스템과 오래된 대형 Unix 서버에도 KVM 스타일 콘솔이 전혀 없고 콘솔 역할을 하는 직렬 포트만 있을 수 있습니다.)

관련 정보