Commit 14a81bf0 authored by Marcel Holtmann's avatar Marcel Holtmann

Bluetooth: replace zero-length array with flexible-array member

The current codebase makes use of the zero-length array language extension
to the C90 standard, but the preferred mechanism to declare variable-length
types such as these ones is a flexible array member.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 181d6953
...@@ -70,14 +70,14 @@ struct mgmt_rp_read_version { ...@@ -70,14 +70,14 @@ struct mgmt_rp_read_version {
struct mgmt_rp_read_commands { struct mgmt_rp_read_commands {
__le16 num_commands; __le16 num_commands;
__le16 num_events; __le16 num_events;
__le16 opcodes[0]; __le16 opcodes[];
} __packed; } __packed;
#define MGMT_OP_READ_INDEX_LIST 0x0003 #define MGMT_OP_READ_INDEX_LIST 0x0003
#define MGMT_READ_INDEX_LIST_SIZE 0 #define MGMT_READ_INDEX_LIST_SIZE 0
struct mgmt_rp_read_index_list { struct mgmt_rp_read_index_list {
__le16 num_controllers; __le16 num_controllers;
__le16 index[0]; __le16 index[];
} __packed; } __packed;
/* Reserve one extra byte for names in management messages so that they /* Reserve one extra byte for names in management messages so that they
...@@ -183,7 +183,7 @@ struct mgmt_link_key_info { ...@@ -183,7 +183,7 @@ struct mgmt_link_key_info {
struct mgmt_cp_load_link_keys { struct mgmt_cp_load_link_keys {
__u8 debug_keys; __u8 debug_keys;
__le16 key_count; __le16 key_count;
struct mgmt_link_key_info keys[0]; struct mgmt_link_key_info keys[];
} __packed; } __packed;
#define MGMT_LOAD_LINK_KEYS_SIZE 3 #define MGMT_LOAD_LINK_KEYS_SIZE 3
...@@ -206,7 +206,7 @@ struct mgmt_ltk_info { ...@@ -206,7 +206,7 @@ struct mgmt_ltk_info {
#define MGMT_OP_LOAD_LONG_TERM_KEYS 0x0013 #define MGMT_OP_LOAD_LONG_TERM_KEYS 0x0013
struct mgmt_cp_load_long_term_keys { struct mgmt_cp_load_long_term_keys {
__le16 key_count; __le16 key_count;
struct mgmt_ltk_info keys[0]; struct mgmt_ltk_info keys[];
} __packed; } __packed;
#define MGMT_LOAD_LONG_TERM_KEYS_SIZE 2 #define MGMT_LOAD_LONG_TERM_KEYS_SIZE 2
...@@ -223,7 +223,7 @@ struct mgmt_rp_disconnect { ...@@ -223,7 +223,7 @@ struct mgmt_rp_disconnect {
#define MGMT_GET_CONNECTIONS_SIZE 0 #define MGMT_GET_CONNECTIONS_SIZE 0
struct mgmt_rp_get_connections { struct mgmt_rp_get_connections {
__le16 conn_count; __le16 conn_count;
struct mgmt_addr_info addr[0]; struct mgmt_addr_info addr[];
} __packed; } __packed;
#define MGMT_OP_PIN_CODE_REPLY 0x0016 #define MGMT_OP_PIN_CODE_REPLY 0x0016
...@@ -413,7 +413,7 @@ struct mgmt_irk_info { ...@@ -413,7 +413,7 @@ struct mgmt_irk_info {
#define MGMT_OP_LOAD_IRKS 0x0030 #define MGMT_OP_LOAD_IRKS 0x0030
struct mgmt_cp_load_irks { struct mgmt_cp_load_irks {
__le16 irk_count; __le16 irk_count;
struct mgmt_irk_info irks[0]; struct mgmt_irk_info irks[];
} __packed; } __packed;
#define MGMT_LOAD_IRKS_SIZE 2 #define MGMT_LOAD_IRKS_SIZE 2
...@@ -465,7 +465,7 @@ struct mgmt_conn_param { ...@@ -465,7 +465,7 @@ struct mgmt_conn_param {
#define MGMT_OP_LOAD_CONN_PARAM 0x0035 #define MGMT_OP_LOAD_CONN_PARAM 0x0035
struct mgmt_cp_load_conn_param { struct mgmt_cp_load_conn_param {
__le16 param_count; __le16 param_count;
struct mgmt_conn_param params[0]; struct mgmt_conn_param params[];
} __packed; } __packed;
#define MGMT_LOAD_CONN_PARAM_SIZE 2 #define MGMT_LOAD_CONN_PARAM_SIZE 2
...@@ -473,7 +473,7 @@ struct mgmt_cp_load_conn_param { ...@@ -473,7 +473,7 @@ struct mgmt_cp_load_conn_param {
#define MGMT_READ_UNCONF_INDEX_LIST_SIZE 0 #define MGMT_READ_UNCONF_INDEX_LIST_SIZE 0
struct mgmt_rp_read_unconf_index_list { struct mgmt_rp_read_unconf_index_list {
__le16 num_controllers; __le16 num_controllers;
__le16 index[0]; __le16 index[];
} __packed; } __packed;
#define MGMT_OPTION_EXTERNAL_CONFIG 0x00000001 #define MGMT_OPTION_EXTERNAL_CONFIG 0x00000001
...@@ -504,7 +504,7 @@ struct mgmt_cp_start_service_discovery { ...@@ -504,7 +504,7 @@ struct mgmt_cp_start_service_discovery {
__u8 type; __u8 type;
__s8 rssi; __s8 rssi;
__le16 uuid_count; __le16 uuid_count;
__u8 uuids[0][16]; __u8 uuids[][16];
} __packed; } __packed;
#define MGMT_START_SERVICE_DISCOVERY_SIZE 4 #define MGMT_START_SERVICE_DISCOVERY_SIZE 4
...@@ -516,7 +516,7 @@ struct mgmt_cp_read_local_oob_ext_data { ...@@ -516,7 +516,7 @@ struct mgmt_cp_read_local_oob_ext_data {
struct mgmt_rp_read_local_oob_ext_data { struct mgmt_rp_read_local_oob_ext_data {
__u8 type; __u8 type;
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_OP_READ_EXT_INDEX_LIST 0x003C #define MGMT_OP_READ_EXT_INDEX_LIST 0x003C
...@@ -527,7 +527,7 @@ struct mgmt_rp_read_ext_index_list { ...@@ -527,7 +527,7 @@ struct mgmt_rp_read_ext_index_list {
__le16 index; __le16 index;
__u8 type; __u8 type;
__u8 bus; __u8 bus;
} entry[0]; } entry[];
} __packed; } __packed;
#define MGMT_OP_READ_ADV_FEATURES 0x0003D #define MGMT_OP_READ_ADV_FEATURES 0x0003D
...@@ -538,7 +538,7 @@ struct mgmt_rp_read_adv_features { ...@@ -538,7 +538,7 @@ struct mgmt_rp_read_adv_features {
__u8 max_scan_rsp_len; __u8 max_scan_rsp_len;
__u8 max_instances; __u8 max_instances;
__u8 num_instances; __u8 num_instances;
__u8 instance[0]; __u8 instance[];
} __packed; } __packed;
#define MGMT_OP_ADD_ADVERTISING 0x003E #define MGMT_OP_ADD_ADVERTISING 0x003E
...@@ -549,7 +549,7 @@ struct mgmt_cp_add_advertising { ...@@ -549,7 +549,7 @@ struct mgmt_cp_add_advertising {
__le16 timeout; __le16 timeout;
__u8 adv_data_len; __u8 adv_data_len;
__u8 scan_rsp_len; __u8 scan_rsp_len;
__u8 data[0]; __u8 data[];
} __packed; } __packed;
#define MGMT_ADD_ADVERTISING_SIZE 11 #define MGMT_ADD_ADVERTISING_SIZE 11
struct mgmt_rp_add_advertising { struct mgmt_rp_add_advertising {
...@@ -603,7 +603,7 @@ struct mgmt_rp_read_ext_info { ...@@ -603,7 +603,7 @@ struct mgmt_rp_read_ext_info {
__le32 supported_settings; __le32 supported_settings;
__le32 current_settings; __le32 current_settings;
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_OP_SET_APPEARANCE 0x0043 #define MGMT_OP_SET_APPEARANCE 0x0043
...@@ -668,7 +668,7 @@ struct mgmt_blocked_key_info { ...@@ -668,7 +668,7 @@ struct mgmt_blocked_key_info {
struct mgmt_cp_set_blocked_keys { struct mgmt_cp_set_blocked_keys {
__le16 key_count; __le16 key_count;
struct mgmt_blocked_key_info keys[0]; struct mgmt_blocked_key_info keys[];
} __packed; } __packed;
#define MGMT_OP_SET_BLOCKED_KEYS_SIZE 2 #define MGMT_OP_SET_BLOCKED_KEYS_SIZE 2
...@@ -678,14 +678,14 @@ struct mgmt_cp_set_blocked_keys { ...@@ -678,14 +678,14 @@ struct mgmt_cp_set_blocked_keys {
#define MGMT_READ_SECURITY_INFO_SIZE 0 #define MGMT_READ_SECURITY_INFO_SIZE 0
struct mgmt_rp_read_security_info { struct mgmt_rp_read_security_info {
__le16 sec_len; __le16 sec_len;
__u8 sec[0]; __u8 sec[];
} __packed; } __packed;
#define MGMT_EV_CMD_COMPLETE 0x0001 #define MGMT_EV_CMD_COMPLETE 0x0001
struct mgmt_ev_cmd_complete { struct mgmt_ev_cmd_complete {
__le16 opcode; __le16 opcode;
__u8 status; __u8 status;
__u8 data[0]; __u8 data[];
} __packed; } __packed;
#define MGMT_EV_CMD_STATUS 0x0002 #define MGMT_EV_CMD_STATUS 0x0002
...@@ -733,7 +733,7 @@ struct mgmt_ev_device_connected { ...@@ -733,7 +733,7 @@ struct mgmt_ev_device_connected {
struct mgmt_addr_info addr; struct mgmt_addr_info addr;
__le32 flags; __le32 flags;
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_DEV_DISCONN_UNKNOWN 0x00 #define MGMT_DEV_DISCONN_UNKNOWN 0x00
...@@ -788,7 +788,7 @@ struct mgmt_ev_device_found { ...@@ -788,7 +788,7 @@ struct mgmt_ev_device_found {
__s8 rssi; __s8 rssi;
__le32 flags; __le32 flags;
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_EV_DISCOVERING 0x0013 #define MGMT_EV_DISCOVERING 0x0013
...@@ -883,7 +883,7 @@ struct mgmt_ev_ext_index { ...@@ -883,7 +883,7 @@ struct mgmt_ev_ext_index {
struct mgmt_ev_local_oob_data_updated { struct mgmt_ev_local_oob_data_updated {
__u8 type; __u8 type;
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_EV_ADVERTISING_ADDED 0x0023 #define MGMT_EV_ADVERTISING_ADDED 0x0023
...@@ -899,7 +899,7 @@ struct mgmt_ev_advertising_removed { ...@@ -899,7 +899,7 @@ struct mgmt_ev_advertising_removed {
#define MGMT_EV_EXT_INFO_CHANGED 0x0025 #define MGMT_EV_EXT_INFO_CHANGED 0x0025
struct mgmt_ev_ext_info_changed { struct mgmt_ev_ext_info_changed {
__le16 eir_len; __le16 eir_len;
__u8 eir[0]; __u8 eir[];
} __packed; } __packed;
#define MGMT_EV_PHY_CONFIGURATION_CHANGED 0x0026 #define MGMT_EV_PHY_CONFIGURATION_CHANGED 0x0026
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment