Solaris下对设备文件进行ioctl的命令去哪可以查到??
本帖最后由 tearring 于 2010-08-22 18:37 编辑
比如open一个设备后,想先ioctl清空其设备缓冲区中的数据
在vxworks下,是FIOFLUSH
solaris下,不知从何查起啊!!!
还有,在开发usb hid设备应用时,发现一个现象
系统接驳不同数量的USB HID设备后
逐一打开open,发现不同的组合,有时其中一个设备的fd会是0
问题是 : 0不是标准输入的描述符么??
我在进行poll轮询所有设备时,当时只进行fd>0设备的监听
导致我在插不同数量的hid设备时,很奇怪的:偶尔某个设备不能操作
原因就是,我只poll 文件描述符fd>0的设备
在vxworks下,open返回成功,必>3,因为0、1、2被系统占用了
我的代码是从vxworks继承来的,vxworks下用的select
发现unix有poll,效率更高,遂改为poll
可poll能监听fd==0的设备?
在vxworks下开发习惯了,在solaris下好多都不会
望高手指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
围观
查了下
tcflush是只能对tty设备清空缓冲区吧???
然后又查到
streamio
有ioctl命令I_FLUSH,希望可以
而且还有I_NREAD
类似vxworks的FIOFLUSH/FIONREAD
明天试试
但愿可行
自己顶起啊
刚才把poll所轮询fd的条件放宽
即可以轮询fd为0的
但是就出问题了,无法监听,poll不断返回,不阻塞
郁闷啊
还有ioctl的命令去哪可以查 cmd的集合呢?