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;