Solaris下对设备文件进行ioctl的命令去哪可以查到??

发布于 2022-09-07 01:56:25 字数 605 浏览 19 评论 3

本帖最后由 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

Smile简单爱 2022-09-10 18:53:22

围观

扭转时空 2022-09-09 22:57:50

查了下
tcflush是只能对tty设备清空缓冲区吧???

然后又查到
streamio
有ioctl命令I_FLUSH,希望可以
而且还有I_NREAD
类似vxworks的FIOFLUSH/FIONREAD
明天试试
但愿可行

江挽川 2022-09-08 11:26:41

自己顶起啊

刚才把poll所轮询fd的条件放宽
即可以轮询fd为0的

但是就出问题了,无法监听,poll不断返回,不阻塞

郁闷啊

还有ioctl的命令去哪可以查 cmd的集合呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文