1 /* Copyright (C) 1995-2021 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
21 #include "localeinfo.h"
23 static const char collseqmb
[] =
25 '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07',
26 '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f',
27 '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17',
28 '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f',
29 '\x20', '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27',
30 '\x28', '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f',
31 '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37',
32 '\x38', '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f',
33 '\x40', '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47',
34 '\x48', '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f',
35 '\x50', '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57',
36 '\x58', '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f',
37 '\x60', '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67',
38 '\x68', '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f',
39 '\x70', '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77',
40 '\x78', '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f',
41 '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
42 '\x88', '\x89', '\x8a', '\x8b', '\x8c', '\x8d', '\x8e', '\x8f',
43 '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97',
44 '\x98', '\x99', '\x9a', '\x9b', '\x9c', '\x9d', '\x9e', '\x9f',
45 '\xa0', '\xa1', '\xa2', '\xa3', '\xa4', '\xa5', '\xa6', '\xa7',
46 '\xa8', '\xa9', '\xaa', '\xab', '\xac', '\xad', '\xae', '\xaf',
47 '\xb0', '\xb1', '\xb2', '\xb3', '\xb4', '\xb5', '\xb6', '\xb7',
48 '\xb8', '\xb9', '\xba', '\xbb', '\xbc', '\xbd', '\xbe', '\xbf',
49 '\xc0', '\xc1', '\xc2', '\xc3', '\xc4', '\xc5', '\xc6', '\xc7',
50 '\xc8', '\xc9', '\xca', '\xcb', '\xcc', '\xcd', '\xce', '\xcf',
51 '\xd0', '\xd1', '\xd2', '\xd3', '\xd4', '\xd5', '\xd6', '\xd7',
52 '\xd8', '\xd9', '\xda', '\xdb', '\xdc', '\xdd', '\xde', '\xdf',
53 '\xe0', '\xe1', '\xe2', '\xe3', '\xe4', '\xe5', '\xe6', '\xe7',
54 '\xe8', '\xe9', '\xea', '\xeb', '\xec', '\xed', '\xee', '\xef',
55 '\xf0', '\xf1', '\xf2', '\xf3', '\xf4', '\xf5', '\xf6', '\xf7',
56 '\xf8', '\xf9', '\xfa', '\xfb', '\xfc', '\xfd', '\xfe', '\xff'
59 static const uint32_t collseqwc
[] =
63 6 * sizeof (uint32_t),
65 7 * sizeof (uint32_t),
67 L
'\x00', L
'\x01', L
'\x02', L
'\x03', L
'\x04', L
'\x05', L
'\x06', L
'\x07',
68 L
'\x08', L
'\x09', L
'\x0a', L
'\x0b', L
'\x0c', L
'\x0d', L
'\x0e', L
'\x0f',
69 L
'\x10', L
'\x11', L
'\x12', L
'\x13', L
'\x14', L
'\x15', L
'\x16', L
'\x17',
70 L
'\x18', L
'\x19', L
'\x1a', L
'\x1b', L
'\x1c', L
'\x1d', L
'\x1e', L
'\x1f',
71 L
'\x20', L
'\x21', L
'\x22', L
'\x23', L
'\x24', L
'\x25', L
'\x26', L
'\x27',
72 L
'\x28', L
'\x29', L
'\x2a', L
'\x2b', L
'\x2c', L
'\x2d', L
'\x2e', L
'\x2f',
73 L
'\x30', L
'\x31', L
'\x32', L
'\x33', L
'\x34', L
'\x35', L
'\x36', L
'\x37',
74 L
'\x38', L
'\x39', L
'\x3a', L
'\x3b', L
'\x3c', L
'\x3d', L
'\x3e', L
'\x3f',
75 L
'\x40', L
'\x41', L
'\x42', L
'\x43', L
'\x44', L
'\x45', L
'\x46', L
'\x47',
76 L
'\x48', L
'\x49', L
'\x4a', L
'\x4b', L
'\x4c', L
'\x4d', L
'\x4e', L
'\x4f',
77 L
'\x50', L
'\x51', L
'\x52', L
'\x53', L
'\x54', L
'\x55', L
'\x56', L
'\x57',
78 L
'\x58', L
'\x59', L
'\x5a', L
'\x5b', L
'\x5c', L
'\x5d', L
'\x5e', L
'\x5f',
79 L
'\x60', L
'\x61', L
'\x62', L
'\x63', L
'\x64', L
'\x65', L
'\x66', L
'\x67',
80 L
'\x68', L
'\x69', L
'\x6a', L
'\x6b', L
'\x6c', L
'\x6d', L
'\x6e', L
'\x6f',
81 L
'\x70', L
'\x71', L
'\x72', L
'\x73', L
'\x74', L
'\x75', L
'\x76', L
'\x77',
82 L
'\x78', L
'\x79', L
'\x7a', L
'\x7b', L
'\x7c', L
'\x7d', L
'\x7e', L
'\x7f',
83 L
'\x80', L
'\x81', L
'\x82', L
'\x83', L
'\x84', L
'\x85', L
'\x86', L
'\x87',
84 L
'\x88', L
'\x89', L
'\x8a', L
'\x8b', L
'\x8c', L
'\x8d', L
'\x8e', L
'\x8f',
85 L
'\x90', L
'\x91', L
'\x92', L
'\x93', L
'\x94', L
'\x95', L
'\x96', L
'\x97',
86 L
'\x98', L
'\x99', L
'\x9a', L
'\x9b', L
'\x9c', L
'\x9d', L
'\x9e', L
'\x9f',
87 L
'\xa0', L
'\xa1', L
'\xa2', L
'\xa3', L
'\xa4', L
'\xa5', L
'\xa6', L
'\xa7',
88 L
'\xa8', L
'\xa9', L
'\xaa', L
'\xab', L
'\xac', L
'\xad', L
'\xae', L
'\xaf',
89 L
'\xb0', L
'\xb1', L
'\xb2', L
'\xb3', L
'\xb4', L
'\xb5', L
'\xb6', L
'\xb7',
90 L
'\xb8', L
'\xb9', L
'\xba', L
'\xbb', L
'\xbc', L
'\xbd', L
'\xbe', L
'\xbf',
91 L
'\xc0', L
'\xc1', L
'\xc2', L
'\xc3', L
'\xc4', L
'\xc5', L
'\xc6', L
'\xc7',
92 L
'\xc8', L
'\xc9', L
'\xca', L
'\xcb', L
'\xcc', L
'\xcd', L
'\xce', L
'\xcf',
93 L
'\xd0', L
'\xd1', L
'\xd2', L
'\xd3', L
'\xd4', L
'\xd5', L
'\xd6', L
'\xd7',
94 L
'\xd8', L
'\xd9', L
'\xda', L
'\xdb', L
'\xdc', L
'\xdd', L
'\xde', L
'\xdf',
95 L
'\xe0', L
'\xe1', L
'\xe2', L
'\xe3', L
'\xe4', L
'\xe5', L
'\xe6', L
'\xe7',
96 L
'\xe8', L
'\xe9', L
'\xea', L
'\xeb', L
'\xec', L
'\xed', L
'\xee', L
'\xef',
97 L
'\xf0', L
'\xf1', L
'\xf2', L
'\xf3', L
'\xf4', L
'\xf5', L
'\xf6', L
'\xf7',
98 L
'\xf8', L
'\xf9', L
'\xfa', L
'\xfb', L
'\xfc', L
'\xfd', L
'\xfe', L
'\xff'
101 const struct __locale_data _nl_C_LC_COLLATE attribute_hidden
=
104 NULL
, 0, 0, /* no file mapped */
105 { NULL
, }, /* no cached data */
110 /* _NL_COLLATE_NRULES */
112 /* _NL_COLLATE_RULESETS */
114 /* _NL_COLLATE_TABLEMB */
116 /* _NL_COLLATE_WEIGHTMB */
118 /* _NL_COLLATE_EXTRAMB */
120 /* _NL_COLLATE_INDIRECTMB */
122 /* _NL_COLLATE_GAP1 */
124 /* _NL_COLLATE_GAP2 */
126 /* _NL_COLLATE_GAP3 */
128 /* _NL_COLLATE_TABLEWC */
130 /* _NL_COLLATE_WEIGHTWC */
132 /* _NL_COLLATE_EXTRAWC */
134 /* _NL_COLLATE_INDIRECTWC */
136 /* _NL_COLLATE_SYMB_HASH_SIZEMB */
138 /* _NL_COLLATE_SYMB_TABLEMB */
140 /* _NL_COLLATE_SYMB_EXTRAMB */
142 /* _NL_COLLATE_COLLSEQMB */
143 { .string
= collseqmb
},
144 /* _NL_COLLATE_COLLSEQWC */
145 { .string
= (const char *) collseqwc
},
146 /* _NL_COLLATE_CODESET */
147 { .string
= _nl_C_codeset
}