Linux 终端设备驱动函数的流向


1)终端设备数据发送和接收过程中的数据流和函数调用关系

    

 

 

  


2) tty 线路设置及流向

  a、线路设置用户空间接口 (用户可用如下两种方式改变 tty 设备的线路设置或者获取当前线路设置)

              1、调用用户空间的 termios 库函数

              2、对 tty 设备节点进行 ioctl()调用

  b、tty 驱动的操作

      1、 、tty 驱动的set_termios 函数

        说明:大部分  termios  用户空间函数被库转换为对驱动节点的  ioctl()调用,而 tty  ioctl
                  中的大部分命令会被 tty 核心转换为对 tty 驱动的 set_termios()函数的调用

                 tty_operations中的 set_termios()函数原型为:
                 void(*set_termios)(struct tty_struct *tty,struct termios *old); 

       2、 tty 驱动的 tiocmget 和 tiocmset 函数

               对 TIOCMGETTIOCMSETTIOCMBIC TIOCMBIS IO 控制命令的调用将被
              tty 核心转换为对 tty 驱动 tiocmget()函数和 tiocmset()函数的调用,TIOCMGET 对应
              tiocmget()函数,TIOCMSET、TIOCMBIC 和 TIOCMBIS  对应 tiocmset()函数

       3、tty 驱动的 ioctl 函数

              当用户在 tty 设备节点上进行 ioctl()调用时,tty_operations 中的  ioctl()函数会被
              tty 核 心调 用。 如 果 tty 驱动何处 ioctl , 它 返回
              –ENOIOCTLCMD,之后 tty 核心会执行一个通用的操作

 



参考资料:Linux 设备驱动开发详解-宋宝华

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值