1 module libpostal;
2 
3 
4         import core.stdc.config;
5         import core.stdc.stdarg: va_list;
6         static import core.simd;
7         static import std.conv;
8 
9         struct Int128 { long lower; long upper; }
10         struct UInt128 { ulong lower; ulong upper; }
11 
12         struct __locale_data { int dummy; }
13 
14 
15 
16 alias _Bool = bool;
17 struct dpp {
18     static struct Opaque(int N) {
19         void[N] bytes;
20     }
21 
22     static bool isEmpty(T)() {
23         return T.tupleof.length == 0;
24     }
25     static struct Move(T) {
26         T* ptr;
27     }
28 
29 
30     static auto move(T)(ref T value) {
31         return Move!T(&value);
32     }
33     mixin template EnumD(string name, T, string prefix) if(is(T == enum)) {
34         private static string _memberMixinStr(string member) {
35             import std.conv: text;
36             import std.array: replace;
37             return text(` `, member.replace(prefix, ""), ` = `, T.stringof, `.`, member, `,`);
38         }
39         private static string _enumMixinStr() {
40             import std.array: join;
41             string[] ret;
42             ret ~= "enum " ~ name ~ "{";
43             static foreach(member; __traits(allMembers, T)) {
44                 ret ~= _memberMixinStr(member);
45             }
46             ret ~= "}";
47             return ret.join("\n");
48         }
49         mixin(_enumMixinStr());
50     }
51 }
52 
53 extern(C)
54 {
55     alias wchar_t = int;
56     alias size_t = c_ulong;
57     alias fsfilcnt_t = c_ulong;
58     alias fsblkcnt_t = c_ulong;
59     alias blkcnt_t = c_long;
60     alias blksize_t = c_long;
61     alias register_t = c_long;
62     alias u_int64_t = c_ulong;
63     alias u_int32_t = uint;
64     alias u_int16_t = ushort;
65     alias u_int8_t = ubyte;
66     alias key_t = int;
67     alias caddr_t = char*;
68     alias daddr_t = int;
69     alias id_t = uint;
70     alias pid_t = int;
71     alias uid_t = uint;
72     alias nlink_t = c_ulong;
73     alias mode_t = uint;
74     alias gid_t = uint;
75     alias dev_t = c_ulong;
76     alias ino_t = c_ulong;
77     alias loff_t = c_long;
78     alias fsid_t = __fsid_t;
79     alias u_quad_t = c_ulong;
80     alias quad_t = c_long;
81     alias u_long = c_ulong;
82     alias u_int = uint;
83     alias u_short = ushort;
84     alias u_char = ubyte;
85     int pselect(int, fd_set*, fd_set*, fd_set*, const(timespec)*, const(__sigset_t)*) @nogc nothrow;
86     int select(int, fd_set*, fd_set*, fd_set*, timeval*) @nogc nothrow;
87     alias fd_mask = c_long;
88     struct fd_set
89     {
90         c_long[16] __fds_bits;
91     }
92     alias __fd_mask = c_long;
93     alias suseconds_t = c_long;
94     int getloadavg(double*, int) @nogc nothrow;
95     int getsubopt(char**, char**, char**) @nogc nothrow;
96     int rpmatch(const(char)*) @nogc nothrow;
97     c_ulong wcstombs(char*, const(int)*, c_ulong) @nogc nothrow;
98     c_ulong mbstowcs(int*, const(char)*, c_ulong) @nogc nothrow;
99     int wctomb(char*, int) @nogc nothrow;
100     int mbtowc(int*, const(char)*, c_ulong) @nogc nothrow;
101     int mblen(const(char)*, c_ulong) @nogc nothrow;
102     int qfcvt_r(real, int, int*, int*, char*, c_ulong) @nogc nothrow;
103     int qecvt_r(real, int, int*, int*, char*, c_ulong) @nogc nothrow;
104     int fcvt_r(double, int, int*, int*, char*, c_ulong) @nogc nothrow;
105     int ecvt_r(double, int, int*, int*, char*, c_ulong) @nogc nothrow;
106     char* qgcvt(real, int, char*) @nogc nothrow;
107     char* qfcvt(real, int, int*, int*) @nogc nothrow;
108     char* qecvt(real, int, int*, int*) @nogc nothrow;
109     char* gcvt(double, int, char*) @nogc nothrow;
110     char* fcvt(double, int, int*, int*) @nogc nothrow;
111     char* ecvt(double, int, int*, int*) @nogc nothrow;
112     lldiv_t lldiv(long, long) @nogc nothrow;
113     ldiv_t ldiv(c_long, c_long) @nogc nothrow;
114     div_t div(int, int) @nogc nothrow;
115     long llabs(long) @nogc nothrow;
116     c_long labs(c_long) @nogc nothrow;
117     int abs(int) @nogc nothrow;
118     void qsort(void*, c_ulong, c_ulong, int function(const(void)*, const(void)*)) @nogc nothrow;
119     void* bsearch(const(void)*, const(void)*, c_ulong, c_ulong, int function(const(void)*, const(void)*)) @nogc nothrow;
120     alias __compar_fn_t = int function(const(void)*, const(void)*);
121     char* realpath(const(char)*, char*) @nogc nothrow;
122     int system(const(char)*) @nogc nothrow;
123     char* mkdtemp(char*) @nogc nothrow;
124     int mkstemps(char*, int) @nogc nothrow;
125     int mkstemp(char*) @nogc nothrow;
126     char* mktemp(char*) @nogc nothrow;
127     int clearenv() @nogc nothrow;
128     int unsetenv(const(char)*) @nogc nothrow;
129     int setenv(const(char)*, const(char)*, int) @nogc nothrow;
130     int putenv(char*) @nogc nothrow;
131     char* getenv(const(char)*) @nogc nothrow;
132     void _Exit(int) @nogc nothrow;
133     void quick_exit(int) @nogc nothrow;
134     void exit(int) @nogc nothrow;
135     int on_exit(void function(int, void*), void*) @nogc nothrow;
136     int at_quick_exit(void function()) @nogc nothrow;
137     int atexit(void function()) @nogc nothrow;
138     void abort() @nogc nothrow;
139     void* aligned_alloc(c_ulong, c_ulong) @nogc nothrow;
140     int posix_memalign(void**, c_ulong, c_ulong) @nogc nothrow;
141     alias libpostal_token_type_t = _Anonymous_0;
142     enum _Anonymous_0
143     {
144         LIBPOSTAL_TOKEN_TYPE_END = 0,
145         LIBPOSTAL_TOKEN_TYPE_WORD = 1,
146         LIBPOSTAL_TOKEN_TYPE_ABBREVIATION = 2,
147         LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_CHAR = 3,
148         LIBPOSTAL_TOKEN_TYPE_HANGUL_SYLLABLE = 4,
149         LIBPOSTAL_TOKEN_TYPE_ACRONYM = 5,
150         LIBPOSTAL_TOKEN_TYPE_PHRASE = 10,
151         LIBPOSTAL_TOKEN_TYPE_EMAIL = 20,
152         LIBPOSTAL_TOKEN_TYPE_URL = 21,
153         LIBPOSTAL_TOKEN_TYPE_US_PHONE = 22,
154         LIBPOSTAL_TOKEN_TYPE_INTL_PHONE = 23,
155         LIBPOSTAL_TOKEN_TYPE_NUMERIC = 50,
156         LIBPOSTAL_TOKEN_TYPE_ORDINAL = 51,
157         LIBPOSTAL_TOKEN_TYPE_ROMAN_NUMERAL = 52,
158         LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_NUMBER = 53,
159         LIBPOSTAL_TOKEN_TYPE_PERIOD = 100,
160         LIBPOSTAL_TOKEN_TYPE_EXCLAMATION = 101,
161         LIBPOSTAL_TOKEN_TYPE_QUESTION_MARK = 102,
162         LIBPOSTAL_TOKEN_TYPE_COMMA = 103,
163         LIBPOSTAL_TOKEN_TYPE_COLON = 104,
164         LIBPOSTAL_TOKEN_TYPE_SEMICOLON = 105,
165         LIBPOSTAL_TOKEN_TYPE_PLUS = 106,
166         LIBPOSTAL_TOKEN_TYPE_AMPERSAND = 107,
167         LIBPOSTAL_TOKEN_TYPE_AT_SIGN = 108,
168         LIBPOSTAL_TOKEN_TYPE_POUND = 109,
169         LIBPOSTAL_TOKEN_TYPE_ELLIPSIS = 110,
170         LIBPOSTAL_TOKEN_TYPE_DASH = 111,
171         LIBPOSTAL_TOKEN_TYPE_BREAKING_DASH = 112,
172         LIBPOSTAL_TOKEN_TYPE_HYPHEN = 113,
173         LIBPOSTAL_TOKEN_TYPE_PUNCT_OPEN = 114,
174         LIBPOSTAL_TOKEN_TYPE_PUNCT_CLOSE = 115,
175         LIBPOSTAL_TOKEN_TYPE_DOUBLE_QUOTE = 119,
176         LIBPOSTAL_TOKEN_TYPE_SINGLE_QUOTE = 120,
177         LIBPOSTAL_TOKEN_TYPE_OPEN_QUOTE = 121,
178         LIBPOSTAL_TOKEN_TYPE_CLOSE_QUOTE = 122,
179         LIBPOSTAL_TOKEN_TYPE_SLASH = 124,
180         LIBPOSTAL_TOKEN_TYPE_BACKSLASH = 125,
181         LIBPOSTAL_TOKEN_TYPE_GREATER_THAN = 126,
182         LIBPOSTAL_TOKEN_TYPE_LESS_THAN = 127,
183         LIBPOSTAL_TOKEN_TYPE_OTHER = 200,
184         LIBPOSTAL_TOKEN_TYPE_WHITESPACE = 300,
185         LIBPOSTAL_TOKEN_TYPE_NEWLINE = 301,
186         LIBPOSTAL_TOKEN_TYPE_INVALID_CHAR = 500,
187     }
188     enum LIBPOSTAL_TOKEN_TYPE_END = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_END;
189     enum LIBPOSTAL_TOKEN_TYPE_WORD = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_WORD;
190     enum LIBPOSTAL_TOKEN_TYPE_ABBREVIATION = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_ABBREVIATION;
191     enum LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_CHAR = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_CHAR;
192     enum LIBPOSTAL_TOKEN_TYPE_HANGUL_SYLLABLE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_HANGUL_SYLLABLE;
193     enum LIBPOSTAL_TOKEN_TYPE_ACRONYM = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_ACRONYM;
194     enum LIBPOSTAL_TOKEN_TYPE_PHRASE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_PHRASE;
195     enum LIBPOSTAL_TOKEN_TYPE_EMAIL = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_EMAIL;
196     enum LIBPOSTAL_TOKEN_TYPE_URL = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_URL;
197     enum LIBPOSTAL_TOKEN_TYPE_US_PHONE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_US_PHONE;
198     enum LIBPOSTAL_TOKEN_TYPE_INTL_PHONE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_INTL_PHONE;
199     enum LIBPOSTAL_TOKEN_TYPE_NUMERIC = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_NUMERIC;
200     enum LIBPOSTAL_TOKEN_TYPE_ORDINAL = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_ORDINAL;
201     enum LIBPOSTAL_TOKEN_TYPE_ROMAN_NUMERAL = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_ROMAN_NUMERAL;
202     enum LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_NUMBER = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_NUMBER;
203     enum LIBPOSTAL_TOKEN_TYPE_PERIOD = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_PERIOD;
204     enum LIBPOSTAL_TOKEN_TYPE_EXCLAMATION = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_EXCLAMATION;
205     enum LIBPOSTAL_TOKEN_TYPE_QUESTION_MARK = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_QUESTION_MARK;
206     enum LIBPOSTAL_TOKEN_TYPE_COMMA = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_COMMA;
207     enum LIBPOSTAL_TOKEN_TYPE_COLON = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_COLON;
208     enum LIBPOSTAL_TOKEN_TYPE_SEMICOLON = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_SEMICOLON;
209     enum LIBPOSTAL_TOKEN_TYPE_PLUS = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_PLUS;
210     enum LIBPOSTAL_TOKEN_TYPE_AMPERSAND = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_AMPERSAND;
211     enum LIBPOSTAL_TOKEN_TYPE_AT_SIGN = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_AT_SIGN;
212     enum LIBPOSTAL_TOKEN_TYPE_POUND = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_POUND;
213     enum LIBPOSTAL_TOKEN_TYPE_ELLIPSIS = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_ELLIPSIS;
214     enum LIBPOSTAL_TOKEN_TYPE_DASH = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_DASH;
215     enum LIBPOSTAL_TOKEN_TYPE_BREAKING_DASH = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_BREAKING_DASH;
216     enum LIBPOSTAL_TOKEN_TYPE_HYPHEN = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_HYPHEN;
217     enum LIBPOSTAL_TOKEN_TYPE_PUNCT_OPEN = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_PUNCT_OPEN;
218     enum LIBPOSTAL_TOKEN_TYPE_PUNCT_CLOSE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_PUNCT_CLOSE;
219     enum LIBPOSTAL_TOKEN_TYPE_DOUBLE_QUOTE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_DOUBLE_QUOTE;
220     enum LIBPOSTAL_TOKEN_TYPE_SINGLE_QUOTE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_SINGLE_QUOTE;
221     enum LIBPOSTAL_TOKEN_TYPE_OPEN_QUOTE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_OPEN_QUOTE;
222     enum LIBPOSTAL_TOKEN_TYPE_CLOSE_QUOTE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_CLOSE_QUOTE;
223     enum LIBPOSTAL_TOKEN_TYPE_SLASH = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_SLASH;
224     enum LIBPOSTAL_TOKEN_TYPE_BACKSLASH = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_BACKSLASH;
225     enum LIBPOSTAL_TOKEN_TYPE_GREATER_THAN = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_GREATER_THAN;
226     enum LIBPOSTAL_TOKEN_TYPE_LESS_THAN = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_LESS_THAN;
227     enum LIBPOSTAL_TOKEN_TYPE_OTHER = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_OTHER;
228     enum LIBPOSTAL_TOKEN_TYPE_WHITESPACE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_WHITESPACE;
229     enum LIBPOSTAL_TOKEN_TYPE_NEWLINE = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_NEWLINE;
230     enum LIBPOSTAL_TOKEN_TYPE_INVALID_CHAR = _Anonymous_0.LIBPOSTAL_TOKEN_TYPE_INVALID_CHAR;
231     void* valloc(c_ulong) @nogc nothrow;
232     void free(void*) @nogc nothrow;
233     alias libpostal_normalize_options_t = libpostal_normalize_options;
234     struct libpostal_normalize_options
235     {
236         char** languages;
237         c_ulong num_languages;
238         ushort address_components;
239         bool latin_ascii;
240         bool transliterate;
241         bool strip_accents;
242         bool decompose;
243         bool lowercase;
244         bool trim_string;
245         bool drop_parentheticals;
246         bool replace_numeric_hyphens;
247         bool delete_numeric_hyphens;
248         bool split_alpha_from_numeric;
249         bool replace_word_hyphens;
250         bool delete_word_hyphens;
251         bool delete_final_periods;
252         bool delete_acronym_periods;
253         bool drop_english_possessives;
254         bool delete_apostrophes;
255         bool expand_numex;
256         bool roman_numerals;
257     }
258     libpostal_normalize_options libpostal_get_default_options() @nogc nothrow;
259     char** libpostal_expand_address(char*, libpostal_normalize_options, c_ulong*) @nogc nothrow;
260     char** libpostal_expand_address_root(char*, libpostal_normalize_options, c_ulong*) @nogc nothrow;
261     void libpostal_expansion_array_destroy(char**, c_ulong) @nogc nothrow;
262     alias libpostal_address_parser_response_t = libpostal_address_parser_response;
263     struct libpostal_address_parser_response
264     {
265         c_ulong num_components;
266         char** components;
267         char** labels;
268     }
269     alias libpostal_parsed_address_components_t = libpostal_address_parser_response;
270     alias libpostal_address_parser_options_t = libpostal_address_parser_options;
271     struct libpostal_address_parser_options
272     {
273         char* language;
274         char* country;
275     }
276     void libpostal_address_parser_response_destroy(libpostal_address_parser_response*) @nogc nothrow;
277     libpostal_address_parser_options libpostal_get_address_parser_default_options() @nogc nothrow;
278     libpostal_address_parser_response* libpostal_parse_address(char*, libpostal_address_parser_options) @nogc nothrow;
279     bool libpostal_parser_print_features(bool) @nogc nothrow;
280     alias libpostal_language_classifier_response_t = libpostal_language_classifier_response;
281     struct libpostal_language_classifier_response
282     {
283         c_ulong num_languages;
284         char** languages;
285         double* probs;
286     }
287     libpostal_language_classifier_response* libpostal_classify_language(char*) @nogc nothrow;
288     void libpostal_language_classifier_response_destroy(libpostal_language_classifier_response*) @nogc nothrow;
289     alias libpostal_near_dupe_hash_options_t = libpostal_near_dupe_hash_options;
290     struct libpostal_near_dupe_hash_options
291     {
292         bool with_name;
293         bool with_address;
294         bool with_unit;
295         bool with_city_or_equivalent;
296         bool with_small_containing_boundaries;
297         bool with_postal_code;
298         bool with_latlon;
299         double latitude;
300         double longitude;
301         uint geohash_precision;
302         bool name_and_address_keys;
303         bool name_only_keys;
304         bool address_only_keys;
305     }
306     libpostal_near_dupe_hash_options libpostal_get_near_dupe_hash_default_options() @nogc nothrow;
307     char** libpostal_near_dupe_hashes(c_ulong, char**, char**, libpostal_near_dupe_hash_options, c_ulong*) @nogc nothrow;
308     char** libpostal_near_dupe_hashes_languages(c_ulong, char**, char**, libpostal_near_dupe_hash_options, c_ulong, char**, c_ulong*) @nogc nothrow;
309     char** libpostal_place_languages(c_ulong, char**, char**, c_ulong*) @nogc nothrow;
310     alias libpostal_duplicate_status_t = _Anonymous_1;
311     enum _Anonymous_1
312     {
313         LIBPOSTAL_NULL_DUPLICATE_STATUS = -1,
314         LIBPOSTAL_NON_DUPLICATE = 0,
315         LIBPOSTAL_POSSIBLE_DUPLICATE_NEEDS_REVIEW = 3,
316         LIBPOSTAL_LIKELY_DUPLICATE = 6,
317         LIBPOSTAL_EXACT_DUPLICATE = 9,
318     }
319     enum LIBPOSTAL_NULL_DUPLICATE_STATUS = _Anonymous_1.LIBPOSTAL_NULL_DUPLICATE_STATUS;
320     enum LIBPOSTAL_NON_DUPLICATE = _Anonymous_1.LIBPOSTAL_NON_DUPLICATE;
321     enum LIBPOSTAL_POSSIBLE_DUPLICATE_NEEDS_REVIEW = _Anonymous_1.LIBPOSTAL_POSSIBLE_DUPLICATE_NEEDS_REVIEW;
322     enum LIBPOSTAL_LIKELY_DUPLICATE = _Anonymous_1.LIBPOSTAL_LIKELY_DUPLICATE;
323     enum LIBPOSTAL_EXACT_DUPLICATE = _Anonymous_1.LIBPOSTAL_EXACT_DUPLICATE;
324     alias libpostal_duplicate_options_t = libpostal_duplicate_options;
325     struct libpostal_duplicate_options
326     {
327         c_ulong num_languages;
328         char** languages;
329     }
330     libpostal_duplicate_options libpostal_get_default_duplicate_options() @nogc nothrow;
331     libpostal_duplicate_options libpostal_get_duplicate_options_with_languages(c_ulong, char**) @nogc nothrow;
332     libpostal_duplicate_status_t libpostal_is_name_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
333     libpostal_duplicate_status_t libpostal_is_street_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
334     libpostal_duplicate_status_t libpostal_is_house_number_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
335     libpostal_duplicate_status_t libpostal_is_po_box_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
336     libpostal_duplicate_status_t libpostal_is_unit_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
337     libpostal_duplicate_status_t libpostal_is_floor_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
338     libpostal_duplicate_status_t libpostal_is_postal_code_duplicate(char*, char*, libpostal_duplicate_options) @nogc nothrow;
339     libpostal_duplicate_status_t libpostal_is_toponym_duplicate(c_ulong, char**, char**, c_ulong, char**, char**, libpostal_duplicate_options) @nogc nothrow;
340     alias libpostal_fuzzy_duplicate_options_t = libpostal_fuzzy_duplicate_options;
341     struct libpostal_fuzzy_duplicate_options
342     {
343         c_ulong num_languages;
344         char** languages;
345         double needs_review_threshold;
346         double likely_dupe_threshold;
347     }
348     alias libpostal_fuzzy_duplicate_status_t = libpostal_fuzzy_duplicate_status;
349     struct libpostal_fuzzy_duplicate_status
350     {
351         libpostal_duplicate_status_t status;
352         double similarity;
353     }
354     libpostal_fuzzy_duplicate_options libpostal_get_default_fuzzy_duplicate_options() @nogc nothrow;
355     libpostal_fuzzy_duplicate_options libpostal_get_default_fuzzy_duplicate_options_with_languages(c_ulong, char**) @nogc nothrow;
356     libpostal_fuzzy_duplicate_status libpostal_is_name_duplicate_fuzzy(c_ulong, char**, double*, c_ulong, char**, double*, libpostal_fuzzy_duplicate_options) @nogc nothrow;
357     libpostal_fuzzy_duplicate_status libpostal_is_street_duplicate_fuzzy(c_ulong, char**, double*, c_ulong, char**, double*, libpostal_fuzzy_duplicate_options) @nogc nothrow;
358     bool libpostal_setup() @nogc nothrow;
359     bool libpostal_setup_datadir(char*) @nogc nothrow;
360     void libpostal_teardown() @nogc nothrow;
361     bool libpostal_setup_parser() @nogc nothrow;
362     bool libpostal_setup_parser_datadir(char*) @nogc nothrow;
363     void libpostal_teardown_parser() @nogc nothrow;
364     bool libpostal_setup_language_classifier() @nogc nothrow;
365     bool libpostal_setup_language_classifier_datadir(char*) @nogc nothrow;
366     void libpostal_teardown_language_classifier() @nogc nothrow;
367     alias libpostal_token_t = libpostal_token;
368     struct libpostal_token
369     {
370         c_ulong offset;
371         c_ulong len;
372         ushort type;
373     }
374     libpostal_token* libpostal_tokenize(char*, bool, c_ulong*) @nogc nothrow;
375     void* reallocarray(void*, c_ulong, c_ulong) @nogc nothrow;
376     void* realloc(void*, c_ulong) @nogc nothrow;
377     void* calloc(c_ulong, c_ulong) @nogc nothrow;
378     void* malloc(c_ulong) @nogc nothrow;
379     int lcong48_r(ushort*, drand48_data*) @nogc nothrow;
380     int seed48_r(ushort*, drand48_data*) @nogc nothrow;
381     char* libpostal_normalize_string_languages(char*, c_ulong, c_ulong, char**) @nogc nothrow;
382     char* libpostal_normalize_string(char*, c_ulong) @nogc nothrow;
383     alias libpostal_normalized_token_t = libpostal_normalized_token;
384     struct libpostal_normalized_token
385     {
386         char* str;
387         libpostal_token token;
388     }
389     libpostal_normalized_token* libpostal_normalized_tokens(char*, c_ulong, c_ulong, bool, c_ulong*) @nogc nothrow;
390     libpostal_normalized_token* libpostal_normalized_tokens_languages(char*, c_ulong, c_ulong, bool, c_ulong, char**, c_ulong*) @nogc nothrow;
391     int srand48_r(c_long, drand48_data*) @nogc nothrow;
392     pragma(mangle, "alloca") void* alloca_(c_ulong) @nogc nothrow;
393     int jrand48_r(ushort*, drand48_data*, c_long*) @nogc nothrow;
394     static ushort __bswap_16(ushort) @nogc nothrow;
395     static uint __bswap_32(uint) @nogc nothrow;
396     int mrand48_r(drand48_data*, c_long*) @nogc nothrow;
397     static c_ulong __bswap_64(c_ulong) @nogc nothrow;
398     int nrand48_r(ushort*, drand48_data*, c_long*) @nogc nothrow;
399     int lrand48_r(drand48_data*, c_long*) @nogc nothrow;
400     int erand48_r(ushort*, drand48_data*, double*) @nogc nothrow;
401     int drand48_r(drand48_data*, double*) @nogc nothrow;
402     struct drand48_data
403     {
404         ushort[3] __x;
405         ushort[3] __old_x;
406         ushort __c;
407         ushort __init;
408         ulong __a;
409     }
410     void lcong48(ushort*) @nogc nothrow;
411     ushort* seed48(ushort*) @nogc nothrow;
412     void srand48(c_long) @nogc nothrow;
413     c_long jrand48(ushort*) @nogc nothrow;
414     c_long mrand48() @nogc nothrow;
415     c_long nrand48(ushort*) @nogc nothrow;
416     alias _Float32 = float;
417     c_long lrand48() @nogc nothrow;
418     alias _Float64 = double;
419     double erand48(ushort*) @nogc nothrow;
420     double drand48() @nogc nothrow;
421     alias _Float32x = double;
422     int rand_r(uint*) @nogc nothrow;
423     alias _Float64x = real;
424     void srand(uint) @nogc nothrow;
425     int rand() @nogc nothrow;
426     int setstate_r(char*, random_data*) @nogc nothrow;
427     int initstate_r(uint, char*, c_ulong, random_data*) @nogc nothrow;
428     int srandom_r(uint, random_data*) @nogc nothrow;
429     int random_r(random_data*, int*) @nogc nothrow;
430     struct random_data
431     {
432         int* fptr;
433         int* rptr;
434         int* state;
435         int rand_type;
436         int rand_deg;
437         int rand_sep;
438         int* end_ptr;
439     }
440     char* setstate(char*) @nogc nothrow;
441     char* initstate(uint, char*, c_ulong) @nogc nothrow;
442     void srandom(uint) @nogc nothrow;
443     c_long random() @nogc nothrow;
444     c_long a64l(const(char)*) @nogc nothrow;
445     char* l64a(c_long) @nogc nothrow;
446     alias pthread_t = c_ulong;
447     union pthread_mutexattr_t
448     {
449         char[4] __size;
450         int __align;
451     }
452     union pthread_condattr_t
453     {
454         char[4] __size;
455         int __align;
456     }
457     alias pthread_key_t = uint;
458     alias pthread_once_t = int;
459     union pthread_attr_t
460     {
461         char[56] __size;
462         c_long __align;
463     }
464     union pthread_mutex_t
465     {
466         __pthread_mutex_s __data;
467         char[40] __size;
468         c_long __align;
469     }
470     union pthread_cond_t
471     {
472         __pthread_cond_s __data;
473         char[48] __size;
474         long __align;
475     }
476     union pthread_rwlock_t
477     {
478         __pthread_rwlock_arch_t __data;
479         char[56] __size;
480         c_long __align;
481     }
482     union pthread_rwlockattr_t
483     {
484         char[8] __size;
485         c_long __align;
486     }
487     alias pthread_spinlock_t = int;
488     union pthread_barrier_t
489     {
490         char[32] __size;
491         c_long __align;
492     }
493     union pthread_barrierattr_t
494     {
495         char[4] __size;
496         int __align;
497     }
498     alias int8_t = byte;
499     alias int16_t = short;
500     alias int32_t = int;
501     alias int64_t = c_long;
502     alias uint8_t = ubyte;
503     alias uint16_t = ushort;
504     alias uint32_t = uint;
505     alias uint64_t = ulong;
506     ulong strtoull(const(char)*, char**, int) @nogc nothrow;
507     struct __pthread_mutex_s
508     {
509         int __lock;
510         uint __count;
511         int __owner;
512         uint __nusers;
513         int __kind;
514         short __spins;
515         short __elision;
516         __pthread_internal_list __list;
517     }
518     long strtoll(const(char)*, char**, int) @nogc nothrow;
519     struct __pthread_rwlock_arch_t
520     {
521         uint __readers;
522         uint __writers;
523         uint __wrphase_futex;
524         uint __writers_futex;
525         uint __pad3;
526         uint __pad4;
527         int __cur_writer;
528         int __shared;
529         byte __rwelision;
530         ubyte[7] __pad1;
531         c_ulong __pad2;
532         uint __flags;
533     }
534     extern __gshared int sys_nerr;
535     extern __gshared const(const(char)*)[0] sys_errlist;
536     ulong strtouq(const(char)*, char**, int) @nogc nothrow;
537     alias __pthread_list_t = __pthread_internal_list;
538     struct __pthread_internal_list
539     {
540         __pthread_internal_list* __prev;
541         __pthread_internal_list* __next;
542     }
543     alias __pthread_slist_t = __pthread_internal_slist;
544     struct __pthread_internal_slist
545     {
546         __pthread_internal_slist* __next;
547     }
548     struct __pthread_cond_s
549     {
550         static union _Anonymous_2
551         {
552             ulong __wseq;
553             static struct _Anonymous_3
554             {
555                 uint __low;
556                 uint __high;
557             }
558             _Anonymous_3 __wseq32;
559         }
560         _Anonymous_2 _anonymous_4;
561         auto __wseq() @property @nogc pure nothrow { return _anonymous_4.__wseq; }
562         void __wseq(_T_)(auto ref _T_ val) @property @nogc pure nothrow { _anonymous_4.__wseq = val; }
563         auto __wseq32() @property @nogc pure nothrow { return _anonymous_4.__wseq32; }
564         void __wseq32(_T_)(auto ref _T_ val) @property @nogc pure nothrow { _anonymous_4.__wseq32 = val; }
565         static union _Anonymous_5
566         {
567             ulong __g1_start;
568             static struct _Anonymous_6
569             {
570                 uint __low;
571                 uint __high;
572             }
573             _Anonymous_6 __g1_start32;
574         }
575         _Anonymous_5 _anonymous_7;
576         auto __g1_start() @property @nogc pure nothrow { return _anonymous_7.__g1_start; }
577         void __g1_start(_T_)(auto ref _T_ val) @property @nogc pure nothrow { _anonymous_7.__g1_start = val; }
578         auto __g1_start32() @property @nogc pure nothrow { return _anonymous_7.__g1_start32; }
579         void __g1_start32(_T_)(auto ref _T_ val) @property @nogc pure nothrow { _anonymous_7.__g1_start32 = val; }
580         uint[2] __g_refs;
581         uint[2] __g_size;
582         uint __g1_orig_size;
583         uint __wrefs;
584         uint[2] __g_signals;
585     }
586     long strtoq(const(char)*, char**, int) @nogc nothrow;
587     alias __u_char = ubyte;
588     alias __u_short = ushort;
589     alias __u_int = uint;
590     alias __u_long = c_ulong;
591     alias __int8_t = byte;
592     alias __uint8_t = ubyte;
593     alias __int16_t = short;
594     alias __uint16_t = ushort;
595     alias __int32_t = int;
596     alias __uint32_t = uint;
597     alias __int64_t = c_long;
598     alias __uint64_t = c_ulong;
599     alias __int_least8_t = byte;
600     alias __uint_least8_t = ubyte;
601     alias __int_least16_t = short;
602     alias __uint_least16_t = ushort;
603     alias __int_least32_t = int;
604     alias __uint_least32_t = uint;
605     alias __int_least64_t = c_long;
606     alias __uint_least64_t = c_ulong;
607     alias __quad_t = c_long;
608     alias __u_quad_t = c_ulong;
609     alias __intmax_t = c_long;
610     alias __uintmax_t = c_ulong;
611     c_ulong strtoul(const(char)*, char**, int) @nogc nothrow;
612     c_long strtol(const(char)*, char**, int) @nogc nothrow;
613     alias __dev_t = c_ulong;
614     alias __uid_t = uint;
615     alias __gid_t = uint;
616     alias __ino_t = c_ulong;
617     alias __ino64_t = c_ulong;
618     alias __mode_t = uint;
619     alias __nlink_t = c_ulong;
620     alias __off_t = c_long;
621     alias __off64_t = c_long;
622     alias __pid_t = int;
623     struct __fsid_t
624     {
625         int[2] __val;
626     }
627     alias __clock_t = c_long;
628     alias __rlim_t = c_ulong;
629     alias __rlim64_t = c_ulong;
630     alias __id_t = uint;
631     alias __time_t = c_long;
632     alias __useconds_t = uint;
633     alias __suseconds_t = c_long;
634     alias __daddr_t = int;
635     alias __key_t = int;
636     alias __clockid_t = int;
637     alias __timer_t = void*;
638     alias __blksize_t = c_long;
639     alias __blkcnt_t = c_long;
640     alias __blkcnt64_t = c_long;
641     alias __fsblkcnt_t = c_ulong;
642     alias __fsblkcnt64_t = c_ulong;
643     alias __fsfilcnt_t = c_ulong;
644     alias __fsfilcnt64_t = c_ulong;
645     alias __fsword_t = c_long;
646     alias __ssize_t = c_long;
647     alias __syscall_slong_t = c_long;
648     alias __syscall_ulong_t = c_ulong;
649     alias __loff_t = c_long;
650     alias __caddr_t = char*;
651     alias __intptr_t = c_long;
652     alias __socklen_t = uint;
653     alias __sig_atomic_t = int;
654     alias FILE = _IO_FILE;
655     struct _IO_FILE
656     {
657         int _flags;
658         char* _IO_read_ptr;
659         char* _IO_read_end;
660         char* _IO_read_base;
661         char* _IO_write_base;
662         char* _IO_write_ptr;
663         char* _IO_write_end;
664         char* _IO_buf_base;
665         char* _IO_buf_end;
666         char* _IO_save_base;
667         char* _IO_backup_base;
668         char* _IO_save_end;
669         _IO_marker* _markers;
670         _IO_FILE* _chain;
671         int _fileno;
672         int _flags2;
673         c_long _old_offset;
674         ushort _cur_column;
675         byte _vtable_offset;
676         char[1] _shortbuf;
677         void* _lock;
678         c_long _offset;
679         _IO_codecvt* _codecvt;
680         _IO_wide_data* _wide_data;
681         _IO_FILE* _freeres_list;
682         void* _freeres_buf;
683         c_ulong __pad5;
684         int _mode;
685         char[20] _unused2;
686     }
687     alias __FILE = _IO_FILE;
688     alias __fpos64_t = _G_fpos64_t;
689     struct _G_fpos64_t
690     {
691         c_long __pos;
692         __mbstate_t __state;
693     }
694     alias __fpos_t = _G_fpos_t;
695     struct _G_fpos_t
696     {
697         c_long __pos;
698         __mbstate_t __state;
699     }
700     struct __mbstate_t
701     {
702         int __count;
703         static union _Anonymous_8
704         {
705             uint __wch;
706             char[4] __wchb;
707         }
708         _Anonymous_8 __value;
709     }
710     struct __sigset_t
711     {
712         c_ulong[16] __val;
713     }
714     real strtold(const(char)*, char**) @nogc nothrow;
715     alias clock_t = c_long;
716     alias clockid_t = int;
717     alias sigset_t = __sigset_t;
718     float strtof(const(char)*, char**) @nogc nothrow;
719     struct _IO_marker;
720     struct _IO_codecvt;
721     struct _IO_wide_data;
722     alias _IO_lock_t = void;
723     double strtod(const(char)*, char**) @nogc nothrow;
724     struct timespec
725     {
726         c_long tv_sec;
727         c_long tv_nsec;
728     }
729     long atoll(const(char)*) @nogc nothrow;
730     struct timeval
731     {
732         c_long tv_sec;
733         c_long tv_usec;
734     }
735     alias time_t = c_long;
736     alias timer_t = void*;
737     c_long atol(const(char)*) @nogc nothrow;
738     int atoi(const(char)*) @nogc nothrow;
739     double atof(const(char)*) @nogc nothrow;
740     c_ulong __ctype_get_mb_cur_max() @nogc nothrow;
741     struct lldiv_t
742     {
743         long quot;
744         long rem;
745     }
746     struct ldiv_t
747     {
748         c_long quot;
749         c_long rem;
750     }
751     struct div_t
752     {
753         int quot;
754         int rem;
755     }
756     int __overflow(_IO_FILE*, int) @nogc nothrow;
757     int __uflow(_IO_FILE*) @nogc nothrow;
758     void funlockfile(_IO_FILE*) @nogc nothrow;
759     static ushort __uint16_identity(ushort) @nogc nothrow;
760     static uint __uint32_identity(uint) @nogc nothrow;
761     static c_ulong __uint64_identity(c_ulong) @nogc nothrow;
762     int ftrylockfile(_IO_FILE*) @nogc nothrow;
763     void flockfile(_IO_FILE*) @nogc nothrow;
764     char* ctermid(char*) @nogc nothrow;
765     int pclose(_IO_FILE*) @nogc nothrow;
766     _IO_FILE* popen(const(char)*, const(char)*) @nogc nothrow;
767     int fileno_unlocked(_IO_FILE*) @nogc nothrow;
768     int fileno(_IO_FILE*) @nogc nothrow;
769     void perror(const(char)*) @nogc nothrow;
770     int ferror_unlocked(_IO_FILE*) @nogc nothrow;
771     int feof_unlocked(_IO_FILE*) @nogc nothrow;
772     void clearerr_unlocked(_IO_FILE*) @nogc nothrow;
773     int ferror(_IO_FILE*) @nogc nothrow;
774     int feof(_IO_FILE*) @nogc nothrow;
775     void clearerr(_IO_FILE*) @nogc nothrow;
776     int fsetpos(_IO_FILE*, const(_G_fpos_t)*) @nogc nothrow;
777     int fgetpos(_IO_FILE*, _G_fpos_t*) @nogc nothrow;
778     c_long ftello(_IO_FILE*) @nogc nothrow;
779     int fseeko(_IO_FILE*, c_long, int) @nogc nothrow;
780     void rewind(_IO_FILE*) @nogc nothrow;
781     c_long ftell(_IO_FILE*) @nogc nothrow;
782     int fseek(_IO_FILE*, c_long, int) @nogc nothrow;
783     c_ulong fwrite_unlocked(const(void)*, c_ulong, c_ulong, _IO_FILE*) @nogc nothrow;
784     c_ulong fread_unlocked(void*, c_ulong, c_ulong, _IO_FILE*) @nogc nothrow;
785     c_ulong fwrite(const(void)*, c_ulong, c_ulong, _IO_FILE*) @nogc nothrow;
786     c_ulong fread(void*, c_ulong, c_ulong, _IO_FILE*) @nogc nothrow;
787     int ungetc(int, _IO_FILE*) @nogc nothrow;
788     int puts(const(char)*) @nogc nothrow;
789     int fputs(const(char)*, _IO_FILE*) @nogc nothrow;
790     c_long getline(char**, c_ulong*, _IO_FILE*) @nogc nothrow;
791     c_long getdelim(char**, c_ulong*, int, _IO_FILE*) @nogc nothrow;
792     c_long __getdelim(char**, c_ulong*, int, _IO_FILE*) @nogc nothrow;
793     char* fgets(char*, int, _IO_FILE*) @nogc nothrow;
794     int putw(int, _IO_FILE*) @nogc nothrow;
795     int getw(_IO_FILE*) @nogc nothrow;
796     int putchar_unlocked(int) @nogc nothrow;
797     int putc_unlocked(int, _IO_FILE*) @nogc nothrow;
798     int fputc_unlocked(int, _IO_FILE*) @nogc nothrow;
799     int putchar(int) @nogc nothrow;
800     int putc(int, _IO_FILE*) @nogc nothrow;
801     int fputc(int, _IO_FILE*) @nogc nothrow;
802     int fgetc_unlocked(_IO_FILE*) @nogc nothrow;
803     int getchar_unlocked() @nogc nothrow;
804     int getc_unlocked(_IO_FILE*) @nogc nothrow;
805     int getchar() @nogc nothrow;
806     int getc(_IO_FILE*) @nogc nothrow;
807     int fgetc(_IO_FILE*) @nogc nothrow;
808     int vsscanf(const(char)*, const(char)*, va_list*) @nogc nothrow;
809     int vscanf(const(char)*, va_list*) @nogc nothrow;
810     alias int_least8_t = byte;
811     alias int_least16_t = short;
812     alias int_least32_t = int;
813     alias int_least64_t = c_long;
814     alias uint_least8_t = ubyte;
815     alias uint_least16_t = ushort;
816     alias uint_least32_t = uint;
817     alias uint_least64_t = c_ulong;
818     alias int_fast8_t = byte;
819     alias int_fast16_t = c_long;
820     alias int_fast32_t = c_long;
821     alias int_fast64_t = c_long;
822     alias uint_fast8_t = ubyte;
823     alias uint_fast16_t = c_ulong;
824     alias uint_fast32_t = c_ulong;
825     alias uint_fast64_t = c_ulong;
826     alias intptr_t = c_long;
827     int vfscanf(_IO_FILE*, const(char)*, va_list*) @nogc nothrow;
828     alias uintptr_t = c_ulong;
829     alias intmax_t = c_long;
830     alias uintmax_t = c_ulong;
831     int sscanf(const(char)*, const(char)*, ...) @nogc nothrow;
832     int scanf(const(char)*, ...) @nogc nothrow;
833     int fscanf(_IO_FILE*, const(char)*, ...) @nogc nothrow;
834     int dprintf(int, const(char)*, ...) @nogc nothrow;
835     int vdprintf(int, const(char)*, va_list*) @nogc nothrow;
836     int vsnprintf(char*, c_ulong, const(char)*, va_list*) @nogc nothrow;
837     int snprintf(char*, c_ulong, const(char)*, ...) @nogc nothrow;
838     int vsprintf(char*, const(char)*, va_list*) @nogc nothrow;
839     int vprintf(const(char)*, va_list*) @nogc nothrow;
840     int vfprintf(_IO_FILE*, const(char)*, va_list*) @nogc nothrow;
841     int sprintf(char*, const(char)*, ...) @nogc nothrow;
842     int printf(const(char)*, ...) @nogc nothrow;
843     int fprintf(_IO_FILE*, const(char)*, ...) @nogc nothrow;
844     void setlinebuf(_IO_FILE*) @nogc nothrow;
845     void setbuffer(_IO_FILE*, char*, c_ulong) @nogc nothrow;
846     int setvbuf(_IO_FILE*, char*, int, c_ulong) @nogc nothrow;
847     void setbuf(_IO_FILE*, char*) @nogc nothrow;
848     _IO_FILE* open_memstream(char**, c_ulong*) @nogc nothrow;
849     _IO_FILE* fmemopen(void*, c_ulong, const(char)*) @nogc nothrow;
850     _IO_FILE* fdopen(int, const(char)*) @nogc nothrow;
851     _IO_FILE* freopen(const(char)*, const(char)*, _IO_FILE*) @nogc nothrow;
852     _IO_FILE* fopen(const(char)*, const(char)*) @nogc nothrow;
853     int fflush_unlocked(_IO_FILE*) @nogc nothrow;
854     int fflush(_IO_FILE*) @nogc nothrow;
855     int fclose(_IO_FILE*) @nogc nothrow;
856     char* tempnam(const(char)*, const(char)*) @nogc nothrow;
857     char* tmpnam_r(char*) @nogc nothrow;
858     alias off_t = c_long;
859     alias ssize_t = c_long;
860     alias fpos_t = _G_fpos_t;
861     char* tmpnam(char*) @nogc nothrow;
862     _IO_FILE* tmpfile() @nogc nothrow;
863     int renameat(int, const(char)*, int, const(char)*) @nogc nothrow;
864     int rename(const(char)*, const(char)*) @nogc nothrow;
865     extern __gshared _IO_FILE* stdin;
866     extern __gshared _IO_FILE* stdout;
867     extern __gshared _IO_FILE* stderr;
868     int remove(const(char)*) @nogc nothrow;
869     static if(!is(typeof(P_tmpdir))) {
870         enum P_tmpdir = "/tmp";
871     }
872 
873 
874 
875 
876     static if(!is(typeof(SEEK_END))) {
877         enum SEEK_END = 2;
878     }
879 
880 
881 
882 
883     static if(!is(typeof(SEEK_CUR))) {
884         enum SEEK_CUR = 1;
885     }
886 
887 
888 
889 
890     static if(!is(typeof(SEEK_SET))) {
891         enum SEEK_SET = 0;
892     }
893 
894 
895 
896 
897 
898 
899     static if(!is(typeof(BUFSIZ))) {
900         enum BUFSIZ = 8192;
901     }
902 
903 
904 
905 
906     static if(!is(typeof(_IONBF))) {
907         enum _IONBF = 2;
908     }
909 
910 
911 
912 
913     static if(!is(typeof(_IOLBF))) {
914         enum _IOLBF = 1;
915     }
916 
917 
918 
919 
920     static if(!is(typeof(_IOFBF))) {
921         enum _IOFBF = 0;
922     }
923     static if(!is(typeof(_STDIO_H))) {
924         enum _STDIO_H = 1;
925     }
926     static if(!is(typeof(_STDINT_H))) {
927         enum _STDINT_H = 1;
928     }
929 
930 
931 
932 
933     static if(!is(typeof(_STDC_PREDEF_H))) {
934         enum _STDC_PREDEF_H = 1;
935     }
936     static if(!is(typeof(__GLIBC_MINOR__))) {
937         enum __GLIBC_MINOR__ = 31;
938     }
939 
940 
941 
942 
943     static if(!is(typeof(__GLIBC__))) {
944         enum __GLIBC__ = 2;
945     }
946 
947 
948 
949 
950     static if(!is(typeof(__GNU_LIBRARY__))) {
951         enum __GNU_LIBRARY__ = 6;
952     }
953 
954 
955 
956 
957     static if(!is(typeof(__GLIBC_USE_DEPRECATED_SCANF))) {
958         enum __GLIBC_USE_DEPRECATED_SCANF = 0;
959     }
960 
961 
962 
963 
964     static if(!is(typeof(__GLIBC_USE_DEPRECATED_GETS))) {
965         enum __GLIBC_USE_DEPRECATED_GETS = 0;
966     }
967 
968 
969 
970 
971     static if(!is(typeof(__USE_FORTIFY_LEVEL))) {
972         enum __USE_FORTIFY_LEVEL = 0;
973     }
974 
975 
976 
977 
978     static if(!is(typeof(__USE_ATFILE))) {
979         enum __USE_ATFILE = 1;
980     }
981 
982 
983 
984 
985     static if(!is(typeof(__USE_MISC))) {
986         enum __USE_MISC = 1;
987     }
988 
989 
990 
991 
992     static if(!is(typeof(_ATFILE_SOURCE))) {
993         enum _ATFILE_SOURCE = 1;
994     }
995 
996 
997 
998 
999     static if(!is(typeof(__USE_XOPEN2K8))) {
1000         enum __USE_XOPEN2K8 = 1;
1001     }
1002 
1003 
1004 
1005 
1006     static if(!is(typeof(__USE_ISOC99))) {
1007         enum __USE_ISOC99 = 1;
1008     }
1009 
1010 
1011 
1012 
1013     static if(!is(typeof(__USE_ISOC95))) {
1014         enum __USE_ISOC95 = 1;
1015     }
1016 
1017 
1018 
1019 
1020     static if(!is(typeof(__USE_XOPEN2K))) {
1021         enum __USE_XOPEN2K = 1;
1022     }
1023 
1024 
1025 
1026 
1027     static if(!is(typeof(__USE_POSIX199506))) {
1028         enum __USE_POSIX199506 = 1;
1029     }
1030 
1031 
1032 
1033 
1034     static if(!is(typeof(__USE_POSIX199309))) {
1035         enum __USE_POSIX199309 = 1;
1036     }
1037 
1038 
1039 
1040 
1041     static if(!is(typeof(__USE_POSIX2))) {
1042         enum __USE_POSIX2 = 1;
1043     }
1044 
1045 
1046 
1047 
1048     static if(!is(typeof(__USE_POSIX))) {
1049         enum __USE_POSIX = 1;
1050     }
1051 
1052 
1053 
1054 
1055     static if(!is(typeof(_POSIX_C_SOURCE))) {
1056         enum _POSIX_C_SOURCE = 200809L;
1057     }
1058 
1059 
1060 
1061 
1062     static if(!is(typeof(_POSIX_SOURCE))) {
1063         enum _POSIX_SOURCE = 1;
1064     }
1065 
1066 
1067 
1068 
1069     static if(!is(typeof(__USE_POSIX_IMPLICITLY))) {
1070         enum __USE_POSIX_IMPLICITLY = 1;
1071     }
1072 
1073 
1074 
1075 
1076     static if(!is(typeof(__USE_ISOC11))) {
1077         enum __USE_ISOC11 = 1;
1078     }
1079 
1080 
1081 
1082 
1083     static if(!is(typeof(__GLIBC_USE_ISOC2X))) {
1084         enum __GLIBC_USE_ISOC2X = 0;
1085     }
1086 
1087 
1088 
1089 
1090     static if(!is(typeof(_DEFAULT_SOURCE))) {
1091         enum _DEFAULT_SOURCE = 1;
1092     }
1093     static if(!is(typeof(_FEATURES_H))) {
1094         enum _FEATURES_H = 1;
1095     }
1096     static if(!is(typeof(_ENDIAN_H))) {
1097         enum _ENDIAN_H = 1;
1098     }
1099 
1100 
1101 
1102 
1103     static if(!is(typeof(__SYSCALL_WORDSIZE))) {
1104         enum __SYSCALL_WORDSIZE = 64;
1105     }
1106 
1107 
1108 
1109 
1110     static if(!is(typeof(__WORDSIZE_TIME64_COMPAT32))) {
1111         enum __WORDSIZE_TIME64_COMPAT32 = 1;
1112     }
1113 
1114 
1115 
1116 
1117     static if(!is(typeof(__WORDSIZE))) {
1118         enum __WORDSIZE = 64;
1119     }
1120     static if(!is(typeof(_BITS_WCHAR_H))) {
1121         enum _BITS_WCHAR_H = 1;
1122     }
1123 
1124 
1125 
1126 
1127     static if(!is(typeof(__WCOREFLAG))) {
1128         enum __WCOREFLAG = 0x80;
1129     }
1130 
1131 
1132 
1133 
1134     static if(!is(typeof(__W_CONTINUED))) {
1135         enum __W_CONTINUED = 0xffff;
1136     }
1137     static if(!is(typeof(__WCLONE))) {
1138         enum __WCLONE = 0x80000000;
1139     }
1140 
1141 
1142 
1143 
1144     static if(!is(typeof(__WALL))) {
1145         enum __WALL = 0x40000000;
1146     }
1147 
1148 
1149 
1150 
1151     static if(!is(typeof(__WNOTHREAD))) {
1152         enum __WNOTHREAD = 0x20000000;
1153     }
1154 
1155 
1156 
1157 
1158     static if(!is(typeof(WNOWAIT))) {
1159         enum WNOWAIT = 0x01000000;
1160     }
1161 
1162 
1163 
1164 
1165     static if(!is(typeof(WCONTINUED))) {
1166         enum WCONTINUED = 8;
1167     }
1168 
1169 
1170 
1171 
1172     static if(!is(typeof(WEXITED))) {
1173         enum WEXITED = 4;
1174     }
1175 
1176 
1177 
1178 
1179     static if(!is(typeof(WSTOPPED))) {
1180         enum WSTOPPED = 2;
1181     }
1182 
1183 
1184 
1185 
1186     static if(!is(typeof(WUNTRACED))) {
1187         enum WUNTRACED = 2;
1188     }
1189 
1190 
1191 
1192 
1193     static if(!is(typeof(WNOHANG))) {
1194         enum WNOHANG = 1;
1195     }
1196 
1197 
1198 
1199 
1200     static if(!is(typeof(_BITS_UINTN_IDENTITY_H))) {
1201         enum _BITS_UINTN_IDENTITY_H = 1;
1202     }
1203 
1204 
1205 
1206 
1207     static if(!is(typeof(__FD_SETSIZE))) {
1208         enum __FD_SETSIZE = 1024;
1209     }
1210 
1211 
1212 
1213 
1214     static if(!is(typeof(__STATFS_MATCHES_STATFS64))) {
1215         enum __STATFS_MATCHES_STATFS64 = 1;
1216     }
1217 
1218 
1219 
1220 
1221     static if(!is(typeof(__RLIM_T_MATCHES_RLIM64_T))) {
1222         enum __RLIM_T_MATCHES_RLIM64_T = 1;
1223     }
1224 
1225 
1226 
1227 
1228     static if(!is(typeof(__INO_T_MATCHES_INO64_T))) {
1229         enum __INO_T_MATCHES_INO64_T = 1;
1230     }
1231 
1232 
1233 
1234 
1235     static if(!is(typeof(__OFF_T_MATCHES_OFF64_T))) {
1236         enum __OFF_T_MATCHES_OFF64_T = 1;
1237     }
1238     static if(!is(typeof(_STDLIB_H))) {
1239         enum _STDLIB_H = 1;
1240     }
1241     static if(!is(typeof(__ldiv_t_defined))) {
1242         enum __ldiv_t_defined = 1;
1243     }
1244     static if(!is(typeof(__lldiv_t_defined))) {
1245         enum __lldiv_t_defined = 1;
1246     }
1247 
1248 
1249 
1250 
1251     static if(!is(typeof(RAND_MAX))) {
1252         enum RAND_MAX = 2147483647;
1253     }
1254 
1255 
1256 
1257 
1258     static if(!is(typeof(EXIT_FAILURE))) {
1259         enum EXIT_FAILURE = 1;
1260     }
1261 
1262 
1263 
1264 
1265     static if(!is(typeof(EXIT_SUCCESS))) {
1266         enum EXIT_SUCCESS = 0;
1267     }
1268     static if(!is(typeof(_BITS_TYPESIZES_H))) {
1269         enum _BITS_TYPESIZES_H = 1;
1270     }
1271 
1272 
1273 
1274 
1275     static if(!is(typeof(__timer_t_defined))) {
1276         enum __timer_t_defined = 1;
1277     }
1278 
1279 
1280 
1281 
1282     static if(!is(typeof(__time_t_defined))) {
1283         enum __time_t_defined = 1;
1284     }
1285 
1286 
1287 
1288 
1289     static if(!is(typeof(__timeval_defined))) {
1290         enum __timeval_defined = 1;
1291     }
1292 
1293 
1294 
1295 
1296     static if(!is(typeof(_STRUCT_TIMESPEC))) {
1297         enum _STRUCT_TIMESPEC = 1;
1298     }
1299 
1300 
1301 
1302 
1303     static if(!is(typeof(_IO_USER_LOCK))) {
1304         enum _IO_USER_LOCK = 0x8000;
1305     }
1306 
1307 
1308 
1309 
1310 
1311 
1312     static if(!is(typeof(_IO_ERR_SEEN))) {
1313         enum _IO_ERR_SEEN = 0x0020;
1314     }
1315 
1316 
1317 
1318 
1319 
1320 
1321     static if(!is(typeof(_IO_EOF_SEEN))) {
1322         enum _IO_EOF_SEEN = 0x0010;
1323     }
1324     static if(!is(typeof(__struct_FILE_defined))) {
1325         enum __struct_FILE_defined = 1;
1326     }
1327 
1328 
1329 
1330 
1331     static if(!is(typeof(__sigset_t_defined))) {
1332         enum __sigset_t_defined = 1;
1333     }
1334 
1335 
1336 
1337 
1338     static if(!is(typeof(__clockid_t_defined))) {
1339         enum __clockid_t_defined = 1;
1340     }
1341 
1342 
1343 
1344 
1345     static if(!is(typeof(__clock_t_defined))) {
1346         enum __clock_t_defined = 1;
1347     }
1348     static if(!is(typeof(____mbstate_t_defined))) {
1349         enum ____mbstate_t_defined = 1;
1350     }
1351 
1352 
1353 
1354 
1355     static if(!is(typeof(_____fpos_t_defined))) {
1356         enum _____fpos_t_defined = 1;
1357     }
1358 
1359 
1360 
1361 
1362     static if(!is(typeof(_____fpos64_t_defined))) {
1363         enum _____fpos64_t_defined = 1;
1364     }
1365 
1366 
1367 
1368 
1369     static if(!is(typeof(____FILE_defined))) {
1370         enum ____FILE_defined = 1;
1371     }
1372 
1373 
1374 
1375 
1376     static if(!is(typeof(__FILE_defined))) {
1377         enum __FILE_defined = 1;
1378     }
1379     static if(!is(typeof(_BITS_TYPES_H))) {
1380         enum _BITS_TYPES_H = 1;
1381     }
1382     static if(!is(typeof(_BITS_TIME64_H))) {
1383         enum _BITS_TIME64_H = 1;
1384     }
1385 
1386 
1387 
1388 
1389     static if(!is(typeof(_THREAD_SHARED_TYPES_H))) {
1390         enum _THREAD_SHARED_TYPES_H = 1;
1391     }
1392     static if(!is(typeof(__PTHREAD_MUTEX_HAVE_PREV))) {
1393         enum __PTHREAD_MUTEX_HAVE_PREV = 1;
1394     }
1395 
1396 
1397 
1398 
1399     static if(!is(typeof(_THREAD_MUTEX_INTERNAL_H))) {
1400         enum _THREAD_MUTEX_INTERNAL_H = 1;
1401     }
1402 
1403 
1404 
1405 
1406     static if(!is(typeof(FOPEN_MAX))) {
1407         enum FOPEN_MAX = 16;
1408     }
1409 
1410 
1411 
1412 
1413     static if(!is(typeof(L_ctermid))) {
1414         enum L_ctermid = 9;
1415     }
1416 
1417 
1418 
1419 
1420     static if(!is(typeof(FILENAME_MAX))) {
1421         enum FILENAME_MAX = 4096;
1422     }
1423 
1424 
1425 
1426 
1427     static if(!is(typeof(TMP_MAX))) {
1428         enum TMP_MAX = 238328;
1429     }
1430 
1431 
1432 
1433 
1434     static if(!is(typeof(L_tmpnam))) {
1435         enum L_tmpnam = 20;
1436     }
1437 
1438 
1439 
1440 
1441     static if(!is(typeof(_BITS_STDIO_LIM_H))) {
1442         enum _BITS_STDIO_LIM_H = 1;
1443     }
1444 
1445 
1446 
1447 
1448     static if(!is(typeof(_BITS_STDINT_UINTN_H))) {
1449         enum _BITS_STDINT_UINTN_H = 1;
1450     }
1451 
1452 
1453 
1454 
1455     static if(!is(typeof(_BITS_STDINT_INTN_H))) {
1456         enum _BITS_STDINT_INTN_H = 1;
1457     }
1458     static if(!is(typeof(__FD_ZERO_STOS))) {
1459         enum __FD_ZERO_STOS = "stosq";
1460     }
1461 
1462 
1463 
1464 
1465     static if(!is(typeof(__have_pthread_attr_t))) {
1466         enum __have_pthread_attr_t = 1;
1467     }
1468 
1469 
1470 
1471 
1472     static if(!is(typeof(_BITS_PTHREADTYPES_COMMON_H))) {
1473         enum _BITS_PTHREADTYPES_COMMON_H = 1;
1474     }
1475     static if(!is(typeof(__SIZEOF_PTHREAD_BARRIERATTR_T))) {
1476         enum __SIZEOF_PTHREAD_BARRIERATTR_T = 4;
1477     }
1478 
1479 
1480 
1481 
1482     static if(!is(typeof(__SIZEOF_PTHREAD_RWLOCKATTR_T))) {
1483         enum __SIZEOF_PTHREAD_RWLOCKATTR_T = 8;
1484     }
1485 
1486 
1487 
1488 
1489     static if(!is(typeof(__SIZEOF_PTHREAD_CONDATTR_T))) {
1490         enum __SIZEOF_PTHREAD_CONDATTR_T = 4;
1491     }
1492 
1493 
1494 
1495 
1496     static if(!is(typeof(__SIZEOF_PTHREAD_COND_T))) {
1497         enum __SIZEOF_PTHREAD_COND_T = 48;
1498     }
1499 
1500 
1501 
1502 
1503     static if(!is(typeof(__SIZEOF_PTHREAD_MUTEXATTR_T))) {
1504         enum __SIZEOF_PTHREAD_MUTEXATTR_T = 4;
1505     }
1506 
1507 
1508 
1509 
1510     static if(!is(typeof(__SIZEOF_PTHREAD_BARRIER_T))) {
1511         enum __SIZEOF_PTHREAD_BARRIER_T = 32;
1512     }
1513 
1514 
1515 
1516 
1517     static if(!is(typeof(__SIZEOF_PTHREAD_RWLOCK_T))) {
1518         enum __SIZEOF_PTHREAD_RWLOCK_T = 56;
1519     }
1520 
1521 
1522 
1523 
1524     static if(!is(typeof(__SIZEOF_PTHREAD_ATTR_T))) {
1525         enum __SIZEOF_PTHREAD_ATTR_T = 56;
1526     }
1527 
1528 
1529 
1530 
1531     static if(!is(typeof(__SIZEOF_PTHREAD_MUTEX_T))) {
1532         enum __SIZEOF_PTHREAD_MUTEX_T = 40;
1533     }
1534 
1535 
1536 
1537 
1538     static if(!is(typeof(_BITS_PTHREADTYPES_ARCH_H))) {
1539         enum _BITS_PTHREADTYPES_ARCH_H = 1;
1540     }
1541 
1542 
1543 
1544 
1545     static if(!is(typeof(__LONG_DOUBLE_USES_FLOAT128))) {
1546         enum __LONG_DOUBLE_USES_FLOAT128 = 0;
1547     }
1548 
1549 
1550 
1551 
1552     static if(!is(typeof(__GLIBC_USE_IEC_60559_TYPES_EXT))) {
1553         enum __GLIBC_USE_IEC_60559_TYPES_EXT = 0;
1554     }
1555 
1556 
1557 
1558 
1559     static if(!is(typeof(__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X))) {
1560         enum __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X = 0;
1561     }
1562 
1563 
1564 
1565 
1566     static if(!is(typeof(__GLIBC_USE_IEC_60559_FUNCS_EXT))) {
1567         enum __GLIBC_USE_IEC_60559_FUNCS_EXT = 0;
1568     }
1569 
1570 
1571 
1572 
1573     static if(!is(typeof(__GLIBC_USE_IEC_60559_BFP_EXT_C2X))) {
1574         enum __GLIBC_USE_IEC_60559_BFP_EXT_C2X = 0;
1575     }
1576 
1577 
1578 
1579 
1580     static if(!is(typeof(__GLIBC_USE_IEC_60559_BFP_EXT))) {
1581         enum __GLIBC_USE_IEC_60559_BFP_EXT = 0;
1582     }
1583 
1584 
1585 
1586 
1587     static if(!is(typeof(__GLIBC_USE_LIB_EXT2))) {
1588         enum __GLIBC_USE_LIB_EXT2 = 0;
1589     }
1590 
1591 
1592 
1593 
1594     static if(!is(typeof(__HAVE_FLOAT64X_LONG_DOUBLE))) {
1595         enum __HAVE_FLOAT64X_LONG_DOUBLE = 1;
1596     }
1597 
1598 
1599 
1600 
1601     static if(!is(typeof(__HAVE_FLOAT64X))) {
1602         enum __HAVE_FLOAT64X = 1;
1603     }
1604 
1605 
1606 
1607 
1608     static if(!is(typeof(__HAVE_DISTINCT_FLOAT128))) {
1609         enum __HAVE_DISTINCT_FLOAT128 = 0;
1610     }
1611 
1612 
1613 
1614 
1615     static if(!is(typeof(__HAVE_FLOAT128))) {
1616         enum __HAVE_FLOAT128 = 0;
1617     }
1618     static if(!is(typeof(__HAVE_FLOATN_NOT_TYPEDEF))) {
1619         enum __HAVE_FLOATN_NOT_TYPEDEF = 0;
1620     }
1621     static if(!is(typeof(__HAVE_DISTINCT_FLOAT64X))) {
1622         enum __HAVE_DISTINCT_FLOAT64X = 0;
1623     }
1624 
1625 
1626 
1627 
1628     static if(!is(typeof(__HAVE_DISTINCT_FLOAT32X))) {
1629         enum __HAVE_DISTINCT_FLOAT32X = 0;
1630     }
1631 
1632 
1633 
1634 
1635     static if(!is(typeof(__HAVE_DISTINCT_FLOAT64))) {
1636         enum __HAVE_DISTINCT_FLOAT64 = 0;
1637     }
1638 
1639 
1640 
1641 
1642     static if(!is(typeof(__HAVE_DISTINCT_FLOAT32))) {
1643         enum __HAVE_DISTINCT_FLOAT32 = 0;
1644     }
1645 
1646 
1647 
1648 
1649 
1650 
1651     static if(!is(typeof(__HAVE_FLOAT128X))) {
1652         enum __HAVE_FLOAT128X = 0;
1653     }
1654 
1655 
1656 
1657 
1658     static if(!is(typeof(__HAVE_FLOAT32X))) {
1659         enum __HAVE_FLOAT32X = 1;
1660     }
1661 
1662 
1663 
1664 
1665     static if(!is(typeof(__HAVE_FLOAT64))) {
1666         enum __HAVE_FLOAT64 = 1;
1667     }
1668 
1669 
1670 
1671 
1672     static if(!is(typeof(__HAVE_FLOAT32))) {
1673         enum __HAVE_FLOAT32 = 1;
1674     }
1675 
1676 
1677 
1678 
1679     static if(!is(typeof(__HAVE_FLOAT16))) {
1680         enum __HAVE_FLOAT16 = 0;
1681     }
1682     static if(!is(typeof(_BITS_ENDIANNESS_H))) {
1683         enum _BITS_ENDIANNESS_H = 1;
1684     }
1685     static if(!is(typeof(__PDP_ENDIAN))) {
1686         enum __PDP_ENDIAN = 3412;
1687     }
1688 
1689 
1690 
1691 
1692     static if(!is(typeof(__BIG_ENDIAN))) {
1693         enum __BIG_ENDIAN = 4321;
1694     }
1695 
1696 
1697 
1698 
1699     static if(!is(typeof(__LITTLE_ENDIAN))) {
1700         enum __LITTLE_ENDIAN = 1234;
1701     }
1702 
1703 
1704 
1705 
1706     static if(!is(typeof(_BITS_ENDIAN_H))) {
1707         enum _BITS_ENDIAN_H = 1;
1708     }
1709     static if(!is(typeof(_BITS_BYTESWAP_H))) {
1710         enum _BITS_BYTESWAP_H = 1;
1711     }
1712 
1713 
1714 
1715 
1716 
1717 
1718     static if(!is(typeof(_ALLOCA_H))) {
1719         enum _ALLOCA_H = 1;
1720     }
1721     static if(!is(typeof(LIBPOSTAL_ADDRESS_NONE))) {
1722         enum LIBPOSTAL_ADDRESS_NONE = 0;
1723     }
1724 
1725 
1726 
1727 
1728     static if(!is(typeof(LIBPOSTAL_MAX_LANGUAGE_LEN))) {
1729         enum LIBPOSTAL_MAX_LANGUAGE_LEN = 4;
1730     }
1731     static if(!is(typeof(_SYS_CDEFS_H))) {
1732         enum _SYS_CDEFS_H = 1;
1733     }
1734     static if(!is(typeof(__glibc_c99_flexarr_available))) {
1735         enum __glibc_c99_flexarr_available = 1;
1736     }
1737     static if(!is(typeof(__HAVE_GENERIC_SELECTION))) {
1738         enum __HAVE_GENERIC_SELECTION = 1;
1739     }
1740 
1741 
1742 
1743 
1744     static if(!is(typeof(_SYS_SELECT_H))) {
1745         enum _SYS_SELECT_H = 1;
1746     }
1747     static if(!is(typeof(_SYS_TYPES_H))) {
1748         enum _SYS_TYPES_H = 1;
1749     }
1750     static if(!is(typeof(__BIT_TYPES_DEFINED__))) {
1751         enum __BIT_TYPES_DEFINED__ = 1;
1752     }
1753     static if(!is(typeof(__GNUC_VA_LIST))) {
1754         enum __GNUC_VA_LIST = 1;
1755     }
1756     static if(!is(typeof(true_))) {
1757         enum true_ = 1;
1758     }
1759 
1760 
1761 
1762 
1763     static if(!is(typeof(false_))) {
1764         enum false_ = 0;
1765     }
1766 
1767 
1768 
1769 
1770     static if(!is(typeof(__bool_true_false_are_defined))) {
1771         enum __bool_true_false_are_defined = 1;
1772     }
1773 }
1774 
1775 
1776 struct __va_list_tag;