Народ помогите пл3!
у меня возникают траблы при написании модулей для ядра (2.4.18)
под Линукс, а именно когда я включаю в код модуля заголовочный
файл <linux/fs.h> (ниже приведен пример модуля):
#define MODULE
#define __KERNEL__
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h> //!!!!!!!!!!!!!!
int init_module()
{
printk ("GOOD\n");
return 0;
}
при его компиляции выводяться ошибки
# gcc -c m.o m.c
In file included from /usr/include/linux/affs_fs_i.h:5,
from /usr/include/linux/fs.h:296,
from m.c:5:
/usr/include/linux/time.h:9: redefinition of `struct timespec'
/usr/include/linux/time.h:88: redefinition of `struct timeval'
/usr/include/linux/time.h:90: parse error before `suseconds_t'
/usr/include/linux/time.h:90: warning: no semicolon at end of struct or union
In file included from /usr/include/linux/fs.h:298,
from m.c:7:
/usr/include/linux/efs_fs_i.h:13: parse error before `efs_ino_t'
/usr/include/linux/efs_fs_i.h:13: warning: data definition has no type or storage class
/usr/include/linux/efs_fs_i.h:48: parse error before `uint32_t'
/usr/include/linux/efs_fs_i.h:48: warning: no semicolon at end of struct or union
/usr/include/linux/efs_fs_i.h:56: parse error before `}'
In file included from /usr/include/linux/coda_fs_i.h:14,
from /usr/include/linux/fs.h:299,
from m.c:7:
/usr/include/linux/coda.h:109: warning: redefinition of `u_quad_t'
/usr/include/sys/types.h:38: warning: `u_quad_t' previously declared here
А если написать простую программу с использованием <linux/fs.h> то она компилируеться без проблем (модуль без нее тоже нормально работает).
Поэтому может ктото подсказать кк мне можно заюзать в модуле <linux/fs.h>