ниже мой файл .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'
Я пытался в том числе
также попытался заменить booleand на bool, а также на _bool
все еще не помогает
кто-нибудь, пожалуйста, помогите мне здесь
ни Boolean
ни boolean
существуют где-нибудь в заголовочных файлах ядра Linux.
Тем не менее, есть bool
определяется в Linux / types.h как
typedef _Bool bool;
Чтобы получить доступ к этому, вы должны изменить boolean
в bool
и включать linux/types.h
в вашем источнике.
Компилятор не знает, как называется Boolean
обозначает. Вы должны включить заголовок, где это имя определено в этом заголовке, прежде чем ссылаться на Boolean