Linux设备驱动应用程序

时间:2013-10-10 14:55:11

标签: linux-device-driver

在我的设备驱动程序中,我使用

write_Parport_data(struct parport *p, unsigned char data);

在我的应用程序中,我必须创建struct parport类型的变量并将第一个元素赋值给一个值。 如:

struct parport strApp;
strApp.base = 0x378;   // Statement 1

然后:

write_Parport_data(&strApp, 0xff);

关于语句1的gcc编译器错误

  

错误:无效使用未定义类型'struct parport'

即使我在我的应用程序中包含#include 我犯了同样的错误。 即使我使用insmod,mknod使驱动程序准备就绪,仍然编译应用程序将给出相同的错误。我的应用程序应该如何使用struct parport,缺少什么?

由于

2 个答案:

答案 0 :(得分:0)

您确定要包含linux / include / linux / parport.h吗?并为编译器提供编译中的路径?换句话说,是否存在使用parport结构定义var的其他实例,这些实例不会产生编译器错误?

答案 1 :(得分:0)

您已定义此结构的位置?你应该包括那个标题。

您应该包含具有 struct parport

定义的文件

如果您在C文件中定义了该结构,那么您应该在头文件中对该结构定义进行extern并包含该头文件。