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