Merge branch 'vendor/BMAKE'
[dragonfly.git] / lib / libncurses / include / comp_userdefs.c
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 */