我确实知道它与控制台有关(“真正的”TTY,位于 Ctrl+Alt+F[1-9])。
ioctl_console
手册页列出了许多 KD* 前缀常量。还有一个vt.h
很/usr/include/linux
简单的VT
虚拟终端或伪终端。KD是什么鬼?
我确实知道它与控制台有关(“真正的”TTY,位于 Ctrl+Alt+F[1-9])。
ioctl_console
手册页列出了许多 KD* 前缀常量。还有一个vt.h
很/usr/include/linux
简单的VT
虚拟终端或伪终端。KD是什么鬼?
请注意,如果可能,
VT_
中的常量/usr/include/linux/vt.h
的高字节设置为 0x56,这是大写字母 的 ASCII 代码V
。开头
/usr/include/linux/kd.h
有一条评论:以 - 为前缀的
KD_
两字节ioctl()
数字的高字节均设置为 0x4b,即大写字母 的 ASCII 码值K
。所以它主要不是一个首字母缩略词,而是一个助记符:在读取十六进制转储时,您可以查看 ioctl 值的高字节的字符表示(或者如果您是一名认真的 C 程序员,您可能已经知道大部分 ASCII无论如何,请牢记在心)要知道这是一个“K系列”ioctl,所有这些ioctl都处理
K
eyboard和D
isplay -换句话说,是具有一个系统上的KVM风格的系统控制台。因此,选择的主要原因
K
似乎是它与 ioctl 数字的高字节相对应,而第二个字母可能只是被选择以使其有意义 - 在这种情况下,“键盘和显示器”有效。(一些嵌入式系统甚至大型老式 Unix 服务器可能根本没有 KVM 风格的控制台,而只有一个充当控制台的串行端口。)