Coverage Report

Created: 2026-10-28 06:53

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/build/src/basic/af-from-name.inc
Line
Count
Source
1
/* ANSI-C code produced by gperf version 3.1 */
2
/* Command-line: /usr/bin/gperf --multiple-iterations=10 -L ANSI-C -t --ignore-case -N lookup_af -H hash_af_name -p -C src/basic/af-from-name.gperf  */
3
/* Computed positions: -k'4-5,7' */
4
5
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28
/* The character set is not based on ISO-646.  */
29
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
30
#endif
31
32
#line 1 "src/basic/af-from-name.gperf"
33
34
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
35
#if __GNUC__ >= 15
36
_Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"")
37
#endif
38
#include <sys/socket.h>
39
#line 8 "src/basic/af-from-name.gperf"
40
struct af_name { const char* name; int id; };
41
42
#define TOTAL_KEYWORDS 48
43
41.0k
#define MIN_WORD_LENGTH 5
44
92.6k
#define MAX_WORD_LENGTH 13
45
#define MIN_HASH_VALUE 9
46
32.4k
#define MAX_HASH_VALUE 58
47
/* maximum key range = 50, duplicates = 0 */
48
49
#ifndef GPERF_DOWNCASE
50
#define GPERF_DOWNCASE 1
51
static unsigned char gperf_downcase[256] =
52
  {
53
      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,
54
     15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
55
     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
56
     45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
57
     60,  61,  62,  63,  64,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
58
    107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
59
    122,  91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104,
60
    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
61
    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
62
    135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
63
    150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
64
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
65
    180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
66
    195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
67
    210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
68
    225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
69
    240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
70
    255
71
  };
72
#endif
73
74
#ifndef GPERF_CASE_STRCMP
75
#define GPERF_CASE_STRCMP 1
76
static int
77
gperf_case_strcmp (register const char *s1, register const char *s2)
78
30.2k
{
79
30.2k
  for (;;)
80
226k
    {
81
226k
      unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
82
226k
      unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
83
226k
      if (c1 != 0 && c1 == c2)
84
196k
        continue;
85
30.2k
      return (int)c1 - (int)c2;
86
226k
    }
87
30.2k
}
88
#endif
89
90
#ifdef __GNUC__
91
__inline
92
#else
93
#ifdef __cplusplus
94
inline
95
#endif
96
#endif
97
static unsigned int
98
hash_af_name (register const char *str, register size_t len)
99
32.4k
{
100
32.4k
  static const unsigned char asso_values[] =
101
32.4k
    {
102
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
103
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
104
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
105
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
106
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
107
32.4k
      42, 59, 59, 38, 59, 59, 59, 59, 59, 59,
108
32.4k
      59, 59, 59, 59, 59,  1, 21, 14, 25,  4,
109
32.4k
      33, 59, 37,  2, 59, 32, 12, 26,  6, 15,
110
32.4k
       1, 14,  3,  3,  1, 29, 13, 19,  8, 59,
111
32.4k
      59, 59, 59, 59, 59, 59, 59,  1, 21, 14,
112
32.4k
      25,  4, 33, 59, 37,  2, 59, 32, 12, 26,
113
32.4k
       6, 15,  1, 14,  3,  3,  1, 29, 13, 19,
114
32.4k
       8, 59, 59, 59, 59, 59, 59, 59, 59, 59,
115
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
116
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
117
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
118
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
119
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
120
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
121
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
122
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
123
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
124
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
125
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
126
32.4k
      59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
127
32.4k
      59, 59, 59, 59, 59, 59
128
32.4k
    };
129
32.4k
  register unsigned int hval = len;
130
131
32.4k
  switch (hval)
132
32.4k
    {
133
16.9k
      default:
134
16.9k
        hval += asso_values[(unsigned char)str[6]];
135
      /*FALLTHROUGH*/
136
25.6k
      case 6:
137
32.4k
      case 5:
138
32.4k
        hval += asso_values[(unsigned char)str[4]];
139
      /*FALLTHROUGH*/
140
32.4k
      case 4:
141
32.4k
        hval += asso_values[(unsigned char)str[3]];
142
32.4k
        break;
143
32.4k
    }
144
32.4k
  return hval;
145
32.4k
}
146
147
const struct af_name *
148
lookup_af (register const char *str, register size_t len)
149
41.5k
{
150
41.5k
  static const struct af_name wordlist[] =
151
41.5k
    {
152
41.5k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
153
41.5k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
154
41.5k
      {(char*)0},
155
41.5k
#line 28 "src/basic/af-from-name.gperf"
156
41.5k
      {"AF_IPX", AF_IPX},
157
41.5k
#line 13 "src/basic/af-from-name.gperf"
158
41.5k
      {"AF_ASH", AF_ASH},
159
41.5k
      {(char*)0},
160
41.5k
#line 14 "src/basic/af-from-name.gperf"
161
41.5k
      {"AF_ATMPVC", AF_ATMPVC},
162
41.5k
#line 29 "src/basic/af-from-name.gperf"
163
41.5k
      {"AF_IRDA", AF_IRDA},
164
41.5k
#line 15 "src/basic/af-from-name.gperf"
165
41.5k
      {"AF_ATMSVC", AF_ATMSVC},
166
41.5k
#line 52 "src/basic/af-from-name.gperf"
167
41.5k
      {"AF_SNA", AF_SNA},
168
41.5k
#line 26 "src/basic/af-from-name.gperf"
169
41.5k
      {"AF_INET", AF_INET},
170
41.5k
#line 27 "src/basic/af-from-name.gperf"
171
41.5k
      {"AF_INET6", AF_INET6},
172
41.5k
#line 30 "src/basic/af-from-name.gperf"
173
41.5k
      {"AF_ISDN", AF_ISDN},
174
41.5k
#line 11 "src/basic/af-from-name.gperf"
175
41.5k
      {"AF_ALG", AF_ALG},
176
41.5k
#line 49 "src/basic/af-from-name.gperf"
177
41.5k
      {"AF_RXRPC", AF_RXRPC},
178
41.5k
#line 20 "src/basic/af-from-name.gperf"
179
41.5k
      {"AF_CAN", AF_CAN},
180
41.5k
#line 40 "src/basic/af-from-name.gperf"
181
41.5k
      {"AF_NETROM", AF_NETROM},
182
41.5k
#line 25 "src/basic/af-from-name.gperf"
183
41.5k
      {"AF_IEEE802154", AF_IEEE802154},
184
41.5k
#line 53 "src/basic/af-from-name.gperf"
185
41.5k
      {"AF_TIPC", AF_TIPC},
186
41.5k
#line 44 "src/basic/af-from-name.gperf"
187
41.5k
      {"AF_PPPOX", AF_PPPOX},
188
41.5k
#line 12 "src/basic/af-from-name.gperf"
189
41.5k
      {"AF_APPLETALK", AF_APPLETALK},
190
41.5k
#line 48 "src/basic/af-from-name.gperf"
191
41.5k
      {"AF_ROUTE", AF_ROUTE},
192
41.5k
#line 24 "src/basic/af-from-name.gperf"
193
41.5k
      {"AF_IB", AF_IB},
194
41.5k
#line 47 "src/basic/af-from-name.gperf"
195
41.5k
      {"AF_ROSE", AF_ROSE},
196
41.5k
#line 34 "src/basic/af-from-name.gperf"
197
41.5k
      {"AF_LLC", AF_LLC},
198
41.5k
#line 56 "src/basic/af-from-name.gperf"
199
41.5k
      {"AF_WANPIPE", AF_WANPIPE},
200
41.5k
#line 39 "src/basic/af-from-name.gperf"
201
41.5k
      {"AF_NETLINK", AF_NETLINK},
202
41.5k
#line 22 "src/basic/af-from-name.gperf"
203
41.5k
      {"AF_ECONET", AF_ECONET},
204
41.5k
#line 46 "src/basic/af-from-name.gperf"
205
41.5k
      {"AF_RDS", AF_RDS},
206
41.5k
#line 51 "src/basic/af-from-name.gperf"
207
41.5k
      {"AF_SMC", AF_SMC},
208
41.5k
#line 35 "src/basic/af-from-name.gperf"
209
41.5k
      {"AF_LOCAL", AF_LOCAL},
210
41.5k
#line 37 "src/basic/af-from-name.gperf"
211
41.5k
      {"AF_MPLS", AF_MPLS},
212
41.5k
#line 55 "src/basic/af-from-name.gperf"
213
41.5k
      {"AF_VSOCK", AF_VSOCK},
214
41.5k
#line 58 "src/basic/af-from-name.gperf"
215
41.5k
      {"AF_XDP", AF_XDP},
216
41.5k
#line 45 "src/basic/af-from-name.gperf"
217
41.5k
      {"AF_QIPCRTR", AF_QIPCRTR},
218
41.5k
#line 38 "src/basic/af-from-name.gperf"
219
41.5k
      {"AF_NETBEUI", AF_NETBEUI},
220
41.5k
#line 33 "src/basic/af-from-name.gperf"
221
41.5k
      {"AF_KEY", AF_KEY},
222
41.5k
#line 42 "src/basic/af-from-name.gperf"
223
41.5k
      {"AF_PACKET", AF_PACKET},
224
41.5k
#line 21 "src/basic/af-from-name.gperf"
225
41.5k
      {"AF_DECnet", AF_DECnet},
226
41.5k
#line 41 "src/basic/af-from-name.gperf"
227
41.5k
      {"AF_NFC", AF_NFC},
228
41.5k
#line 23 "src/basic/af-from-name.gperf"
229
41.5k
      {"AF_FILE", AF_FILE},
230
41.5k
#line 50 "src/basic/af-from-name.gperf"
231
41.5k
      {"AF_SECURITY", AF_SECURITY},
232
41.5k
#line 36 "src/basic/af-from-name.gperf"
233
41.5k
      {"AF_MCTP", AF_MCTP},
234
41.5k
#line 17 "src/basic/af-from-name.gperf"
235
41.5k
      {"AF_BLUETOOTH", AF_BLUETOOTH},
236
41.5k
#line 54 "src/basic/af-from-name.gperf"
237
41.5k
      {"AF_UNIX", AF_UNIX},
238
41.5k
#line 31 "src/basic/af-from-name.gperf"
239
41.5k
      {"AF_IUCV", AF_IUCV},
240
41.5k
#line 32 "src/basic/af-from-name.gperf"
241
41.5k
      {"AF_KCM", AF_KCM},
242
41.5k
#line 43 "src/basic/af-from-name.gperf"
243
41.5k
      {"AF_PHONET", AF_PHONET},
244
41.5k
#line 16 "src/basic/af-from-name.gperf"
245
41.5k
      {"AF_AX25", AF_AX25},
246
41.5k
#line 19 "src/basic/af-from-name.gperf"
247
41.5k
      {"AF_CAIF", AF_CAIF},
248
41.5k
#line 57 "src/basic/af-from-name.gperf"
249
41.5k
      {"AF_X25", AF_X25},
250
41.5k
      {(char*)0},
251
41.5k
#line 18 "src/basic/af-from-name.gperf"
252
41.5k
      {"AF_BRIDGE", AF_BRIDGE}
253
41.5k
    };
254
255
41.5k
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
256
32.4k
    {
257
32.4k
      register unsigned int key = hash_af_name (str, len);
258
259
32.4k
      if (key <= MAX_HASH_VALUE)
260
31.1k
        {
261
31.1k
          register const char *s = wordlist[key].name;
262
263
31.1k
          if (s && (((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s))
264
28.4k
            return &wordlist[key];
265
31.1k
        }
266
32.4k
    }
267
13.1k
  return 0;
268
41.5k
}