预期的声明说明者或' ...'之前'布尔'

时间:2014-04-23 10:42:04

标签: c++ c unix kernel linux-device-driver

以下是我的.h文件

4 typedef struct pic_ pic_t; 
5 typedef int32_t status_t; 
6 typedef u_int16_t pic_id_t; 
7 typedef const char* (*pic_flavor_t) (pic_t *); 
8 typedef status_t (*pic_periodic_t) (pic_t *); 
9 typedef status_t (*pic_get_port_info_t) (pic_t *pic, u_int16_t link, void*info, Boolean*need_update); 
11 struct pic_ 
12 { 
13 u_int16_t   nic_slot; 
14 u_int16_t   pic_slot; 
15 u_int32_t   pic_flags; 
16 pic_id_t    pic_id; 
17 u_int16_t   pic_asic_type; 
18 u_int16_t   pic_firstport; 
19 pic_periodic_t  pic_periodic; 
20 pic_flavor_t    pic_flavor; 
21 pic_get_port_info_t pic_get_port_info; 
22 void *pic_context; 
23 };

我收到以下错误

../../../../../src/pfe/common/drivers/rpio/rpio_tunnel_pvt1.h:9: error: expected     declaration specifiers or '...' before 'boolean'

我试过包括 也尝试用bool和_bool替换booleand 仍然没有帮助。 有人请帮帮我

2 个答案:

答案 0 :(得分:1)

Linux内核头文件中的任何位置都不存在Booleanboolean

但是,linux/types.h中定义的bool

typedef _Bool           bool;

要访问此内容,您必须将boolean更改为bool并在您的来源中加入linux/types.h

答案 1 :(得分:0)

编译器不知道Boolean表示的名称。在引用Boolean

之前,您需要在此标头中包含此名称定义的标头