the code of the module that i written is as follows:
#define MODULE
#include <linux/module.h>
#include <linux/proc_fs.h>
#define MODULE_NAME "manti"
struct manti
{
char mm[20];
};
static struct proc_dir_entry *example_dir;
struct manti m1;
int init_module(void)
{
example_dir=proc_mkdir(MODULE_NAME,NULL);
if(example_dir==NULL)
{
printk("<1> error in creation of proc file\n");
}
else
printk("<1>success in creation of proc dir\n");
}
void cleanup_module(void)
{
remove_proc_entry(MODULE_NAME,NULL);
printk("<1>proc entry removed\n");
}
here iam just making one directory in the proc file named manti
i am trying to compile it like
gcc -c proc.c
where the kernel version is 2.4.20-8
but i am getting following errors
In file included from proc.c:5:
/usr/include/linux/proc_fs.h:47: parse error before "off_t"
/usr/include/linux/proc_fs.h:51: parse error before "off_t"
/usr/include/linux/proc_fs.h:57: parse error before "mode_t"
/usr/include/linux/proc_fs.h:59: parse error before "uid"
/usr/include/linux/proc_fs.h:60: parse error before "gid"
/usr/include/linux/proc_fs.h:70: parse error before "count"
/usr/include/linux/proc_fs.h:72: parse error before "rdev"
/usr/include/linux/proc_fs.h:176: parse error before "mode_t"
/usr/include/linux/proc_fs.h: In function `proc_net_create':
/usr/include/linux/proc_fs.h:177: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h:177: (Each undeclared identifier is reported only once
/usr/include/linux/proc_fs.h:177: for each function it appears in.)
/usr/include/linux/proc_fs.h: At top level:
/usr/include/linux/proc_fs.h:181: parse error before "mode_t"
/usr/include/linux/proc_fs.h: In function `create_proc_entry':
/usr/include/linux/proc_fs.h:181: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h: In function `proc_symlink':
/usr/include/linux/proc_fs.h:185: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h: At top level:
/usr/include/linux/proc_fs.h:186: parse error before "mode_t"
/usr/include/linux/proc_fs.h: In function `proc_mknod':
/usr/include/linux/proc_fs.h:187: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h: In function `proc_mkdir':
/usr/include/linux/proc_fs.h:189: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h: At top level:
/usr/include/linux/proc_fs.h:192: parse error before "mode_t"
/usr/include/linux/proc_fs.h:193: parse error before "off_t"
/usr/include/linux/proc_fs.h:193: `create_proc_read_entry' declared as function returning a function
/usr/include/linux/proc_fs.h:196: parse error before "mode_t"
/usr/include/linux/proc_fs.h: In function `create_proc_info_entry':
/usr/include/linux/proc_fs.h:197: `NULL' undeclared (first use in this function)
/usr/include/linux/proc_fs.h: At top level:
/usr/include/linux/proc_fs.h:203: `NULL' used prior to declaration
proc.c: In function `init_module':
proc.c:16: `NULL' has an incomplete type
proc.c:17: invalid operands to binary ==
proc.c: In function `cleanup_module':
proc.c:26: `NULL' has an incomplete type
how to solve it
plz help me
is my compilation method is wrong or something else
thanks
sounak