1 /*
2  * generated by ./tinfo/MKuserdefs.sh
3  */
4 
5 /*
6  *    comp_userdefs.c -- The names of widely used user-defined capabilities
7  *                       indexed via a hash table for the compiler.
8  *
9  */
10 
11 #include <curses.priv.h>
12 #include <tic.h>
13 #include <hashsize.h>
14 
15 #if NCURSES_XNAMES
16 /* 10 collisions out of 90 entries */
17 static const char user_names_text[] = \
18 "E3\0" "RGB\0" "TS\0" "U8\0" "XM\0" "grbom\0" "gsbom\0" "xm\0" "AN\0" \
19 "AX\0" "C0\0" "C8\0" "CE\0" "CS\0" "E0\0" "G0\0" "KJ\0" "OL\0" "S0\0" \
20 "TF\0" "WS\0" "XC\0" "XT\0" "Z0\0" "Z1\0" "Cr\0" "Cs\0" "Csr\0" "Ms\0" \
21 "Se\0" "Smulx\0" "Ss\0" "rmxx\0" "smxx\0" "kDC3\0" "kDC4\0" "kDC5\0" \
22 "kDC6\0" "kDC7\0" "kDN\0" "kDN3\0" "kDN4\0" "kDN5\0" "kDN6\0" "kDN7\0" \
23 "kEND3\0" "kEND4\0" "kEND5\0" "kEND6\0" "kEND7\0" "kHOM3\0" "kHOM4\0" \
24 "kHOM5\0" "kHOM6\0" "kHOM7\0" "kIC3\0" "kIC4\0" "kIC5\0" "kIC6\0" \
25 "kIC7\0" "kLFT3\0" "kLFT4\0" "kLFT5\0" "kLFT6\0" "kLFT7\0" "kNXT3\0" \
26 "kNXT4\0" "kNXT5\0" "kNXT6\0" "kNXT7\0" "kPRV3\0" "kPRV4\0" "kPRV5\0" \
27 "kPRV6\0" "kPRV7\0" "kRIT3\0" "kRIT4\0" "kRIT5\0" "kRIT6\0" "kRIT7\0" \
28 "kUP\0" "kUP3\0" "kUP4\0" "kUP5\0" "kUP6\0" "kUP7\0" "ka2\0" "kb1\0" \
29 "kb3\0" "kc2\0" ;
30 
31 static user_table_data const user_names_data[] =
32 {
33 	{               0,	(1<<STRING),	0,0,	  0,  -1 },
34 	{               3,	(1<<BOOLEAN|1<<NUMBER|1<<STRING),	0,0,	  1,  -1 },
35 	{               7,	(1<<STRING),	0,0,	  2,  -1 },
36 	{              10,	(1<<NUMBER),	0,0,	  1,  -1 },
37 	{              13,	(1<<STRING),	1,0,	  3,  -1 },
38 	{              16,	(1<<STRING),	0,0,	  4,  -1 },
39 	{              22,	(1<<STRING),	0,0,	  5,  -1 },
40 	{              28,	(1<<STRING),	8,8,	 14,  -1 },
41 	{              31,	(1<<BOOLEAN),	0,0,	  1,  -1 },
42 	{              34,	(1<<BOOLEAN),	0,0,	  2,  -1 },
43 	{              37,	(1<<STRING),	0,0,	 15,  -1 },
44 	{              40,	(1<<BOOLEAN),	0,0,	  3,  -1 },
45 	{              43,	(1<<STRING),	0,0,	 16,  -1 },
46 	{              46,	(1<<STRING),	0,0,	 17,  -1 },
47 	{              49,	(1<<STRING),	0,0,	 18,  -1 },
48 	{              52,	(1<<BOOLEAN),	0,0,	  4,  -1 },
49 	{              55,	(1<<STRING),	1,1,	 19,  -1 },
50 	{              58,	(1<<NUMBER),	0,0,	  2,  -1 },
51 	{              61,	(1<<STRING),	1,1,	 20,  -1 },
52 	{              64,	(1<<BOOLEAN),	0,0,	  5,  -1 },
53 	{              67,	(1<<STRING),	2,0,	 21,  -1 },
54 	{              70,	(1<<STRING),	1,1,	 22,  -1 },
55 	{              73,	(1<<BOOLEAN),	0,0,	  6,  -1 },
56 	{              76,	(1<<STRING),	0,0,	 23,  -1 },
57 	{              79,	(1<<STRING),	0,0,	 24,  -1 },
58 	{              82,	(1<<STRING),	0,0,	 25,  -1 },
59 	{              85,	(1<<STRING),	1,1,	 26,  -1 },
60 	{              88,	(1<<STRING),	1,0,	 27,  -1 },
61 	{              92,	(1<<STRING),	2,3,	 28,  -1 },
62 	{              95,	(1<<STRING),	0,0,	 29,  -1 },
63 	{              98,	(1<<STRING),	1,0,	 30,  -1 },
64 	{             104,	(1<<STRING),	1,0,	 31,  -1 },
65 	{             107,	(1<<STRING),	0,0,	 32,  -1 },
66 	{             112,	(1<<STRING),	0,0,	 33,  -1 },
67 	{             117,	(1<<STRING),	0,0,	 34,  -1 },
68 	{             122,	(1<<STRING),	0,0,	 35,  -1 },
69 	{             127,	(1<<STRING),	0,0,	 36,  -1 },
70 	{             132,	(1<<STRING),	0,0,	 37,  -1 },
71 	{             137,	(1<<STRING),	0,0,	 38,   8 },
72 	{             142,	(1<<STRING),	0,0,	 39,  -1 },
73 	{             146,	(1<<STRING),	0,0,	 40,  -1 },
74 	{             151,	(1<<STRING),	0,0,	 41,  -1 },
75 	{             156,	(1<<STRING),	0,0,	 42,  -1 },
76 	{             161,	(1<<STRING),	0,0,	 43,   9 },
77 	{             166,	(1<<STRING),	0,0,	 44,  -1 },
78 	{             171,	(1<<STRING),	0,0,	 45,  -1 },
79 	{             177,	(1<<STRING),	0,0,	 46,  -1 },
80 	{             183,	(1<<STRING),	0,0,	 47,  -1 },
81 	{             189,	(1<<STRING),	0,0,	 48,  -1 },
82 	{             195,	(1<<STRING),	0,0,	 49,  -1 },
83 	{             201,	(1<<STRING),	0,0,	 50,  -1 },
84 	{             207,	(1<<STRING),	0,0,	 51,  -1 },
85 	{             213,	(1<<STRING),	0,0,	 52,  -1 },
86 	{             219,	(1<<STRING),	0,0,	 53,  -1 },
87 	{             225,	(1<<STRING),	0,0,	 54,  -1 },
88 	{             231,	(1<<STRING),	0,0,	 55,  -1 },
89 	{             236,	(1<<STRING),	0,0,	 56,  -1 },
90 	{             241,	(1<<STRING),	0,0,	 57,  -1 },
91 	{             246,	(1<<STRING),	0,0,	 58,  -1 },
92 	{             251,	(1<<STRING),	0,0,	 59,  -1 },
93 	{             256,	(1<<STRING),	0,0,	 60,  52 },
94 	{             262,	(1<<STRING),	0,0,	 61,  53 },
95 	{             268,	(1<<STRING),	0,0,	 62,  54 },
96 	{             274,	(1<<STRING),	0,0,	 63,  -1 },
97 	{             280,	(1<<STRING),	0,0,	 64,  -1 },
98 	{             286,	(1<<STRING),	0,0,	 65,  -1 },
99 	{             292,	(1<<STRING),	0,0,	 66,  -1 },
100 	{             298,	(1<<STRING),	0,0,	 67,  -1 },
101 	{             304,	(1<<STRING),	0,0,	 68,  -1 },
102 	{             310,	(1<<STRING),	0,0,	 69,  -1 },
103 	{             316,	(1<<STRING),	0,0,	 70,  -1 },
104 	{             322,	(1<<STRING),	0,0,	 71,  -1 },
105 	{             328,	(1<<STRING),	0,0,	 72,  65 },
106 	{             334,	(1<<STRING),	0,0,	 73,  66 },
107 	{             340,	(1<<STRING),	0,0,	 74,  67 },
108 	{             346,	(1<<STRING),	0,0,	 75,  -1 },
109 	{             352,	(1<<STRING),	0,0,	 76,  -1 },
110 	{             358,	(1<<STRING),	0,0,	 77,  -1 },
111 	{             364,	(1<<STRING),	0,0,	 78,  -1 },
112 	{             370,	(1<<STRING),	0,0,	 79,  -1 },
113 	{             376,	(1<<STRING),	0,0,	 80,  -1 },
114 	{             380,	(1<<STRING),	0,0,	 81,  -1 },
115 	{             385,	(1<<STRING),	0,0,	 82,  -1 },
116 	{             390,	(1<<STRING),	0,0,	 83,  -1 },
117 	{             395,	(1<<STRING),	0,0,	 84,  -1 },
118 	{             400,	(1<<STRING),	0,0,	 85,  -1 },
119 	{             405,	(1<<STRING),	0,0,	 86,  -1 },
120 	{             409,	(1<<STRING),	0,0,	 87,  86 },
121 	{             413,	(1<<STRING),	0,0,	 88,  -1 },
122 	{             417,	(1<<STRING),	0,0,	 89,  88 }
123 };
124 
125 static struct user_table_entry *_nc_user_table = 0;
126 
127 static const HashValue _nc_user_hash_table[995] =
128 {
129 	 -1,
130 	 -1,
131 	 -1,
132 	 -1,
133 	 -1,
134 	 -1,
135 	 -1,
136 	 -1,
137 	 57,
138 	 -1,
139 	 -1,
140 	 -1,
141 	 -1,
142 	 -1,
143 	 -1,
144 	 -1,
145 	 -1,
146 	 -1,
147 	 -1,
148 	 61,
149 	 -1,
150 	 -1,
151 	 -1,
152 	 -1,
153 	 -1,
154 	 -1,
155 	 -1,
156 	 -1,
157 	 -1,
158 	 -1,
159 	 -1,
160 	 -1,
161 	 -1,
162 	 -1,
163 	 -1,
164 	 -1,
165 	 -1,
166 	 -1,
167 	 -1,
168 	 -1,
169 	 -1,
170 	 -1,
171 	 40,
172 	 -1,
173 	 -1,
174 	 -1,
175 	 -1,
176 	 -1,
177 	 -1,
178 	 -1,
179 	 -1,
180 	 -1,
181 	 -1,
182 	 -1,
183 	 -1,
184 	 -1,
185 	  6,
186 	 -1,
187 	 -1,
188 	 -1,
189 	 -1,
190 	 -1,
191 	 -1,
192 	 -1,
193 	 -1,
194 	 -1,
195 	 -1,
196 	 -1,
197 	 -1,
198 	 -1,
199 	 -1,
200 	 -1,
201 	 -1,
202 	 -1,
203 	 -1,
204 	 -1,
205 	 44,
206 	 -1,
207 	 -1,
208 	 -1,
209 	 -1,
210 	 -1,
211 	 -1,
212 	 -1,
213 	 -1,
214 	 -1,
215 	 -1,
216 	 75,
217 	 -1,
218 	 -1,
219 	 -1,
220 	 -1,
221 	 -1,
222 	 -1,
223 	 -1,
224 	 -1,
225 	 -1,
226 	 -1,
227 	 -1,
228 	 -1,
229 	 -1,
230 	 -1,
231 	 -1,
232 	 -1,
233 	 -1,
234 	 -1,
235 	 -1,
236 	 -1,
237 	 -1,
238 	 -1,
239 	 -1,
240 	 -1,
241 	 -1,
242 	 -1,
243 	 87,
244 	 -1,
245 	 -1,
246 	 -1,
247 	 -1,
248 	 -1,
249 	 -1,
250 	 79,
251 	 -1,
252 	 -1,
253 	 -1,
254 	 -1,
255 	 -1,
256 	 -1,
257 	 -1,
258 	 -1,
259 	 -1,
260 	 -1,
261 	 -1,
262 	 -1,
263 	 -1,
264 	 -1,
265 	 -1,
266 	 -1,
267 	 -1,
268 	 -1,
269 	 46,
270 	 -1,
271 	 -1,
272 	 -1,
273 	 -1,
274 	 -1,
275 	 -1,
276 	 -1,
277 	 -1,
278 	 -1,
279 	 -1,
280 	 -1,
281 	 -1,
282 	 -1,
283 	 -1,
284 	 -1,
285 	 -1,
286 	 -1,
287 	 -1,
288 	 -1,
289 	 -1,
290 	 -1,
291 	 -1,
292 	 -1,
293 	 -1,
294 	 -1,
295 	 -1,
296 	 -1,
297 	 -1,
298 	 -1,
299 	 -1,
300 	 -1,
301 	 -1,
302 	 -1,
303 	 -1,
304 	 -1,
305 	 -1,
306 	 -1,
307 	 -1,
308 	 -1,
309 	 -1,
310 	 -1,
311 	 19,
312 	 -1,
313 	 -1,
314 	 -1,
315 	 -1,
316 	 -1,
317 	 -1,
318 	 73,
319 	 -1,
320 	 -1,
321 	 -1,
322 	 -1,
323 	 -1,
324 	 -1,
325 	 29,
326 	 34,
327 	 -1,
328 	 -1,
329 	 -1,
330 	 -1,
331 	 -1,
332 	 -1,
333 	 -1,
334 	 -1,
335 	 -1,
336 	 16,
337 	 -1,
338 	 -1,
339 	 -1,
340 	 -1,
341 	 82,
342 	 -1,
343 	 -1,
344 	 -1,
345 	 -1,
346 	 -1,
347 	 -1,
348 	 -1,
349 	 -1,
350 	 -1,
351 	 -1,
352 	 -1,
353 	 -1,
354 	 -1,
355 	 -1,
356 	 -1,
357 	 -1,
358 	 -1,
359 	 -1,
360 	 38,
361 	 -1,
362 	 -1,
363 	 -1,
364 	 -1,
365 	 -1,
366 	 -1,
367 	 -1,
368 	 -1,
369 	 -1,
370 	 -1,
371 	 50,
372 	 -1,
373 	 -1,
374 	 -1,
375 	 -1,
376 	 -1,
377 	 -1,
378 	 -1,
379 	 -1,
380 	 -1,
381 	 -1,
382 	 -1,
383 	  0,
384 	 -1,
385 	 -1,
386 	 -1,
387 	 -1,
388 	 -1,
389 	 -1,
390 	 -1,
391 	 -1,
392 	 -1,
393 	 -1,
394 	 58,
395 	 -1,
396 	 -1,
397 	 -1,
398 	 -1,
399 	 -1,
400 	 -1,
401 	 -1,
402 	 -1,
403 	 27,
404 	 -1,
405 	 62,
406 	 -1,
407 	 -1,
408 	 -1,
409 	 -1,
410 	 -1,
411 	 -1,
412 	 -1,
413 	 -1,
414 	 -1,
415 	 -1,
416 	 -1,
417 	 -1,
418 	 -1,
419 	 -1,
420 	 -1,
421 	 -1,
422 	 -1,
423 	 -1,
424 	 -1,
425 	 -1,
426 	 -1,
427 	 -1,
428 	 41,
429 	 -1,
430 	  7,
431 	 -1,
432 	 -1,
433 	 -1,
434 	 -1,
435 	 -1,
436 	 -1,
437 	 -1,
438 	 -1,
439 	 -1,
440 	 -1,
441 	 -1,
442 	 -1,
443 	 -1,
444 	 -1,
445 	 -1,
446 	 -1,
447 	 -1,
448 	 -1,
449 	 -1,
450 	 -1,
451 	 -1,
452 	 -1,
453 	 -1,
454 	 -1,
455 	 -1,
456 	 -1,
457 	 -1,
458 	 -1,
459 	 -1,
460 	 -1,
461 	 -1,
462 	 -1,
463 	 -1,
464 	 -1,
465 	 -1,
466 	 -1,
467 	 -1,
468 	 -1,
469 	 -1,
470 	 -1,
471 	 -1,
472 	 -1,
473 	 76,
474 	 -1,
475 	 -1,
476 	 32,
477 	 33,
478 	 -1,
479 	 -1,
480 	 -1,
481 	 -1,
482 	 -1,
483 	 -1,
484 	 -1,
485 	 -1,
486 	 -1,
487 	 -1,
488 	 -1,
489 	 -1,
490 	 -1,
491 	 -1,
492 	 -1,
493 	 -1,
494 	 -1,
495 	 -1,
496 	 -1,
497 	 -1,
498 	 -1,
499 	 -1,
500 	 -1,
501 	 -1,
502 	 -1,
503 	 -1,
504 	 -1,
505 	 -1,
506 	 -1,
507 	 -1,
508 	 -1,
509 	 -1,
510 	 -1,
511 	 -1,
512 	 -1,
513 	 -1,
514 	 -1,
515 	 -1,
516 	 -1,
517 	 -1,
518 	 -1,
519 	 -1,
520 	 -1,
521 	 -1,
522 	 -1,
523 	 -1,
524 	 -1,
525 	 -1,
526 	 47,
527 	 -1,
528 	 -1,
529 	 -1,
530 	 -1,
531 	 -1,
532 	 -1,
533 	 -1,
534 	 -1,
535 	 -1,
536 	 -1,
537 	 -1,
538 	 21,
539 	 -1,
540 	 -1,
541 	 70,
542 	 -1,
543 	 -1,
544 	 -1,
545 	 -1,
546 	 -1,
547 	 -1,
548 	 -1,
549 	 -1,
550 	 -1,
551 	 -1,
552 	 -1,
553 	 -1,
554 	 -1,
555 	 -1,
556 	 -1,
557 	 -1,
558 	 -1,
559 	 -1,
560 	 -1,
561 	 -1,
562 	 -1,
563 	 -1,
564 	 -1,
565 	 -1,
566 	 -1,
567 	 -1,
568 	 -1,
569 	 -1,
570 	 -1,
571 	 -1,
572 	 -1,
573 	 -1,
574 	 -1,
575 	 74,
576 	 -1,
577 	 -1,
578 	 -1,
579 	 -1,
580 	 -1,
581 	 -1,
582 	 -1,
583 	 35,
584 	 -1,
585 	 -1,
586 	 -1,
587 	 -1,
588 	 -1,
589 	 -1,
590 	 -1,
591 	 -1,
592 	 30,
593 	 -1,
594 	 -1,
595 	 -1,
596 	 -1,
597 	 -1,
598 	 83,
599 	 -1,
600 	 -1,
601 	 -1,
602 	 -1,
603 	 -1,
604 	 10,
605 	 -1,
606 	 14,
607 	 -1,
608 	 15,
609 	 -1,
610 	 -1,
611 	 -1,
612 	 -1,
613 	 -1,
614 	 -1,
615 	 -1,
616 	 -1,
617 	 55,
618 	 -1,
619 	 -1,
620 	 18,
621 	 -1,
622 	 -1,
623 	 -1,
624 	 -1,
625 	 -1,
626 	 -1,
627 	 23,
628 	 51,
629 	 -1,
630 	  1,
631 	 -1,
632 	 -1,
633 	 -1,
634 	 -1,
635 	 -1,
636 	 -1,
637 	 -1,
638 	 -1,
639 	 -1,
640 	 -1,
641 	 -1,
642 	 -1,
643 	 -1,
644 	 -1,
645 	 -1,
646 	 -1,
647 	 -1,
648 	 -1,
649 	 -1,
650 	 -1,
651 	 59,
652 	 -1,
653 	 13,
654 	 -1,
655 	 -1,
656 	 -1,
657 	 -1,
658 	 -1,
659 	 -1,
660 	 -1,
661 	 -1,
662 	 63,
663 	 -1,
664 	 -1,
665 	 -1,
666 	 -1,
667 	 -1,
668 	 25,
669 	 -1,
670 	  2,
671 	 -1,
672 	 11,
673 	 20,
674 	 -1,
675 	 -1,
676 	 -1,
677 	 -1,
678 	 -1,
679 	 -1,
680 	 -1,
681 	 -1,
682 	 -1,
683 	 -1,
684 	 -1,
685 	 42,
686 	 -1,
687 	 -1,
688 	 -1,
689 	 -1,
690 	  3,
691 	 -1,
692 	 -1,
693 	 -1,
694 	 -1,
695 	 -1,
696 	 -1,
697 	 -1,
698 	 -1,
699 	 -1,
700 	 -1,
701 	 -1,
702 	 -1,
703 	 -1,
704 	 -1,
705 	 -1,
706 	 -1,
707 	 -1,
708 	 -1,
709 	 -1,
710 	 -1,
711 	 -1,
712 	 -1,
713 	 -1,
714 	 -1,
715 	 -1,
716 	 -1,
717 	 -1,
718 	 -1,
719 	 -1,
720 	 -1,
721 	 -1,
722 	 -1,
723 	 -1,
724 	 -1,
725 	 -1,
726 	 -1,
727 	 -1,
728 	 -1,
729 	 -1,
730 	 77,
731 	 -1,
732 	 -1,
733 	 -1,
734 	 -1,
735 	 -1,
736 	 -1,
737 	 -1,
738 	 -1,
739 	 -1,
740 	 -1,
741 	 -1,
742 	 -1,
743 	 -1,
744 	 -1,
745 	 -1,
746 	 -1,
747 	 -1,
748 	 -1,
749 	 -1,
750 	 -1,
751 	 -1,
752 	 -1,
753 	 -1,
754 	 -1,
755 	 -1,
756 	 -1,
757 	 89,
758 	 -1,
759 	 -1,
760 	 -1,
761 	 -1,
762 	 -1,
763 	 -1,
764 	 -1,
765 	 -1,
766 	 -1,
767 	 -1,
768 	 -1,
769 	 -1,
770 	 -1,
771 	 -1,
772 	 -1,
773 	 -1,
774 	 -1,
775 	 -1,
776 	 -1,
777 	 -1,
778 	 -1,
779 	 -1,
780 	 -1,
781 	 -1,
782 	 -1,
783 	 48,
784 	 -1,
785 	 -1,
786 	 -1,
787 	 -1,
788 	 -1,
789 	 -1,
790 	 -1,
791 	 -1,
792 	 -1,
793 	 -1,
794 	 -1,
795 	 -1,
796 	 -1,
797 	 -1,
798 	 71,
799 	 -1,
800 	 -1,
801 	 -1,
802 	 -1,
803 	 -1,
804 	 -1,
805 	 -1,
806 	 -1,
807 	 -1,
808 	 -1,
809 	 -1,
810 	 -1,
811 	 -1,
812 	 -1,
813 	 -1,
814 	 -1,
815 	 -1,
816 	 -1,
817 	 -1,
818 	 -1,
819 	 -1,
820 	 -1,
821 	 -1,
822 	 -1,
823 	 -1,
824 	 -1,
825 	 -1,
826 	 -1,
827 	 -1,
828 	 -1,
829 	 -1,
830 	 -1,
831 	 -1,
832 	 68,
833 	 -1,
834 	 -1,
835 	 -1,
836 	 -1,
837 	 -1,
838 	 -1,
839 	 -1,
840 	 36,
841 	 -1,
842 	 -1,
843 	 -1,
844 	 -1,
845 	 -1,
846 	 -1,
847 	 -1,
848 	 -1,
849 	 -1,
850 	 -1,
851 	 -1,
852 	 -1,
853 	 -1,
854 	 17,
855 	 84,
856 	 -1,
857 	 -1,
858 	 -1,
859 	 -1,
860 	 -1,
861 	 -1,
862 	 -1,
863 	 -1,
864 	 -1,
865 	 -1,
866 	 -1,
867 	 -1,
868 	 -1,
869 	 -1,
870 	 -1,
871 	 -1,
872 	 -1,
873 	 -1,
874 	 56,
875 	 -1,
876 	 -1,
877 	 -1,
878 	 -1,
879 	 -1,
880 	 -1,
881 	 -1,
882 	 -1,
883 	 -1,
884 	 24,
885 	 60,
886 	 -1,
887 	 -1,
888 	 -1,
889 	 -1,
890 	 -1,
891 	 -1,
892 	 -1,
893 	 80,
894 	 -1,
895 	 -1,
896 	 -1,
897 	 -1,
898 	 -1,
899 	 -1,
900 	 -1,
901 	 -1,
902 	 -1,
903 	 -1,
904 	 -1,
905 	 -1,
906 	 -1,
907 	 -1,
908 	 -1,
909 	 -1,
910 	 -1,
911 	 -1,
912 	 -1,
913 	 -1,
914 	 -1,
915 	 -1,
916 	 -1,
917 	 -1,
918 	 -1,
919 	 64,
920 	 -1,
921 	 -1,
922 	  5,
923 	 -1,
924 	 -1,
925 	 26,
926 	 -1,
927 	 -1,
928 	 -1,
929 	 -1,
930 	 -1,
931 	 22,
932 	 -1,
933 	 -1,
934 	 -1,
935 	 28,
936 	 -1,
937 	 -1,
938 	 -1,
939 	 -1,
940 	 -1,
941 	 31,
942 	 43,
943 	 -1,
944 	 -1,
945 	 -1,
946 	 -1,
947 	 -1,
948 	 -1,
949 	 -1,
950 	 -1,
951 	 -1,
952 	 -1,
953 	 -1,
954 	 -1,
955 	 -1,
956 	 -1,
957 	 -1,
958 	 -1,
959 	 -1,
960 	 -1,
961 	 -1,
962 	 -1,
963 	 -1,
964 	 -1,
965 	 -1,
966 	 -1,
967 	 -1,
968 	 -1,
969 	 -1,
970 	 -1,
971 	 -1,
972 	 -1,
973 	 -1,
974 	 -1,
975 	 -1,
976 	 -1,
977 	 -1,
978 	 -1,
979 	 -1,
980 	 39,
981 	 -1,
982 	 -1,
983 	 -1,
984 	 -1,
985 	 -1,
986 	 -1,
987 	 78,
988 	 -1,
989 	 -1,
990 	 -1,
991 	 -1,
992 	 -1,
993 	 -1,
994 	 -1,
995 	 -1,
996 	 -1,
997 	 -1,
998 	 -1,
999 	 -1,
1000 	 -1,
1001 	 -1,
1002 	 -1,
1003 	 -1,
1004 	 -1,
1005 	 -1,
1006 	 45,
1007 	 -1,
1008 	 -1,
1009 	 -1,
1010 	 -1,
1011 	 -1,
1012 	 -1,
1013 	 -1,
1014 	 -1,
1015 	 -1,
1016 	 -1,
1017 	 -1,
1018 	 -1,
1019 	 -1,
1020 	 -1,
1021 	 -1,
1022 	 -1,
1023 	 -1,
1024 	 -1,
1025 	 -1,
1026 	 -1,
1027 	 -1,
1028 	 -1,
1029 	 -1,
1030 	 -1,
1031 	 12,
1032 	 -1,
1033 	 -1,
1034 	 -1,
1035 	 -1,
1036 	 -1,
1037 	 -1,
1038 	 -1,
1039 	 -1,
1040 	 49,
1041 	 -1,
1042 	 -1,
1043 	 -1,
1044 	 -1,
1045 	 -1,
1046 	 -1,
1047 	 -1,
1048 	 -1,
1049 	 -1,
1050 	 -1,
1051 	 -1,
1052 	 -1,
1053 	 -1,
1054 	 -1,
1055 	 72,
1056 	 -1,
1057 	 -1,
1058 	 -1,
1059 	 -1,
1060 	 -1,
1061 	 -1,
1062 	 -1,
1063 	 -1,
1064 	 -1,
1065 	 -1,
1066 	 -1,
1067 	 -1,
1068 	 -1,
1069 	 -1,
1070 	 -1,
1071 	 -1,
1072 	 -1,
1073 	 -1,
1074 	 -1,
1075 	 -1,
1076 	 -1,
1077 	 -1,
1078 	 81,
1079 	 -1,
1080 	 -1,
1081 	 -1,
1082 	 -1,
1083 	 -1,
1084 	 -1,
1085 	 -1,
1086 	 -1,
1087 	 -1,
1088 	 -1,
1089 	 69,
1090 	 -1,
1091 	 -1,
1092 	 -1,
1093 	 -1,
1094 	 -1,
1095 	 -1,
1096 	 -1,
1097 	 37,
1098 	 -1,
1099 	 -1,
1100 	 -1,
1101 	 -1,
1102 	 -1,
1103 	 -1,
1104 	 -1,
1105 	 -1,
1106 	 -1,
1107 	 -1,
1108 	 -1,
1109 	 -1,
1110 	 -1,
1111 	 -1,
1112 	 85,
1113 	 -1,
1114 	 -1,
1115 	 -1,
1116 	 -1,
1117 	 -1,
1118 	 -1,
1119 	 -1,
1120 	  4,
1121 	 -1,
1122 	 -1,
1123 	0	/* base-of-table */
1124 };
1125 
1126 
1127 #define USERTABSIZE SIZEOF(user_names_data)
1128 
1129 #if 1
1130 static void
1131 next_string(const char *strings, unsigned *offset)
1132 {
1133     *offset += (unsigned) strlen(strings + *offset) + 1;
1134 }
1135 
1136 static const struct user_table_entry *
1137 _nc_build_names(struct user_table_entry **actual,
1138 		const user_table_data *source,
1139 		const char *strings)
1140 {
1141     if (*actual == 0) {
1142 	*actual = typeCalloc(struct user_table_entry, USERTABSIZE);
1143 	if (*actual != 0) {
1144 	    unsigned n;
1145 	    unsigned len = 0;
1146 	    for (n = 0; n < USERTABSIZE; ++n) {
1147 		(*actual)[n].ute_name = strings + len;
1148 		(*actual)[n].ute_type = (int) source[n].ute_type;
1149 		(*actual)[n].ute_argc = source[n].ute_argc;
1150 		(*actual)[n].ute_args = source[n].ute_args;
1151 		(*actual)[n].ute_index = source[n].ute_index;
1152 		(*actual)[n].ute_link = source[n].ute_link;
1153 		next_string(strings, &len);
1154 	    }
1155 	}
1156     }
1157     return *actual;
1158 }
1159 
1160 #define build_names(root) _nc_build_names(&_nc_##root##_table, \
1161 					  root##_names_data, \
1162 					  root##_names_text)
1163 #else
1164 #define build_names(root) _nc_ ## root ## _table
1165 #endif
1166 
1167 NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void)
1168 {
1169     return build_names(user) ;
1170 }
1171 
1172 static HashValue
1173 info_hash(const char *string)
1174 {
1175     long sum = 0;
1176 
1177     DEBUG(9, ("hashing %s", string));
1178     while (*string) {
1179 	sum += (long) (*string + (*(string + 1) << 8));
1180 	string++;
1181     }
1182 
1183     DEBUG(9, ("sum is %ld", sum));
1184     return (HashValue) (sum % HASHTABSIZE);
1185 }
1186 
1187 static int
1188 compare_info_names(const char *a, const char *b)
1189 {
1190     return !strcmp(a, b);
1191 }
1192 
1193 static const HashData hash_data[] = {
1194     { HASHTABSIZE, _nc_user_hash_table, info_hash, compare_info_names }
1195 };
1196 
1197 NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void)
1198 {
1199     return hash_data;
1200 }
1201 
1202 #if NO_LEAKS
1203 NCURSES_EXPORT(void) _nc_comp_userdefs_leaks(void)
1204 {
1205 #if 1
1206     FreeIfNeeded(_nc_user_table);
1207 #endif
1208 }
1209 #endif /* NO_LEAKS */
1210 
1211 #else /*! NCURSES_XNAMES */
1212 NCURSES_EXPORT(void) _nc_comp_userdefs(void);
1213 NCURSES_EXPORT(void) _nc_comp_userdefs(void) { }
1214 #endif /* NCURSES_XNAMES */
1215