Ioctls for data transfer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Hi list,

I know that introducing/using new ioctls is frawned upon by the community.
They might still be needed for controlling various hw parameters, Just wanted
to understand the data transfer side of ioctls with a use case.

E.g. My kernel module needs to pass a buffer of 1-2Mb to userspace
whenever user requests. The buffer will contain different kind of data depending
on different commands i.e. assume that I maintain 3 types of buffers in my module.

Now, with ioctls it is much easiler to get the buffer to userspace simply by issusing
different commands. But if I have to achive the same functionality using read() call
how would I do it? Meaning ioctl kind of multiplexes the things which might be
needed in some cases. How would I do this kind of stuff with read()? By having 3
different minor devices and issuing read() on 3 devices for getting 3 buffers?

I am not looking for anyother mechanism of trasnfering data to userspace as of now
since this data would be really sporadic. I have to choose between ioctl and read.

-Leo.

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux