问题标签 [ioctl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Linux Char 驱动程序:阻塞 ioctl 调用
我是驱动程序开发的新手,我正在尝试编写一个具有 ioctl 的简单 char 驱动程序,它允许用户进程获取我的 char 驱动程序上次读取和写入的时间(timespec)。
main.c
-- 测试我的字符设备的用户程序:
main.c
是测试我的字符设备的程序;程序在打印出read_delta
值后阻塞,我假设它在 ioctl 上阻塞。我在我的代码中做错了什么?
c - iOS 的 ioctl() 调用列表
Quickie:我在哪里(在哪些头文件中)可以找到 iOS 上 ioctl() 调用的参数声明?我已经看过 ioctl.h 并且第一级包括它的导入,但我不确定它们是否是唯一可以搜索的地方。特别是,我有兴趣使用此功能来控制一些特殊的硬件功能(例如访问加速度计或振动电机)。
winapi - mingw 中 ioctlsocket 的 SIOCGIFHWADDR
我正在使用 mingw 编译我的 cpp 程序,该程序必须获取 MAC 地址。在 unix 中,sys/ioctl.h 提供 'SIOCGIFHWADDR' 来读取它。但是对于 mingw win32,有一个名为 ioctlsocket 的 ioctl 替代品。我正在使用它,但它没有“SIOCGIFHWADDR”命令。
如何使用 ioctlsocket 读取硬件 MAC 地址?
提前致谢。
以下是我正在使用的功能
c++ - 将 ioctl() 调用从 unix 移植到 linux,FIONBIO 出错
我想使用 ioctl() 来获取准备读取的字节数
我这样做的方式是:
这在unix中工作正常,现在我必须将它移植到linux我不断收到错误
错误:未在此范围内声明“FIONBIO”
是否有一些特定于 linux 的头文件?或者'FIOBIO'在linux中根本不起作用?
我包含以下标题:
我删除了
因为它抛出错误说 sys/filio.h not found
linux - 自定义 linux 内核的 ioctl 突然停止响应并在几分钟后重新启动
设置:
我有一个调用 IOCTL 的 CP 进程。然后内核 IOCTL 处理程序将某些内容写入硬件并返回结果。这种看门狗打孔以周期性间隔发生。
问题:
使用调试打印我验证了 CP 进程和内核模块同时停止打印调试。内核模块总是完成它的任务。几分钟后,调试再次开始打印。虽然存在问题,但我通过运行 ls、top 等验证了内核本身没有挂起。
我知道内核模块可能没有问题。那么我从哪里开始寻找呢?
sockets - 取消 L2CAP 套接字上的重新传输
我想知道是否有人可以帮助我解决我在 C 蓝牙编程(Linux Bluez)方面遇到的问题。我正在使用 Ubuntu 10.04、BlueZ 4.60。我的目标是拥有一个 L2CAP 套接字,在该套接字中,两台计算机之间发送数据的延迟最小。到目前为止,我设法打开了一个 L2CAP 套接字,但是这个套接字有无休止的重传,我正在尝试改变它。我希望根本没有重传,因为我需要以最小的延迟快速传输数据,并且数据的可靠性并不重要。
我在网上找到了一个示例,该示例处理更改套接字的刷新超时,并由此导致如果数据包在一段时间后未得到确认,则将其丢弃并发送缓冲区中的下一个数据。问题是这个例子不起作用:-(
这是我的代码,这个方法是在绑定命令之后调用的:
int set_flush_timeout(bdaddr_t *ba, int timeout)
{
int err = 0, dd, dev_id;
struct hci_conn_info_req *cr = 0;
struct hci_request rq = { 0 };
我的错误是什么?有谁知道可以解决我的问题的另一种选择。代码示例也很棒!!
谢谢!!
c++ - 调用 IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER 时句柄无效
有没有人有过 c/c++ IOCTL 调用的经验?基本上,我试图确定 USB 记忆棒插入的端口。我有所有的 USB 信息和音量信息。显然,要链接这两个信息块,我需要驱动程序密钥或序列号。但是,当调用 DeviceIoControl 时,我得到无效句柄作为“最后一个错误代码”
我的驱动器 USB 驱动器安装到 c:\ 中的目录(不是驱动器号)见下文
windows - 如何在 Windows 上记录程序的 DeviceIoControl 调用
我需要捕获应用程序的 DeviceIoControl() 系统调用。在 linux 上,可以使用 strace 来分析所有 ioctl 调用。windows上有类似的功能吗?
MSDN 网站推荐了一个名为“Process Monitor”的程序来分析可执行文件的实时活动。但是,“进程监视器”没有显示任何有关 DeviceIoControl 调用的信息。
linux - 与 Wifi 断开连接时无法在 Linux 上使用 ioctl 获取 mac 地址
我使用这种方法得到一个mac地址:
(取自How to get MAC address of your machine using a C program?)
但是,当我从 Wifi 网络断开连接时,对 ioctl 的第一次调用会返回一个空列表。
你能解释一下这种行为吗?
c - 如果 cmd = 2 则不调用 ioctl
我正在开发一个使用 unlocked_ioctl 的内核模块。我用内核版本 2.6.24-23-generic 对其进行了测试,它运行良好。现在我用内核版本 3.3.1-1-ARCH 尝试了它,发生了一些奇怪的事情:当请求值(cmd)为 2 时,不执行 ioctl 函数。它返回 0,但不执行该函数。为了检查它是否未执行,我执行了以下操作:
我编写了一个测试程序,从 0 到 4096 为这个设备调用 ioctl,我可以在 dmesg 中看到所有这些值的消息“用 cmd = n 调用”,除了“2”,唯一没有显示的值。
关于我做错了什么的任何线索?
先感谢您,