| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * The NFC Controller Interface is the communication protocol between an |
|---|
| 3 | 4 | * NFC Controller (NFCC) and a Device Host (DH). |
|---|
| .. | .. |
|---|
| 10 | 11 | * Acknowledgements: |
|---|
| 11 | 12 | * This file is based on hci.h, which was written |
|---|
| 12 | 13 | * by Maxim Krasnyansky. |
|---|
| 13 | | - * |
|---|
| 14 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 15 | | - * it under the terms of the GNU General Public License version 2 |
|---|
| 16 | | - * as published by the Free Software Foundation |
|---|
| 17 | | - * |
|---|
| 18 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 19 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 20 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 21 | | - * GNU General Public License for more details. |
|---|
| 22 | | - * |
|---|
| 23 | | - * You should have received a copy of the GNU General Public License |
|---|
| 24 | | - * along with this program; if not, see <http://www.gnu.org/licenses/>. |
|---|
| 25 | | - * |
|---|
| 26 | 14 | */ |
|---|
| 27 | 15 | |
|---|
| 28 | 16 | #ifndef __NCI_H |
|---|
| .. | .. |
|---|
| 256 | 244 | struct core_conn_create_dest_spec_params { |
|---|
| 257 | 245 | __u8 type; |
|---|
| 258 | 246 | __u8 length; |
|---|
| 259 | | - __u8 value[0]; |
|---|
| 247 | + __u8 value[]; |
|---|
| 260 | 248 | } __packed; |
|---|
| 261 | 249 | |
|---|
| 262 | 250 | struct nci_core_conn_create_cmd { |
|---|
| 263 | 251 | __u8 destination_type; |
|---|
| 264 | 252 | __u8 number_destination_params; |
|---|
| 265 | | - struct core_conn_create_dest_spec_params params[0]; |
|---|
| 253 | + struct core_conn_create_dest_spec_params params[]; |
|---|
| 266 | 254 | } __packed; |
|---|
| 267 | 255 | |
|---|
| 268 | 256 | #define NCI_OP_CORE_CONN_CLOSE_CMD nci_opcode_pack(NCI_GID_CORE, 0x05) |
|---|
| .. | .. |
|---|
| 333 | 321 | __u8 status; |
|---|
| 334 | 322 | __le32 nfcc_features; |
|---|
| 335 | 323 | __u8 num_supported_rf_interfaces; |
|---|
| 336 | | - __u8 supported_rf_interfaces[0]; /* variable size array */ |
|---|
| 324 | + __u8 supported_rf_interfaces[]; /* variable size array */ |
|---|
| 337 | 325 | /* continuted in nci_core_init_rsp_2 */ |
|---|
| 338 | 326 | } __packed; |
|---|
| 339 | 327 | |
|---|
| .. | .. |
|---|
| 350 | 338 | struct nci_core_set_config_rsp { |
|---|
| 351 | 339 | __u8 status; |
|---|
| 352 | 340 | __u8 num_params; |
|---|
| 353 | | - __u8 params_id[0]; /* variable size array */ |
|---|
| 341 | + __u8 params_id[]; /* variable size array */ |
|---|
| 354 | 342 | } __packed; |
|---|
| 355 | 343 | |
|---|
| 356 | 344 | #define NCI_OP_CORE_CONN_CREATE_RSP nci_opcode_pack(NCI_GID_CORE, 0x04) |
|---|
| .. | .. |
|---|
| 513 | 501 | __u8 nfcee_id; |
|---|
| 514 | 502 | __u8 trigger; |
|---|
| 515 | 503 | __u8 supported_data_length; |
|---|
| 516 | | - __u8 supported_data[0]; |
|---|
| 504 | + __u8 supported_data[]; |
|---|
| 517 | 505 | } __packed; |
|---|
| 518 | 506 | |
|---|
| 519 | 507 | #define NCI_OP_NFCEE_DISCOVER_NTF nci_opcode_pack(NCI_GID_NFCEE_MGMT, 0x00) |
|---|
| 520 | 508 | struct nci_nfcee_supported_protocol { |
|---|
| 521 | 509 | __u8 num_protocol; |
|---|
| 522 | | - __u8 supported_protocol[0]; |
|---|
| 510 | + __u8 supported_protocol[]; |
|---|
| 523 | 511 | } __packed; |
|---|
| 524 | 512 | |
|---|
| 525 | 513 | struct nci_nfcee_information_tlv { |
|---|
| 526 | 514 | __u8 num_tlv; |
|---|
| 527 | | - __u8 information_tlv[0]; |
|---|
| 515 | + __u8 information_tlv[]; |
|---|
| 528 | 516 | } __packed; |
|---|
| 529 | 517 | |
|---|
| 530 | 518 | struct nci_nfcee_discover_ntf { |
|---|