错误:提领指向不完全类型的指针
我的一个内核模块程序,是仿照别人的例子做的,但是别人的程序没问题,我的却——错误:提领指向不完全类型的指针,实际上这是一个网络模块,ruger_cluster_list实际上是一个结构体指针,初始化的时候会和自己组成循环链表,以后有插入元素的操作。谁遇到过这种问题?在网上看了一下,基本上都是落了某个头文件,但是我确认过没有落。
大家伙有没有 同样的情况啊指导一下啊?我是用代理上的公社,不容易啊!
struct ruger_cluser {
。
。
。
struct ruger_cluster *next;
};
static struct ruger_cluster *ruger_cluster_list;
static void __exitruger_exit(void)
{
struct list_head *ptr;
structruger_element *entry;
for(ptr = ruger_table.next; ptr != &ruger_table; ptr = ptr->next) {
entry = list_entry(ptr, struct ruger_element, list);
kfree(entry);
}
while(ruger_cluster_list != NULL) {
struct ruger_cluster *next = ruger_cluster_list->next;//错误:提领指向不完全类型的指针,就是这一句,这种用法应该没问题,也不是缺少头文件的问题
kfree(ruger_cluster_list);
ruger_cluster_list = next;
}
set_skb_ruger_handler(NULL);
set_buffer_ruger_handler(NULL);
sock_unregister(PF_RUGER);
}
static int __initruger_init(void)
{
INIT_LIST_HEAD(&ruger_table);
ruger_cluster_list = NULL;
sock_register(&ruger_family_ops);
return 0;
}
module_init(ruger_init);
module_exit(ruger_exit);
MODULE_LICENSE("GPL");
MODULE_ALIAS_NETPROTO(PF_RUGER);
页:
[1]