This commit is contained in:
GitLab Deploy Bot
2025-10-21 23:45:13 +07:00
parent 6c387b420c
commit bb60e987e5
3548 changed files with 4952576 additions and 116 deletions
+7
View File
@@ -0,0 +1,7 @@
// 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_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}
+7
View File
@@ -0,0 +1,7 @@
// 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_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}
+5
View File
@@ -0,0 +1,5 @@
// 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_freebsd_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_freebsd_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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 -o langinfo/langinfo_linux_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_linux_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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 -o langinfo/langinfo_linux_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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 -o langinfo/langinfo_linux_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_linux_ppc64le.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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 -o langinfo/langinfo_linux_riscv64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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 -o langinfo/langinfo_linux_s390x.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_netbsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_netbsd_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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.
package langinfo
var CAPI = map[string]struct{}{}
+5
View File
@@ -0,0 +1,5 @@
// 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_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}
+916
View File
@@ -0,0 +1,916 @@
// 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_darwin_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:53:1:
ABDAY_2 = 15 // langinfo.h:54:1:
ABDAY_3 = 16 // langinfo.h:55:1:
ABDAY_4 = 17 // langinfo.h:56:1:
ABDAY_5 = 18 // langinfo.h:57:1:
ABDAY_6 = 19 // langinfo.h:58:1:
ABDAY_7 = 20 // langinfo.h:59:1:
ABMON_1 = 33 // langinfo.h:76:1:
ABMON_10 = 42 // langinfo.h:85:1:
ABMON_11 = 43 // langinfo.h:86:1:
ABMON_12 = 44 // langinfo.h:87:1:
ABMON_2 = 34 // langinfo.h:77:1:
ABMON_3 = 35 // langinfo.h:78:1:
ABMON_4 = 36 // langinfo.h:79:1:
ABMON_5 = 37 // langinfo.h:80:1:
ABMON_6 = 38 // langinfo.h:81:1:
ABMON_7 = 39 // langinfo.h:82:1:
ABMON_8 = 40 // langinfo.h:83:1:
ABMON_9 = 41 // langinfo.h:84:1:
ALT_DIGITS = 49 // langinfo.h:93:1:
AM_STR = 5 // langinfo.h:40:1:
CODESET = 0 // langinfo.h:35:1:
CRNCYSTR = 56 // langinfo.h:106:1:
DAY_1 = 7 // langinfo.h:44:1:
DAY_2 = 8 // langinfo.h:45:1:
DAY_3 = 9 // langinfo.h:46:1:
DAY_4 = 10 // langinfo.h:47:1:
DAY_5 = 11 // langinfo.h:48:1:
DAY_6 = 12 // langinfo.h:49:1:
DAY_7 = 13 // langinfo.h:50:1:
D_FMT = 2 // langinfo.h:37:1:
D_MD_ORDER = 57 // langinfo.h:109:1:
D_T_FMT = 1 // langinfo.h:36:1:
ERA = 45 // langinfo.h:89:1:
ERA_D_FMT = 46 // langinfo.h:90:1:
ERA_D_T_FMT = 47 // langinfo.h:91:1:
ERA_T_FMT = 48 // langinfo.h:92:1:
MON_1 = 21 // langinfo.h:62:1:
MON_10 = 30 // langinfo.h:71:1:
MON_11 = 31 // langinfo.h:72:1:
MON_12 = 32 // langinfo.h:73:1:
MON_2 = 22 // langinfo.h:63:1:
MON_3 = 23 // langinfo.h:64:1:
MON_4 = 24 // langinfo.h:65:1:
MON_5 = 25 // langinfo.h:66:1:
MON_6 = 26 // langinfo.h:67:1:
MON_7 = 27 // langinfo.h:68:1:
MON_8 = 28 // langinfo.h:69:1:
MON_9 = 29 // langinfo.h:70:1:
NOEXPR = 53 // langinfo.h:99:1:
NOSTR = 55 // langinfo.h:103:1:
PM_STR = 6 // langinfo.h:41:1:
RADIXCHAR = 50 // langinfo.h:95:1:
THOUSEP = 51 // langinfo.h:96:1:
T_FMT = 3 // langinfo.h:38:1:
T_FMT_AMPM = 4 // langinfo.h:39:1:
YESEXPR = 52 // langinfo.h:98:1:
YESSTR = 54 // langinfo.h:102:1:
X_BSD_I386__TYPES_H_ = 0 // _types.h:29:1:
X_BSD_MACHINE__TYPES_H_ = 0 // _types.h:29:1:
X_CDEFS_H_ = 0 // cdefs.h:68:1:
X_DARWIN_FEATURE_64_BIT_INODE = 1 // cdefs.h:745:1:
X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 // cdefs.h:771:1:
X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 // cdefs.h:779:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_FORTIFY_SOURCE = 2 // _types.h:65:1:
X_LANGINFO_H_ = 0 // langinfo.h:30:1:
X_LP64 = 1 // <predefined>:1:1:
X_NL_ITEM = 0 // _nl_item.h:30:1:
X_Nonnull = 0 // cdefs.h:243:1:
X_Null_unspecified = 0 // cdefs.h:246:1:
X_Nullable = 0 // cdefs.h:240:1:
X_SYS__PTHREAD_TYPES_H_ = 0 // _pthread_types.h:30:1:
X_SYS__TYPES_H_ = 0 // _types.h:30:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
// -
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD: /repoman/r/ncvs/src/include/langinfo.h,v 1.6 2002/09/18 05:54:25 mike Exp $
// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this
// file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_LICENSE_HEADER_END@
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// This SDK is designed to work with clang and specific versions of
// gcc >= 4.0 with Apple's patch sets
// Compatibility with compilers and environments that don't support compiler
// feature checking function-like macros.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. __CONCAT can also concatenate double-quoted
// strings produced by the __STRING macro, but this only works with ANSI C.
// In non-ANSI C environments, new programs will want ANSI-only C keywords
// deleted from the program and old programs will want them left alone.
// When using a compiler other than gcc, programs using the ANSI C keywords
// const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
// When using "gcc -traditional", we assume that this is the intent; if
// __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
// __unused denotes variables and functions that may not be used, preventing
// the compiler from warning about it if not used.
// __used forces variables and functions to be included even if it appears
// to the compiler that they are not used (and would thust be discarded).
// __cold marks code used for debugging or that is rarely taken
// and tells the compiler to optimize for size and outline code.
// __deprecated causes the compiler to produce a warning when encountering
// code using the deprecated functionality.
// __deprecated_msg() does the same, and compilers that support it will print
// a message along with the deprecation warning.
// This may require turning on such warning with the -Wdeprecated flag.
// __deprecated_enum_msg() should be used on enums, and compilers that support
// it will print the deprecation warning.
// __kpi_deprecated() specifically indicates deprecation of kernel programming
// interfaces in Kernel.framework used by KEXTs.
// __unavailable causes the compiler to error out when encountering
// code using the tagged function of variable.
// Delete pseudo-keywords wherever they are not available or needed.
// We use `__restrict' as a way to define the `restrict' type qualifier
// without disturbing older software that is unaware of C99 keywords.
// Compatibility with compilers and environments that don't support the
// nullability feature.
// __disable_tail_calls causes the compiler to not perform tail call
// optimization inside the marked function.
// __not_tail_called causes the compiler to prevent tail call optimization
// on statically bound calls to the function. It has no effect on indirect
// calls. Virtual functions, objective-c methods, and functions marked as
// "always_inline" cannot be marked as __not_tail_called.
// __result_use_check warns callers of a function that not using the function
// return value is a bug, i.e. dismissing malloc() return value results in a
// memory leak.
// __swift_unavailable causes the compiler to mark a symbol as specifically
// unavailable in Swift, regardless of any other availability in C.
// __abortlike is the attribute to put on functions like abort() that are
// typically used to mark assertions. These optimize the codegen
// for outlining while still maintaining debugability.
// Declaring inline functions within headers is error-prone due to differences
// across various versions of the C language and extensions. __header_inline
// can be used to declare inline functions within system headers. In cases
// where you want to force inlining instead of letting the compiler make
// the decision, you can use __header_always_inline.
//
// Be aware that using inline for functions which compilers may also provide
// builtins can behave differently under various compilers. If you intend to
// provide an inline version of such a function, you may want to use a macro
// instead.
//
// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
// support c99 inline in some cases:
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
// Compiler-dependent macros that bracket portions of code where the
// "-Wunreachable-code" warning should be ignored. Please use sparingly.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly. Functions declared
// with these attributes will cause compilation warnings if there is a
// mismatch between the format string and subsequent function parameter
// types.
// Source compatibility only, ID string not emitted in object file
// __alloc_size can be used to label function arguments that represent the
// size of memory that the function allocates and returns. The one-argument
// form labels a single argument that gives the allocation size (where the
// arguments are numbered from 1):
//
// void *malloc(size_t __size) __alloc_size(1);
//
// The two-argument form handles the case where the size is calculated as the
// product of two arguments:
//
// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
//
// DEFAULT By default newly complied code will get POSIX APIs plus
// Apple API extensions in scope.
//
// Most users will use this compilation environment to avoid
// behavioral differences between 32 and 64 bit code.
//
// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
// API extensions in scope.
//
// This is generally equivalent to the Tiger release compilation
// environment, except that it cannot be applied to 64 bit code;
// its use is discouraged.
//
// We expect this environment to be deprecated in the future.
//
// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
// available APIs to exactly the set of APIs defined by the
// corresponding standard, based on the value defined.
//
// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
// A correct, portable definition for _XOPEN_SOURCE is 600L.
//
// Apple API extensions are not visible in this environment,
// which can cause Apple specific code to fail to compile,
// or behave incorrectly if prototypes are not in scope or
// warnings about missing prototypes are not enabled or ignored.
//
// In any compilation environment, for correct symbol resolution to occur,
// function prototypes must be in scope. It is recommended that all Apple
// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
// compiler flags to their projects to be warned when a function is being
// used without a prototype in scope.
// These settings are particular to each product.
// Platform: MacOSX
// #undef __DARWIN_ONLY_UNIX_CONFORMANCE (automatically set for 64-bit)
// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
// legacy code to use the old symbol, thus maintaining binary compatibility
// while new code can use a standards compliant version of the same function.
//
// __DARWIN_ALIAS is used by itself if the function signature has not
// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
// if the signature has changed. Because the __LP64__ environment
// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
//
// As a special case, when XCode is used to target a specific version of the
// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
// will be defined by the compiler, with the digits representing major version
// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
// pre-10.5, and it is the default compilation environment, revert the
// compilation environment to pre-__DARWIN_UNIX03.
// symbol suffixes used for symbol versioning
// symbol versioning macros
// symbol release macros
// Copyright (c) 2010 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included. This permits us to convert values for feature
// testing, as necessary, using only _POSIX_C_SOURCE.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1L 1003.1-1990
// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// POSIX C deprecation macros
// Copyright (c) 2010 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Set a single macro which will always be defined and can be used to determine
// the appropriate namespace. For POSIX, these values will correspond to
// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
// If the developer has neither requested a strict language mode nor a version
// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
// of __DARWIN_C_FULL.
// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
// c99 still want long longs. While not perfect, we allow long longs for
// g++.
// ****************************************
//
// Public darwin-specific feature macros
//
// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
// structures modified for 64-bit inodes (like struct stat) will be used.
// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
// (and non-zero). There is no struct stat64 either, as the regular
// struct stat will already be the 64-bit version.
// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
// in 10.5 exists; no pre-10.5 variants are available.
// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
// are available (the legacy BSD APIs are not available)
// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
// and specifies the conformance level (3 is SUSv3)
// This macro casts away the qualifier from the variable
//
// Note: use at your own risk, removing qualifiers can result in
// catastrophic run-time failures.
// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
// used from other compilation units, but not other libraries or executables.
// Architecture validation for current SDK
// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
//
// This provides more advanced type checking on compilers supporting
// the proper extensions, even in C.
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// This header file contains integer types. It's intended to also contain
// flotaing point and other arithmetic types, as needed, later.
type X__int8_t = int8 /* _types.h:37:33 */
type X__uint8_t = uint8 /* _types.h:41:33 */
type X__int16_t = int16 /* _types.h:42:33 */
type X__uint16_t = uint16 /* _types.h:43:33 */
type X__int32_t = int32 /* _types.h:44:33 */
type X__uint32_t = uint32 /* _types.h:45:33 */
type X__int64_t = int64 /* _types.h:46:33 */
type X__uint64_t = uint64 /* _types.h:47:33 */
type X__darwin_intptr_t = int64 /* _types.h:49:33 */
type X__darwin_natural_t = uint32 /* _types.h:50:33 */
// The rune type below is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
// here, you lose a bit of ANSI conformance, but your programs will still
// work.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
// rune_t must be the same type. Also wint_t must be no narrower than
// wchar_t, and should also be able to hold all members of the largest
// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
type X__darwin_ct_rune_t = int32 /* _types.h:70:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:79:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:81:33 */ // mbstate_t
type X__darwin_ptrdiff_t = int64 /* _types.h:84:33 */ // ptr1 - ptr2
type X__darwin_size_t = uint64 /* _types.h:92:33 */ // sizeof()
type X__darwin_va_list = X__builtin_va_list /* _types.h:98:33 */ // va_list
type X__darwin_wchar_t = int32 /* _types.h:104:33 */ // wchar_t
type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:109:33 */ // rune_t
type X__darwin_wint_t = int32 /* _types.h:112:33 */ // wint_t
type X__darwin_clock_t = uint64 /* _types.h:117:33 */ // clock()
type X__darwin_socklen_t = X__uint32_t /* _types.h:118:33 */ // socklen_t (duh)
type X__darwin_ssize_t = int64 /* _types.h:119:33 */ // byte count or error
type X__darwin_time_t = int64 /* _types.h:120:33 */ // time()
// Type definitions; takes common type definitions that must be used
// in multiple header files due to [XSI], removes them from the system
// space, and puts them in the implementation space.
type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// pthread opaque structures
type X__darwin_pthread_handler_rec = struct {
F__routine uintptr
F__arg uintptr
F__next uintptr
} /* _pthread_types.h:57:1 */
type X_opaque_pthread_attr_t = struct {
F__sig int64
F__opaque [56]int8
} /* _pthread_types.h:63:1 */
type X_opaque_pthread_cond_t = struct {
F__sig int64
F__opaque [40]int8
} /* _pthread_types.h:68:1 */
type X_opaque_pthread_condattr_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:73:1 */
type X_opaque_pthread_mutex_t = struct {
F__sig int64
F__opaque [56]int8
} /* _pthread_types.h:78:1 */
type X_opaque_pthread_mutexattr_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:83:1 */
type X_opaque_pthread_once_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:88:1 */
type X_opaque_pthread_rwlock_t = struct {
F__sig int64
F__opaque [192]int8
} /* _pthread_types.h:93:1 */
type X_opaque_pthread_rwlockattr_t = struct {
F__sig int64
F__opaque [16]int8
} /* _pthread_types.h:98:1 */
type X_opaque_pthread_t = struct {
F__sig int64
F__cleanup_stack uintptr
F__opaque [8176]int8
} /* _pthread_types.h:103:1 */
type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
type X__darwin_nl_item = int32 /* _types.h:40:14 */
type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this
// file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_LICENSE_HEADER_END@
type Nl_item = X__darwin_nl_item /* _nl_item.h:32:26 */
var _ int8 /* gen.c:2:13: */
+918
View File
@@ -0,0 +1,918 @@
// 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_darwin_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:53:1:
ABDAY_2 = 15 // langinfo.h:54:1:
ABDAY_3 = 16 // langinfo.h:55:1:
ABDAY_4 = 17 // langinfo.h:56:1:
ABDAY_5 = 18 // langinfo.h:57:1:
ABDAY_6 = 19 // langinfo.h:58:1:
ABDAY_7 = 20 // langinfo.h:59:1:
ABMON_1 = 33 // langinfo.h:76:1:
ABMON_10 = 42 // langinfo.h:85:1:
ABMON_11 = 43 // langinfo.h:86:1:
ABMON_12 = 44 // langinfo.h:87:1:
ABMON_2 = 34 // langinfo.h:77:1:
ABMON_3 = 35 // langinfo.h:78:1:
ABMON_4 = 36 // langinfo.h:79:1:
ABMON_5 = 37 // langinfo.h:80:1:
ABMON_6 = 38 // langinfo.h:81:1:
ABMON_7 = 39 // langinfo.h:82:1:
ABMON_8 = 40 // langinfo.h:83:1:
ABMON_9 = 41 // langinfo.h:84:1:
ALT_DIGITS = 49 // langinfo.h:93:1:
AM_STR = 5 // langinfo.h:40:1:
CODESET = 0 // langinfo.h:35:1:
CRNCYSTR = 56 // langinfo.h:106:1:
DAY_1 = 7 // langinfo.h:44:1:
DAY_2 = 8 // langinfo.h:45:1:
DAY_3 = 9 // langinfo.h:46:1:
DAY_4 = 10 // langinfo.h:47:1:
DAY_5 = 11 // langinfo.h:48:1:
DAY_6 = 12 // langinfo.h:49:1:
DAY_7 = 13 // langinfo.h:50:1:
D_FMT = 2 // langinfo.h:37:1:
D_MD_ORDER = 57 // langinfo.h:109:1:
D_T_FMT = 1 // langinfo.h:36:1:
ERA = 45 // langinfo.h:89:1:
ERA_D_FMT = 46 // langinfo.h:90:1:
ERA_D_T_FMT = 47 // langinfo.h:91:1:
ERA_T_FMT = 48 // langinfo.h:92:1:
MON_1 = 21 // langinfo.h:62:1:
MON_10 = 30 // langinfo.h:71:1:
MON_11 = 31 // langinfo.h:72:1:
MON_12 = 32 // langinfo.h:73:1:
MON_2 = 22 // langinfo.h:63:1:
MON_3 = 23 // langinfo.h:64:1:
MON_4 = 24 // langinfo.h:65:1:
MON_5 = 25 // langinfo.h:66:1:
MON_6 = 26 // langinfo.h:67:1:
MON_7 = 27 // langinfo.h:68:1:
MON_8 = 28 // langinfo.h:69:1:
MON_9 = 29 // langinfo.h:70:1:
NOEXPR = 53 // langinfo.h:99:1:
NOSTR = 55 // langinfo.h:103:1:
PM_STR = 6 // langinfo.h:41:1:
RADIXCHAR = 50 // langinfo.h:95:1:
THOUSEP = 51 // langinfo.h:96:1:
T_FMT = 3 // langinfo.h:38:1:
T_FMT_AMPM = 4 // langinfo.h:39:1:
YESEXPR = 52 // langinfo.h:98:1:
YESSTR = 54 // langinfo.h:102:1:
X_BSD_ARM__TYPES_H_ = 0 // _types.h:5:1:
X_BSD_MACHINE__TYPES_H_ = 0 // _types.h:29:1:
X_CDEFS_H_ = 0 // cdefs.h:68:1:
X_DARWIN_FEATURE_64_BIT_INODE = 1 // cdefs.h:774:1:
X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1 // cdefs.h:784:1:
X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 // cdefs.h:800:1:
X_DARWIN_FEATURE_ONLY_VERS_1050 = 1 // cdefs.h:792:1:
X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 // cdefs.h:808:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_FORTIFY_SOURCE = 2 // _types.h:65:1:
X_LANGINFO_H_ = 0 // langinfo.h:30:1:
X_LP64 = 1 // <predefined>:1:1:
X_NL_ITEM = 0 // _nl_item.h:30:1:
X_Nonnull = 0 // cdefs.h:268:1:
X_Null_unspecified = 0 // cdefs.h:271:1:
X_Nullable = 0 // cdefs.h:265:1:
X_SYS__PTHREAD_TYPES_H_ = 0 // _pthread_types.h:30:1:
X_SYS__TYPES_H_ = 0 // _types.h:30:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
// -
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD: /repoman/r/ncvs/src/include/langinfo.h,v 1.6 2002/09/18 05:54:25 mike Exp $
// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this
// file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_LICENSE_HEADER_END@
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// This SDK is designed to work with clang and specific versions of
// gcc >= 4.0 with Apple's patch sets
// Compatibility with compilers and environments that don't support compiler
// feature checking function-like macros.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. __CONCAT can also concatenate double-quoted
// strings produced by the __STRING macro, but this only works with ANSI C.
// In non-ANSI C environments, new programs will want ANSI-only C keywords
// deleted from the program and old programs will want them left alone.
// When using a compiler other than gcc, programs using the ANSI C keywords
// const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
// When using "gcc -traditional", we assume that this is the intent; if
// __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
// __pure2 can be used for functions that are only a function of their scalar
// arguments (meaning they can't dereference pointers).
//
// __stateful_pure can be used for functions that have no side effects,
// but depend on the state of the memory.
// __unused denotes variables and functions that may not be used, preventing
// the compiler from warning about it if not used.
// __used forces variables and functions to be included even if it appears
// to the compiler that they are not used (and would thust be discarded).
// __cold marks code used for debugging or that is rarely taken
// and tells the compiler to optimize for size and outline code.
// __exported denotes symbols that should be exported even when symbols
// are hidden by default.
// __exported_push/_exported_pop are pragmas used to delimit a range of
// symbols that should be exported even when symbols are hidden by default.
// __deprecated causes the compiler to produce a warning when encountering
// code using the deprecated functionality.
// __deprecated_msg() does the same, and compilers that support it will print
// a message along with the deprecation warning.
// This may require turning on such warning with the -Wdeprecated flag.
// __deprecated_enum_msg() should be used on enums, and compilers that support
// it will print the deprecation warning.
// __kpi_deprecated() specifically indicates deprecation of kernel programming
// interfaces in Kernel.framework used by KEXTs.
// __unavailable causes the compiler to error out when encountering
// code using the tagged function
// Delete pseudo-keywords wherever they are not available or needed.
// We use `__restrict' as a way to define the `restrict' type qualifier
// without disturbing older software that is unaware of C99 keywords.
// Compatibility with compilers and environments that don't support the
// nullability feature.
// __disable_tail_calls causes the compiler to not perform tail call
// optimization inside the marked function.
// __not_tail_called causes the compiler to prevent tail call optimization
// on statically bound calls to the function. It has no effect on indirect
// calls. Virtual functions, objective-c methods, and functions marked as
// "always_inline" cannot be marked as __not_tail_called.
// __result_use_check warns callers of a function that not using the function
// return value is a bug, i.e. dismissing malloc() return value results in a
// memory leak.
// __swift_unavailable causes the compiler to mark a symbol as specifically
// unavailable in Swift, regardless of any other availability in C.
// __abortlike is the attribute to put on functions like abort() that are
// typically used to mark assertions. These optimize the codegen
// for outlining while still maintaining debugability.
// Declaring inline functions within headers is error-prone due to differences
// across various versions of the C language and extensions. __header_inline
// can be used to declare inline functions within system headers. In cases
// where you want to force inlining instead of letting the compiler make
// the decision, you can use __header_always_inline.
//
// Be aware that using inline for functions which compilers may also provide
// builtins can behave differently under various compilers. If you intend to
// provide an inline version of such a function, you may want to use a macro
// instead.
//
// The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
// support c99 inline in some cases:
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
// Compiler-dependent macros that bracket portions of code where the
// "-Wunreachable-code" warning should be ignored. Please use sparingly.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly. Functions declared
// with these attributes will cause compilation warnings if there is a
// mismatch between the format string and subsequent function parameter
// types.
// Source compatibility only, ID string not emitted in object file
// __alloc_size can be used to label function arguments that represent the
// size of memory that the function allocates and returns. The one-argument
// form labels a single argument that gives the allocation size (where the
// arguments are numbered from 1):
//
// void *malloc(size_t __size) __alloc_size(1);
//
// The two-argument form handles the case where the size is calculated as the
// product of two arguments:
//
// void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
// COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
//
// DEFAULT By default newly complied code will get POSIX APIs plus
// Apple API extensions in scope.
//
// Most users will use this compilation environment to avoid
// behavioral differences between 32 and 64 bit code.
//
// LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
// API extensions in scope.
//
// This is generally equivalent to the Tiger release compilation
// environment, except that it cannot be applied to 64 bit code;
// its use is discouraged.
//
// We expect this environment to be deprecated in the future.
//
// STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
// available APIs to exactly the set of APIs defined by the
// corresponding standard, based on the value defined.
//
// A correct, portable definition for _POSIX_C_SOURCE is 200112L.
// A correct, portable definition for _XOPEN_SOURCE is 600L.
//
// Apple API extensions are not visible in this environment,
// which can cause Apple specific code to fail to compile,
// or behave incorrectly if prototypes are not in scope or
// warnings about missing prototypes are not enabled or ignored.
//
// In any compilation environment, for correct symbol resolution to occur,
// function prototypes must be in scope. It is recommended that all Apple
// tools users add either the "-Wall" or "-Wimplicit-function-declaration"
// compiler flags to their projects to be warned when a function is being
// used without a prototype in scope.
// These settings are particular to each product.
// Platform: MacOSX
// The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
// legacy code to use the old symbol, thus maintaining binary compatibility
// while new code can use a standards compliant version of the same function.
//
// __DARWIN_ALIAS is used by itself if the function signature has not
// changed, it is used along with a #ifdef check for __DARWIN_UNIX03
// if the signature has changed. Because the __LP64__ environment
// only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
// defined, but causes __DARWIN_ALIAS to do no symbol mangling.
//
// As a special case, when XCode is used to target a specific version of the
// OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
// will be defined by the compiler, with the digits representing major version
// time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
// pre-10.5, and it is the default compilation environment, revert the
// compilation environment to pre-__DARWIN_UNIX03.
// symbol suffixes used for symbol versioning
// symbol versioning macros
// symbol release macros
// Copyright (c) 2010 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included. This permits us to convert values for feature
// testing, as necessary, using only _POSIX_C_SOURCE.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1L 1003.1-1990
// _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// POSIX C deprecation macros
// Copyright (c) 2010 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Set a single macro which will always be defined and can be used to determine
// the appropriate namespace. For POSIX, these values will correspond to
// _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
// to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
// If the developer has neither requested a strict language mode nor a version
// of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
// of __DARWIN_C_FULL.
// long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
// c99 still want long longs. While not perfect, we allow long longs for
// g++.
// ****************************************
//
// Public darwin-specific feature macros
//
// _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
// structures modified for 64-bit inodes (like struct stat) will be used.
// _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
// be 64-bit; there is no support for 32-bit ino_t when this macro is defined
// (and non-zero). There is no struct stat64 either, as the regular
// struct stat will already be the 64-bit version.
// _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
// in 10.5 exists; no pre-10.5 variants are available.
// _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
// are available (the legacy BSD APIs are not available)
// _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
// and specifies the conformance level (3 is SUSv3)
// This macro casts away the qualifier from the variable
//
// Note: use at your own risk, removing qualifiers can result in
// catastrophic run-time failures.
// __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
// used from other compilation units, but not other libraries or executables.
// We intentionally define to nothing pointer attributes which do not have an
// impact on the ABI. __indexable and __bidi_indexable are not defined because
// of the ABI incompatibility that makes the diagnostic preferable.
// Similarly, we intentionally define to nothing the
// __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable
// macros because they do not lead to an ABI incompatibility. However, we do not
// define the indexable and unsafe_indexable ones because the diagnostic is
// better than the silent ABI break.
// __unsafe_forge intrinsics are defined as regular C casts.
// decay operates normally; attribute is meaningless without pointer checks.
// Architecture validation for current SDK
// Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
//
// This provides more advanced type checking on compilers supporting
// the proper extensions, even in C.
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2007 Apple Inc. All rights reserved.
// This header file contains integer types. It's intended to also contain
// flotaing point and other arithmetic types, as needed, later.
type X__int8_t = int8 /* _types.h:15:33 */
type X__uint8_t = uint8 /* _types.h:19:33 */
type X__int16_t = int16 /* _types.h:20:33 */
type X__uint16_t = uint16 /* _types.h:21:33 */
type X__int32_t = int32 /* _types.h:22:33 */
type X__uint32_t = uint32 /* _types.h:23:33 */
type X__int64_t = int64 /* _types.h:24:33 */
type X__uint64_t = uint64 /* _types.h:25:33 */
type X__darwin_intptr_t = int64 /* _types.h:27:33 */
type X__darwin_natural_t = uint32 /* _types.h:28:33 */
// The rune type below is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
// here, you lose a bit of ANSI conformance, but your programs will still
// work.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
// rune_t must be the same type. Also wint_t must be no narrower than
// wchar_t, and should also be able to hold all members of the largest
// character set plus one extra value (WEOF). wint_t must be at least 16 bits.
type X__darwin_ct_rune_t = int32 /* _types.h:48:33 */ // ct_rune_t
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:57:3 */
type X__darwin_mbstate_t = X__mbstate_t /* _types.h:59:33 */ // mbstate_t
type X__darwin_ptrdiff_t = int64 /* _types.h:62:33 */ // ptr1 - ptr2
type X__darwin_size_t = uint64 /* _types.h:70:33 */ // sizeof()
type X__darwin_va_list = X__builtin_va_list /* _types.h:76:33 */ // va_list
type X__darwin_wchar_t = int32 /* _types.h:82:33 */ // wchar_t
type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:87:33 */ // rune_t
type X__darwin_wint_t = int32 /* _types.h:90:33 */ // wint_t
type X__darwin_clock_t = uint64 /* _types.h:95:33 */ // clock()
type X__darwin_socklen_t = X__uint32_t /* _types.h:96:33 */ // socklen_t (duh)
type X__darwin_ssize_t = int64 /* _types.h:97:33 */ // byte count or error
type X__darwin_time_t = int64 /* _types.h:98:33 */ // time()
// Type definitions; takes common type definitions that must be used
// in multiple header files due to [XSI], removes them from the system
// space, and puts them in the implementation space.
type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
// Copyright (c) 2003-2013 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2000-2018 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright 1995 NeXT Computer, Inc. All rights reserved.
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// pthread opaque structures
type X__darwin_pthread_handler_rec = struct {
F__routine uintptr
F__arg uintptr
F__next uintptr
} /* _pthread_types.h:57:1 */
type X_opaque_pthread_attr_t = struct {
F__sig int64
F__opaque [56]int8
} /* _pthread_types.h:63:1 */
type X_opaque_pthread_cond_t = struct {
F__sig int64
F__opaque [40]int8
} /* _pthread_types.h:68:1 */
type X_opaque_pthread_condattr_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:73:1 */
type X_opaque_pthread_mutex_t = struct {
F__sig int64
F__opaque [56]int8
} /* _pthread_types.h:78:1 */
type X_opaque_pthread_mutexattr_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:83:1 */
type X_opaque_pthread_once_t = struct {
F__sig int64
F__opaque [8]int8
} /* _pthread_types.h:88:1 */
type X_opaque_pthread_rwlock_t = struct {
F__sig int64
F__opaque [192]int8
} /* _pthread_types.h:93:1 */
type X_opaque_pthread_rwlockattr_t = struct {
F__sig int64
F__opaque [16]int8
} /* _pthread_types.h:98:1 */
type X_opaque_pthread_t = struct {
F__sig int64
F__cleanup_stack uintptr
F__opaque [8176]int8
} /* _pthread_types.h:103:1 */
type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
// Copyright (c) 2003-2007 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
type X__darwin_nl_item = int32 /* _types.h:40:14 */
type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
// Copyright (c) 2012 Apple Inc. All rights reserved.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. The rights granted to you under the License
// may not be used to create, or enable the creation or redistribution of,
// unlawful or unlicensed copies of an Apple operating system, or to
// circumvent, violate, or enable the circumvention or violation of, any
// terms of an Apple operating system software license agreement.
//
// Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_OSREFERENCE_LICENSE_HEADER_END@
// Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
//
// This file contains Original Code and/or Modifications of Original Code
// as defined in and that are subject to the Apple Public Source License
// Version 2.0 (the 'License'). You may not use this file except in
// compliance with the License. Please obtain a copy of the License at
// http://www.opensource.apple.com/apsl/ and read it before using this
// file.
//
// The Original Code and all software distributed under the License are
// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
// Please see the License for the specific language governing rights and
// limitations under the License.
//
// @APPLE_LICENSE_HEADER_END@
type Nl_item = X__darwin_nl_item /* _nl_item.h:32:26 */
var _ int8 /* gen.c:2:13: */
+694
View File
@@ -0,0 +1,694 @@
// 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_freebsd_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:60:1:
ABDAY_2 = 15 // langinfo.h:61:1:
ABDAY_3 = 16 // langinfo.h:62:1:
ABDAY_4 = 17 // langinfo.h:63:1:
ABDAY_5 = 18 // langinfo.h:64:1:
ABDAY_6 = 19 // langinfo.h:65:1:
ABDAY_7 = 20 // langinfo.h:66:1:
ABMON_1 = 33 // langinfo.h:83:1:
ABMON_10 = 42 // langinfo.h:92:1:
ABMON_11 = 43 // langinfo.h:93:1:
ABMON_12 = 44 // langinfo.h:94:1:
ABMON_2 = 34 // langinfo.h:84:1:
ABMON_3 = 35 // langinfo.h:85:1:
ABMON_4 = 36 // langinfo.h:86:1:
ABMON_5 = 37 // langinfo.h:87:1:
ABMON_6 = 38 // langinfo.h:88:1:
ABMON_7 = 39 // langinfo.h:89:1:
ABMON_8 = 40 // langinfo.h:90:1:
ABMON_9 = 41 // langinfo.h:91:1:
ALTMON_1 = 58 // langinfo.h:120:1:
ALTMON_10 = 67 // langinfo.h:129:1:
ALTMON_11 = 68 // langinfo.h:130:1:
ALTMON_12 = 69 // langinfo.h:131:1:
ALTMON_2 = 59 // langinfo.h:121:1:
ALTMON_3 = 60 // langinfo.h:122:1:
ALTMON_4 = 61 // langinfo.h:123:1:
ALTMON_5 = 62 // langinfo.h:124:1:
ALTMON_6 = 63 // langinfo.h:125:1:
ALTMON_7 = 64 // langinfo.h:126:1:
ALTMON_8 = 65 // langinfo.h:127:1:
ALTMON_9 = 66 // langinfo.h:128:1:
ALT_DIGITS = 49 // langinfo.h:100:1:
AM_STR = 5 // langinfo.h:47:1:
CODESET = 0 // langinfo.h:42:1:
CRNCYSTR = 56 // langinfo.h:113:1:
DAY_1 = 7 // langinfo.h:51:1:
DAY_2 = 8 // langinfo.h:52:1:
DAY_3 = 9 // langinfo.h:53:1:
DAY_4 = 10 // langinfo.h:54:1:
DAY_5 = 11 // langinfo.h:55:1:
DAY_6 = 12 // langinfo.h:56:1:
DAY_7 = 13 // langinfo.h:57:1:
D_FMT = 2 // langinfo.h:44:1:
D_MD_ORDER = 57 // langinfo.h:116:1:
D_T_FMT = 1 // langinfo.h:43:1:
ERA = 45 // langinfo.h:96:1:
ERA_D_FMT = 46 // langinfo.h:97:1:
ERA_D_T_FMT = 47 // langinfo.h:98:1:
ERA_T_FMT = 48 // langinfo.h:99:1:
MON_1 = 21 // langinfo.h:69:1:
MON_10 = 30 // langinfo.h:78:1:
MON_11 = 31 // langinfo.h:79:1:
MON_12 = 32 // langinfo.h:80:1:
MON_2 = 22 // langinfo.h:70:1:
MON_3 = 23 // langinfo.h:71:1:
MON_4 = 24 // langinfo.h:72:1:
MON_5 = 25 // langinfo.h:73:1:
MON_6 = 26 // langinfo.h:74:1:
MON_7 = 27 // langinfo.h:75:1:
MON_8 = 28 // langinfo.h:76:1:
MON_9 = 29 // langinfo.h:77:1:
NOEXPR = 53 // langinfo.h:106:1:
NOSTR = 55 // langinfo.h:110:1:
PM_STR = 6 // langinfo.h:48:1:
RADIXCHAR = 50 // langinfo.h:102:1:
THOUSEP = 51 // langinfo.h:103:1:
T_FMT = 3 // langinfo.h:45:1:
T_FMT_AMPM = 4 // langinfo.h:46:1:
YESEXPR = 52 // langinfo.h:105:1:
YESSTR = 54 // langinfo.h:109:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_LANGINFO_H_ = 0 // langinfo.h:32:1:
X_LOCALE_T_DEFINED = 0 // _langinfo.h:37:1:
X_MACHINE__LIMITS_H_ = 0 // _limits.h:36:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:42:1:
X_NL_ITEM_DECLARED = 0 // langinfo.h:39:1:
X_Nonnull = 0 // cdefs.h:790:1:
X_Null_unspecified = 0 // cdefs.h:792:1:
X_Nullable = 0 // cdefs.h:791:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS__TYPES_H_ = 0 // _types.h:32:1:
X_XLOCALE_LANGINFO_H = 0 // _langinfo.h:34:1:
I386 = 1 // <predefined>:335:1:
Unix = 1 // <predefined>:336:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, e.g., by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// Alignment builtins for better type checking and improved code generation.
// Provide fallback versions for other compilers (GCC/Clang < 10):
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:66:20 */
type X__uint64_t = uint64 /* _types.h:68:28 */
// Standard type definitions.
type X__clock_t = uint32 /* _types.h:84:23 */
type X__critical_t = X__int32_t /* _types.h:85:19 */
type X__double_t = float64 /* _types.h:87:21 */
type X__float_t = float64 /* _types.h:88:21 */
type X__intfptr_t = X__int32_t /* _types.h:90:19 */
type X__intptr_t = X__int32_t /* _types.h:91:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int32_t /* _types.h:112:19 */
type X__register_t = X__int32_t /* _types.h:113:19 */
type X__segsz_t = X__int32_t /* _types.h:114:19 */
type X__size_t = X__uint32_t /* _types.h:115:20 */
type X__ssize_t = X__int32_t /* _types.h:116:19 */
type X__time_t = X__int32_t /* _types.h:117:19 */
type X__uintfptr_t = X__uint32_t /* _types.h:118:20 */
type X__uintptr_t = X__uint32_t /* _types.h:119:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint32_t /* _types.h:136:20 */
type X__vm_offset_t = X__uint32_t /* _types.h:137:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:138:20 */
type X__vm_size_t = X__uint32_t /* _types.h:139:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int32 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int32 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an “int” instead of the more natural
// “unsigned long” or “long”. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint32
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Nl_item = X__nl_item /* langinfo.h:38:19 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
type Locale_t = uintptr /* _langinfo.h:38:25 */
var _ int8 /* gen.c:2:13: */
+702
View File
@@ -0,0 +1,702 @@
// 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_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:60:1:
ABDAY_2 = 15 // langinfo.h:61:1:
ABDAY_3 = 16 // langinfo.h:62:1:
ABDAY_4 = 17 // langinfo.h:63:1:
ABDAY_5 = 18 // langinfo.h:64:1:
ABDAY_6 = 19 // langinfo.h:65:1:
ABDAY_7 = 20 // langinfo.h:66:1:
ABMON_1 = 33 // langinfo.h:83:1:
ABMON_10 = 42 // langinfo.h:92:1:
ABMON_11 = 43 // langinfo.h:93:1:
ABMON_12 = 44 // langinfo.h:94:1:
ABMON_2 = 34 // langinfo.h:84:1:
ABMON_3 = 35 // langinfo.h:85:1:
ABMON_4 = 36 // langinfo.h:86:1:
ABMON_5 = 37 // langinfo.h:87:1:
ABMON_6 = 38 // langinfo.h:88:1:
ABMON_7 = 39 // langinfo.h:89:1:
ABMON_8 = 40 // langinfo.h:90:1:
ABMON_9 = 41 // langinfo.h:91:1:
ALTMON_1 = 58 // langinfo.h:120:1:
ALTMON_10 = 67 // langinfo.h:129:1:
ALTMON_11 = 68 // langinfo.h:130:1:
ALTMON_12 = 69 // langinfo.h:131:1:
ALTMON_2 = 59 // langinfo.h:121:1:
ALTMON_3 = 60 // langinfo.h:122:1:
ALTMON_4 = 61 // langinfo.h:123:1:
ALTMON_5 = 62 // langinfo.h:124:1:
ALTMON_6 = 63 // langinfo.h:125:1:
ALTMON_7 = 64 // langinfo.h:126:1:
ALTMON_8 = 65 // langinfo.h:127:1:
ALTMON_9 = 66 // langinfo.h:128:1:
ALT_DIGITS = 49 // langinfo.h:100:1:
AM_STR = 5 // langinfo.h:47:1:
CODESET = 0 // langinfo.h:42:1:
CRNCYSTR = 56 // langinfo.h:113:1:
DAY_1 = 7 // langinfo.h:51:1:
DAY_2 = 8 // langinfo.h:52:1:
DAY_3 = 9 // langinfo.h:53:1:
DAY_4 = 10 // langinfo.h:54:1:
DAY_5 = 11 // langinfo.h:55:1:
DAY_6 = 12 // langinfo.h:56:1:
DAY_7 = 13 // langinfo.h:57:1:
D_FMT = 2 // langinfo.h:44:1:
D_MD_ORDER = 57 // langinfo.h:116:1:
D_T_FMT = 1 // langinfo.h:43:1:
ERA = 45 // langinfo.h:96:1:
ERA_D_FMT = 46 // langinfo.h:97:1:
ERA_D_T_FMT = 47 // langinfo.h:98:1:
ERA_T_FMT = 48 // langinfo.h:99:1:
MON_1 = 21 // langinfo.h:69:1:
MON_10 = 30 // langinfo.h:78:1:
MON_11 = 31 // langinfo.h:79:1:
MON_12 = 32 // langinfo.h:80:1:
MON_2 = 22 // langinfo.h:70:1:
MON_3 = 23 // langinfo.h:71:1:
MON_4 = 24 // langinfo.h:72:1:
MON_5 = 25 // langinfo.h:73:1:
MON_6 = 26 // langinfo.h:74:1:
MON_7 = 27 // langinfo.h:75:1:
MON_8 = 28 // langinfo.h:76:1:
MON_9 = 29 // langinfo.h:77:1:
NOEXPR = 53 // langinfo.h:106:1:
NOSTR = 55 // langinfo.h:110:1:
PM_STR = 6 // langinfo.h:48:1:
RADIXCHAR = 50 // langinfo.h:102:1:
THOUSEP = 51 // langinfo.h:103:1:
T_FMT = 3 // langinfo.h:45:1:
T_FMT_AMPM = 4 // langinfo.h:46:1:
YESEXPR = 52 // langinfo.h:105:1:
YESSTR = 54 // langinfo.h:109:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:32:1:
X_LOCALE_T_DEFINED = 0 // _langinfo.h:37:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE__LIMITS_H_ = 0 // _limits.h:36:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:42:1:
X_NL_ITEM_DECLARED = 0 // langinfo.h:39:1:
X_Nonnull = 0 // cdefs.h:790:1:
X_Null_unspecified = 0 // cdefs.h:792:1:
X_Nullable = 0 // cdefs.h:791:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS__TYPES_H_ = 0 // _types.h:32:1:
X_XLOCALE_LANGINFO_H = 0 // _langinfo.h:34:1:
Unix = 1 // <predefined>:340:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, e.g., by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// Alignment builtins for better type checking and improved code generation.
// Provide fallback versions for other compilers (GCC/Clang < 10):
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an “int” instead of the more natural
// “unsigned long” or “long”. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Nl_item = X__nl_item /* langinfo.h:38:19 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
type Locale_t = uintptr /* _langinfo.h:38:25 */
var _ int8 /* gen.c:2:13: */
+643
View File
@@ -0,0 +1,643 @@
// 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_freebsd_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:60:1:
ABDAY_2 = 15 // langinfo.h:61:1:
ABDAY_3 = 16 // langinfo.h:62:1:
ABDAY_4 = 17 // langinfo.h:63:1:
ABDAY_5 = 18 // langinfo.h:64:1:
ABDAY_6 = 19 // langinfo.h:65:1:
ABDAY_7 = 20 // langinfo.h:66:1:
ABMON_1 = 33 // langinfo.h:83:1:
ABMON_10 = 42 // langinfo.h:92:1:
ABMON_11 = 43 // langinfo.h:93:1:
ABMON_12 = 44 // langinfo.h:94:1:
ABMON_2 = 34 // langinfo.h:84:1:
ABMON_3 = 35 // langinfo.h:85:1:
ABMON_4 = 36 // langinfo.h:86:1:
ABMON_5 = 37 // langinfo.h:87:1:
ABMON_6 = 38 // langinfo.h:88:1:
ABMON_7 = 39 // langinfo.h:89:1:
ABMON_8 = 40 // langinfo.h:90:1:
ABMON_9 = 41 // langinfo.h:91:1:
ALTMON_1 = 58 // langinfo.h:120:1:
ALTMON_10 = 67 // langinfo.h:129:1:
ALTMON_11 = 68 // langinfo.h:130:1:
ALTMON_12 = 69 // langinfo.h:131:1:
ALTMON_2 = 59 // langinfo.h:121:1:
ALTMON_3 = 60 // langinfo.h:122:1:
ALTMON_4 = 61 // langinfo.h:123:1:
ALTMON_5 = 62 // langinfo.h:124:1:
ALTMON_6 = 63 // langinfo.h:125:1:
ALTMON_7 = 64 // langinfo.h:126:1:
ALTMON_8 = 65 // langinfo.h:127:1:
ALTMON_9 = 66 // langinfo.h:128:1:
ALT_DIGITS = 49 // langinfo.h:100:1:
AM_STR = 5 // langinfo.h:47:1:
CODESET = 0 // langinfo.h:42:1:
CRNCYSTR = 56 // langinfo.h:113:1:
DAY_1 = 7 // langinfo.h:51:1:
DAY_2 = 8 // langinfo.h:52:1:
DAY_3 = 9 // langinfo.h:53:1:
DAY_4 = 10 // langinfo.h:54:1:
DAY_5 = 11 // langinfo.h:55:1:
DAY_6 = 12 // langinfo.h:56:1:
DAY_7 = 13 // langinfo.h:57:1:
D_FMT = 2 // langinfo.h:44:1:
D_MD_ORDER = 57 // langinfo.h:116:1:
D_T_FMT = 1 // langinfo.h:43:1:
ERA = 45 // langinfo.h:96:1:
ERA_D_FMT = 46 // langinfo.h:97:1:
ERA_D_T_FMT = 47 // langinfo.h:98:1:
ERA_T_FMT = 48 // langinfo.h:99:1:
MON_1 = 21 // langinfo.h:69:1:
MON_10 = 30 // langinfo.h:78:1:
MON_11 = 31 // langinfo.h:79:1:
MON_12 = 32 // langinfo.h:80:1:
MON_2 = 22 // langinfo.h:70:1:
MON_3 = 23 // langinfo.h:71:1:
MON_4 = 24 // langinfo.h:72:1:
MON_5 = 25 // langinfo.h:73:1:
MON_6 = 26 // langinfo.h:74:1:
MON_7 = 27 // langinfo.h:75:1:
MON_8 = 28 // langinfo.h:76:1:
MON_9 = 29 // langinfo.h:77:1:
NOEXPR = 53 // langinfo.h:106:1:
NOSTR = 55 // langinfo.h:110:1:
PM_STR = 6 // langinfo.h:48:1:
RADIXCHAR = 50 // langinfo.h:102:1:
THOUSEP = 51 // langinfo.h:103:1:
T_FMT = 3 // langinfo.h:45:1:
T_FMT_AMPM = 4 // langinfo.h:46:1:
YESEXPR = 52 // langinfo.h:105:1:
YESSTR = 54 // langinfo.h:109:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_LANGINFO_H_ = 0 // langinfo.h:32:1:
X_LOCALE_T_DEFINED = 0 // _langinfo.h:37:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:42:1:
X_NL_ITEM_DECLARED = 0 // langinfo.h:39:1:
X_Nonnull = 0 // cdefs.h:790:1:
X_Null_unspecified = 0 // cdefs.h:792:1:
X_Nullable = 0 // cdefs.h:791:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS__TYPES_H_ = 0 // _types.h:32:1:
X_XLOCALE_LANGINFO_H = 0 // _langinfo.h:34:1:
Unix = 1 // <predefined>:367:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, e.g., by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// Alignment builtins for better type checking and improved code generation.
// Provide fallback versions for other compilers (GCC/Clang < 10):
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:51:22 */
type X__uint8_t = uint8 /* _types.h:52:24 */
type X__int16_t = int16 /* _types.h:53:17 */
type X__uint16_t = uint16 /* _types.h:54:25 */
type X__int32_t = int32 /* _types.h:55:15 */
type X__uint32_t = uint32 /* _types.h:56:23 */
// LONGLONG
type X__int64_t = int64 /* _types.h:61:20 */
// LONGLONG
type X__uint64_t = uint64 /* _types.h:66:28 */
// Standard type definitions.
type X__clock_t = X__uint32_t /* _types.h:71:20 */ // clock()...
type X__critical_t = X__int32_t /* _types.h:72:19 */
type X__double_t = float64 /* _types.h:74:17 */
type X__float_t = float32 /* _types.h:75:16 */
type X__intfptr_t = X__int32_t /* _types.h:77:19 */
type X__intmax_t = X__int64_t /* _types.h:78:19 */
type X__intptr_t = X__int32_t /* _types.h:79:19 */
type X__int_fast8_t = X__int32_t /* _types.h:80:19 */
type X__int_fast16_t = X__int32_t /* _types.h:81:19 */
type X__int_fast32_t = X__int32_t /* _types.h:82:19 */
type X__int_fast64_t = X__int64_t /* _types.h:83:19 */
type X__int_least8_t = X__int8_t /* _types.h:84:18 */
type X__int_least16_t = X__int16_t /* _types.h:85:19 */
type X__int_least32_t = X__int32_t /* _types.h:86:19 */
type X__int_least64_t = X__int64_t /* _types.h:87:19 */
type X__ptrdiff_t = X__int32_t /* _types.h:88:19 */ // ptr1 - ptr2
type X__register_t = X__int32_t /* _types.h:89:19 */
type X__segsz_t = X__int32_t /* _types.h:90:19 */ // segment size (in pages)
type X__size_t = X__uint32_t /* _types.h:91:20 */ // sizeof()
type X__ssize_t = X__int32_t /* _types.h:92:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:93:19 */ // time()...
type X__uintfptr_t = X__uint32_t /* _types.h:94:20 */
type X__uintmax_t = X__uint64_t /* _types.h:95:20 */
type X__uintptr_t = X__uint32_t /* _types.h:96:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:97:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:98:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:99:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:100:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:101:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:102:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:103:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:104:20 */
type X__u_register_t = X__uint32_t /* _types.h:105:20 */
type X__vm_offset_t = X__uint32_t /* _types.h:106:20 */
type X__vm_paddr_t = X__uint32_t /* _types.h:107:20 */
type X__vm_size_t = X__uint32_t /* _types.h:108:20 */
type X___wchar_t = uint32 /* _types.h:110:22 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int32 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int32 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an “int” instead of the more natural
// “unsigned long” or “long”. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]uint8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Nl_item = X__nl_item /* langinfo.h:38:19 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
type Locale_t = uintptr /* _langinfo.h:38:25 */
var _ uint8 /* gen.c:2:13: */
+702
View File
@@ -0,0 +1,702 @@
// 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_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14 // langinfo.h:60:1:
ABDAY_2 = 15 // langinfo.h:61:1:
ABDAY_3 = 16 // langinfo.h:62:1:
ABDAY_4 = 17 // langinfo.h:63:1:
ABDAY_5 = 18 // langinfo.h:64:1:
ABDAY_6 = 19 // langinfo.h:65:1:
ABDAY_7 = 20 // langinfo.h:66:1:
ABMON_1 = 33 // langinfo.h:83:1:
ABMON_10 = 42 // langinfo.h:92:1:
ABMON_11 = 43 // langinfo.h:93:1:
ABMON_12 = 44 // langinfo.h:94:1:
ABMON_2 = 34 // langinfo.h:84:1:
ABMON_3 = 35 // langinfo.h:85:1:
ABMON_4 = 36 // langinfo.h:86:1:
ABMON_5 = 37 // langinfo.h:87:1:
ABMON_6 = 38 // langinfo.h:88:1:
ABMON_7 = 39 // langinfo.h:89:1:
ABMON_8 = 40 // langinfo.h:90:1:
ABMON_9 = 41 // langinfo.h:91:1:
ALTMON_1 = 58 // langinfo.h:120:1:
ALTMON_10 = 67 // langinfo.h:129:1:
ALTMON_11 = 68 // langinfo.h:130:1:
ALTMON_12 = 69 // langinfo.h:131:1:
ALTMON_2 = 59 // langinfo.h:121:1:
ALTMON_3 = 60 // langinfo.h:122:1:
ALTMON_4 = 61 // langinfo.h:123:1:
ALTMON_5 = 62 // langinfo.h:124:1:
ALTMON_6 = 63 // langinfo.h:125:1:
ALTMON_7 = 64 // langinfo.h:126:1:
ALTMON_8 = 65 // langinfo.h:127:1:
ALTMON_9 = 66 // langinfo.h:128:1:
ALT_DIGITS = 49 // langinfo.h:100:1:
AM_STR = 5 // langinfo.h:47:1:
CODESET = 0 // langinfo.h:42:1:
CRNCYSTR = 56 // langinfo.h:113:1:
DAY_1 = 7 // langinfo.h:51:1:
DAY_2 = 8 // langinfo.h:52:1:
DAY_3 = 9 // langinfo.h:53:1:
DAY_4 = 10 // langinfo.h:54:1:
DAY_5 = 11 // langinfo.h:55:1:
DAY_6 = 12 // langinfo.h:56:1:
DAY_7 = 13 // langinfo.h:57:1:
D_FMT = 2 // langinfo.h:44:1:
D_MD_ORDER = 57 // langinfo.h:116:1:
D_T_FMT = 1 // langinfo.h:43:1:
ERA = 45 // langinfo.h:96:1:
ERA_D_FMT = 46 // langinfo.h:97:1:
ERA_D_T_FMT = 47 // langinfo.h:98:1:
ERA_T_FMT = 48 // langinfo.h:99:1:
MON_1 = 21 // langinfo.h:69:1:
MON_10 = 30 // langinfo.h:78:1:
MON_11 = 31 // langinfo.h:79:1:
MON_12 = 32 // langinfo.h:80:1:
MON_2 = 22 // langinfo.h:70:1:
MON_3 = 23 // langinfo.h:71:1:
MON_4 = 24 // langinfo.h:72:1:
MON_5 = 25 // langinfo.h:73:1:
MON_6 = 26 // langinfo.h:74:1:
MON_7 = 27 // langinfo.h:75:1:
MON_8 = 28 // langinfo.h:76:1:
MON_9 = 29 // langinfo.h:77:1:
NOEXPR = 53 // langinfo.h:106:1:
NOSTR = 55 // langinfo.h:110:1:
PM_STR = 6 // langinfo.h:48:1:
RADIXCHAR = 50 // langinfo.h:102:1:
THOUSEP = 51 // langinfo.h:103:1:
T_FMT = 3 // langinfo.h:45:1:
T_FMT_AMPM = 4 // langinfo.h:46:1:
YESEXPR = 52 // langinfo.h:105:1:
YESSTR = 54 // langinfo.h:109:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:32:1:
X_LOCALE_T_DEFINED = 0 // _langinfo.h:37:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE__LIMITS_H_ = 0 // _limits.h:36:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:42:1:
X_NL_ITEM_DECLARED = 0 // langinfo.h:39:1:
X_Nonnull = 0 // cdefs.h:790:1:
X_Null_unspecified = 0 // cdefs.h:792:1:
X_Nullable = 0 // cdefs.h:791:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS__TYPES_H_ = 0 // _types.h:32:1:
X_XLOCALE_LANGINFO_H = 0 // _langinfo.h:34:1:
Unix = 1 // <predefined>:340:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, e.g., by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// Alignment builtins for better type checking and improved code generation.
// Provide fallback versions for other compilers (GCC/Clang < 10):
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an “int” instead of the more natural
// “unsigned long” or “long”. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Nl_item = X__nl_item /* langinfo.h:38:19 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// $FreeBSD$
type Locale_t = uintptr /* _langinfo.h:38:25 */
var _ int8 /* gen.c:2:13: */
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+189
View File
@@ -0,0 +1,189 @@
// 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_netbsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
NL_CAT_LOCALE = 1 // nl_types.h:75:1:
NL_SETD = 1 // nl_types.h:74:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:9:1:
X_LP64 = 1 // <predefined>:268:1:
X_NL_TYPES_H_ = 0 // nl_types.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
X_X86_64_CDEFS_H_ = 0 // cdefs.h:4:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// return true if value 'a' fits in type 't'
// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
type X__nl_cat_d = struct {
F__data uintptr
F__size int32
F__ccgo_pad1 [4]byte
} /* nl_types.h:77:9 */
// return true if value 'a' fits in type 't'
// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
type Nl_catd = uintptr /* nl_types.h:80:3 */
type Nl_item = int64 /* nl_types.h:82:14 */
var _ int8 /* gen.c:2:13: */
+185
View File
@@ -0,0 +1,185 @@
// 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_netbsd_arm.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
NL_CAT_LOCALE = 1 // nl_types.h:75:1:
NL_SETD = 1 // nl_types.h:74:1:
X_ARM_ARCH_4T = 0 // cdefs.h:44:1:
X_ARM_ARCH_5 = 0 // cdefs.h:40:1:
X_ARM_ARCH_5T = 0 // cdefs.h:36:1:
X_ARM_ARCH_6 = 0 // cdefs.h:31:1:
X_ARM_ARCH_7 = 0 // cdefs.h:20:1:
X_ARM_ARCH_DWORD_OK = 0 // cdefs.h:51:1:
X_ARM_ARCH_T2 = 0 // cdefs.h:24:1:
X_ARM_CDEFS_H_ = 0 // cdefs.h:4:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:9:1:
X_NL_TYPES_H_ = 0 // nl_types.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// return true if value 'a' fits in type 't'
// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
type X__nl_cat_d = struct {
F__data uintptr
F__size int32
} /* nl_types.h:77:9 */
// return true if value 'a' fits in type 't'
// $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
type Nl_catd = uintptr /* nl_types.h:80:3 */
type Nl_item = int32 /* nl_types.h:82:14 */
var _ uint8 /* gen.c:2:13: */
+501
View File
@@ -0,0 +1,501 @@
// 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_386.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 13 // langinfo.h:29:1:
ABDAY_2 = 14 // langinfo.h:30:1:
ABDAY_3 = 15 // langinfo.h:31:1:
ABDAY_4 = 16 // langinfo.h:32:1:
ABDAY_5 = 17 // langinfo.h:33:1:
ABDAY_6 = 18 // langinfo.h:34:1:
ABDAY_7 = 19 // langinfo.h:35:1:
ABMON_1 = 32 // langinfo.h:50:1:
ABMON_10 = 41 // langinfo.h:59:1:
ABMON_11 = 42 // langinfo.h:60:1:
ABMON_12 = 43 // langinfo.h:61:1:
ABMON_2 = 33 // langinfo.h:51:1:
ABMON_3 = 34 // langinfo.h:52:1:
ABMON_4 = 35 // langinfo.h:53:1:
ABMON_5 = 36 // langinfo.h:54:1:
ABMON_6 = 37 // langinfo.h:55:1:
ABMON_7 = 38 // langinfo.h:56:1:
ABMON_8 = 39 // langinfo.h:57:1:
ABMON_9 = 40 // langinfo.h:58:1:
AM_STR = 4 // langinfo.h:18:1:
CODESET = 51 // langinfo.h:71:1:
CRNCYSTR = 50 // langinfo.h:69:1:
DAY_1 = 6 // langinfo.h:21:1:
DAY_2 = 7 // langinfo.h:22:1:
DAY_3 = 8 // langinfo.h:23:1:
DAY_4 = 9 // langinfo.h:24:1:
DAY_5 = 10 // langinfo.h:25:1:
DAY_6 = 11 // langinfo.h:26:1:
DAY_7 = 12 // langinfo.h:27:1:
D_FMT = 1 // langinfo.h:15:1:
D_T_FMT = 0 // langinfo.h:14:1:
MON_1 = 20 // langinfo.h:37:1:
MON_10 = 29 // langinfo.h:46:1:
MON_11 = 30 // langinfo.h:47:1:
MON_12 = 31 // langinfo.h:48:1:
MON_2 = 21 // langinfo.h:38:1:
MON_3 = 22 // langinfo.h:39:1:
MON_4 = 23 // langinfo.h:40:1:
MON_5 = 24 // langinfo.h:41:1:
MON_6 = 25 // langinfo.h:42:1:
MON_7 = 26 // langinfo.h:43:1:
MON_8 = 27 // langinfo.h:44:1:
MON_9 = 28 // langinfo.h:45:1:
NL_CAT_LOCALE = 1 // nl_types.h:76:1:
NL_SETD = 1 // nl_types.h:75:1:
NOEXPR = 49 // langinfo.h:68:1:
NOSTR = 48 // langinfo.h:67:1:
PM_STR = 5 // langinfo.h:19:1:
RADIXCHAR = 44 // langinfo.h:63:1:
THOUSEP = 45 // langinfo.h:64:1:
T_FMT = 2 // langinfo.h:16:1:
T_FMT_AMPM = 3 // langinfo.h:17:1:
YESEXPR = 47 // langinfo.h:66:1:
YESSTR = 46 // langinfo.h:65:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_LANGINFO_H_ = 0 // langinfo.h:10:1:
X_LOCALE_T_DEFINED_ = 0 // langinfo.h:75:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_NL_TYPES_H_ = 0 // nl_types.h:34:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
I386 = 1 // <predefined>:339:1:
Unix = 1 // <predefined>:340:1:
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type X_nl_catd = struct {
F__data uintptr
F__size int32
} /* nl_types.h:78:9 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type Nl_catd = uintptr /* nl_types.h:81:3 */
type Nl_item = int32 /* nl_types.h:83:14 */
type Locale_t = uintptr /* langinfo.h:76:14 */
var _ int8 /* gen.c:2:13: */
+511
View File
@@ -0,0 +1,511 @@
// 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.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 13 // langinfo.h:29:1:
ABDAY_2 = 14 // langinfo.h:30:1:
ABDAY_3 = 15 // langinfo.h:31:1:
ABDAY_4 = 16 // langinfo.h:32:1:
ABDAY_5 = 17 // langinfo.h:33:1:
ABDAY_6 = 18 // langinfo.h:34:1:
ABDAY_7 = 19 // langinfo.h:35:1:
ABMON_1 = 32 // langinfo.h:50:1:
ABMON_10 = 41 // langinfo.h:59:1:
ABMON_11 = 42 // langinfo.h:60:1:
ABMON_12 = 43 // langinfo.h:61:1:
ABMON_2 = 33 // langinfo.h:51:1:
ABMON_3 = 34 // langinfo.h:52:1:
ABMON_4 = 35 // langinfo.h:53:1:
ABMON_5 = 36 // langinfo.h:54:1:
ABMON_6 = 37 // langinfo.h:55:1:
ABMON_7 = 38 // langinfo.h:56:1:
ABMON_8 = 39 // langinfo.h:57:1:
ABMON_9 = 40 // langinfo.h:58:1:
AM_STR = 4 // langinfo.h:18:1:
CODESET = 51 // langinfo.h:71:1:
CRNCYSTR = 50 // langinfo.h:69:1:
DAY_1 = 6 // langinfo.h:21:1:
DAY_2 = 7 // langinfo.h:22:1:
DAY_3 = 8 // langinfo.h:23:1:
DAY_4 = 9 // langinfo.h:24:1:
DAY_5 = 10 // langinfo.h:25:1:
DAY_6 = 11 // langinfo.h:26:1:
DAY_7 = 12 // langinfo.h:27:1:
D_FMT = 1 // langinfo.h:15:1:
D_T_FMT = 0 // langinfo.h:14:1:
MON_1 = 20 // langinfo.h:37:1:
MON_10 = 29 // langinfo.h:46:1:
MON_11 = 30 // langinfo.h:47:1:
MON_12 = 31 // langinfo.h:48:1:
MON_2 = 21 // langinfo.h:38:1:
MON_3 = 22 // langinfo.h:39:1:
MON_4 = 23 // langinfo.h:40:1:
MON_5 = 24 // langinfo.h:41:1:
MON_6 = 25 // langinfo.h:42:1:
MON_7 = 26 // langinfo.h:43:1:
MON_8 = 27 // langinfo.h:44:1:
MON_9 = 28 // langinfo.h:45:1:
NL_CAT_LOCALE = 1 // nl_types.h:76:1:
NL_SETD = 1 // nl_types.h:75:1:
NOEXPR = 49 // langinfo.h:68:1:
NOSTR = 48 // langinfo.h:67:1:
PM_STR = 5 // langinfo.h:19:1:
RADIXCHAR = 44 // langinfo.h:63:1:
THOUSEP = 45 // langinfo.h:64:1:
T_FMT = 2 // langinfo.h:16:1:
T_FMT_AMPM = 3 // langinfo.h:17:1:
YESEXPR = 47 // langinfo.h:66:1:
YESSTR = 46 // langinfo.h:65:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:10:1:
X_LOCALE_T_DEFINED_ = 0 // langinfo.h:75:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_NL_TYPES_H_ = 0 // nl_types.h:34:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
Unix = 1 // <predefined>:344:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type X_nl_catd = struct {
F__data uintptr
F__size int32
F__ccgo_pad1 [4]byte
} /* nl_types.h:78:9 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type Nl_catd = uintptr /* nl_types.h:81:3 */
type Nl_item = int64 /* nl_types.h:83:14 */
type Locale_t = uintptr /* langinfo.h:76:14 */
var _ int8 /* gen.c:2:13: */
+505
View File
@@ -0,0 +1,505 @@
// 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_arm64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 13 // langinfo.h:29:1:
ABDAY_2 = 14 // langinfo.h:30:1:
ABDAY_3 = 15 // langinfo.h:31:1:
ABDAY_4 = 16 // langinfo.h:32:1:
ABDAY_5 = 17 // langinfo.h:33:1:
ABDAY_6 = 18 // langinfo.h:34:1:
ABDAY_7 = 19 // langinfo.h:35:1:
ABMON_1 = 32 // langinfo.h:50:1:
ABMON_10 = 41 // langinfo.h:59:1:
ABMON_11 = 42 // langinfo.h:60:1:
ABMON_12 = 43 // langinfo.h:61:1:
ABMON_2 = 33 // langinfo.h:51:1:
ABMON_3 = 34 // langinfo.h:52:1:
ABMON_4 = 35 // langinfo.h:53:1:
ABMON_5 = 36 // langinfo.h:54:1:
ABMON_6 = 37 // langinfo.h:55:1:
ABMON_7 = 38 // langinfo.h:56:1:
ABMON_8 = 39 // langinfo.h:57:1:
ABMON_9 = 40 // langinfo.h:58:1:
AM_STR = 4 // langinfo.h:18:1:
CODESET = 51 // langinfo.h:71:1:
CRNCYSTR = 50 // langinfo.h:69:1:
DAY_1 = 6 // langinfo.h:21:1:
DAY_2 = 7 // langinfo.h:22:1:
DAY_3 = 8 // langinfo.h:23:1:
DAY_4 = 9 // langinfo.h:24:1:
DAY_5 = 10 // langinfo.h:25:1:
DAY_6 = 11 // langinfo.h:26:1:
DAY_7 = 12 // langinfo.h:27:1:
D_FMT = 1 // langinfo.h:15:1:
D_T_FMT = 0 // langinfo.h:14:1:
MON_1 = 20 // langinfo.h:37:1:
MON_10 = 29 // langinfo.h:46:1:
MON_11 = 30 // langinfo.h:47:1:
MON_12 = 31 // langinfo.h:48:1:
MON_2 = 21 // langinfo.h:38:1:
MON_3 = 22 // langinfo.h:39:1:
MON_4 = 23 // langinfo.h:40:1:
MON_5 = 24 // langinfo.h:41:1:
MON_6 = 25 // langinfo.h:42:1:
MON_7 = 26 // langinfo.h:43:1:
MON_8 = 27 // langinfo.h:44:1:
MON_9 = 28 // langinfo.h:45:1:
NL_CAT_LOCALE = 1 // nl_types.h:76:1:
NL_SETD = 1 // nl_types.h:75:1:
NOEXPR = 49 // langinfo.h:68:1:
NOSTR = 48 // langinfo.h:67:1:
PM_STR = 5 // langinfo.h:19:1:
RADIXCHAR = 44 // langinfo.h:63:1:
THOUSEP = 45 // langinfo.h:64:1:
T_FMT = 2 // langinfo.h:16:1:
T_FMT_AMPM = 3 // langinfo.h:17:1:
YESEXPR = 47 // langinfo.h:66:1:
YESSTR = 46 // langinfo.h:65:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LANGINFO_H_ = 0 // langinfo.h:10:1:
X_LOCALE_T_DEFINED_ = 0 // langinfo.h:75:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:4:1:
X_NL_TYPES_H_ = 0 // nl_types.h:34:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
Unix = 1 // <predefined>:360:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.1 2016/12/17 23:38:33 patrick Exp $
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type X_nl_catd = struct {
F__data uintptr
F__size int32
F__ccgo_pad1 [4]byte
} /* nl_types.h:78:9 */
// $OpenBSD: langinfo.h,v 1.8 2017/09/05 03:16:13 schwarze Exp $
// $NetBSD: langinfo.h,v 1.3 1995/04/28 23:30:54 jtc Exp $
// Written by J.T. Conklin <jtc@netbsd.org>
// Public domain.
// $OpenBSD: nl_types.h,v 1.8 2008/06/26 05:42:04 ray Exp $
// $NetBSD: nl_types.h,v 1.6 1996/05/13 23:11:15 jtc Exp $
// -
// Copyright (c) 1996 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by J.T. Conklin.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the University nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// @(#)cdefs.h 8.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.1 2016/12/17 23:38:33 patrick Exp $
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
type Nl_catd = uintptr /* nl_types.h:81:3 */
type Nl_item = int64 /* nl_types.h:83:14 */
type Locale_t = uintptr /* langinfo.h:76:14 */
var _ int8 /* gen.c:2:13: */