1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 */ 25 26 #ifndef _NET_IF_STRINGS_H_ 27 #define _NET_IF_STRINGS_H_ 28 29 #define IFCAP_RXCSUM_NAME "RXCSUM" 30 #define IFCAP_TXCSUM_NAME "TXCSUM" 31 #define IFCAP_NETCONS_NAME "NETCONS" 32 #define IFCAP_VLAN_MTU_NAME "VLAN_MTU" 33 #define IFCAP_VLAN_HWTAGGING_NAME "VLAN_HWTAGGING" 34 #define IFCAP_JUMBO_MTU_NAME "JUMBO_MTU" 35 #define IFCAP_POLLING_NAME "POLLING" 36 #define IFCAP_VLAN_HWCSUM_NAME "VLAN_HWCSUM" 37 #define IFCAP_TSO4_NAME "TSO4" 38 #define IFCAP_TSO6_NAME "TSO6" 39 #define IFCAP_LRO_NAME "LRO" 40 #define IFCAP_WOL_UCAST_NAME "WOL_UCAST" 41 #define IFCAP_WOL_MCAST_NAME "WOL_MCAST" 42 #define IFCAP_WOL_MAGIC_NAME "WOL_MAGIC" 43 #define IFCAP_TOE4_NAME "TOE4" 44 #define IFCAP_TOE6_NAME "TOE6" 45 #define IFCAP_VLAN_HWFILTER_NAME "VLAN_HWFILTER" 46 #define IFCAP_NV_NAME "NV" 47 #define IFCAP_VLAN_HWTSO_NAME "VLAN_HWTSO" 48 #define IFCAP_LINKSTATE_NAME "LINKSTATE" 49 #define IFCAP_NETMAP_NAME "NETMAP" 50 #define IFCAP_RXCSUM_IPV6_NAME "RXCSUM_IPV6" 51 #define IFCAP_TXCSUM_IPV6_NAME "TXCSUM_IPV6" 52 #define IFCAP_HWSTATS_NAME "HWSTATS" 53 #define IFCAP_TXRTLMT_NAME "TXRTLMT" 54 #define IFCAP_HWRXTSTMP_NAME "HWRXTSTMP" 55 #define IFCAP_MEXTPG_NAME "MEXTPG" 56 #define IFCAP_TXTLS4_NAME "TXTLS4" 57 #define IFCAP_TXTLS6_NAME "TXTLS6" 58 #define IFCAP_VXLAN_HWCSUM_NAME "VXLAN_HWCSUM" 59 #define IFCAP_VXLAN_HWTSO_NAME "VXLAN_HWTSO" 60 #define IFCAP_TXTLS_RTLMT_NAME "TXTLS_RTLMT" 61 #define IFCAP_RXTLS4_NAME "RXTLS4" 62 #define IFCAP_RXTLS6_NAME "RXTLS6" 63 64 #define IFCAP2_RXTLS4_NAME IFCAP_RXTLS4_NAME 65 #define IFCAP2_RXTLS6_NAME IFCAP_RXTLS6_NAME 66 67 static const char *ifcap_bit_names[] = { 68 IFCAP_RXCSUM_NAME, 69 IFCAP_TXCSUM_NAME, 70 IFCAP_NETCONS_NAME, 71 IFCAP_VLAN_MTU_NAME, 72 IFCAP_VLAN_HWTAGGING_NAME, 73 IFCAP_JUMBO_MTU_NAME, 74 IFCAP_POLLING_NAME, 75 IFCAP_VLAN_HWCSUM_NAME, 76 IFCAP_TSO4_NAME, 77 IFCAP_TSO6_NAME, 78 IFCAP_LRO_NAME, 79 IFCAP_WOL_UCAST_NAME, 80 IFCAP_WOL_MCAST_NAME, 81 IFCAP_WOL_MAGIC_NAME, 82 IFCAP_TOE4_NAME, 83 IFCAP_TOE6_NAME, 84 IFCAP_VLAN_HWFILTER_NAME, 85 IFCAP_NV_NAME, 86 IFCAP_VLAN_HWTSO_NAME, 87 IFCAP_LINKSTATE_NAME, 88 IFCAP_NETMAP_NAME, 89 IFCAP_RXCSUM_IPV6_NAME, 90 IFCAP_TXCSUM_IPV6_NAME, 91 IFCAP_HWSTATS_NAME, 92 IFCAP_TXRTLMT_NAME, 93 IFCAP_HWRXTSTMP_NAME, 94 IFCAP_MEXTPG_NAME, 95 IFCAP_TXTLS4_NAME, 96 IFCAP_TXTLS6_NAME, 97 IFCAP_VXLAN_HWCSUM_NAME, 98 IFCAP_VXLAN_HWTSO_NAME, 99 IFCAP_TXTLS_RTLMT_NAME, 100 IFCAP_RXTLS4_NAME, 101 IFCAP_RXTLS6_NAME, 102 }; 103 104 #ifdef IFCAP_B_SIZE 105 _Static_assert(sizeof(ifcap_bit_names) >= IFCAP_B_SIZE * sizeof(char *), 106 "ifcap bit names missing from ifcap_bit_names"); 107 #endif 108 109 #endif 110