问题标签 [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.

0 投票
1 回答
446 浏览

process - 告诉 proc_entry->write_proc 使用带参数的 ioctl?

我已经看到了一些执行此操作的示例代码:

但是,在我的模块中,我使用了 ioctls 而不是读写。这是我的 ioctl 函数原型:

对于读取,我的“fcn”是 IOCTL_GET_TIMER,对于写入,我的“fcn”是 IOCTL_SET_TIMER。

无论如何要做这样的事情:

但不传入“args”参数?

或者更简单的方法是只编写 module_read 和 module_write 函数,然后让它们调用 ioctl?

谢谢你们的帮助!

0 投票
1 回答
1861 浏览

c++ - 在 FreeBSD 中实现 ioctl() 命令

我正在向现有的 FreeBSD 设备驱动程序添加一些代码,并且我正在尝试将char*用户空间的 a 传递给驱动程序。我已经使用宏实现了一个自定义ioctl()命令,如下所示:_IOW#define TIBLOOMFILTER _IOW(0,253,char*)

我的电话看起来像这样:

当我打电话时,ioctl()我得到:Inappropriate ioctl for device作为错误消息。任何猜测可能做错了什么?我在设备驱动程序中定义了相同的宏,并将其添加到case语句中。

0 投票
3 回答
12752 浏览

linux-kernel - 是否可以从 Linux (ioctl) 的内核空间调用用户空间回调函数?

是否可以在 Linux 中扩展 ioctl 接口,以便用户空间应用程序可以向内核空间驱动程序发送指向函数的指针?

我特别想以用户可控的方式处理流,但在内核中进行处理。这些操作可以附加到内核模块,但这将使开发更容易,因为我不需要在开发过程中弄乱内核。

更具体地说,这将是一个过程:

  1. 驱动程序将数据读取到缓冲区。
  2. 数据由这些用户定义的函数处理。
  3. 完成了更多处理,可能使用一些硬件块。
  4. 数据由用户空间应用程序使用。
0 投票
3 回答
4950 浏览

c - 如何通过 ioctl 调用或其他方式确定 SCSI 设备(例如 /etc/sda)是否为磁盘?

如何通过 ioctl 调用或其他方式确定 SCSI 设备(例如 /dev/sda)是否为磁盘?我尝试了以下方法,但ioctl通话失败。我的 /dev/sda 是一个 USB 闪存盘。

0 投票
2 回答
439 浏览

modem - 监视 IOCTL 的最佳方法是什么?

我有一个 U9 Telit 调制解调器,起初它显示为 USB 总线上的磁盘驱动器。然后,本机软件在自动运行和安装后,发送几个 IOCTL 来告诉设备重新出现为其他东西。我可以在 procmon 中看到它们。

我想更好地监视这些,确切地知道它们发送了什么以及如何发送,以便以适当的方式做同样的事情。

0 投票
4 回答
8139 浏览

c# - C# - 可以使用 IOCTL

我正在尝试为允许“现金抽屉”附件的销售点系统编写代码。手册中提供了用于打开钱箱的代码(在 C++ 中使用 IOCTL)。由于我在 C# .NET 中编码,是否可以在 C# 中执行类似的操作,或者我是否必须编写一些非托管代码?

我可以从 C# 中获得“\\.\ADVANSYS”的句柄吗?我需要使用 DLLImport 吗?

如果有人能指出我正确的方向,将不胜感激。

0 投票
2 回答
1010 浏览

c++ - 关闭远程 PC 上的显示器

我正在修复 Windows 远程控制(类似远程桌面)应用程序中的一些错误。还有一个功能是你可以在远程机器上黑屏——所有程序都保持运行不受影响,但是看着远程电脑上的显示器的人只能看到黑屏。

它是通过发送 IoCtl request 来实现的IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE,这是未记录的。而且此请求不适用于 Vista 及更高版本。

还有其他方法可以做我想做的事吗?

事实上,SendMessage(-1,WM_SOMMAND,SC_MONITORPOWER,2)确实有效,但如果有人触摸键盘/鼠标,屏幕会重新打开。

0 投票
1 回答
2931 浏览

windows - 我如何在内核模式下进行 IOCTL 调用(Windows)

在用户模式下,可以通过DeviceIoControl函数调用 IOCTL。
我可以在内核模式下使用什么来发出 IOCTL 调用?我必须在文件系统微过滤驱动程序中使用它。

背景
我正在编写一个文件系统微过滤驱动程序,我必须向存储设备发出 IOCTL 调用以找出它们的序列号和功能(可移动或不可移动)。

0 投票
2 回答
3613 浏览

c - 获取以太网端口的 ioctl 文件描述符

我需要获取文件描述符以在 ioctl() 调用中使用 Linux 中的以太网端口。不知道该怎么做。

0 投票
1 回答
988 浏览

python - 为什么我不能在 python 中调用 HDIO_GETGEO?