Questions tagged [ioctl]

ioctl (Input Output ConTroL) is a system call for device-specific I/O operations and other operations which cannot be expressed by regular system calls and it provides an interface through which an application can communicate directly with a device driver(or any other global kernel space variables). Applications can use the standard control codes or device-specific control codes to perform direct input and output operations.

691 questions
6
votes
0 answers

python3 inside venv gives termios.error: (25, 'Inappropriate ioctl for device')

I've been running a python script inside a virtual environment that I create with pipenv shell, it worked well. I've always run the process from a bash script that changes directory to the folder containing the python script, activates the…
msoutopico
  • 357
  • 3
  • 15
6
votes
2 answers

Can someone help me replace "lock_kernel" on a block device driver?

Thank you for looking at this post. I am trying to patch up a network block device driver. If you need to see the sources they are at http : / / code.ximeta.com. I noticed that lock_kernel() seems deprecated as of linux 2.6.37. I read "The new way…
ndasusers
  • 1,131
  • 2
  • 10
  • 6
6
votes
1 answer

user mode permission denied to bind to socket

In user mode [non-root] on a linux machine, I am trying to bind a socket by using a ioctl(iInterfaceSocket, SIOCSIFADDR, &stCommand). I am getting error 13 -> Permission denied because of user mode. If change from usermode to kernel mode everything…
Eswar
  • 201
  • 1
  • 3
  • 5
6
votes
1 answer

How to get string descriptor from a USB device which is in low power state?

I am trying to write an application in C++ which lists Information obtained from a USB device. I am following USBView (Github) utility's code for it. When device is in D0 power state (fully powered), I am able to get string descriptors, but when…
Sahil Singh
  • 3,352
  • 39
  • 62
6
votes
1 answer

Where is userspace wrapper for ioctl system call defined on x86_64 Linux?

I have (out of curiosity) been wondering where the user space wrapper for the ioctl system call is defined on x86_64 Linux. My first thought was glibc - after checking the exposed symbols on the installed version on my Fedora 24 box, I can see that…
PhilPotter1987
  • 1,306
  • 2
  • 12
  • 20
6
votes
1 answer

What possible reasons could block a virtual terminal on Linux?

Or is it possible at all that some process or something else could block a virtual terminal? Or what could be a reason that an application hangs when trying to access the VT1? It seems, while that is happening, it is hanging in the function ioctl.…
Albert
  • 65,406
  • 61
  • 242
  • 386
6
votes
2 answers

User Permission check on ioctl command

I am implementing char driver ( Linux) and there are certain IOCTL commands are there in my driver which needs to be only executed by ADMIN. My question is how can I check user permission under my ioctl command implementation and restrict…
Nishith Goswami
  • 353
  • 5
  • 13
6
votes
3 answers

How to find out if SCSI device (say /etc/sda) is a disk or not via ioctl calls or other?

How to find out if SCSI device (say /dev/sda) is a disk or not via ioctl calls or other ? I have tried the following but the ioctl call fails. My /dev/sda is a USB flash disk. #include #include #include #include…
clyfe
  • 23,695
  • 8
  • 85
  • 109
6
votes
3 answers

How to open tap device on android using native code C?

I am trying build a VPN client mobile for Android based applications that connect to virtual infrastructure over VPN tunnel. I have a similar application for Linux/Windows and I know how to open a tun/tap device (open /dev/net/tun). How do we do the…
TJ13
  • 75
  • 3
  • 8
6
votes
2 answers

How to call DeviceIOControl code asynchronously?

I am trying to call DeviceIO functions asynchronously by using the OVERLAPPED structure as described on MSDN. I am using the FSCTL_ENUM_USN_DATA control code to enumerate the MFT of NTFS drives but i am not able to run it asynchronously. The file…
6
votes
2 answers

What does FIONREAD of UDP (datagram) sockets return?

Which one does ioctl of FIONREAD return, the next packet's length, or the length of all data in the buffer? Suppose there is a UDP server that receives 2 packets from a client 1 and another 2 packets from client 2 after client 1's packet. Then, what…
minmaxavg
  • 686
  • 6
  • 21
6
votes
1 answer

why does ioctl return "bad address"

I use the the code below to output data from SPI port of an embedded board (olimex imx233-micro -- it is not a board specific question). When I run the code ioctl return "bad address". I am modifying the code on http://twilight.ponies.cz/spi-test.c…
sven
  • 1,101
  • 7
  • 21
  • 44
5
votes
4 answers

How to log the DeviceIoControl calls of a program on windows

I need to capture the DeviceIoControl() system calls of an application. On linux, strace can be used to analyze all ioctl calls. Is there any similar functionality on windows? MSDN website recommends a program called "Process Monitor" to analyze the…
tantuni
  • 671
  • 1
  • 8
  • 19
5
votes
1 answer

porting ioctl() calls from unix to linux, error with FIONBIO

i want to use ioctl() to get the number of bytes ready to be read the way I did it is: mysocket=socket(....); ioctl(mysocket, FIONBIO, &zero); connect(.....); ioctl( mysocket, FIONREAD, &numBytes ); read(mysocket, buffer, numBytes); this was…
maheshg
  • 339
  • 2
  • 7
  • 17
5
votes
0 answers

How can I use SIGRTMIN + X Signals in Andorid NDK for Usb ISOCHRONOUS Transfers

I am attempting to Submit ISOCHRONOUS URB in Android NDK in C. usbdevfs_urb& urbRequest = *(usbdevfs_urb*)malloc( 384 ); urbRequest.type = USBDEVFS_URB_TYPE_ISO; urbRequest.endpoint =…