簡體   English   中英

具有struct參數的Linux內核系統調用實現

[英]Linux Kernel system call implementation with struct parameter

我只知道如何將系統調用添加到Linux內核。 我的系統調用(與許多其他系統調用一樣)采用了指向我創建的結構的指針。 如果要將結構添加到內核源代碼中,應如何以及在何處添加它?

將包含新struct的標頭放在include/uapi/linux 通過使用適當的類型(例如__u16而不是unsigned short / uint16_t__kernel_time_t而不是time_t ... etc)來避免名稱空間污染。 查看struct mii_ioctl_data的示例。

通過將header-y += new_header.h條目添加到include/uapi/linux/Kbuild ,然后可以使用make headers_install導出標題。

默認情況下,它將頭文件安裝在./usr 如果希望它作為系統頭安裝它們,請改用make headers_install INSTALL_HDR_PATH=/usr 這導致uapi目錄的內容合並到/usr/include 然后,您可以在用戶空間程序中#include <linux/new_header.h>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM