Я пытаюсь сделать новые системные вызовы в ядре 2.6.21
, и один из новых системных вызовов использует функцию 'sys_write',
, но чтобы использовать эту функцию, я понял,что я должен установить заголовочный файл ядра в соответствии с версией 2.6.21.
, но я не могу найти заголовочный файл ядра (2.6.21)
я пробовал apt-get install linux-headers-'uname -r'
, apt-cache search linux-headers-$(uname -r)
но я ничего не могу найти ..
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/syscalls.h>
#include <linux/fcntl.h>
#include <asm/uaccess.h>
int main(){
int fd;
int old_fs;
old_fs = get_fs();
set_fs(KERNEL_DS);
fd = sys_open("config.txt", O_RDONLY, 0);
if(fd >= 0)
sys_close(fd);
set_fs(old_fs);
return 0;
}
vv.c:2:24: error: linux/init.h: No such file or directory
vv.c:3:26: error: linux/module.h: No such file or directory
vv.c:4:28: error: linux/syscalls.h: No such file or directory
In file included from /usr/include/asm/fcntl.h:1,
from /usr/include/linux/fcntl.h:4,
from vv.c:5:
/usr/include/asm-generic/fcntl.h:120: error: expected specifier-qualifier-list before ‘off_t’
/usr/include/asm-generic/fcntl.h:143: error: expected specifier-qualifier-list before ‘loff_t’
vv.c:6:25: error: asm/uaccess.h: No such file or directory
vv.c: In function ‘main’:
vv.c:12: error: ‘KERNEL_DS’ undeclared (first use in this function)
vv.c:12: error: (Each undeclared identifier is reported only once
vv.c:12: error: for each function it appears in.)
дополнительно, заголовочные файлы - это то, что я хочу.
как я могу получить заголовочный файл ядра?
пожалуйста, помогите мне ..