console12.txt

来自「linux/kd.h文件中介绍了ioctl函数能够使用的命令」· 文本 代码 · 共 50 行

TXT
50
字号
Example:
	#include <stdio.h>
	#include <fcntl.h>
	#include <unistd.h>
	#include <sys/stat.h>
	#include <linux/kd.h>
	#include <sys/types.h>
	#include <sys/ioctl.h>

        #define NONE   0
	#define ERROR -1

	void main(int argc, char **argv)
	{
          int fd;
          long mode;

          if (argc < 2) {
             printf("Usage: %s <mode>\n\n");
             printf("Mode is one of the following values:\n");
	     printf("0x03 - K_METABIT   (set high order bit)\n");
	     printf("0x03 - K_ESCPREFIX (escape prefix)\n\n");
          }

          /* To be used as the fd in ioctl(). */
	  if ((fd = open("/dev/console", O_NOCTTY)) == ERROR) {
	     perror("open");
	     exit(ERROR);
	  }

	  printf("w00w00!\n\n");

          printf("Setting meta key handler mode ");

          mode = atoi(argv[1]);
          if (mode == NONE) printf("off.\n");
          else if (mode == K_METABIT) printf("to: set high order bit.\n");
          else if (mode == K_ESCPREFIX) printf("to: escape prefix.\n");
          else printf("0x0%x\n", mode); /* For future values */

          if ((ioctl(fd, KDSKBMETA, mode)) == ERROR) {
	     perror("ioctl");
	     close(fd);
	     exit(ERROR);
	  }

          putchar('\n');

	  close(fd);
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?