Using in user programs, or in driver module code…does it matter?

前端 未结 2 1461
栀梦
栀梦 2020-12-30 07:54

I\'m developing a device driver module and associated user libraries to handle the ioctl() calls. The library takes the pertinent info and puts it into a struc

2条回答
  •  春和景丽
    2020-12-30 08:38

    1. Is it a bad idea to use linux/*.h includes in user-space code?

    Yes, usually. The typical situation is that you should be using the C-library headers (in this case, stdint.h and friends), and interface with the C library though those user-space types, and let the library handle talking with the kernel through kernel types.

    You're not in a typical situation though. In your case, you're writing the driver library. So you should be presenting an interface to userspace using stdint.h, but using the linux/*.h headers when you interface to your kernel driver.

    So the answer is no, in your case.

    1. Is it a bad idea to use stdint.h in kernel-space code?

    Most definitely yes.

    See also: http://lwn.net/Articles/113349/

提交回复
热议问题