KD缩写是如何揭晓的? /usr/include/linux/kd.h

KD缩写是如何揭晓的? /usr/include/linux/kd.h

我确实知道它与控制台有关(“真正的”TTY,位于 Ctrl+Alt+F[1-9])。

ioctl_console手册页列出了许多 KD* 前缀常量。还有一个很简单的虚拟vt.h终端或伪终端。 KD是什么鬼?/usr/include/linuxVT

答案1

请注意,如果可能,VT_中的常量/usr/include/linux/vt.h的高字节设置为 0x56,这是大写字母 的 ASCII 代码V

开头/usr/include/linux/kd.h有一条评论:

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

KD_以 - 为前缀的两字节数字ioctl()的高字节均设置为 0x4b,即大写字母 的 ASCII 码值K

所以它主要不是一个首字母缩略词,而是一个助记符:在读取十六进制转储时,您可以查看 ioctl 值的高字节的字符表示(或者如果您是一名认真的 C 程序员,您可能已经知道大部分 ASCII无论如何,请牢记在心)要知道这是一个“K系列”ioctl,所有这些ioctl都处理Keyboard和Display——换句话说,就是拥有一个的系统上的KVM风格的系统控制台。

因此,选择的主要原因K似乎是它与 ioctl 数字的高字节相对应,而第二个字母可能只是被选择以使其有意义 - 在这种情况下,“键盘和显示器”有效。

(一些嵌入式系统甚至大型老式 Unix 服务器可能根本没有 KVM 风格的控制台,而只有一个充当控制台的串行端口。)

相关内容