Unix-Linux 编程实践教程 第五章 小结

  • 设备文件中用逗号连接起来的两个数字为主设备号和从设备号。主设备号确定实际的设备驱动程序,从设备号作为参数。 如下图中的,主设备号-4,从设备号-2
  • 设备文件中的i-node存储的是指向内核子程序指针
  • fcntl()针对当前fd描述的连接,执行操作,并不会改变文件本身的属性
  • 属性O_SYNC位告诉内核,对write的调用必须在数据写入真实硬件之后才能返回,而不是在数据复制到内核缓冲时就返回。
  • tcsetattr中的when有三个值:
    1. TCSANOW---立即更新驱动程序
    2. TCSADRAIN---等待直到驱动程序队列中的所有输出都被送到终端,然后进行驱动程序的更新。
    3. TCSAFLUSH---等待直到驱动程序队列中的所有输出都被传送出去,然后释放所有队列中的输入数据,并进行一定的变化。
  • termios 相关的函数描述了用于控制异步通信端口的通用终端接口
    struct termios{
            tcflag_t c_iflag;      /* input modes */
            tcflag_t c_oflag;      /* output modes */
            tcflag_t c_cflag;      /* control modes */
            tcflag_t c_lflag;      /* local modes */
            cc_t     c_cc[NCCS];   /* special characters */
    }

      

  • 所有的Devicename获取之后都是需要在头上加入“/dev/”,因为获取的仅仅是“pts/1”,“pts/0”之类的

猜你喜欢

转载自my.oschina.net/u/3281747/blog/2876333