Coverage Report

Created: 2025-06-13 06:12

/src/resiprocate/resip/stack/gen/HeaderHash.cxx
Line
Count
Source (jump to first uncovered line)
1
/* C++ code produced by gperf version 3.1 */
2
/* Command-line: gperf -C -D -E -L C++ -t --key-positions='*' --compare-strncmp --ignore-case -Z HeaderHash HeaderHash.gperf  */
3
4
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27
/* The character set is not based on ISO-646.  */
28
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
29
#endif
30
31
#line 1 "HeaderHash.gperf"
32
33
#include <string.h>
34
#include <ctype.h>
35
#include "resip/stack/HeaderTypes.hxx"
36
37
namespace resip
38
{
39
using namespace std;
40
#line 10 "HeaderHash.gperf"
41
struct headers { const char *name; Headers::Type type; };
42
/* maximum key range = 438, duplicates = 0 */
43
44
#ifndef GPERF_DOWNCASE
45
#define GPERF_DOWNCASE 1
46
static unsigned char gperf_downcase[256] =
47
  {
48
      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,
49
     15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
50
     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
51
     45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
52
     60,  61,  62,  63,  64,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
53
    107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
54
    122,  91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104,
55
    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
56
    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
57
    135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
58
    150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
59
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
60
    180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
61
    195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
62
    210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
63
    225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
64
    240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
65
    255
66
  };
67
#endif
68
69
#ifndef GPERF_CASE_STRNCMP
70
#define GPERF_CASE_STRNCMP 1
71
static int
72
gperf_case_strncmp (const char *s1, const char *s2, size_t n)
73
161k
{
74
352k
  for (; n > 0;)
75
192k
    {
76
192k
      unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
77
192k
      unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
78
192k
      if (c1 != 0 && c1 == c2)
79
191k
        {
80
191k
          n--;
81
191k
          continue;
82
191k
        }
83
1.26k
      return (int)c1 - (int)c2;
84
192k
    }
85
160k
  return 0;
86
161k
}
87
#endif
88
89
class HeaderHash
90
{
91
private:
92
  static inline unsigned int hash (const char *str, size_t len);
93
public:
94
  static const struct headers *in_word_set (const char *str, size_t len);
95
};
96
97
inline unsigned int
98
HeaderHash::hash (const char *str, size_t len)
99
568k
{
100
568k
  static const unsigned short asso_values[] =
101
568k
    {
102
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
103
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
104
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
105
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
106
568k
      439, 439, 439, 439, 439,   0, 439, 439, 439,   5,
107
568k
        0, 439, 439, 439, 439, 439, 439, 439, 439, 439,
108
568k
      439, 439, 439, 439, 439,   0,  65,  25,   0,  20,
109
568k
       45,   5,  15,  30,  15,  80,  50,  40,   0,   5,
110
568k
        0,  30,  15,  10,   0,   0,  70,   0, 110,  35,
111
568k
        0, 439, 439, 439, 439, 439, 439,   0,  65,  25,
112
568k
        0,  20,  45,   5,  15,  30,  15,  80,  50,  40,
113
568k
        0,   5,   0,  30,  15,  10,   0,   0,  70,   0,
114
568k
      110,  35,   0, 439, 439, 439, 439, 439, 439, 439,
115
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
116
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
117
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
118
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
119
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
120
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
121
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
122
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
123
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
124
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
125
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
126
568k
      439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
127
568k
      439, 439, 439, 439, 439, 439
128
568k
    };
129
568k
  unsigned int hval = len;
130
131
568k
  switch (hval)
132
568k
    {
133
343
      default:
134
343
        hval += asso_values[static_cast<unsigned char>(str[28])];
135
      /*FALLTHROUGH*/
136
680
      case 28:
137
680
        hval += asso_values[static_cast<unsigned char>(str[27])];
138
      /*FALLTHROUGH*/
139
8.22k
      case 27:
140
8.22k
        hval += asso_values[static_cast<unsigned char>(str[26])];
141
      /*FALLTHROUGH*/
142
8.70k
      case 26:
143
8.70k
        hval += asso_values[static_cast<unsigned char>(str[25])];
144
      /*FALLTHROUGH*/
145
9.20k
      case 25:
146
9.20k
        hval += asso_values[static_cast<unsigned char>(str[24])];
147
      /*FALLTHROUGH*/
148
9.81k
      case 24:
149
9.81k
        hval += asso_values[static_cast<unsigned char>(str[23])];
150
      /*FALLTHROUGH*/
151
13.1k
      case 23:
152
13.1k
        hval += asso_values[static_cast<unsigned char>(str[22])];
153
      /*FALLTHROUGH*/
154
14.3k
      case 22:
155
14.3k
        hval += asso_values[static_cast<unsigned char>(str[21])];
156
      /*FALLTHROUGH*/
157
15.3k
      case 21:
158
15.3k
        hval += asso_values[static_cast<unsigned char>(str[20])];
159
      /*FALLTHROUGH*/
160
16.0k
      case 20:
161
16.0k
        hval += asso_values[static_cast<unsigned char>(str[19])];
162
      /*FALLTHROUGH*/
163
19.6k
      case 19:
164
19.6k
        hval += asso_values[static_cast<unsigned char>(str[18])];
165
      /*FALLTHROUGH*/
166
20.3k
      case 18:
167
20.3k
        hval += asso_values[static_cast<unsigned char>(str[17])];
168
      /*FALLTHROUGH*/
169
22.0k
      case 17:
170
22.0k
        hval += asso_values[static_cast<unsigned char>(str[16])];
171
      /*FALLTHROUGH*/
172
24.0k
      case 16:
173
24.0k
        hval += asso_values[static_cast<unsigned char>(str[15])];
174
      /*FALLTHROUGH*/
175
24.9k
      case 15:
176
24.9k
        hval += asso_values[static_cast<unsigned char>(str[14])];
177
      /*FALLTHROUGH*/
178
25.7k
      case 14:
179
25.7k
        hval += asso_values[static_cast<unsigned char>(str[13])];
180
      /*FALLTHROUGH*/
181
30.0k
      case 13:
182
30.0k
        hval += asso_values[static_cast<unsigned char>(str[12])];
183
      /*FALLTHROUGH*/
184
34.3k
      case 12:
185
34.3k
        hval += asso_values[static_cast<unsigned char>(str[11])];
186
      /*FALLTHROUGH*/
187
36.7k
      case 11:
188
36.7k
        hval += asso_values[static_cast<unsigned char>(str[10])];
189
      /*FALLTHROUGH*/
190
38.1k
      case 10:
191
38.1k
        hval += asso_values[static_cast<unsigned char>(str[9])];
192
      /*FALLTHROUGH*/
193
43.0k
      case 9:
194
43.0k
        hval += asso_values[static_cast<unsigned char>(str[8])];
195
      /*FALLTHROUGH*/
196
51.1k
      case 8:
197
51.1k
        hval += asso_values[static_cast<unsigned char>(str[7])];
198
      /*FALLTHROUGH*/
199
73.0k
      case 7:
200
73.0k
        hval += asso_values[static_cast<unsigned char>(str[6])];
201
      /*FALLTHROUGH*/
202
80.7k
      case 6:
203
80.7k
        hval += asso_values[static_cast<unsigned char>(str[5])];
204
      /*FALLTHROUGH*/
205
100k
      case 5:
206
100k
        hval += asso_values[static_cast<unsigned char>(str[4])];
207
      /*FALLTHROUGH*/
208
124k
      case 4:
209
124k
        hval += asso_values[static_cast<unsigned char>(str[3])];
210
      /*FALLTHROUGH*/
211
166k
      case 3:
212
166k
        hval += asso_values[static_cast<unsigned char>(str[2])];
213
      /*FALLTHROUGH*/
214
247k
      case 2:
215
247k
        hval += asso_values[static_cast<unsigned char>(str[1])];
216
      /*FALLTHROUGH*/
217
568k
      case 1:
218
568k
        hval += asso_values[static_cast<unsigned char>(str[0])];
219
568k
        break;
220
568k
    }
221
568k
  return hval;
222
568k
}
223
224
const struct headers *
225
HeaderHash::in_word_set (const char *str, size_t len)
226
1.74M
{
227
1.74M
  enum
228
1.74M
    {
229
1.74M
      TOTAL_KEYWORDS = 113,
230
1.74M
      MIN_WORD_LENGTH = 1,
231
1.74M
      MAX_WORD_LENGTH = 29,
232
1.74M
      MIN_HASH_VALUE = 1,
233
1.74M
      MAX_HASH_VALUE = 438
234
1.74M
    };
235
236
1.74M
  static const struct headers wordlist[] =
237
1.74M
    {
238
1.74M
#line 20 "HeaderHash.gperf"
239
1.74M
      {"t", Headers::To},
240
1.74M
#line 26 "HeaderHash.gperf"
241
1.74M
      {"o", Headers::Event},
242
1.74M
#line 36 "HeaderHash.gperf"
243
1.74M
      {"to", Headers::To},
244
1.74M
#line 18 "HeaderHash.gperf"
245
1.74M
      {"s", Headers::Subject},
246
1.74M
#line 22 "HeaderHash.gperf"
247
1.74M
      {"r", Headers::ReferTo},
248
1.74M
#line 99 "HeaderHash.gperf"
249
1.74M
      {"path", Headers::Path},
250
1.74M
#line 14 "HeaderHash.gperf"
251
1.74M
      {"e", Headers::ContentEncoding},
252
1.74M
#line 52 "HeaderHash.gperf"
253
1.74M
      {"date", Headers::Date},
254
1.74M
#line 16 "HeaderHash.gperf"
255
1.74M
      {"c", Headers::ContentType},
256
1.74M
#line 12 "HeaderHash.gperf"
257
1.74M
      {"i", Headers::CallID},
258
1.74M
#line 64 "HeaderHash.gperf"
259
1.74M
      {"host", Headers::Host},
260
1.74M
#line 25 "HeaderHash.gperf"
261
1.74M
      {"y", Headers::Identity},
262
1.74M
#line 13 "HeaderHash.gperf"
263
1.74M
      {"m", Headers::Contact},
264
1.74M
#line 34 "HeaderHash.gperf"
265
1.74M
      {"route", Headers::Route},
266
1.74M
#line 17 "HeaderHash.gperf"
267
1.74M
      {"f", Headers::From},
268
1.74M
#line 15 "HeaderHash.gperf"
269
1.74M
      {"l", Headers::ContentLength},
270
1.74M
#line 93 "HeaderHash.gperf"
271
1.74M
      {"join", Headers::Join},
272
1.74M
#line 103 "HeaderHash.gperf"
273
1.74M
      {"reason", Headers::Reason},
274
1.74M
#line 83 "HeaderHash.gperf"
275
1.74M
      {"warning", Headers::Warning},
276
1.74M
#line 77 "HeaderHash.gperf"
277
1.74M
      {"supported", Headers::Supported},
278
1.74M
#line 81 "HeaderHash.gperf"
279
1.74M
      {"unsupported", Headers::Unsupported},
280
1.74M
#line 29 "HeaderHash.gperf"
281
1.74M
      {"contact", Headers::Contact},
282
1.74M
#line 23 "HeaderHash.gperf"
283
1.74M
      {"b", Headers::ReferredBy},
284
1.74M
#line 90 "HeaderHash.gperf"
285
1.74M
      {"hide", Headers::UNKNOWN},
286
1.74M
#line 21 "HeaderHash.gperf"
287
1.74M
      {"v", Headers::Via},
288
1.74M
#line 75 "HeaderHash.gperf"
289
1.74M
      {"sip-etag", Headers::SIPETag},
290
1.74M
#line 38 "HeaderHash.gperf"
291
1.74M
      {"accept", Headers::Accept},
292
1.74M
#line 110 "HeaderHash.gperf"
293
1.74M
      {"rseq", Headers::RSeq},
294
1.74M
#line 82 "HeaderHash.gperf"
295
1.74M
      {"user-agent", Headers::UserAgent},
296
1.74M
#line 19 "HeaderHash.gperf"
297
1.74M
      {"k", Headers::Supported},
298
1.74M
#line 27 "HeaderHash.gperf"
299
1.74M
      {"cseq", Headers::CSeq},
300
1.74M
#line 47 "HeaderHash.gperf"
301
1.74M
      {"content-id", Headers::ContentId},
302
1.74M
#line 63 "HeaderHash.gperf"
303
1.74M
      {"origin", Headers::Origin},
304
1.74M
#line 57 "HeaderHash.gperf"
305
1.74M
      {"organization", Headers::Organization},
306
1.74M
#line 37 "HeaderHash.gperf"
307
1.74M
      {"via", Headers::Via},
308
1.74M
#line 116 "HeaderHash.gperf"
309
1.74M
      {"min-se", Headers::MinSE},
310
1.74M
#line 124 "HeaderHash.gperf"
311
1.74M
      {"user-to-user", Headers::UserToUser},
312
1.74M
#line 32 "HeaderHash.gperf"
313
1.74M
      {"from", Headers::From},
314
1.74M
#line 43 "HeaderHash.gperf"
315
1.74M
      {"allow", Headers::Allow},
316
1.74M
#line 24 "HeaderHash.gperf"
317
1.74M
      {"x", Headers::SessionExpires},
318
1.74M
#line 86 "HeaderHash.gperf"
319
1.74M
      {"authorization", Headers::Authorization},
320
1.74M
#line 89 "HeaderHash.gperf"
321
1.74M
      {"event", Headers::Event},
322
1.74M
#line 50 "HeaderHash.gperf"
323
1.74M
      {"content-type", Headers::ContentType},
324
1.74M
#line 79 "HeaderHash.gperf"
325
1.74M
      {"answer-mode", Headers::AnswerMode},
326
1.74M
#line 91 "HeaderHash.gperf"
327
1.74M
      {"identity", Headers::Identity},
328
1.74M
#line 102 "HeaderHash.gperf"
329
1.74M
      {"rack", Headers::RAck},
330
1.74M
#line 84 "HeaderHash.gperf"
331
1.74M
      {"www-authenticate",Headers::WWWAuthenticate},
332
1.74M
#line 104 "HeaderHash.gperf"
333
1.74M
      {"refer-to",Headers::ReferTo},
334
1.74M
#line 69 "HeaderHash.gperf"
335
1.74M
      {"record-route", Headers::RecordRoute},
336
1.74M
#line 70 "HeaderHash.gperf"
337
1.74M
      {"reply-to", Headers::ReplyTo},
338
1.74M
#line 71 "HeaderHash.gperf"
339
1.74M
      {"require", Headers::Require},
340
1.74M
#line 65 "HeaderHash.gperf"
341
1.74M
      {"priority", Headers::Priority},
342
1.74M
#line 39 "HeaderHash.gperf"
343
1.74M
      {"accept-contact", Headers::AcceptContact},
344
1.74M
#line 88 "HeaderHash.gperf"
345
1.74M
      {"encryption", Headers::UNKNOWN},
346
1.74M
#line 35 "HeaderHash.gperf"
347
1.74M
      {"subject", Headers::Subject},
348
1.74M
#line 100 "HeaderHash.gperf"
349
1.74M
      {"target-dialog", Headers::TargetDialog},
350
1.74M
#line 49 "HeaderHash.gperf"
351
1.74M
      {"content-language", Headers::ContentLanguage},
352
1.74M
#line 106 "HeaderHash.gperf"
353
1.74M
      {"replaces",Headers::Replaces},
354
1.74M
#line 78 "HeaderHash.gperf"
355
1.74M
      {"timestamp", Headers::Timestamp},
356
1.74M
#line 48 "HeaderHash.gperf"
357
1.74M
      {"content-encoding", Headers::ContentEncoding},
358
1.74M
#line 30 "HeaderHash.gperf"
359
1.74M
      {"content-length", Headers::ContentLength},
360
1.74M
#line 74 "HeaderHash.gperf"
361
1.74M
      {"server", Headers::Server},
362
1.74M
#line 53 "HeaderHash.gperf"
363
1.74M
      {"error-info", Headers::ErrorInfo},
364
1.74M
#line 95 "HeaderHash.gperf"
365
1.74M
      {"p-associated-uri", Headers::PAssociatedUri},
366
1.74M
#line 28 "HeaderHash.gperf"
367
1.74M
      {"call-id", Headers::CallID},
368
1.74M
#line 107 "HeaderHash.gperf"
369
1.74M
      {"reject-contact", Headers::RejectContact},
370
1.74M
#line 41 "HeaderHash.gperf"
371
1.74M
      {"accept-language", Headers::AcceptLanguage},
372
1.74M
#line 54 "HeaderHash.gperf"
373
1.74M
      {"in-reply-to", Headers::InReplyTo},
374
1.74M
#line 40 "HeaderHash.gperf"
375
1.74M
      {"accept-encoding", Headers::AcceptEncoding},
376
1.74M
#line 62 "HeaderHash.gperf"
377
1.74M
      {"cookie", Headers::Cookie},
378
1.74M
#line 42 "HeaderHash.gperf"
379
1.74M
      {"alert-info",Headers::AlertInfo},
380
1.74M
#line 72 "HeaderHash.gperf"
381
1.74M
      {"retry-after", Headers::RetryAfter},
382
1.74M
#line 101 "HeaderHash.gperf"
383
1.74M
      {"privacy", Headers::Privacy},
384
1.74M
#line 46 "HeaderHash.gperf"
385
1.74M
      {"content-disposition", Headers::ContentDisposition},
386
1.74M
#line 118 "HeaderHash.gperf"
387
1.74M
      {"remote-party-id", Headers::RemotePartyId},
388
1.74M
#line 117 "HeaderHash.gperf"
389
1.74M
      {"refer-sub", Headers::ReferSub},
390
1.74M
#line 119 "HeaderHash.gperf"
391
1.74M
      {"history-info", Headers::HistoryInfo},
392
1.74M
#line 76 "HeaderHash.gperf"
393
1.74M
      {"sip-if-match", Headers::SIPIfMatch},
394
1.74M
#line 92 "HeaderHash.gperf"
395
1.74M
      {"identity-info", Headers::IdentityInfo},
396
1.74M
#line 94 "HeaderHash.gperf"
397
1.74M
      {"p-asserted-identity", Headers::PAssertedIdentity},
398
1.74M
#line 97 "HeaderHash.gperf"
399
1.74M
      {"p-media-authorization", Headers::PMediaAuthorization},
400
1.74M
#line 31 "HeaderHash.gperf"
401
1.74M
      {"expires", Headers::Expires},
402
1.74M
#line 45 "HeaderHash.gperf"
403
1.74M
      {"call-info", Headers::CallInfo},
404
1.74M
#line 73 "HeaderHash.gperf"
405
1.74M
      {"flow-timer", Headers::FlowTimer},
406
1.74M
#line 44 "HeaderHash.gperf"
407
1.74M
      {"authentication-info", Headers::AuthenticationInfo},
408
1.74M
#line 109 "HeaderHash.gperf"
409
1.74M
      {"response-key", Headers::UNKNOWN},
410
1.74M
#line 108 "HeaderHash.gperf"
411
1.74M
      {"request-disposition", Headers::RequestDisposition},
412
1.74M
#line 87 "HeaderHash.gperf"
413
1.74M
      {"allow-events", Headers::AllowEvents},
414
1.74M
#line 85 "HeaderHash.gperf"
415
1.74M
      {"subscription-state",Headers::SubscriptionState},
416
1.74M
#line 80 "HeaderHash.gperf"
417
1.74M
      {"priv-answer-mode", Headers::PrivAnswerMode},
418
1.74M
#line 96 "HeaderHash.gperf"
419
1.74M
      {"p-called-party-id", Headers::PCalledPartyId},
420
1.74M
#line 114 "HeaderHash.gperf"
421
1.74M
      {"service-route", Headers::ServiceRoute},
422
1.74M
#line 121 "HeaderHash.gperf"
423
1.74M
      {"p-charging-vector", Headers::PChargingVector},
424
1.74M
#line 33 "HeaderHash.gperf"
425
1.74M
      {"max-forwards", Headers::MaxForwards},
426
1.74M
#line 105 "HeaderHash.gperf"
427
1.74M
      {"referred-by",Headers::ReferredBy},
428
1.74M
#line 51 "HeaderHash.gperf"
429
1.74M
      {"content-transfer-encoding", Headers::ContentTransferEncoding},
430
1.74M
#line 111 "HeaderHash.gperf"
431
1.74M
      {"security-client", Headers::SecurityClient},
432
1.74M
#line 67 "HeaderHash.gperf"
433
1.74M
      {"proxy-authorization", Headers::ProxyAuthorization},
434
1.74M
#line 98 "HeaderHash.gperf"
435
1.74M
      {"p-preferred-identity", Headers::PPreferredIdentity},
436
1.74M
#line 55 "HeaderHash.gperf"
437
1.74M
      {"min-expires", Headers::MinExpires},
438
1.74M
#line 56 "HeaderHash.gperf"
439
1.74M
      {"mime-version", Headers::MIMEVersion},
440
1.74M
#line 66 "HeaderHash.gperf"
441
1.74M
      {"proxy-authenticate", Headers::ProxyAuthenticate},
442
1.74M
#line 112 "HeaderHash.gperf"
443
1.74M
      {"security-server", Headers::SecurityServer},
444
1.74M
#line 115 "HeaderHash.gperf"
445
1.74M
      {"session-expires", Headers::SessionExpires},
446
1.74M
#line 68 "HeaderHash.gperf"
447
1.74M
      {"proxy-require", Headers::ProxyRequire},
448
1.74M
#line 120 "HeaderHash.gperf"
449
1.74M
      {"p-access-network-info", Headers::PAccessNetworkInfo},
450
1.74M
#line 122 "HeaderHash.gperf"
451
1.74M
      {"p-charging-function-addresses", Headers::PChargingFunctionAddresses},
452
1.74M
#line 123 "HeaderHash.gperf"
453
1.74M
      {"p-visited-network-id", Headers::PVisitedNetworkID},
454
1.74M
#line 113 "HeaderHash.gperf"
455
1.74M
      {"security-verify", Headers::SecurityVerify},
456
1.74M
#line 61 "HeaderHash.gperf"
457
1.74M
      {"sec-websocket-accept", Headers::SecWebSocketAccept},
458
1.74M
#line 58 "HeaderHash.gperf"
459
1.74M
      {"sec-websocket-key", Headers::SecWebSocketKey},
460
1.74M
#line 60 "HeaderHash.gperf"
461
1.74M
      {"sec-websocket-key2", Headers::SecWebSocketKey2},
462
1.74M
#line 59 "HeaderHash.gperf"
463
1.74M
      {"sec-websocket-key1", Headers::SecWebSocketKey1}
464
1.74M
    };
465
466
1.74M
  static const signed char lookup[] =
467
1.74M
    {
468
1.74M
       -1,   0,  -1,  -1,  -1,  -1,   1,   2,  -1,  -1,
469
1.74M
       -1,   3,  -1,  -1,  -1,  -1,   4,  -1,  -1,   5,
470
1.74M
       -1,   6,  -1,  -1,   7,  -1,   8,  -1,  -1,  -1,
471
1.74M
       -1,   9,  -1,  -1,  10,  -1,  11,  -1,  -1,  -1,
472
1.74M
       -1,  12,  -1,  -1,  -1,  13,  14,  -1,  -1,  -1,
473
1.74M
       -1,  15,  -1,  -1,  16,  -1,  17,  18,  -1,  19,
474
1.74M
       -1,  20,  21,  -1,  -1,  -1,  22,  -1,  -1,  23,
475
1.74M
       -1,  24,  -1,  25,  -1,  -1,  26,  -1,  -1,  27,
476
1.74M
       28,  29,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  30,
477
1.74M
       31,  32,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
478
1.74M
       -1,  -1,  33,  34,  -1,  -1,  35,  36,  -1,  37,
479
1.74M
       38,  39,  -1,  40,  -1,  41,  -1,  42,  -1,  -1,
480
1.74M
       -1,  43,  -1,  44,  45,  -1,  46,  -1,  47,  -1,
481
1.74M
       -1,  -1,  48,  49,  -1,  -1,  -1,  50,  51,  52,
482
1.74M
       53,  -1,  54,  55,  -1,  -1,  56,  -1,  57,  58,
483
1.74M
       -1,  59,  -1,  -1,  60,  -1,  61,  -1,  -1,  -1,
484
1.74M
       62,  63,  64,  -1,  65,  66,  67,  -1,  -1,  -1,
485
1.74M
       68,  69,  -1,  -1,  -1,  70,  71,  -1,  -1,  -1,
486
1.74M
       -1,  -1,  72,  -1,  -1,  -1,  -1,  -1,  -1,  73,
487
1.74M
       -1,  -1,  -1,  -1,  -1,  74,  -1,  -1,  -1,  75,
488
1.74M
       -1,  -1,  76,  -1,  -1,  -1,  -1,  77,  78,  79,
489
1.74M
       -1,  80,  81,  -1,  82,  83,  -1,  -1,  -1,  -1,
490
1.74M
       -1,  -1,  -1,  -1,  84,  -1,  -1,  85,  -1,  -1,
491
1.74M
       -1,  -1,  -1,  -1,  86,  -1,  -1,  87,  88,  -1,
492
1.74M
       -1,  89,  90,  91,  -1,  -1,  -1,  92,  -1,  -1,
493
1.74M
       -1,  -1,  93,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
494
1.74M
       -1,  94,  -1,  -1,  -1,  95,  -1,  -1,  -1,  -1,
495
1.74M
       -1,  -1,  -1,  -1,  -1,  96,  -1,  -1,  -1,  -1,
496
1.74M
       -1,  -1,  -1,  -1,  97,  98,  99,  -1,  -1,  -1,
497
1.74M
       -1,  -1, 100, 101,  -1,  -1,  -1,  -1,  -1,  -1,
498
1.74M
      102,  -1,  -1,  -1,  -1, 103,  -1,  -1, 104,  -1,
499
1.74M
       -1, 105,  -1,  -1, 106,  -1,  -1,  -1,  -1,  -1,
500
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
501
1.74M
      107,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
502
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
503
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
504
1.74M
       -1,  -1,  -1,  -1,  -1, 108,  -1,  -1,  -1,  -1,
505
1.74M
      109,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
506
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
507
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
508
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
509
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
510
1.74M
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
511
1.74M
       -1,  -1, 110, 111,  -1,  -1,  -1,  -1, 112
512
1.74M
    };
513
514
1.74M
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
515
568k
    {
516
568k
      unsigned int key = hash (str, len);
517
518
568k
      if (key <= MAX_HASH_VALUE)
519
220k
        {
520
220k
          int index = lookup[key];
521
522
220k
          if (index >= 0)
523
201k
            {
524
201k
              const char *s = wordlist[index].name;
525
526
201k
              if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
527
160k
                return &wordlist[index];
528
201k
            }
529
220k
        }
530
568k
    }
531
1.58M
  return 0;
532
1.74M
}
533
#line 125 "HeaderHash.gperf"
534
535
}