langinfo_openbsd_amd64.go (22377B)
1 // Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o langinfo/langinfo_openbsd_amd64.go -pkgname langinfo', DO NOT EDIT. 2 3 package langinfo 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 ) 11 12 var _ = math.Pi 13 var _ reflect.Kind 14 var _ atomic.Value 15 var _ unsafe.Pointer 16 17 const ( 18 ABDAY_1 = 13 // langinfo.h:29:1: 19 ABDAY_2 = 14 // langinfo.h:30:1: 20 ABDAY_3 = 15 // langinfo.h:31:1: 21 ABDAY_4 = 16 // langinfo.h:32:1: 22 ABDAY_5 = 17 // langinfo.h:33:1: 23 ABDAY_6 = 18 // langinfo.h:34:1: 24 ABDAY_7 = 19 // langinfo.h:35:1: 25 ABMON_1 = 32 // langinfo.h:50:1: 26 ABMON_10 = 41 // langinfo.h:59:1: 27 ABMON_11 = 42 // langinfo.h:60:1: 28 ABMON_12 = 43 // langinfo.h:61:1: 29 ABMON_2 = 33 // langinfo.h:51:1: 30 ABMON_3 = 34 // langinfo.h:52:1: 31 ABMON_4 = 35 // langinfo.h:53:1: 32 ABMON_5 = 36 // langinfo.h:54:1: 33 ABMON_6 = 37 // langinfo.h:55:1: 34 ABMON_7 = 38 // langinfo.h:56:1: 35 ABMON_8 = 39 // langinfo.h:57:1: 36 ABMON_9 = 40 // langinfo.h:58:1: 37 AM_STR = 4 // langinfo.h:18:1: 38 CODESET = 51 // langinfo.h:71:1: 39 CRNCYSTR = 50 // langinfo.h:69:1: 40 DAY_1 = 6 // langinfo.h:21:1: 41 DAY_2 = 7 // langinfo.h:22:1: 42 DAY_3 = 8 // langinfo.h:23:1: 43 DAY_4 = 9 // langinfo.h:24:1: 44 DAY_5 = 10 // langinfo.h:25:1: 45 DAY_6 = 11 // langinfo.h:26:1: 46 DAY_7 = 12 // langinfo.h:27:1: 47 D_FMT = 1 // langinfo.h:15:1: 48 D_T_FMT = 0 // langinfo.h:14:1: 49 MON_1 = 20 // langinfo.h:37:1: 50 MON_10 = 29 // langinfo.h:46:1: 51 MON_11 = 30 // langinfo.h:47:1: 52 MON_12 = 31 // langinfo.h:48:1: 53 MON_2 = 21 // langinfo.h:38:1: 54 MON_3 = 22 // langinfo.h:39:1: 55 MON_4 = 23 // langinfo.h:40:1: 56 MON_5 = 24 // langinfo.h:41:1: 57 MON_6 = 25 // langinfo.h:42:1: 58 MON_7 = 26 // langinfo.h:43:1: 59 MON_8 = 27 // langinfo.h:44:1: 60 MON_9 = 28 // langinfo.h:45:1: 61 NL_CAT_LOCALE = 1 // nl_types.h:76:1: 62 NL_SETD = 1 // nl_types.h:75:1: 63 NOEXPR = 49 // langinfo.h:68:1: 64 NOSTR = 48 // langinfo.h:67:1: 65 PM_STR = 5 // langinfo.h:19:1: 66 RADIXCHAR = 44 // langinfo.h:63:1: 67 THOUSEP = 45 // langinfo.h:64:1: 68 T_FMT = 2 // langinfo.h:16:1: 69 T_FMT_AMPM = 3 // langinfo.h:17:1: 70 YESEXPR = 47 // langinfo.h:66:1: 71 YESSTR = 46 // langinfo.h:65:1: 72 X_FILE_OFFSET_BITS = 64 // <builtin>:25:1: 73 X_LANGINFO_H_ = 0 // langinfo.h:10:1: 74 X_LOCALE_T_DEFINED_ = 0 // langinfo.h:75:1: 75 X_LP64 = 1 // <predefined>:1:1: 76 X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1: 77 X_NL_TYPES_H_ = 0 // nl_types.h:34:1: 78 X_RET_PROTECTOR = 1 // <predefined>:2:1: 79 X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1: 80 Unix = 1 // <predefined>:344:1: 81 ) 82 83 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 84 85 type Size_t = uint64 /* <builtin>:9:23 */ 86 87 type Wchar_t = int32 /* <builtin>:15:24 */ 88 89 type X__int128_t = struct { 90 Flo int64 91 Fhi int64 92 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 93 type X__uint128_t = struct { 94 Flo uint64 95 Fhi uint64 96 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 97 98 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 99 type X__float128 = float64 /* <builtin>:47:21 */ 100 101 // $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $ 102 // $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $ 103 104 // Written by J.T. Conklin <jtc@netbsd.org> 105 // Public domain. 106 107 // $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $ 108 // $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $ 109 110 // - 111 // Copyright (c) 1996 The NetBSD Foundation, Inc. 112 // All rights reserved. 113 // 114 // This code is derived from software contributed to The NetBSD Foundation 115 // by J.T. Conklin. 116 // 117 // Redistribution and use in source and binary forms, with or without 118 // modification, are permitted provided that the following conditions 119 // are met: 120 // 1. Redistributions of source code must retain the above copyright 121 // notice, this list of conditions and the following disclaimer. 122 // 2. Redistributions in binary form must reproduce the above copyright 123 // notice, this list of conditions and the following disclaimer in the 124 // documentation and/or other materials provided with the distribution. 125 // 126 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 127 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 128 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 129 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 130 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 131 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 132 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 133 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 134 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 135 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 136 // POSSIBILITY OF SUCH DAMAGE. 137 138 // $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $ 139 // $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ 140 141 // Copyright (c) 1991, 1993 142 // The Regents of the University of California. All rights reserved. 143 // 144 // This code is derived from software contributed to Berkeley by 145 // Berkeley Software Design, Inc. 146 // 147 // Redistribution and use in source and binary forms, with or without 148 // modification, are permitted provided that the following conditions 149 // are met: 150 // 1. Redistributions of source code must retain the above copyright 151 // notice, this list of conditions and the following disclaimer. 152 // 2. Redistributions in binary form must reproduce the above copyright 153 // notice, this list of conditions and the following disclaimer in the 154 // documentation and/or other materials provided with the distribution. 155 // 3. Neither the name of the University nor the names of its contributors 156 // may be used to endorse or promote products derived from this software 157 // without specific prior written permission. 158 // 159 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 160 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 161 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 162 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 163 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 164 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 165 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 166 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 167 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 168 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 169 // SUCH DAMAGE. 170 // 171 // @(#)cdefs.h 8.7 (Berkeley) 1/21/94 172 173 // $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ 174 175 // Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. 176 // Public domain. 177 178 // Macro to test if we're using a specific version of gcc or later. 179 180 // The __CONCAT macro is used to concatenate parts of symbol names, e.g. 181 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. 182 // The __CONCAT macro is a bit tricky -- make sure you don't put spaces 183 // in between its arguments. Do not use __CONCAT on double-quoted strings, 184 // such as those from the __STRING macro: to concatenate strings just put 185 // them next to each other. 186 187 // GCC1 and some versions of GCC2 declare dead (non-returning) and 188 // pure (no side effects) functions using "volatile" and "const"; 189 // unfortunately, these then cause warnings under "-ansi -pedantic". 190 // GCC >= 2.5 uses the __attribute__((attrs)) style. All of these 191 // work for GNU C++ (modulo a slight glitch in the C++ grammar in 192 // the distribution version of 2.5.5). 193 194 // __returns_twice makes the compiler not assume the function 195 // only returns once. This affects registerisation of variables: 196 // even local variables need to be in memory across such a call. 197 // Example: setjmp() 198 199 // __only_inline makes the compiler only use this function definition 200 // for inlining; references that can't be inlined will be left as 201 // external references instead of generating a local copy. The 202 // matching library should include a simple extern definition for 203 // the function to handle those references. c.f. ctype.h 204 205 // GNU C version 2.96 adds explicit branch prediction so that 206 // the CPU back-end can hint the processor and also so that 207 // code blocks can be reordered such that the predicted path 208 // sees a more linear flow, thus improving cache behavior, etc. 209 // 210 // The following two macros provide us with a way to utilize this 211 // compiler feature. Use __predict_true() if you expect the expression 212 // to evaluate to true, and __predict_false() if you expect the 213 // expression to evaluate to false. 214 // 215 // A few notes about usage: 216 // 217 // * Generally, __predict_false() error condition checks (unless 218 // you have some _strong_ reason to do otherwise, in which case 219 // document it), and/or __predict_true() `no-error' condition 220 // checks, assuming you want to optimize for the no-error case. 221 // 222 // * Other than that, if you don't know the likelihood of a test 223 // succeeding from empirical or other `hard' evidence, don't 224 // make predictions. 225 // 226 // * These are meant to be used in places that are run `a lot'. 227 // It is wasteful to make predictions in code that is run 228 // seldomly (e.g. at subsystem initialization time) as the 229 // basic block reordering that this affects can often generate 230 // larger code. 231 232 // Delete pseudo-keywords wherever they are not available or needed. 233 234 // The __packed macro indicates that a variable or structure members 235 // should have the smallest possible alignment, despite any host CPU 236 // alignment requirements. 237 // 238 // The __aligned(x) macro specifies the minimum alignment of a 239 // variable or structure. 240 // 241 // These macros together are useful for describing the layout and 242 // alignment of messages exchanged with hardware or other systems. 243 244 // "The nice thing about standards is that there are so many to choose from." 245 // There are a number of "feature test macros" specified by (different) 246 // standards that determine which interfaces and types the header files 247 // should expose. 248 // 249 // Because of inconsistencies in these macros, we define our own 250 // set in the private name space that end in _VISIBLE. These are 251 // always defined and so headers can test their values easily. 252 // Things can get tricky when multiple feature macros are defined. 253 // We try to take the union of all the features requested. 254 // 255 // The following macros are guaranteed to have a value after cdefs.h 256 // has been included: 257 // __POSIX_VISIBLE 258 // __XPG_VISIBLE 259 // __ISO_C_VISIBLE 260 // __BSD_VISIBLE 261 262 // X/Open Portability Guides and Single Unix Specifications. 263 // _XOPEN_SOURCE XPG3 264 // _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 265 // _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 266 // _XOPEN_SOURCE == 500 XPG5 267 // _XOPEN_SOURCE == 520 XPG5v2 268 // _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI 269 // _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI 270 // 271 // The XPG spec implies a specific value for _POSIX_C_SOURCE. 272 273 // POSIX macros, these checks must follow the XOPEN ones above. 274 // 275 // _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE) 276 // _POSIX_C_SOURCE == 1 1003.1-1990 277 // _POSIX_C_SOURCE == 2 1003.2-1992 278 // _POSIX_C_SOURCE == 199309L 1003.1b-1993 279 // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, 280 // and the omnibus ISO/IEC 9945-1:1996 281 // _POSIX_C_SOURCE == 200112L 1003.1-2001 282 // _POSIX_C_SOURCE == 200809L 1003.1-2008 283 // 284 // The POSIX spec implies a specific value for __ISO_C_VISIBLE, though 285 // this may be overridden by the _ISOC99_SOURCE macro later. 286 287 // _ANSI_SOURCE means to expose ANSI C89 interfaces only. 288 // If the user defines it in addition to one of the POSIX or XOPEN 289 // macros, assume the POSIX/XOPEN macro(s) should take precedence. 290 291 // _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus 292 // override any of the other macros since they are non-exclusive. 293 294 // Finally deal with BSD-specific interfaces that are not covered 295 // by any standards. We expose these when none of the POSIX or XPG 296 // macros is defined or if the user explicitly asks for them. 297 298 // Default values. 299 300 type X_nl_catd = struct { 301 F__data uintptr 302 F__size int32 303 F__ccgo_pad1 [4]byte 304 } /* nl_types.h:78:9 */ 305 306 // $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $ 307 // $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $ 308 309 // Written by J.T. Conklin <jtc@netbsd.org> 310 // Public domain. 311 312 // $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $ 313 // $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $ 314 315 // - 316 // Copyright (c) 1996 The NetBSD Foundation, Inc. 317 // All rights reserved. 318 // 319 // This code is derived from software contributed to The NetBSD Foundation 320 // by J.T. Conklin. 321 // 322 // Redistribution and use in source and binary forms, with or without 323 // modification, are permitted provided that the following conditions 324 // are met: 325 // 1. Redistributions of source code must retain the above copyright 326 // notice, this list of conditions and the following disclaimer. 327 // 2. Redistributions in binary form must reproduce the above copyright 328 // notice, this list of conditions and the following disclaimer in the 329 // documentation and/or other materials provided with the distribution. 330 // 331 // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 332 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 333 // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 334 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 335 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 336 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 337 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 338 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 339 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 340 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 341 // POSSIBILITY OF SUCH DAMAGE. 342 343 // $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $ 344 // $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ 345 346 // Copyright (c) 1991, 1993 347 // The Regents of the University of California. All rights reserved. 348 // 349 // This code is derived from software contributed to Berkeley by 350 // Berkeley Software Design, Inc. 351 // 352 // Redistribution and use in source and binary forms, with or without 353 // modification, are permitted provided that the following conditions 354 // are met: 355 // 1. Redistributions of source code must retain the above copyright 356 // notice, this list of conditions and the following disclaimer. 357 // 2. Redistributions in binary form must reproduce the above copyright 358 // notice, this list of conditions and the following disclaimer in the 359 // documentation and/or other materials provided with the distribution. 360 // 3. Neither the name of the University nor the names of its contributors 361 // may be used to endorse or promote products derived from this software 362 // without specific prior written permission. 363 // 364 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 365 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 366 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 367 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 368 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 369 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 370 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 371 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 372 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 373 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 374 // SUCH DAMAGE. 375 // 376 // @(#)cdefs.h 8.7 (Berkeley) 1/21/94 377 378 // $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ 379 380 // Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. 381 // Public domain. 382 383 // Macro to test if we're using a specific version of gcc or later. 384 385 // The __CONCAT macro is used to concatenate parts of symbol names, e.g. 386 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. 387 // The __CONCAT macro is a bit tricky -- make sure you don't put spaces 388 // in between its arguments. Do not use __CONCAT on double-quoted strings, 389 // such as those from the __STRING macro: to concatenate strings just put 390 // them next to each other. 391 392 // GCC1 and some versions of GCC2 declare dead (non-returning) and 393 // pure (no side effects) functions using "volatile" and "const"; 394 // unfortunately, these then cause warnings under "-ansi -pedantic". 395 // GCC >= 2.5 uses the __attribute__((attrs)) style. All of these 396 // work for GNU C++ (modulo a slight glitch in the C++ grammar in 397 // the distribution version of 2.5.5). 398 399 // __returns_twice makes the compiler not assume the function 400 // only returns once. This affects registerisation of variables: 401 // even local variables need to be in memory across such a call. 402 // Example: setjmp() 403 404 // __only_inline makes the compiler only use this function definition 405 // for inlining; references that can't be inlined will be left as 406 // external references instead of generating a local copy. The 407 // matching library should include a simple extern definition for 408 // the function to handle those references. c.f. ctype.h 409 410 // GNU C version 2.96 adds explicit branch prediction so that 411 // the CPU back-end can hint the processor and also so that 412 // code blocks can be reordered such that the predicted path 413 // sees a more linear flow, thus improving cache behavior, etc. 414 // 415 // The following two macros provide us with a way to utilize this 416 // compiler feature. Use __predict_true() if you expect the expression 417 // to evaluate to true, and __predict_false() if you expect the 418 // expression to evaluate to false. 419 // 420 // A few notes about usage: 421 // 422 // * Generally, __predict_false() error condition checks (unless 423 // you have some _strong_ reason to do otherwise, in which case 424 // document it), and/or __predict_true() `no-error' condition 425 // checks, assuming you want to optimize for the no-error case. 426 // 427 // * Other than that, if you don't know the likelihood of a test 428 // succeeding from empirical or other `hard' evidence, don't 429 // make predictions. 430 // 431 // * These are meant to be used in places that are run `a lot'. 432 // It is wasteful to make predictions in code that is run 433 // seldomly (e.g. at subsystem initialization time) as the 434 // basic block reordering that this affects can often generate 435 // larger code. 436 437 // Delete pseudo-keywords wherever they are not available or needed. 438 439 // The __packed macro indicates that a variable or structure members 440 // should have the smallest possible alignment, despite any host CPU 441 // alignment requirements. 442 // 443 // The __aligned(x) macro specifies the minimum alignment of a 444 // variable or structure. 445 // 446 // These macros together are useful for describing the layout and 447 // alignment of messages exchanged with hardware or other systems. 448 449 // "The nice thing about standards is that there are so many to choose from." 450 // There are a number of "feature test macros" specified by (different) 451 // standards that determine which interfaces and types the header files 452 // should expose. 453 // 454 // Because of inconsistencies in these macros, we define our own 455 // set in the private name space that end in _VISIBLE. These are 456 // always defined and so headers can test their values easily. 457 // Things can get tricky when multiple feature macros are defined. 458 // We try to take the union of all the features requested. 459 // 460 // The following macros are guaranteed to have a value after cdefs.h 461 // has been included: 462 // __POSIX_VISIBLE 463 // __XPG_VISIBLE 464 // __ISO_C_VISIBLE 465 // __BSD_VISIBLE 466 467 // X/Open Portability Guides and Single Unix Specifications. 468 // _XOPEN_SOURCE XPG3 469 // _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 470 // _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 471 // _XOPEN_SOURCE == 500 XPG5 472 // _XOPEN_SOURCE == 520 XPG5v2 473 // _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI 474 // _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI 475 // 476 // The XPG spec implies a specific value for _POSIX_C_SOURCE. 477 478 // POSIX macros, these checks must follow the XOPEN ones above. 479 // 480 // _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE) 481 // _POSIX_C_SOURCE == 1 1003.1-1990 482 // _POSIX_C_SOURCE == 2 1003.2-1992 483 // _POSIX_C_SOURCE == 199309L 1003.1b-1993 484 // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, 485 // and the omnibus ISO/IEC 9945-1:1996 486 // _POSIX_C_SOURCE == 200112L 1003.1-2001 487 // _POSIX_C_SOURCE == 200809L 1003.1-2008 488 // 489 // The POSIX spec implies a specific value for __ISO_C_VISIBLE, though 490 // this may be overridden by the _ISOC99_SOURCE macro later. 491 492 // _ANSI_SOURCE means to expose ANSI C89 interfaces only. 493 // If the user defines it in addition to one of the POSIX or XOPEN 494 // macros, assume the POSIX/XOPEN macro(s) should take precedence. 495 496 // _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus 497 // override any of the other macros since they are non-exclusive. 498 499 // Finally deal with BSD-specific interfaces that are not covered 500 // by any standards. We expose these when none of the POSIX or XPG 501 // macros is defined or if the user explicitly asks for them. 502 503 // Default values. 504 505 type Nl_catd = uintptr /* nl_types.h:81:3 */ 506 507 type Nl_item = int64 /* nl_types.h:83:14 */ 508 509 type Locale_t = uintptr /* langinfo.h:76:14 */ 510 511 var _ int8 /* gen.c:2:13: */