| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * iSCSI User/Kernel Shares (Defines, Constants, Protocol definitions, etc) |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2005 Dmitry Yusupov |
|---|
| 5 | 6 | * Copyright (C) 2005 Alex Aizman |
|---|
| 6 | 7 | * maintained by open-iscsi@googlegroups.com |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 9 | | - * it under the terms of the GNU General Public License as published |
|---|
| 10 | | - * by the Free Software Foundation; either version 2 of the License, or |
|---|
| 11 | | - * (at your option) any later version. |
|---|
| 12 | | - * |
|---|
| 13 | | - * This program is distributed in the hope that it will be useful, but |
|---|
| 14 | | - * WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 15 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|---|
| 16 | | - * General Public License for more details. |
|---|
| 17 | | - * |
|---|
| 18 | | - * See the file COPYING included with this distribution for more details. |
|---|
| 19 | 8 | */ |
|---|
| 20 | 9 | |
|---|
| 21 | 10 | #ifndef ISCSI_IF_H |
|---|
| .. | .. |
|---|
| 71 | 60 | ISCSI_UEVENT_LOGOUT_FLASHNODE_SID = UEVENT_BASE + 30, |
|---|
| 72 | 61 | ISCSI_UEVENT_SET_CHAP = UEVENT_BASE + 31, |
|---|
| 73 | 62 | ISCSI_UEVENT_GET_HOST_STATS = UEVENT_BASE + 32, |
|---|
| 63 | + ISCSI_UEVENT_DESTROY_SESSION_ASYNC = UEVENT_BASE + 33, |
|---|
| 74 | 64 | |
|---|
| 75 | 65 | /* up events */ |
|---|
| 76 | 66 | ISCSI_KEVENT_RECV_PDU = KEVENT_BASE + 1, |
|---|
| .. | .. |
|---|
| 322 | 312 | struct iscsi_param_info { |
|---|
| 323 | 313 | uint32_t len; /* Actual length of the param value */ |
|---|
| 324 | 314 | uint16_t param; /* iscsi param */ |
|---|
| 325 | | - uint8_t value[0]; /* length sized value follows */ |
|---|
| 315 | + uint8_t value[]; /* length sized value follows */ |
|---|
| 326 | 316 | } __packed; |
|---|
| 327 | 317 | |
|---|
| 328 | 318 | struct iscsi_iface_param_info { |
|---|
| .. | .. |
|---|
| 331 | 321 | uint16_t param; /* iscsi param value */ |
|---|
| 332 | 322 | uint8_t iface_type; /* IPv4 or IPv6 */ |
|---|
| 333 | 323 | uint8_t param_type; /* iscsi_param_type */ |
|---|
| 334 | | - uint8_t value[0]; /* length sized value follows */ |
|---|
| 324 | + uint8_t value[]; /* length sized value follows */ |
|---|
| 335 | 325 | } __packed; |
|---|
| 336 | 326 | |
|---|
| 337 | 327 | /* |
|---|
| .. | .. |
|---|
| 708 | 698 | struct iscsi_flashnode_param_info { |
|---|
| 709 | 699 | uint32_t len; /* Actual length of the param */ |
|---|
| 710 | 700 | uint16_t param; /* iscsi param value */ |
|---|
| 711 | | - uint8_t value[0]; /* length sized value follows */ |
|---|
| 701 | + uint8_t value[]; /* length sized value follows */ |
|---|
| 712 | 702 | } __packed; |
|---|
| 713 | 703 | |
|---|
| 714 | 704 | enum iscsi_discovery_parent_type { |
|---|
| .. | .. |
|---|
| 826 | 816 | * up to ISCSI_STATS_CUSTOM_MAX |
|---|
| 827 | 817 | */ |
|---|
| 828 | 818 | uint32_t custom_length; |
|---|
| 829 | | - struct iscsi_stats_custom custom[0] |
|---|
| 819 | + struct iscsi_stats_custom custom[] |
|---|
| 830 | 820 | __attribute__ ((aligned (sizeof(uint64_t)))); |
|---|
| 831 | 821 | }; |
|---|
| 832 | 822 | |
|---|
| .. | .. |
|---|
| 957 | 947 | * up to ISCSI_HOST_STATS_CUSTOM_MAX |
|---|
| 958 | 948 | */ |
|---|
| 959 | 949 | uint32_t custom_length; |
|---|
| 960 | | - struct iscsi_host_stats_custom custom[0] |
|---|
| 950 | + struct iscsi_host_stats_custom custom[] |
|---|
| 961 | 951 | __aligned(sizeof(uint64_t)); |
|---|
| 962 | 952 | }; |
|---|
| 963 | 953 | |
|---|