FreeBSD Bugzilla – Attachment 200875 Details for
Bug 234672
www/chromium: c++: error: unable to execute command: Segmentation fault (core dumped)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
Clang segfault diagnostic file (1 of 2)
sprintf-4b97e4.c (text/plain), 301.44 KB, created by
Bob Prohaska
on 2019-01-07 18:01:34 UTC
(
hide
)
Description:
Clang segfault diagnostic file (1 of 2)
Filename:
MIME Type:
Creator:
Bob Prohaska
Created:
2019-01-07 18:01:34 UTC
Size:
301.44 KB
patch
obsolete
># 1 "<built-in>" ># 1 "/usr/src/lib/libc/stdio/sprintf.c" >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * This code is derived from software contributed to Berkeley by > * Chris Torek. > * > * Copyright (c) 2011 The FreeBSD Foundation > * All rights reserved. > * Portions of this software were 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. > * 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. > */ > >#if defined(LIBC_SCCS) && !defined(lint) >static char sccsid[] = "@(#)sprintf.c 8.1 (Berkeley) 6/4/93"; >#endif /* LIBC_SCCS and not lint */ ># 43 "/usr/src/lib/libc/stdio/sprintf.c" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 43 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 1 3 4 >/*- > * 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: head/sys/sys/cdefs.h 337399 2018-08-06 23:51:08Z jhb $ > */ > >#ifndef _SYS_CDEFS_H_ >#define _SYS_CDEFS_H_ > >/* > * Testing against Clang-specific extensions. > */ >#ifndef __has_attribute >#define __has_attribute(x) 0 >#endif ># 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_extension >#define __has_extension __has_feature >#endif ># 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_feature >#define __has_feature(x) 0 >#endif ># 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_include >#define __has_include(x) 0 >#endif ># 56 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __has_builtin >#define __has_builtin(x) 0 >#endif ># 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__cplusplus) >#define __BEGIN_DECLS extern "C" { >#define __END_DECLS } >#else ># 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __BEGIN_DECLS >#define __END_DECLS >#endif ># 67 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) > >#if __GNUC__ >= 3 || defined(__INTEL_COMPILER) >#define __GNUCLIKE_ASM 3 >#define __GNUCLIKE_MATH_BUILTIN_CONSTANTS >#else ># 80 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __GNUCLIKE_ASM 2 >#endif ># 82 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __GNUCLIKE___TYPEOF 1 >#define __GNUCLIKE___OFFSETOF 1 >#define __GNUCLIKE___SECTION 1 > >#ifndef __INTEL_COMPILER >#define __GNUCLIKE_CTOR_SECTION_HANDLING 1 >#endif ># 89 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#define __GNUCLIKE_BUILTIN_CONSTANT_P 1 >#if defined(__INTEL_COMPILER) && defined(__cplusplus) && \ > __INTEL_COMPILER < 800 >#undef __GNUCLIKE_BUILTIN_CONSTANT_P >#endif ># 95 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if (__GNUC_MINOR__ > 95 || __GNUC__ >= 3) >#define __GNUCLIKE_BUILTIN_VARARGS 1 >#define __GNUCLIKE_BUILTIN_STDARG 1 >#define __GNUCLIKE_BUILTIN_VAALIST 1 >#endif ># 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__GNUC__) >#define __GNUC_VA_LIST_COMPATIBILITY 1 >#endif ># 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Compiler memory barriers, specific to gcc and clang. > */ >#if defined(__GNUC__) >#define __compiler_membar() __asm __volatile(" " : : : "memory") >#endif ># 112 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __INTEL_COMPILER >#define __GNUCLIKE_BUILTIN_NEXT_ARG 1 >#define __GNUCLIKE_MATH_BUILTIN_RELOPS >#endif ># 117 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#define __GNUCLIKE_BUILTIN_MEMCPY 1 > >/* XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced */ >#define __CC_SUPPORTS_INLINE 1 >#define __CC_SUPPORTS___INLINE 1 >#define __CC_SUPPORTS___INLINE__ 1 > >#define __CC_SUPPORTS___FUNC__ 1 >#define __CC_SUPPORTS_WARNING 1 > >#define __CC_SUPPORTS_VARADIC_XXX 1 /* see varargs.h */ > >#define __CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1 > >#endif /* __GNUC__ || __INTEL_COMPILER */ ># 133 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Macro to test if we're using a specific version of gcc or later. > */ >#if defined(__GNUC__) && !defined(__INTEL_COMPILER) >#define __GNUC_PREREQ__(ma, mi) \ > (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi)) >#else ># 141 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __GNUC_PREREQ__(ma, mi) 0 >#endif ># 143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ >#if defined(__STDC__) || defined(__cplusplus) >#define __P(protos) protos /* full-blown ANSI C */ >#define __CONCAT1(x,y) x ## y >#define __CONCAT(x,y) __CONCAT1(x,y) >#define __STRING(x) #x /* stringify without expanding x */ >#define __XSTRING(x) __STRING(x) /* expand x, then stringify */ > >#define __const const /* define reserved names to standard */ >#define __signed signed >#define __volatile volatile >#if defined(__cplusplus) >#define __inline inline /* convert to C++ keyword */ >#else ># 169 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#if !(defined(__CC_SUPPORTS___INLINE)) >#define __inline /* delete GCC keyword */ >#endif /* ! __CC_SUPPORTS___INLINE */ ># 172 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif /* !__cplusplus */ ># 173 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#else /* !(__STDC__ || __cplusplus) */ ># 175 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __P(protos) () /* traditional C preprocessor */ >#define __CONCAT(x,y) x/**/y >#define __STRING(x) "x" > >#if !defined(__CC_SUPPORTS___INLINE) >#define __const /* delete pseudo-ANSI C keywords */ >#define __inline >#define __signed >#define __volatile >/* > * 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. > */ >#ifndef NO_ANSI_KEYWORDS >#define const /* delete ANSI C keywords */ >#define inline >#define signed >#define volatile >#endif /* !NO_ANSI_KEYWORDS */ ># 198 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif /* !__CC_SUPPORTS___INLINE */ ># 199 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif /* !(__STDC__ || __cplusplus) */ ># 200 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ >#define __weak_symbol __attribute__((__weak__)) >#if !__GNUC_PREREQ__(2, 5) && !defined(__INTEL_COMPILER) >#define __dead2 >#define __pure2 >#define __unused >#endif ># 216 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 7 && !defined(__INTEL_COMPILER) >#define __dead2 __attribute__((__noreturn__)) >#define __pure2 __attribute__((__const__)) >#define __unused >/* XXX Find out what to do for __packed, __aligned and __section */ >#endif ># 222 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#if __GNUC_PREREQ__(2, 7) || defined(__INTEL_COMPILER) >#define __dead2 __attribute__((__noreturn__)) >#define __pure2 __attribute__((__const__)) >#define __unused __attribute__((__unused__)) >#define __used __attribute__((__used__)) >#define __packed __attribute__((__packed__)) >#define __aligned(x) __attribute__((__aligned__(x))) >#define __section(x) __attribute__((__section__(x))) >#endif ># 231 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#if __GNUC_PREREQ__(4, 3) || __has_attribute(__alloc_size__) >#define __alloc_size(x) __attribute__((__alloc_size__(x))) >#define __alloc_size2(n, x) __attribute__((__alloc_size__(n, x))) >#else ># 235 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __alloc_size(x) >#define __alloc_size2(n, x) >#endif ># 238 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#if __GNUC_PREREQ__(4, 9) || __has_attribute(__alloc_align__) >#define __alloc_align(x) __attribute__((__alloc_align__(x))) >#else ># 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __alloc_align(x) >#endif ># 243 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if !__GNUC_PREREQ__(2, 95) >#define __alignof(x) __offsetof(struct { char __a; x __b; }, __b) >#endif ># 247 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Keywords added in C11. > */ > >#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L > >#if !__has_extension(c_alignas) >#if (defined(__cplusplus) && __cplusplus >= 201103L) || \ > __has_extension(cxx_alignas) >#define _Alignas(x) alignas(x) >#else ># 259 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >/* XXX: Only emulates _Alignas(constant-expression); not _Alignas(type-name). */ >#define _Alignas(x) __aligned(x) >#endif ># 262 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 263 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__cplusplus) && __cplusplus >= 201103L >#define _Alignof(x) alignof(x) >#else ># 267 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define _Alignof(x) __alignof(x) >#endif ># 269 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if !defined(__cplusplus) && !__has_extension(c_atomic) && \ > !__has_extension(cxx_atomic) && !__GNUC_PREREQ__(4, 7) >/* > * No native support for _Atomic(). Place object in structure to prevent > * most forms of direct non-atomic access. > */ >#define _Atomic(T) struct { T volatile __val; } >#endif ># 278 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__cplusplus) && __cplusplus >= 201103L >#define _Noreturn [[noreturn]] >#else ># 282 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define _Noreturn __dead2 >#endif ># 284 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if !__has_extension(c_static_assert) >#if (defined(__cplusplus) && __cplusplus >= 201103L) || \ > __has_extension(cxx_static_assert) >#define _Static_assert(x, y) static_assert(x, y) >#elif __GNUC_PREREQ__(4,6) && !defined(__cplusplus) ># 290 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >/* Nothing, gcc 4.6 and higher has _Static_assert built-in */ >#elif defined(__COUNTER__) ># 292 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define _Static_assert(x, y) __Static_assert(x, __COUNTER__) >#define __Static_assert(x, y) ___Static_assert(x, y) >#define ___Static_assert(x, y) typedef char __assert_ ## y[(x) ? 1 : -1] \ > __unused >#else ># 297 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define _Static_assert(x, y) struct __hack >#endif ># 299 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 300 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if !__has_extension(c_thread_local) >/* > * XXX: Some compilers (Clang 3.3, GCC 4.7) falsely announce C++11 mode > * without actually supporting the thread_local keyword. Don't check for > * the presence of C++11 when defining _Thread_local. > */ >#if /* (defined(__cplusplus) && __cplusplus >= 201103L) || */ \ > __has_extension(cxx_thread_local) >#define _Thread_local thread_local >#else ># 311 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define _Thread_local __thread >#endif ># 313 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 314 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#endif /* __STDC_VERSION__ || __STDC_VERSION__ < 201112L */ ># 316 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ > >#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ > __has_extension(c_generic_selections) >#define __generic(expr, t, yes, no) \ > _Generic(expr, t: yes, default: no) >#elif __GNUC_PREREQ__(3, 1) && !defined(__cplusplus) ># 331 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __generic(expr, t, yes, no) \ > __builtin_choose_expr( \ > __builtin_types_compatible_p(__typeof(expr), t), yes, no) >#endif ># 335 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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)]); > */ >#if !defined(__cplusplus) && \ > (defined(__clang__) || __GNUC_PREREQ__(4, 6)) && \ > (!defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901)) >#define __min_size(x) static (x) >#else ># 348 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __min_size(x) (x) >#endif ># 350 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(2, 96) >#define __malloc_like __attribute__((__malloc__)) >#define __pure __attribute__((__pure__)) >#else ># 355 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __malloc_like >#define __pure >#endif ># 358 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 1) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800) >#define __always_inline __attribute__((__always_inline__)) >#else ># 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __always_inline >#endif ># 364 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 1) >#define __noinline __attribute__ ((__noinline__)) >#else ># 368 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __noinline >#endif ># 370 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(3, 4) >#define __fastcall __attribute__((__fastcall__)) >#define __result_use_check __attribute__((__warn_unused_result__)) >#else ># 375 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __fastcall >#define __result_use_check >#endif ># 378 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(4, 1) >#define __returns_twice __attribute__((__returns_twice__)) >#else ># 382 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __returns_twice >#endif ># 384 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(4, 6) || __has_builtin(__builtin_unreachable) >#define __unreachable() __builtin_unreachable() >#else ># 388 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __unreachable() ((void)0) >#endif ># 390 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* XXX: should use `#if __STDC_VERSION__ < 199901'. */ >#if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) >#define __func__ NULL >#endif ># 395 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if (defined(__INTEL_COMPILER) || (defined(__GNUC__) && __GNUC__ >= 2)) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901 >#define __LONG_LONG_SUPPORTED >#endif ># 399 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* C++11 exposes a load of C99 stuff */ >#if defined(__cplusplus) && __cplusplus >= 201103L >#define __LONG_LONG_SUPPORTED >#ifndef __STDC_LIMIT_MACROS >#define __STDC_LIMIT_MACROS >#endif ># 406 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __STDC_CONSTANT_MACROS >#define __STDC_CONSTANT_MACROS >#endif ># 409 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 410 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ >#if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95) >#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 >#define __restrict >#else ># 421 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __restrict restrict >#endif ># 423 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 424 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ >#if __GNUC_PREREQ__(2, 96) >#define __predict_true(exp) __builtin_expect((exp), 1) >#define __predict_false(exp) __builtin_expect((exp), 0) >#else ># 457 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __predict_true(exp) (exp) >#define __predict_false(exp) (exp) >#endif ># 460 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if __GNUC_PREREQ__(4, 0) >#define __null_sentinel __attribute__((__sentinel__)) >#define __exported __attribute__((__visibility__("default"))) >#define __hidden __attribute__((__visibility__("hidden"))) >#else ># 466 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __null_sentinel >#define __exported >#define __hidden >#endif ># 470 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h> > * require it. > */ >#if __GNUC_PREREQ__(4, 1) >#define __offsetof(type, field) __builtin_offsetof(type, field) >#else ># 478 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifndef __cplusplus >#define __offsetof(type, field) \ > ((__size_t)(__uintptr_t)((const volatile void *)&((type *)0)->field)) >#else ># 482 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __offsetof(type, field) \ > (__offsetof__ (reinterpret_cast <__size_t> \ > (&reinterpret_cast <const volatile char &> \ > (static_cast<type *> (0)->field)))) >#endif ># 487 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 488 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __rangeof(type, start, end) \ > (__offsetof(type, end) - __offsetof(type, start)) > >/* > * 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. > */ >#if __GNUC_PREREQ__(3, 1) >#define __containerof(x, s, m) ({ \ > const volatile __typeof(((s *)0)->m) *__x = (x); \ > __DEQUALIFY(s *, (const volatile char *)__x - __offsetof(s, m));\ >}) >#else ># 503 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __containerof(x, s, m) \ > __DEQUALIFY(s *, (const volatile char *)(x) - __offsetof(s, m)) >#endif ># 506 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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). > */ >#if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) >#define __printflike(fmtarg, firstvararg) >#define __scanflike(fmtarg, firstvararg) >#define __format_arg(fmtarg) >#define __strfmonlike(fmtarg, firstvararg) >#define __strftimelike(fmtarg, firstvararg) >#else ># 520 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __printflike(fmtarg, firstvararg) \ > __attribute__((__format__ (__printf__, fmtarg, firstvararg))) >#define __scanflike(fmtarg, firstvararg) \ > __attribute__((__format__ (__scanf__, fmtarg, firstvararg))) >#define __format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg))) >#define __strfmonlike(fmtarg, firstvararg) \ > __attribute__((__format__ (__strfmon__, fmtarg, firstvararg))) >#define __strftimelike(fmtarg, firstvararg) \ > __attribute__((__format__ (__strftime__, fmtarg, firstvararg))) >#endif ># 530 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* Compiler-dependent macros that rely on FreeBSD-specific extensions. */ >#if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version >= 300001 && \ > defined(__GNUC__) && !defined(__INTEL_COMPILER) >#define __printf0like(fmtarg, firstvararg) \ > __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) >#else ># 537 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __printf0like(fmtarg, firstvararg) >#endif ># 539 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) >#ifndef __INTEL_COMPILER >#define __strong_reference(sym,aliassym) \ > extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym))) >#endif ># 545 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifdef __STDC__ >#define __weak_reference(sym,alias) \ > __asm__(".weak " #alias); \ > __asm__(".equ " #alias ", " #sym) >#define __warn_references(sym,msg) \ > __asm__(".section .gnu.warning." #sym); \ > __asm__(".asciz \"" msg "\""); \ > __asm__(".previous") >#define __sym_compat(sym,impl,verid) \ > __asm__(".symver " #impl ", " #sym "@" #verid) >#define __sym_default(sym,impl,verid) \ > __asm__(".symver " #impl ", " #sym "@@@" #verid) >#else ># 558 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __weak_reference(sym,alias) \ > __asm__(".weak alias"); \ > __asm__(".equ alias, sym") >#define __warn_references(sym,msg) \ > __asm__(".section .gnu.warning.sym"); \ > __asm__(".asciz \"msg\""); \ > __asm__(".previous") >#define __sym_compat(sym,impl,verid) \ > __asm__(".symver impl, sym@verid") >#define __sym_default(impl,sym,verid) \ > __asm__(".symver impl, sym@@@verid") >#endif /* __STDC__ */ ># 570 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif /* __GNUC__ || __INTEL_COMPILER */ ># 571 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#define __GLOBL1(sym) __asm__(".globl " #sym) >#define __GLOBL(sym) __GLOBL1(sym) > >#if defined(__GNUC__) || defined(__INTEL_COMPILER) >#define __IDSTRING(name,string) __asm__(".ident\t\"" string "\"") >#else ># 578 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >/* > * The following definition might not work well if used in header files, > * but it should be better than nothing. If you want a "do nothing" > * version, then it should generate some harmless declaration, such as: > * #define __IDSTRING(name,string) struct __hack > */ >#define __IDSTRING(name,string) static const char name[] __unused = string >#endif ># 586 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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: head/sys/sys/cdefs.h 337399 2018-08-06 23:51:08Z jhb $"); > */ >#ifndef __FBSDID >#if !defined(STRIP_FBSDID) >#define __FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) >#else ># 597 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __FBSDID(s) struct __hack >#endif ># 599 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 600 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __RCSID >#ifndef NO__RCSID >#define __RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) >#else ># 605 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __RCSID(s) struct __hack >#endif ># 607 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 608 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __RCSID_SOURCE >#ifndef NO__RCSID_SOURCE >#define __RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s) >#else ># 613 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __RCSID_SOURCE(s) struct __hack >#endif ># 615 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 616 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __SCCSID >#ifndef NO__SCCSID >#define __SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s) >#else ># 621 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __SCCSID(s) struct __hack >#endif ># 623 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 624 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __COPYRIGHT >#ifndef NO__COPYRIGHT >#define __COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s) >#else ># 629 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __COPYRIGHT(s) struct __hack >#endif ># 631 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 632 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DECONST >#define __DECONST(type, var) ((type)(__uintptr_t)(const void *)(var)) >#endif ># 636 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DEVOLATILE >#define __DEVOLATILE(type, var) ((type)(__uintptr_t)(volatile void *)(var)) >#endif ># 640 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#ifndef __DEQUALIFY >#define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var)) >#endif ># 644 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/*- > * 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. */ >#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 >#undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ >#define _POSIX_C_SOURCE 199009 >#endif ># 673 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ >#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 199209 >#endif ># 679 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ >#ifdef _XOPEN_SOURCE >#if _XOPEN_SOURCE - 0 >= 700 >#define __XSI_VISIBLE 700 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 200809 >#elif _XOPEN_SOURCE - 0 >= 600 ># 687 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __XSI_VISIBLE 600 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 200112 >#elif _XOPEN_SOURCE - 0 >= 500 ># 691 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __XSI_VISIBLE 500 >#undef _POSIX_C_SOURCE >#define _POSIX_C_SOURCE 199506 >#endif ># 695 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 696 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Deal with all versions of POSIX. The ordering relative to the tests above is > * important. > */ >#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) >#define _POSIX_C_SOURCE 198808 >#endif ># 704 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#ifdef _POSIX_C_SOURCE >#if _POSIX_C_SOURCE >= 200809 >#define __POSIX_VISIBLE 200809 >#define __ISO_C_VISIBLE 1999 >#elif _POSIX_C_SOURCE >= 200112 ># 709 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 200112 >#define __ISO_C_VISIBLE 1999 >#elif _POSIX_C_SOURCE >= 199506 ># 712 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199506 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199309 ># 715 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199309 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199209 ># 718 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199209 >#define __ISO_C_VISIBLE 1990 >#elif _POSIX_C_SOURCE >= 199009 ># 721 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 199009 >#define __ISO_C_VISIBLE 1990 >#else ># 724 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 198808 >#define __ISO_C_VISIBLE 0 >#endif /* _POSIX_C_SOURCE */ ># 727 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#else ># 728 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >/*- > * 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). > */ >#if defined(_ANSI_SOURCE) /* Hide almost everything. */ >#define __POSIX_VISIBLE 0 >#define __XSI_VISIBLE 0 >#define __BSD_VISIBLE 0 >#define __ISO_C_VISIBLE 1990 >#define __EXT1_VISIBLE 0 >#elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */ ># 747 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 0 >#define __XSI_VISIBLE 0 >#define __BSD_VISIBLE 0 >#define __ISO_C_VISIBLE 1999 >#define __EXT1_VISIBLE 0 >#elif defined(_C11_SOURCE) /* Localism to specify strict C11 env. */ ># 753 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 0 >#define __XSI_VISIBLE 0 >#define __BSD_VISIBLE 0 >#define __ISO_C_VISIBLE 2011 >#define __EXT1_VISIBLE 0 >#else /* Default environment: show everything. */ ># 759 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __POSIX_VISIBLE 200809 >#define __XSI_VISIBLE 700 >#define __BSD_VISIBLE 1 >#define __ISO_C_VISIBLE 2011 >#define __EXT1_VISIBLE 1 >#endif ># 765 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 766 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* User override __EXT1_VISIBLE */ >#if defined(__STDC_WANT_LIB_EXT1__) >#undef __EXT1_VISIBLE >#if __STDC_WANT_LIB_EXT1__ >#define __EXT1_VISIBLE 1 >#else ># 773 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __EXT1_VISIBLE 0 >#endif ># 775 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif /* __STDC_WANT_LIB_EXT1__ */ ># 776 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >#if defined(__mips) || defined(__powerpc64__) || defined(__riscv) >#define __NO_TLS 1 >#endif ># 780 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ >#if defined(__arm__) && !defined(__ARM_ARCH) >#if 0 /* expanded by -frewrite-includes */ >#include <machine/acle-compat.h> >#endif /* expanded by -frewrite-includes */ ># 786 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 ># 787 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#endif ># 788 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Nullability qualifiers: currently only supported by Clang. > */ >#if !(defined(__clang__) && __has_feature(nullability)) >#define _Nonnull >#define _Nullable >#define _Null_unspecified >#define __NULLABILITY_PRAGMA_PUSH >#define __NULLABILITY_PRAGMA_POP >#else ># 799 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __NULLABILITY_PRAGMA_PUSH _Pragma("clang diagnostic push") \ > _Pragma("clang diagnostic ignored \"-Wnullability-completeness\"") >#define __NULLABILITY_PRAGMA_POP _Pragma("clang diagnostic pop") >#endif ># 803 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * Type Safety Checking > * > * Clang provides additional attributes to enable checking type safety > * properties that cannot be enforced by the C type system. > */ > >#if __has_attribute(__argument_with_type_tag__) && \ > __has_attribute(__type_tag_for_datatype__) >#define __arg_type_tag(arg_kind, arg_idx, type_tag_idx) \ > __attribute__((__argument_with_type_tag__(arg_kind, arg_idx, type_tag_idx))) >#define __datatype_type_tag(kind, type) \ > __attribute__((__type_tag_for_datatype__(kind, type))) >#else ># 818 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __arg_type_tag(arg_kind, arg_idx, type_tag_idx) >#define __datatype_type_tag(kind, type) >#endif ># 821 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* > * 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. > */ > >#if __has_extension(c_thread_safety_attributes) >#define __lock_annotate(x) __attribute__((x)) >#else ># 837 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 >#define __lock_annotate(x) >#endif ># 839 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 > >/* Structure implements a lock. */ >#define __lockable __lock_annotate(lockable) > >/* Function acquires an exclusive or shared lock. */ >#define __locks_exclusive(...) \ > __lock_annotate(exclusive_lock_function(__VA_ARGS__)) >#define __locks_shared(...) \ > __lock_annotate(shared_lock_function(__VA_ARGS__)) > >/* Function attempts to acquire an exclusive or shared lock. */ >#define __trylocks_exclusive(...) \ > __lock_annotate(exclusive_trylock_function(__VA_ARGS__)) >#define __trylocks_shared(...) \ > __lock_annotate(shared_trylock_function(__VA_ARGS__)) > >/* Function releases a lock. */ >#define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__)) > >/* Function asserts that an exclusive or shared lock is held. */ >#define __asserts_exclusive(...) \ > __lock_annotate(assert_exclusive_lock(__VA_ARGS__)) >#define __asserts_shared(...) \ > __lock_annotate(assert_shared_lock(__VA_ARGS__)) > >/* Function requires that an exclusive or shared lock is or is not held. */ >#define __requires_exclusive(...) \ > __lock_annotate(exclusive_locks_required(__VA_ARGS__)) >#define __requires_shared(...) \ > __lock_annotate(shared_locks_required(__VA_ARGS__)) >#define __requires_unlocked(...) \ > __lock_annotate(locks_excluded(__VA_ARGS__)) > >/* Function should not be analyzed. */ >#define __no_lock_analysis __lock_annotate(no_thread_safety_analysis) > >/* Guard variables and structure members by lock. */ >#define __guarded_by(x) __lock_annotate(guarded_by(x)) >#define __pt_guarded_by(x) __lock_annotate(pt_guarded_by(x)) > >#endif /* !_SYS_CDEFS_H_ */ ># 880 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4 ># 44 "/usr/src/lib/libc/stdio/sprintf.c" 2 >__FBSDID("$FreeBSD: head/lib/libc/stdio/sprintf.c 326025 2017-11-20 19:49:47Z pfg $"); > >#if 0 /* expanded by -frewrite-includes */ >#include <stdio.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/src/include/stdio.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * This code is derived from software contributed to Berkeley by > * Chris Torek. > * > * 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. > * > * @(#)stdio.h 8.5 (Berkeley) 4/29/95 > * $FreeBSD: head/include/stdio.h 331948 2018-04-03 20:59:46Z cy $ > */ > >#ifndef _STDIO_H_ >#define _STDIO_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 41 "/usr/src/include/stdio.h" ># 42 "/usr/src/include/stdio.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/src/include/stdio.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2003 Marcel Moolenaar > * 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 ``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 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: head/sys/sys/_null.h 326256 2017-11-27 15:01:59Z pfg $ > */ > >#ifndef NULL > >#if !defined(__cplusplus) >#define NULL ((void *)0) >#else ># 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#if __cplusplus >= 201103L >#define NULL nullptr >#elif defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4 ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#define NULL __null >#else ># 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#if defined(__LP64__) >#define NULL (0L) >#else ># 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#define NULL 0 >#endif /* __LP64__ */ ># 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#endif /* __GNUG__ */ ># 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 >#endif /* !__cplusplus */ ># 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 > >#endif ># 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4 ># 43 "/usr/src/include/stdio.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 43 "/usr/src/include/stdio.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 1 3 4 >/*- > * 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: head/sys/sys/_types.h 329859 2018-02-23 04:04:25Z imp $ > */ > >#ifndef _SYS__TYPES_H_ >#define _SYS__TYPES_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 ># 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_types.h> >#endif /* expanded by -frewrite-includes */ ># 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 1 3 4 >/*- > * 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. 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: head/sys/arm64/include/_types.h 329859 2018-02-23 04:04:25Z imp $ > */ > >#ifndef _MACHINE__TYPES_H_ >#define _MACHINE__TYPES_H_ > >#ifndef _SYS_CDEFS_H_ >#error this file needs sys/cdefs.h as a prerequisite >#endif ># 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 3 4 > >/* > * Basic types upon which most other types are built. > */ >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef short __int16_t; >typedef unsigned short __uint16_t; >typedef int __int32_t; >typedef unsigned int __uint32_t; >typedef long __int64_t; >typedef unsigned long __uint64_t; > >/* > * Standard type definitions. > */ >typedef __int32_t __clock_t; /* clock()... */ >typedef __int64_t __critical_t; >#ifndef _STANDALONE >typedef double __double_t; >typedef float __float_t; >#endif ># 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 3 4 >typedef __int64_t __intfptr_t; >typedef __int64_t __intmax_t; >typedef __int64_t __intptr_t; >typedef __int32_t __int_fast8_t; >typedef __int32_t __int_fast16_t; >typedef __int32_t __int_fast32_t; >typedef __int64_t __int_fast64_t; >typedef __int8_t __int_least8_t; >typedef __int16_t __int_least16_t; >typedef __int32_t __int_least32_t; >typedef __int64_t __int_least64_t; >typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */ >typedef __int64_t __register_t; >typedef __int64_t __segsz_t; /* segment size (in pages) */ >typedef __uint64_t __size_t; /* sizeof() */ >typedef __int64_t __ssize_t; /* byte count or error */ >typedef __int64_t __time_t; /* time()... */ >typedef __uint64_t __uintfptr_t; >typedef __uint64_t __uintmax_t; >typedef __uint64_t __uintptr_t; >typedef __uint32_t __uint_fast8_t; >typedef __uint32_t __uint_fast16_t; >typedef __uint32_t __uint_fast32_t; >typedef __uint64_t __uint_fast64_t; >typedef __uint8_t __uint_least8_t; >typedef __uint16_t __uint_least16_t; >typedef __uint32_t __uint_least32_t; >typedef __uint64_t __uint_least64_t; >typedef __uint64_t __u_register_t; >typedef __uint64_t __vm_offset_t; >typedef __uint64_t __vm_paddr_t; >typedef __uint64_t __vm_size_t; >typedef unsigned int ___wchar_t; > >#define __WCHAR_MIN 0 /* min value for a wchar_t */ >#define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */ > >#endif /* !_MACHINE__TYPES_H_ */ ># 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 3 4 ># 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 2 3 4 > >/* > * Standard type definitions. > */ >typedef __int32_t __blksize_t; /* file block size */ >typedef __int64_t __blkcnt_t; /* file block count */ >typedef __int32_t __clockid_t; /* clock_gettime()... */ >typedef __uint32_t __fflags_t; /* file flags */ >typedef __uint64_t __fsblkcnt_t; >typedef __uint64_t __fsfilcnt_t; >typedef __uint32_t __gid_t; >typedef __int64_t __id_t; /* can hold a gid_t, pid_t, or uid_t */ >typedef __uint64_t __ino_t; /* inode number */ >typedef long __key_t; /* IPC key (for Sys V IPC) */ >typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP) */ >typedef __uint16_t __mode_t; /* permissions */ >typedef int __accmode_t; /* access permissions */ >typedef int __nl_item; >typedef __uint64_t __nlink_t; /* link count */ >typedef __int64_t __off_t; /* file offset */ >typedef __int64_t __off64_t; /* file offset (alias) */ >typedef __int32_t __pid_t; /* process [group] */ >typedef __int64_t __rlim_t; /* resource limit - intentionally */ > /* signed, because of legacy code */ > /* that uses -1 for RLIM_INFINITY */ >typedef __uint8_t __sa_family_t; >typedef __uint32_t __socklen_t; >typedef long __suseconds_t; /* microseconds (signed) */ >typedef struct __timer *__timer_t; /* timer_gettime()... */ >typedef struct __mq *__mqd_t; /* mq_open()... */ >typedef __uint32_t __uid_t; >typedef unsigned int __useconds_t; /* microseconds (unsigned) */ >typedef int __cpuwhich_t; /* which parameter for cpuset. */ >typedef int __cpulevel_t; /* level parameter for cpuset. */ >typedef int __cpusetid_t; /* cpuset identifier. */ > >/* > * 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. > */ >typedef int __ct_rune_t; /* arg type for ctype funcs */ >typedef __ct_rune_t __rune_t; /* rune_t (see above) */ >typedef __ct_rune_t __wint_t; /* wint_t (see above) */ > >/* Clang already provides these types as built-ins, but only in C++ mode. */ >#if !defined(__clang__) || !defined(__cplusplus) >typedef __uint_least16_t __char16_t; >typedef __uint_least32_t __char32_t; >#endif ># 99 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 >/* In C++11, char16_t and char32_t are built-in types. */ >#if defined(__cplusplus) && __cplusplus >= 201103L >#define _CHAR16_T_DECLARED >#define _CHAR32_T_DECLARED >#endif ># 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 > >typedef struct { > long long __max_align1 __aligned(_Alignof(long long)); >#ifndef _STANDALONE > long double __max_align2 __aligned(_Alignof(long double)); >#endif ># 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 >} __max_align_t; > >typedef __uint64_t __dev_t; /* device number */ > >typedef __uint32_t __fixpt_t; /* fixed point number */ > >/* > * mbstate_t is an opaque object to keep conversion state during multibyte > * stream conversions. > */ >typedef union { > char __mbstate8[128]; > __int64_t _mbstateL; /* for alignment */ >} __mbstate_t; > >typedef __uintmax_t __rman_res_t; > >/* > * Types for varargs. These are all provided by builtin types these > * days, so centralize their definition. > */ >#ifdef __GNUCLIKE_BUILTIN_VARARGS >typedef __builtin_va_list __va_list; /* internally known to gcc */ >#else ># 134 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 >#error "No support for your compiler for stdargs" >#endif ># 136 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 >#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ > && !defined(__NO_GNUC_VA_LIST) >#define __GNUC_VA_LIST >typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ >#endif ># 141 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 > >/* > * 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. > */ >#define __INO64 > >#endif /* !_SYS__TYPES_H_ */ ># 150 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4 ># 44 "/usr/src/include/stdio.h" 2 > >__NULLABILITY_PRAGMA_PUSH > >typedef __off_t fpos_t; > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 53 "/usr/src/include/stdio.h" > >#ifndef _RSIZE_T_DEFINED >#define _RSIZE_T_DEFINED >typedef size_t rsize_t; >#endif ># 58 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 200809 >#ifndef _OFF_T_DECLARED >#define _OFF_T_DECLARED >typedef __off_t off_t; >#endif ># 64 "/usr/src/include/stdio.h" >#ifndef _SSIZE_T_DECLARED >#define _SSIZE_T_DECLARED >typedef __ssize_t ssize_t; >#endif ># 68 "/usr/src/include/stdio.h" >#endif ># 69 "/usr/src/include/stdio.h" > >#ifndef _OFF64_T_DECLARED >#define _OFF64_T_DECLARED >typedef __off64_t off64_t; >#endif ># 74 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >#ifndef _VA_LIST_DECLARED >typedef __va_list va_list; >#define _VA_LIST_DECLARED >#endif ># 80 "/usr/src/include/stdio.h" >#endif ># 81 "/usr/src/include/stdio.h" > >#define _FSTDIO /* Define for new stdio with functions. */ > >/* > * NB: to fit things in six character monocase externals, the stdio > * code uses the prefix `__s' for stdio objects, typically followed > * by a three-character attempt at a mnemonic. > */ > >/* stdio buffers */ >struct __sbuf { > unsigned char *_base; > int _size; >}; > >/* > * stdio state variables. > * > * The following always hold: > * > * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), > * _lbfsize is -_bf._size, else _lbfsize is 0 > * if _flags&__SRD, _w is 0 > * if _flags&__SWR, _r is 0 > * > * This ensures that the getc and putc macros (or inline functions) never > * try to write or read from a file that is in `read' or `write' mode. > * (Moreover, they can, and do, automatically switch from read mode to > * write mode, and back, on "r+" and "w+" files.) > * > * _lbfsize is used only to make the inline line-buffered output stream > * code as compact as possible. > * > * _ub, _up, and _ur are used when ungetc() pushes back more characters > * than fit in the current _bf, or when ungetc() pushes back a character > * that does not match the previous one in _bf. When this happens, > * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff > * _ub._base!=NULL) and _up and _ur save the current values of _p and _r. > * > * Certain members of __sFILE are accessed directly via macros or > * inline functions. To preserve ABI compat, these members must not > * be disturbed. These members are marked below with (*). > */ >struct __sFILE { > unsigned char *_p; /* (*) current position in (some) buffer */ > int _r; /* (*) read space left for getc() */ > int _w; /* (*) write space left for putc() */ > short _flags; /* (*) flags, below; this FILE is free if 0 */ > short _file; /* (*) fileno, if Unix descriptor, else -1 */ > struct __sbuf _bf; /* (*) the buffer (at least 1 byte, if !NULL) */ > int _lbfsize; /* (*) 0 or -_bf._size, for inline putc */ > > /* operations */ > void *_cookie; /* (*) cookie passed to io functions */ > int (* _Nullable _close)(void *); > int (* _Nullable _read)(void *, char *, int); > fpos_t (* _Nullable _seek)(void *, fpos_t, int); > int (* _Nullable _write)(void *, const char *, int); > > /* separate buffer for long sequences of ungetc() */ > struct __sbuf _ub; /* ungetc buffer */ > unsigned char *_up; /* saved _p when _p is doing ungetc data */ > int _ur; /* saved _r when _r is counting ungetc data */ > > /* tricks to meet minimum requirements even when malloc() fails */ > unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ > unsigned char _nbuf[1]; /* guarantee a getc() buffer */ > > /* separate buffer for fgetln() when line crosses buffer boundary */ > struct __sbuf _lb; /* buffer for fgetln() */ > > /* Unix stdio files get aligned to block boundaries on fseek() */ > int _blksize; /* stat.st_blksize (may be != _bf._size) */ > fpos_t _offset; /* current lseek offset */ > > struct pthread_mutex *_fl_mutex; /* used for MT-safety */ > struct pthread *_fl_owner; /* current owner */ > int _fl_count; /* recursive lock count */ > int _orientation; /* orientation for fwide() */ > __mbstate_t _mbstate; /* multibyte conversion state */ > int _flags2; /* additional flags */ >}; >#ifndef _STDFILE_DECLARED >#define _STDFILE_DECLARED >typedef struct __sFILE FILE; >#endif ># 167 "/usr/src/include/stdio.h" >#ifndef _STDSTREAM_DECLARED >__BEGIN_DECLS >extern FILE *__stdinp; >extern FILE *__stdoutp; >extern FILE *__stderrp; >__END_DECLS >#define _STDSTREAM_DECLARED >#endif ># 175 "/usr/src/include/stdio.h" > >#define __SLBF 0x0001 /* line buffered */ >#define __SNBF 0x0002 /* unbuffered */ >#define __SRD 0x0004 /* OK to read */ >#define __SWR 0x0008 /* OK to write */ > /* RD and WR are never simultaneously asserted */ >#define __SRW 0x0010 /* open for reading & writing */ >#define __SEOF 0x0020 /* found EOF */ >#define __SERR 0x0040 /* found error */ >#define __SMBF 0x0080 /* _bf._base is from malloc */ >#define __SAPP 0x0100 /* fdopen()ed in append mode */ >#define __SSTR 0x0200 /* this is an sprintf/snprintf string */ >#define __SOPT 0x0400 /* do fseek() optimization */ >#define __SNPT 0x0800 /* do not do fseek() optimization */ >#define __SOFF 0x1000 /* set iff _offset is in fact correct */ >#define __SMOD 0x2000 /* true => fgetln modified _p text */ >#define __SALC 0x4000 /* allocate string space dynamically */ >#define __SIGN 0x8000 /* ignore this file in _fwalk */ > >#define __S2OAP 0x0001 /* O_APPEND mode is set */ > >/* > * The following three definitions are for ANSI C, which took them > * from System V, which brilliantly took internal interface macros and > * made them official arguments to setvbuf(), without renaming them. > * Hence, these ugly _IOxxx names are *supposed* to appear in user code. > * > * Although numbered as their counterparts above, the implementation > * does not rely on this. > */ >#define _IOFBF 0 /* setvbuf should set fully buffered */ >#define _IOLBF 1 /* setvbuf should set line buffered */ >#define _IONBF 2 /* setvbuf should set unbuffered */ > >#define BUFSIZ 1024 /* size of buffer used by setbuf */ >#define EOF (-1) > >/* > * FOPEN_MAX is a minimum maximum, and is the number of streams that > * stdio can provide without attempting to allocate further resources > * (which could fail). Do not use this for anything. > */ > /* must be == _POSIX_STREAM_MAX <limits.h> */ >#ifndef FOPEN_MAX >#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */ >#endif ># 221 "/usr/src/include/stdio.h" >#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */ > >/* System V/ANSI C; this is the wrong way to do this, do *not* use these. */ >#if __XSI_VISIBLE >#define P_tmpdir "/tmp/" >#endif ># 227 "/usr/src/include/stdio.h" >#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ >#define TMP_MAX 308915776 > >#ifndef SEEK_SET >#define SEEK_SET 0 /* set file offset to offset */ >#endif ># 233 "/usr/src/include/stdio.h" >#ifndef SEEK_CUR >#define SEEK_CUR 1 /* set file offset to current plus offset */ >#endif ># 236 "/usr/src/include/stdio.h" >#ifndef SEEK_END >#define SEEK_END 2 /* set file offset to EOF plus offset */ >#endif ># 239 "/usr/src/include/stdio.h" > >#define stdin __stdinp >#define stdout __stdoutp >#define stderr __stderrp > >__BEGIN_DECLS >#ifdef _XLOCALE_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_stdio.h> >#endif /* expanded by -frewrite-includes */ ># 246 "/usr/src/include/stdio.h" ># 247 "/usr/src/include/stdio.h" >#endif ># 248 "/usr/src/include/stdio.h" >/* > * Functions defined in ANSI C standard. > */ >void clearerr(FILE *); >int fclose(FILE *); >int feof(FILE *); >int ferror(FILE *); >int fflush(FILE *); >int fgetc(FILE *); >int fgetpos(FILE * __restrict, fpos_t * __restrict); >char *fgets(char * __restrict, int, FILE * __restrict); >FILE *fopen(const char * __restrict, const char * __restrict); >int fprintf(FILE * __restrict, const char * __restrict, ...); >int fputc(int, FILE *); >int fputs(const char * __restrict, FILE * __restrict); >size_t fread(void * __restrict, size_t, size_t, FILE * __restrict); >FILE *freopen(const char * __restrict, const char * __restrict, FILE * __restrict); >int fscanf(FILE * __restrict, const char * __restrict, ...); >int fseek(FILE *, long, int); >int fsetpos(FILE *, const fpos_t *); >long ftell(FILE *); >size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict); >int getc(FILE *); >int getchar(void); >char *gets(char *); >#if __EXT1_VISIBLE >char *gets_s(char *, rsize_t); >#endif ># 276 "/usr/src/include/stdio.h" >void perror(const char *); >int printf(const char * __restrict, ...); >int putc(int, FILE *); >int putchar(int); >int puts(const char *); >int remove(const char *); >int rename(const char *, const char *); >void rewind(FILE *); >int scanf(const char * __restrict, ...); >void setbuf(FILE * __restrict, char * __restrict); >int setvbuf(FILE * __restrict, char * __restrict, int, size_t); >int sprintf(char * __restrict, const char * __restrict, ...); >int sscanf(const char * __restrict, const char * __restrict, ...); >FILE *tmpfile(void); >char *tmpnam(char *); >int ungetc(int, FILE *); >int vfprintf(FILE * __restrict, const char * __restrict, > __va_list); >int vprintf(const char * __restrict, __va_list); >int vsprintf(char * __restrict, const char * __restrict, > __va_list); > >#if __ISO_C_VISIBLE >= 1999 >int snprintf(char * __restrict, size_t, const char * __restrict, > ...) __printflike(3, 4); >int vfscanf(FILE * __restrict, const char * __restrict, __va_list) > __scanflike(2, 0); >int vscanf(const char * __restrict, __va_list) __scanflike(1, 0); >int vsnprintf(char * __restrict, size_t, const char * __restrict, > __va_list) __printflike(3, 0); >int vsscanf(const char * __restrict, const char * __restrict, __va_list) > __scanflike(2, 0); >#endif ># 309 "/usr/src/include/stdio.h" > >/* > * Functions defined in all versions of POSIX 1003.1. > */ >#if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE <= 199506) >#define L_cuserid 17 /* size for cuserid(3); MAXLOGNAME, legacy */ >#endif ># 316 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >#define L_ctermid 1024 /* size for ctermid(3); PATH_MAX */ > >char *ctermid(char *); >FILE *fdopen(int, const char *); >int fileno(FILE *); >#endif /* __POSIX_VISIBLE */ ># 324 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 199209 >int pclose(FILE *); >FILE *popen(const char *, const char *); >#endif ># 329 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 199506 >int ftrylockfile(FILE *); >void flockfile(FILE *); >void funlockfile(FILE *); > >/* > * These are normally used through macros as defined below, but POSIX > * requires functions as well. > */ >int getc_unlocked(FILE *); >int getchar_unlocked(void); >int putc_unlocked(int, FILE *); >int putchar_unlocked(int); >#endif ># 344 "/usr/src/include/stdio.h" >#if __BSD_VISIBLE >void clearerr_unlocked(FILE *); >int feof_unlocked(FILE *); >int ferror_unlocked(FILE *); >int fileno_unlocked(FILE *); >#endif ># 350 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 500 >int fseeko(FILE *, __off_t, int); >__off_t ftello(FILE *); >#endif ># 355 "/usr/src/include/stdio.h" > >#if __BSD_VISIBLE || __XSI_VISIBLE > 0 && __XSI_VISIBLE < 600 >int getw(FILE *); >int putw(int, FILE *); >#endif /* BSD or X/Open before issue 6 */ ># 360 "/usr/src/include/stdio.h" > >#if __XSI_VISIBLE >char *tempnam(const char *, const char *); >#endif ># 364 "/usr/src/include/stdio.h" > >#if __POSIX_VISIBLE >= 200809 >FILE *fmemopen(void * __restrict, size_t, const char * __restrict); >ssize_t getdelim(char ** __restrict, size_t * __restrict, int, > FILE * __restrict); >FILE *open_memstream(char **, size_t *); >int renameat(int, const char *, int, const char *); >int vdprintf(int, const char * __restrict, __va_list) __printflike(2, 0); >/* _WITH_GETLINE to allow pre 11 sources to build on 11+ systems */ >ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict); >int dprintf(int, const char * __restrict, ...) __printflike(2, 3); >#endif /* __POSIX_VISIBLE >= 200809 */ ># 376 "/usr/src/include/stdio.h" > >/* > * Routines that are purely local. > */ >#if __BSD_VISIBLE >int asprintf(char **, const char *, ...) __printflike(2, 3); >char *ctermid_r(char *); >void fcloseall(void); >int fdclose(FILE *, int *); >char *fgetln(FILE *, size_t *); >const char *fmtcheck(const char *, const char *) __format_arg(2); >int fpurge(FILE *); >void setbuffer(FILE *, char *, int); >int setlinebuf(FILE *); >int vasprintf(char **, const char *, __va_list) > __printflike(2, 0); > >/* > * The system error table contains messages for the first sys_nerr > * positive errno values. Use strerror() or strerror_r() from <string.h> > * instead. > */ >extern const int sys_nerr; >extern const char * const sys_errlist[]; > >/* > * Stdio function-access interface. > */ >FILE *funopen(const void *, > int (* _Nullable)(void *, char *, int), > int (* _Nullable)(void *, const char *, int), > fpos_t (* _Nullable)(void *, fpos_t, int), > int (* _Nullable)(void *)); >#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) >#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) > >typedef __ssize_t cookie_read_function_t(void *, char *, size_t); >typedef __ssize_t cookie_write_function_t(void *, const char *, size_t); >typedef int cookie_seek_function_t(void *, off64_t *, int); >typedef int cookie_close_function_t(void *); >typedef struct { > cookie_read_function_t *read; > cookie_write_function_t *write; > cookie_seek_function_t *seek; > cookie_close_function_t *close; >} cookie_io_functions_t; >FILE *fopencookie(void *, const char *, cookie_io_functions_t); > >/* > * Portability hacks. See <sys/types.h>. > */ >#ifndef _FTRUNCATE_DECLARED >#define _FTRUNCATE_DECLARED >int ftruncate(int, __off_t); >#endif ># 431 "/usr/src/include/stdio.h" >#ifndef _LSEEK_DECLARED >#define _LSEEK_DECLARED >__off_t lseek(int, __off_t, int); >#endif ># 435 "/usr/src/include/stdio.h" >#ifndef _MMAP_DECLARED >#define _MMAP_DECLARED >void *mmap(void *, size_t, int, int, int, __off_t); >#endif ># 439 "/usr/src/include/stdio.h" >#ifndef _TRUNCATE_DECLARED >#define _TRUNCATE_DECLARED >int truncate(const char *, __off_t); >#endif ># 443 "/usr/src/include/stdio.h" >#endif /* __BSD_VISIBLE */ ># 444 "/usr/src/include/stdio.h" > >/* > * Functions internal to the implementation. > */ >int __srget(FILE *); >int __swbuf(int, FILE *); > >/* > * The __sfoo macros are here so that we can > * define function versions in the C library. > */ >#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) >#if defined(__GNUC__) && defined(__STDC__) >static __inline int __sputc(int _c, FILE *_p) { > if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) > return (*_p->_p++ = _c); > else > return (__swbuf(_c, _p)); >} >#else ># 464 "/usr/src/include/stdio.h" >/* > * This has been tuned to generate reasonable code on the vax using pcc. > */ >#define __sputc(c, p) \ > (--(p)->_w < 0 ? \ > (p)->_w >= (p)->_lbfsize ? \ > (*(p)->_p = (c)), *(p)->_p != '\n' ? \ > (int)*(p)->_p++ : \ > __swbuf('\n', p) : \ > __swbuf((int)(c), p) : \ > (*(p)->_p = (c), (int)*(p)->_p++)) >#endif ># 476 "/usr/src/include/stdio.h" > >#ifndef __LIBC_ISTHREADED_DECLARED >#define __LIBC_ISTHREADED_DECLARED >extern int __isthreaded; >#endif ># 481 "/usr/src/include/stdio.h" > >#ifndef __cplusplus > >#define __sfeof(p) (((p)->_flags & __SEOF) != 0) >#define __sferror(p) (((p)->_flags & __SERR) != 0) >#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) >#define __sfileno(p) ((p)->_file) > > >#define feof(p) (!__isthreaded ? __sfeof(p) : (feof)(p)) >#define ferror(p) (!__isthreaded ? __sferror(p) : (ferror)(p)) >#define clearerr(p) (!__isthreaded ? __sclearerr(p) : (clearerr)(p)) > >#if __POSIX_VISIBLE >#define fileno(p) (!__isthreaded ? __sfileno(p) : (fileno)(p)) >#endif ># 497 "/usr/src/include/stdio.h" > >#define getc(fp) (!__isthreaded ? __sgetc(fp) : (getc)(fp)) >#define putc(x, fp) (!__isthreaded ? __sputc(x, fp) : (putc)(x, fp)) > >#define getchar() getc(stdin) >#define putchar(x) putc(x, stdout) > >#if __BSD_VISIBLE >/* > * See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12 > * B.8.2.7 for the rationale behind the *_unlocked() macros. > */ >#define feof_unlocked(p) __sfeof(p) >#define ferror_unlocked(p) __sferror(p) >#define clearerr_unlocked(p) __sclearerr(p) >#define fileno_unlocked(p) __sfileno(p) >#endif ># 514 "/usr/src/include/stdio.h" >#if __POSIX_VISIBLE >= 199506 >#define getc_unlocked(fp) __sgetc(fp) >#define putc_unlocked(x, fp) __sputc(x, fp) > >#define getchar_unlocked() getc_unlocked(stdin) >#define putchar_unlocked(x) putc_unlocked(x, stdout) >#endif ># 521 "/usr/src/include/stdio.h" >#endif /* __cplusplus */ ># 522 "/usr/src/include/stdio.h" > >__END_DECLS >__NULLABILITY_PRAGMA_POP > >#endif /* !_STDIO_H_ */ ># 527 "/usr/src/include/stdio.h" ># 47 "/usr/src/lib/libc/stdio/sprintf.c" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <stdarg.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdarg.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-2-Clause > * > * Copyright (c) 2017 Poul-Henning Kamp. 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: head/sys/arm64/include/stdarg.h 327182 2017-12-25 20:54:00Z phk $ > */ > >#ifndef _MACHINE_STDARG_H_ >#define _MACHINE_STDARG_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_stdarg.h> >#endif /* expanded by -frewrite-includes */ ># 33 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdarg.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 2002 David E. O'Brien. 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 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: head/sys/sys/_stdarg.h 333310 2018-05-06 21:22:46Z phk $ > */ > >#ifndef _SYS__STDARG_H_ >#define _SYS__STDARG_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 > >#ifndef _VA_LIST_DECLARED > #define _VA_LIST_DECLARED > typedef __va_list va_list; >#endif ># 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 > >#ifdef __GNUCLIKE_BUILTIN_STDARG > #define va_start(ap, last) __builtin_va_start((ap), (last)) > #define va_arg(ap, type) __builtin_va_arg((ap), type) > #define __va_copy(dest, src) __builtin_va_copy((dest), (src)) > #if __ISO_C_VISIBLE >= 1999 > #define va_copy(dest, src) __va_copy(dest, src) > #endif ># 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 > #define va_end(ap) __builtin_va_end(ap) >#endif ># 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 > >#endif /* ! _SYS__STDARG_H_ */ ># 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdarg.h" 3 4 > ># 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdarg.h" 2 3 4 > >#ifndef va_start > #error this file needs to be ported to your compiler >#endif ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdarg.h" 3 4 > >#endif /* !_MACHINE_STDARG_H_ */ ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdarg.h" 3 4 ># 48 "/usr/src/lib/libc/stdio/sprintf.c" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <limits.h> >#endif /* expanded by -frewrite-includes */ ># 48 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/src/include/limits.h" 1 >/*- > * 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.2 (Berkeley) 1/4/94 > * $FreeBSD: head/include/limits.h 339184 2018-10-04 21:55:58Z brooks $ > */ > >#ifndef _LIMITS_H_ >#define _LIMITS_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/src/include/limits.h" ># 39 "/usr/src/include/limits.h" > >#if __POSIX_VISIBLE >#define _POSIX_ARG_MAX 4096 >#define _POSIX_LINK_MAX 8 >#define _POSIX_MAX_CANON 255 >#define _POSIX_MAX_INPUT 255 >#define _POSIX_NAME_MAX 14 >#define _POSIX_PIPE_BUF 512 >#define _POSIX_SSIZE_MAX 32767 >#define _POSIX_STREAM_MAX 8 > >#if __POSIX_VISIBLE >= 200112 >#define _POSIX_CHILD_MAX 25 >#define _POSIX_NGROUPS_MAX 8 >#define _POSIX_OPEN_MAX 20 >#define _POSIX_PATH_MAX 256 >#define _POSIX_TZNAME_MAX 6 >#else ># 57 "/usr/src/include/limits.h" >#define _POSIX_CHILD_MAX 6 >#define _POSIX_NGROUPS_MAX 0 >#define _POSIX_OPEN_MAX 16 >#define _POSIX_PATH_MAX 255 >#define _POSIX_TZNAME_MAX 3 >#endif ># 63 "/usr/src/include/limits.h" > >#if __POSIX_VISIBLE >= 200112 >#define BC_BASE_MAX 99 /* max ibase/obase values in bc(1) */ >#define BC_DIM_MAX 2048 /* max array elements in bc(1) */ >#define BC_SCALE_MAX 99 /* max scale value in bc(1) */ >#define BC_STRING_MAX 1000 /* max const string length in bc(1) */ >#define CHARCLASS_NAME_MAX 14 /* max character class name size */ >#define COLL_WEIGHTS_MAX 10 /* max weights for order keyword */ >#define EXPR_NEST_MAX 32 /* max expressions nested in expr(1) */ >#define LINE_MAX 2048 /* max bytes in an input line */ >#define RE_DUP_MAX 255 /* max RE's in interval notation */ > >#define _POSIX2_BC_BASE_MAX 99 >#define _POSIX2_BC_DIM_MAX 2048 >#define _POSIX2_BC_SCALE_MAX 99 >#define _POSIX2_BC_STRING_MAX 1000 >#define _POSIX2_CHARCLASS_NAME_MAX 14 >#define _POSIX2_COLL_WEIGHTS_MAX 2 >#define _POSIX2_EQUIV_CLASS_MAX 2 >#define _POSIX2_EXPR_NEST_MAX 32 >#define _POSIX2_LINE_MAX 2048 >#define _POSIX2_RE_DUP_MAX 255 >#endif ># 86 "/usr/src/include/limits.h" >#endif ># 87 "/usr/src/include/limits.h" > >#if __POSIX_VISIBLE >= 199309 >#define _POSIX_AIO_LISTIO_MAX 2 >#define _POSIX_AIO_MAX 1 >#define _POSIX_DELAYTIMER_MAX 32 >#define _POSIX_MQ_OPEN_MAX 8 >#define _POSIX_MQ_PRIO_MAX 32 >#define _POSIX_RTSIG_MAX 8 >#define _POSIX_SEM_NSEMS_MAX 256 >#define _POSIX_SEM_VALUE_MAX 32767 >#define _POSIX_SIGQUEUE_MAX 32 >#define _POSIX_TIMER_MAX 32 > >#define _POSIX_CLOCKRES_MIN 20000000 >#endif ># 102 "/usr/src/include/limits.h" > >#if __POSIX_VISIBLE >= 199506 >#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 >#define _POSIX_THREAD_KEYS_MAX 128 >#define _POSIX_THREAD_THREADS_MAX 64 >#endif ># 108 "/usr/src/include/limits.h" > >#if __POSIX_VISIBLE >= 200112 >#define _POSIX_HOST_NAME_MAX 255 >#define _POSIX_LOGIN_NAME_MAX 9 >#define _POSIX_SS_REPL_MAX 4 >#define _POSIX_SYMLINK_MAX 255 >#define _POSIX_SYMLOOP_MAX 8 >#define _POSIX_TRACE_EVENT_NAME_MAX 30 >#define _POSIX_TRACE_NAME_MAX 8 >#define _POSIX_TRACE_SYS_MAX 8 >#define _POSIX_TRACE_USER_EVENT_MAX 32 >#define _POSIX_TTY_NAME_MAX 9 > >#define _POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAX >#endif ># 123 "/usr/src/include/limits.h" > >#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 >#define NL_ARGMAX 4096 /* max # of position args for printf */ >#define NL_MSGMAX 32767 >#define NL_SETMAX 255 >#define NL_TEXTMAX 2048 >#endif ># 130 "/usr/src/include/limits.h" > >#if __XSI_VISIBLE >#define _XOPEN_IOV_MAX 16 >#define _XOPEN_NAME_MAX 255 >#define _XOPEN_PATH_MAX 1024 >#define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */ > >#define NL_LANGMAX 31 /* max LANG name length */ >#define NL_NMAX 1 >#endif ># 140 "/usr/src/include/limits.h" > >#define MB_LEN_MAX 6 /* 31-bit UTF-8 */ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/limits.h> >#endif /* expanded by -frewrite-includes */ ># 143 "/usr/src/include/limits.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 1 3 4 >/*- > * 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. > * > * $FreeBSD: head/sys/sys/limits.h 326023 2017-11-20 19:43:44Z pfg $ > */ > >#ifndef _SYS_LIMITS_H_ >#define _SYS_LIMITS_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_limits.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_limits.h" 1 3 4 >/*- > * 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. > * > * 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: head/sys/arm64/include/_limits.h 280364 2015-03-23 11:54:56Z andrew $ > */ > >#ifndef _MACHINE__LIMITS_H_ >#define _MACHINE__LIMITS_H_ > >/* > * 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). > */ > >#define __CHAR_BIT 8 /* number of bits in a char */ > >#define __SCHAR_MAX 0x7f /* max value for a signed char */ >#define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */ > >#define __UCHAR_MAX 0xff /* max value for an unsigned char */ > >#define __USHRT_MAX 0xffff /* max value for an unsigned short */ >#define __SHRT_MAX 0x7fff /* max value for a short */ >#define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ > >#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ >#define __INT_MAX 0x7fffffff /* max value for an int */ >#define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ > >#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ >#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ >#define __LONG_MIN (-0x7fffffffffffffffL - 1) /* min for a long */ > >/* Long longs have the same size but not the same type as longs. */ > /* max for an unsigned long long */ >#define __ULLONG_MAX 0xffffffffffffffffULL >#define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ >#define __LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */ > >#define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */ > >#define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */ > >#define __OFF_MAX __LONG_MAX /* max value for an off_t */ >#define __OFF_MIN __LONG_MIN /* min value for an off_t */ > >/* Quads and longs are the same size. Ensure they stay in sync. */ >#define __UQUAD_MAX (__ULONG_MAX) /* max value for a uquad_t */ >#define __QUAD_MAX (__LONG_MAX) /* max value for a quad_t */ >#define __QUAD_MIN (__LONG_MIN) /* min value for a quad_t */ > >#define __LONG_BIT 64 >#define __WORD_BIT 32 > >/* Minimum signal stack size. */ >#define __MINSIGSTKSZ (1024 * 4) > >#endif /* !_MACHINE__LIMITS_H_ */ ># 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_limits.h" 3 4 ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 2 3 4 > >#define CHAR_BIT __CHAR_BIT /* number of bits in a char */ > >#define SCHAR_MAX __SCHAR_MAX /* max value for a signed char */ >#define SCHAR_MIN __SCHAR_MIN /* min value for a signed char */ > >#define UCHAR_MAX __UCHAR_MAX /* max value for an unsigned char */ > >#ifdef __CHAR_UNSIGNED__ >#define CHAR_MAX UCHAR_MAX /* max value for a char */ >#define CHAR_MIN 0 /* min value for a char */ >#else ># 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 >#define CHAR_MAX SCHAR_MAX >#define CHAR_MIN SCHAR_MIN >#endif ># 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#define USHRT_MAX __USHRT_MAX /* max value for an unsigned short */ >#define SHRT_MAX __SHRT_MAX /* max value for a short */ >#define SHRT_MIN __SHRT_MIN /* min value for a short */ > >#define UINT_MAX __UINT_MAX /* max value for an unsigned int */ >#define INT_MAX __INT_MAX /* max value for an int */ >#define INT_MIN __INT_MIN /* min value for an int */ > >#define ULONG_MAX __ULONG_MAX /* max for an unsigned long */ >#define LONG_MAX __LONG_MAX /* max for a long */ >#define LONG_MIN __LONG_MIN /* min for a long */ > >#ifdef __LONG_LONG_SUPPORTED >#define ULLONG_MAX __ULLONG_MAX /* max for an unsigned long long */ >#define LLONG_MAX __LLONG_MAX /* max for a long long */ >#define LLONG_MIN __LLONG_MIN /* min for a long long */ >#endif ># 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#if __POSIX_VISIBLE || __XSI_VISIBLE >#define SSIZE_MAX __SSIZE_MAX /* max value for an ssize_t */ >#endif ># 76 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >#define SIZE_T_MAX __SIZE_T_MAX /* max value for a size_t */ > >#define OFF_MAX __OFF_MAX /* max value for an off_t */ >#define OFF_MIN __OFF_MIN /* min value for an off_t */ >#endif ># 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#if __BSD_VISIBLE >#define GID_MAX UINT_MAX /* max value for a gid_t */ >#define UID_MAX UINT_MAX /* max value for a uid_t */ > >#define UQUAD_MAX (__UQUAD_MAX) /* max value for a uquad_t */ >#define QUAD_MAX (__QUAD_MAX) /* max value for a quad_t */ >#define QUAD_MIN (__QUAD_MIN) /* min value for a quad_t */ >#endif ># 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 >#define LONG_BIT __LONG_BIT >#define WORD_BIT __WORD_BIT >#endif ># 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#if __POSIX_VISIBLE >#define MQ_PRIO_MAX 64 >#endif ># 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 > >#endif /* !_SYS_LIMITS_H_ */ ># 103 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4 ># 144 "/usr/src/include/limits.h" 2 > >#if __POSIX_VISIBLE >#if 0 /* expanded by -frewrite-includes */ >#include <sys/syslimits.h> >#endif /* expanded by -frewrite-includes */ ># 146 "/usr/src/include/limits.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 1 3 4 >/*- > * 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. > * > * @(#)syslimits.h 8.1 (Berkeley) 6/2/93 > * $FreeBSD: head/sys/sys/syslimits.h 327598 2018-01-05 22:26:23Z jhb $ > */ > >#ifndef _SYS_SYSLIMITS_H_ >#define _SYS_SYSLIMITS_H_ > >#if !defined(_STANDALONE) && !defined(_KERNEL) && !defined(_LIMITS_H_) && !defined(_SYS_PARAM_H_) >#ifndef _SYS_CDEFS_H_ >#error this file needs sys/cdefs.h as a prerequisite >#endif ># 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 >#ifdef __CC_SUPPORTS_WARNING >#warning "No user-serviceable parts inside." >#endif ># 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 >#endif ># 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 > >/* > * Do not add any new variables here. (See the comment at the end of > * the file for why.) > */ >#define ARG_MAX 262144 /* max bytes for an exec function */ >#ifndef CHILD_MAX >#define CHILD_MAX 40 /* max simultaneous processes */ >#endif ># 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 >#define MAX_CANON 255 /* max bytes in term canon input line */ >#define MAX_INPUT 255 /* max bytes in terminal input */ >#define NAME_MAX 255 /* max bytes in a file name */ >#ifndef NGROUPS_MAX >#define NGROUPS_MAX 1023 /* max supplemental group id's */ >#endif ># 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 >#ifndef OPEN_MAX >#define OPEN_MAX 64 /* max open files per process */ >#endif ># 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 >#define PATH_MAX 1024 /* max bytes in pathname */ >#define PIPE_BUF 512 /* max bytes for atomic pipe writes */ >#define IOV_MAX 1024 /* max elements in i/o vector */ > >/* > * We leave the following values undefined to force applications to either > * assume conservative values or call sysconf() to get the current value. > * > * HOST_NAME_MAX > * > * (We should do this for most of the values currently defined here, > * but many programs are not prepared to deal with this yet.) > */ >#endif ># 78 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4 ># 147 "/usr/src/include/limits.h" 2 >#endif ># 148 "/usr/src/include/limits.h" > >#endif /* !_LIMITS_H_ */ ># 150 "/usr/src/include/limits.h" ># 49 "/usr/src/lib/libc/stdio/sprintf.c" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "local.h" >#endif /* expanded by -frewrite-includes */ ># 49 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/src/lib/libc/stdio/local.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1990, 1993 > * The Regents of the University of California. All rights reserved. > * > * This code is derived from software contributed to Berkeley by > * Chris Torek. > * > * Copyright (c) 2011 The FreeBSD Foundation > * All rights reserved. > * Portions of this software were 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. > * 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. > * > * @(#)local.h 8.3 (Berkeley) 7/3/94 > * $FreeBSD: head/lib/libc/stdio/local.h 326025 2017-11-20 19:49:47Z pfg $ > */ > >#ifndef _STDIO_LOCAL_H >#define _STDIO_LOCAL_H > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/types.h> /* for off_t */ >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/src/lib/libc/stdio/local.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1982, 1986, 1991, 1993, 1994 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, 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. > * > * @(#)types.h 8.6 (Berkeley) 2/19/95 > * $FreeBSD: head/sys/sys/types.h 341398 2018-12-02 13:16:46Z kib $ > */ > >#ifndef _SYS_TYPES_H_ >#define _SYS_TYPES_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >/* Machine type dependent parameters. */ >#if 0 /* expanded by -frewrite-includes */ >#include <machine/endian.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 1 3 4 >/*- > * Copyright (c) 2001 David E. O'Brien > * > * 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. > * > * @(#)endian.h 8.1 (Berkeley) 6/10/93 > * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ > * $FreeBSD: head/sys/arm64/include/endian.h 320411 2017-06-27 16:30:01Z andrew $ > */ > >#ifndef _MACHINE_ENDIAN_H_ >#define _MACHINE_ENDIAN_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 > >/* > * Definitions for byte order, according to byte significance from low > * address to high. > */ >#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ >#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ >#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ > >#define _BYTE_ORDER _LITTLE_ENDIAN > >#if __BSD_VISIBLE >#define LITTLE_ENDIAN _LITTLE_ENDIAN >#define BIG_ENDIAN _BIG_ENDIAN >#define PDP_ENDIAN _PDP_ENDIAN >#define BYTE_ORDER _BYTE_ORDER >#endif ># 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 > >#define _QUAD_HIGHWORD 1 >#define _QUAD_LOWWORD 0 >#define __ntohl(x) (__bswap32(x)) >#define __ntohs(x) (__bswap16(x)) >#define __htonl(x) (__bswap32(x)) >#define __htons(x) (__bswap16(x)) > >static __inline __uint64_t >__bswap64(__uint64_t x) >{ > __uint64_t ret; > > __asm __volatile("rev %0, %1\n" > : "=&r" (ret), "+r" (x)); > > return (ret); >} > >static __inline __uint32_t >__bswap32_var(__uint32_t v) >{ > __uint32_t ret; > > __asm __volatile("rev32 %x0, %x1\n" > : "=&r" (ret), "+r" (v)); > > return (ret); >} > >static __inline __uint16_t >__bswap16_var(__uint16_t v) >{ > __uint32_t ret; > > __asm __volatile("rev16 %w0, %w1\n" > : "=&r" (ret), "+r" (v)); > > return ((__uint16_t)ret); >} > >#ifdef __OPTIMIZE__ > >#define __bswap32_constant(x) \ > ((((x) & 0xff000000U) >> 24) | \ > (((x) & 0x00ff0000U) >> 8) | \ > (((x) & 0x0000ff00U) << 8) | \ > (((x) & 0x000000ffU) << 24)) > >#define __bswap16_constant(x) \ > ((((x) & 0xff00) >> 8) | \ > (((x) & 0x00ff) << 8)) > >#define __bswap16(x) \ > ((__uint16_t)(__builtin_constant_p(x) ? \ > __bswap16_constant((__uint16_t)(x)) : \ > __bswap16_var(x))) > >#define __bswap32(x) \ > ((__uint32_t)(__builtin_constant_p(x) ? \ > __bswap32_constant((__uint32_t)(x)) : \ > __bswap32_var(x))) > >#else ># 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 >#define __bswap16(x) __bswap16_var(x) >#define __bswap32(x) __bswap32_var(x) > >#endif /* __OPTIMIZE__ */ ># 122 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 >#endif /* !_MACHINE_ENDIAN_H_ */ ># 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4 ># 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_pthreadtypes.h> >#endif /* expanded by -frewrite-includes */ ># 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_pthreadtypes.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1993, 1994 by Chris Provenzano, proven@mit.edu > * Copyright (c) 1995-1998 by John Birrell <jb@cimlogic.com.au> > * 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 Chris Provenzano. > * 4. The name of Chris Provenzano may not be used to endorse or promote > * products derived from this software without specific prior written > * permission. > * > * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO ``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 CHRIS PROVENZANO 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: head/sys/sys/_pthreadtypes.h 326256 2017-11-27 15:01:59Z pfg $ > */ > >#ifndef _SYS__PTHREADTYPES_H_ >#define _SYS__PTHREADTYPES_H_ > >/* > * Forward structure definitions. > * > * These are mostly opaque to the user. > */ >struct pthread; >struct pthread_attr; >struct pthread_cond; >struct pthread_cond_attr; >struct pthread_mutex; >struct pthread_mutex_attr; >struct pthread_once; >struct pthread_rwlock; >struct pthread_rwlockattr; >struct pthread_barrier; >struct pthread_barrier_attr; >struct pthread_spinlock; > >/* > * Primitive system data type definitions required by P1003.1c. > * > * Note that P1003.1c specifies that there are no defined comparison > * or assignment operators for the types pthread_attr_t, pthread_cond_t, > * pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t. > */ >#ifndef _PTHREAD_T_DECLARED >typedef struct pthread *pthread_t; >#define _PTHREAD_T_DECLARED >#endif ># 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_pthreadtypes.h" 3 4 >typedef struct pthread_attr *pthread_attr_t; >typedef struct pthread_mutex *pthread_mutex_t; >typedef struct pthread_mutex_attr *pthread_mutexattr_t; >typedef struct pthread_cond *pthread_cond_t; >typedef struct pthread_cond_attr *pthread_condattr_t; >typedef int pthread_key_t; >typedef struct pthread_once pthread_once_t; >typedef struct pthread_rwlock *pthread_rwlock_t; >typedef struct pthread_rwlockattr *pthread_rwlockattr_t; >typedef struct pthread_barrier *pthread_barrier_t; >typedef struct pthread_barrierattr *pthread_barrierattr_t; >typedef struct pthread_spinlock *pthread_spinlock_t; > >/* > * Additional type definitions: > * > * Note that P1003.1c reserves the prefixes pthread_ and PTHREAD_ for > * use in header symbols. > */ >typedef void *pthread_addr_t; >typedef void *(*pthread_startroutine_t)(void *); > >/* > * Once definitions. > */ >struct pthread_once { > int state; > pthread_mutex_t mutex; >}; > >#endif /* ! _SYS__PTHREADTYPES_H_ */ ># 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_pthreadtypes.h" 3 4 ># 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4 > >#if __BSD_VISIBLE >typedef unsigned char u_char; >typedef unsigned short u_short; >typedef unsigned int u_int; >typedef unsigned long u_long; >#ifndef _KERNEL >typedef unsigned short ushort; /* Sys V compatibility */ >typedef unsigned int uint; /* Sys V compatibility */ >#endif ># 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >#endif ># 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >/* > * XXX POSIX sized integrals that should appear only in <sys/stdint.h>. > */ >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011 David E. O'Brien <obrien@FreeBSD.org> > * Copyright (c) 2001 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: head/sys/sys/_stdint.h 326256 2017-11-27 15:01:59Z pfg $ > */ > >#ifndef _SYS__STDINT_H_ >#define _SYS__STDINT_H_ > >#ifndef _INT8_T_DECLARED >typedef __int8_t int8_t; >#define _INT8_T_DECLARED >#endif ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT16_T_DECLARED >typedef __int16_t int16_t; >#define _INT16_T_DECLARED >#endif ># 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT32_T_DECLARED >typedef __int32_t int32_t; >#define _INT32_T_DECLARED >#endif ># 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INT64_T_DECLARED >typedef __int64_t int64_t; >#define _INT64_T_DECLARED >#endif ># 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT8_T_DECLARED >typedef __uint8_t uint8_t; >#define _UINT8_T_DECLARED >#endif ># 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT16_T_DECLARED >typedef __uint16_t uint16_t; >#define _UINT16_T_DECLARED >#endif ># 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT32_T_DECLARED >typedef __uint32_t uint32_t; >#define _UINT32_T_DECLARED >#endif ># 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _UINT64_T_DECLARED >typedef __uint64_t uint64_t; >#define _UINT64_T_DECLARED >#endif ># 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#ifndef _INTPTR_T_DECLARED >typedef __intptr_t intptr_t; >#define _INTPTR_T_DECLARED >#endif ># 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 >#ifndef _UINTPTR_T_DECLARED >typedef __uintptr_t uintptr_t; >#define _UINTPTR_T_DECLARED >#endif ># 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 >#ifndef _INTMAX_T_DECLARED >typedef __intmax_t intmax_t; >#define _INTMAX_T_DECLARED >#endif ># 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 >#ifndef _UINTMAX_T_DECLARED >typedef __uintmax_t uintmax_t; >#define _UINTMAX_T_DECLARED >#endif ># 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 > >#endif /* !_SYS__STDINT_H_ */ ># 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4 ># 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4 > >typedef __uint8_t u_int8_t; /* unsigned integrals (deprecated) */ >typedef __uint16_t u_int16_t; >typedef __uint32_t u_int32_t; >typedef __uint64_t u_int64_t; > >typedef __uint64_t u_quad_t; /* quads (deprecated) */ >typedef __int64_t quad_t; >typedef quad_t * qaddr_t; > >typedef char * caddr_t; /* core address */ >typedef const char * c_caddr_t; /* core address, pointer to const */ > >#ifndef _BLKSIZE_T_DECLARED >typedef __blksize_t blksize_t; >#define _BLKSIZE_T_DECLARED >#endif ># 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __cpuwhich_t cpuwhich_t; >typedef __cpulevel_t cpulevel_t; >typedef __cpusetid_t cpusetid_t; > >#ifndef _BLKCNT_T_DECLARED >typedef __blkcnt_t blkcnt_t; >#define _BLKCNT_T_DECLARED >#endif ># 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _CLOCK_T_DECLARED >typedef __clock_t clock_t; >#define _CLOCK_T_DECLARED >#endif ># 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _CLOCKID_T_DECLARED >typedef __clockid_t clockid_t; >#define _CLOCKID_T_DECLARED >#endif ># 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __critical_t critical_t; /* Critical section value */ >typedef __int64_t daddr_t; /* disk address */ > >#ifndef _DEV_T_DECLARED >typedef __dev_t dev_t; /* device number or struct cdev */ >#define _DEV_T_DECLARED >#endif ># 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _FFLAGS_T_DECLARED >typedef __fflags_t fflags_t; /* file flags */ >#define _FFLAGS_T_DECLARED >#endif ># 115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __fixpt_t fixpt_t; /* fixed point number */ > >#ifndef _FSBLKCNT_T_DECLARED /* for statvfs() */ >typedef __fsblkcnt_t fsblkcnt_t; >typedef __fsfilcnt_t fsfilcnt_t; >#define _FSBLKCNT_T_DECLARED >#endif ># 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _GID_T_DECLARED >typedef __gid_t gid_t; /* group id */ >#define _GID_T_DECLARED >#endif ># 128 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _IN_ADDR_T_DECLARED >typedef __uint32_t in_addr_t; /* base type for internet address */ >#define _IN_ADDR_T_DECLARED >#endif ># 133 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _IN_PORT_T_DECLARED >typedef __uint16_t in_port_t; >#define _IN_PORT_T_DECLARED >#endif ># 138 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _ID_T_DECLARED >typedef __id_t id_t; /* can hold a uid_t or pid_t */ >#define _ID_T_DECLARED >#endif ># 143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _INO_T_DECLARED >typedef __ino_t ino_t; /* inode number */ >#define _INO_T_DECLARED >#endif ># 148 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _KEY_T_DECLARED >typedef __key_t key_t; /* IPC key (for Sys V IPC) */ >#define _KEY_T_DECLARED >#endif ># 153 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _LWPID_T_DECLARED >typedef __lwpid_t lwpid_t; /* Thread ID (a.k.a. LWP) */ >#define _LWPID_T_DECLARED >#endif ># 158 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _MODE_T_DECLARED >typedef __mode_t mode_t; /* permissions */ >#define _MODE_T_DECLARED >#endif ># 163 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _ACCMODE_T_DECLARED >typedef __accmode_t accmode_t; /* access permissions */ >#define _ACCMODE_T_DECLARED >#endif ># 168 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _NLINK_T_DECLARED >typedef __nlink_t nlink_t; /* link count */ >#define _NLINK_T_DECLARED >#endif ># 173 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _OFF_T_DECLARED >typedef __off_t off_t; /* file offset */ >#define _OFF_T_DECLARED >#endif ># 178 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _OFF64_T_DECLARED >typedef __off64_t off64_t; /* file offset (alias) */ >#define _OFF64_T_DECLARED >#endif ># 183 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _PID_T_DECLARED >typedef __pid_t pid_t; /* process id */ >#define _PID_T_DECLARED >#endif ># 188 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __register_t register_t; > >#ifndef _RLIM_T_DECLARED >typedef __rlim_t rlim_t; /* resource limit */ >#define _RLIM_T_DECLARED >#endif ># 195 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __int64_t sbintime_t; > >typedef __segsz_t segsz_t; /* segment size (in pages) */ > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 204 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _SSIZE_T_DECLARED >typedef __ssize_t ssize_t; >#define _SSIZE_T_DECLARED >#endif ># 209 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _SUSECONDS_T_DECLARED >typedef __suseconds_t suseconds_t; /* microseconds (signed) */ >#define _SUSECONDS_T_DECLARED >#endif ># 214 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 219 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _TIMER_T_DECLARED >typedef __timer_t timer_t; >#define _TIMER_T_DECLARED >#endif ># 224 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _MQD_T_DECLARED >typedef __mqd_t mqd_t; >#define _MQD_T_DECLARED >#endif ># 229 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >typedef __u_register_t u_register_t; > >#ifndef _UID_T_DECLARED >typedef __uid_t uid_t; /* user id */ >#define _UID_T_DECLARED >#endif ># 236 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _USECONDS_T_DECLARED >typedef __useconds_t useconds_t; /* microseconds (unsigned) */ >#define _USECONDS_T_DECLARED >#endif ># 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _CAP_IOCTL_T_DECLARED >#define _CAP_IOCTL_T_DECLARED >typedef unsigned long cap_ioctl_t; >#endif ># 246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#ifndef _CAP_RIGHTS_T_DECLARED >#define _CAP_RIGHTS_T_DECLARED >struct cap_rights; > >typedef struct cap_rights cap_rights_t; >#endif ># 253 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >/* > * Types suitable for exporting size and pointers (as virtual addresses) > * from the kernel independent of native word size. These should be > * used in place of size_t and (u)intptr_t in structs which contain such > * types that are shared with userspace. > */ >typedef __uint64_t kvaddr_t; >typedef __uint64_t ksize_t; > >typedef __vm_offset_t vm_offset_t; >typedef __uint64_t vm_ooffset_t; >typedef __vm_paddr_t vm_paddr_t; >typedef __uint64_t vm_pindex_t; >typedef __vm_size_t vm_size_t; > >typedef __rman_res_t rman_res_t; > >#ifdef _KERNEL >typedef int boolean_t; >typedef struct device *device_t; >typedef __intfptr_t intfptr_t; > >/* > * XXX this is fixed width for historical reasons. It should have had type > * __int_fast32_t. Fixed-width types should not be used unless binary > * compatibility is essential. Least-width types should be used even less > * since they provide smaller benefits. > * > * XXX should be MD. > * > * XXX this is bogus in -current, but still used for spl*(). > */ >typedef __uint32_t intrmask_t; /* Interrupt mask (spl, xxx_imask...) */ > >typedef __uintfptr_t uintfptr_t; >typedef __uint64_t uoff_t; >typedef char vm_memattr_t; /* memory attribute codes */ >typedef struct vm_page *vm_page_t; > >#if !defined(__bool_true_false_are_defined) && !defined(__cplusplus) >#define __bool_true_false_are_defined 1 >#define false 0 >#define true 1 >#if __STDC_VERSION__ < 199901L && __GNUC__ < 3 && !defined(__INTEL_COMPILER) >typedef int _Bool; >#endif ># 300 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >typedef _Bool bool; >#endif /* !__bool_true_false_are_defined && !__cplusplus */ ># 302 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#define offsetof(type, field) __offsetof(type, field) > >#endif /* !_KERNEL */ ># 306 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >/* > * The following are all things that really shouldn't exist in this header, > * since its purpose is to provide typedefs, not miscellaneous doodads. > */ > >#ifdef __POPCNT__ >#define __bitcount64(x) __builtin_popcountll((__uint64_t)(x)) >#define __bitcount32(x) __builtin_popcount((__uint32_t)(x)) >#define __bitcount16(x) __builtin_popcount((__uint16_t)(x)) >#define __bitcountl(x) __builtin_popcountl((unsigned long)(x)) >#define __bitcount(x) __builtin_popcount((unsigned int)(x)) >#else ># 319 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >/* > * Population count algorithm using SWAR approach > * - "SIMD Within A Register". > */ >static __inline __uint16_t >__bitcount16(__uint16_t _x) >{ > > _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1); > _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2); > _x = (_x + (_x >> 4)) & 0x0f0f; > _x = (_x + (_x >> 8)) & 0x00ff; > return (_x); >} > >static __inline __uint32_t >__bitcount32(__uint32_t _x) >{ > > _x = (_x & 0x55555555) + ((_x & 0xaaaaaaaa) >> 1); > _x = (_x & 0x33333333) + ((_x & 0xcccccccc) >> 2); > _x = (_x + (_x >> 4)) & 0x0f0f0f0f; > _x = (_x + (_x >> 8)); > _x = (_x + (_x >> 16)) & 0x000000ff; > return (_x); >} > >#ifdef __LP64__ >static __inline __uint64_t >__bitcount64(__uint64_t _x) >{ > > _x = (_x & 0x5555555555555555) + ((_x & 0xaaaaaaaaaaaaaaaa) >> 1); > _x = (_x & 0x3333333333333333) + ((_x & 0xcccccccccccccccc) >> 2); > _x = (_x + (_x >> 4)) & 0x0f0f0f0f0f0f0f0f; > _x = (_x + (_x >> 8)); > _x = (_x + (_x >> 16)); > _x = (_x + (_x >> 32)) & 0x000000ff; > return (_x); >} > >#define __bitcountl(x) __bitcount64((unsigned long)(x)) >#else ># 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >static __inline __uint64_t >__bitcount64(__uint64_t _x) >{ > > return (__bitcount32(_x >> 32) + __bitcount32(_x)); >} > >#define __bitcountl(x) __bitcount32((unsigned long)(x)) >#endif ># 371 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >#define __bitcount(x) __bitcount32((unsigned int)(x)) >#endif ># 373 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#if __BSD_VISIBLE > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/select.h> >#endif /* expanded by -frewrite-includes */ ># 376 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1992, 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. > * > * $FreeBSD: head/sys/sys/select.h 326023 2017-11-20 19:43:44Z pfg $ > */ > >#ifndef _SYS_SELECT_H_ >#define _SYS_SELECT_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_sigset.h> >#endif /* expanded by -frewrite-includes */ ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1982, 1986, 1989, 1991, 1993 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, 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. > * > * @(#)signal.h 8.4 (Berkeley) 5/4/95 > * $FreeBSD: head/sys/sys/_sigset.h 326023 2017-11-20 19:43:44Z pfg $ > */ > >#ifndef _SYS__SIGSET_H_ >#define _SYS__SIGSET_H_ > >/* > * sigset_t macros. > */ >#define _SIG_WORDS 4 >#define _SIG_MAXSIG 128 >#define _SIG_IDX(sig) ((sig) - 1) >#define _SIG_WORD(sig) (_SIG_IDX(sig) >> 5) >#define _SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31)) >#define _SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0) > >typedef struct __sigset { > __uint32_t __bits[_SIG_WORDS]; >} __sigset_t; > >#if defined(_KERNEL) && defined(COMPAT_43) >typedef unsigned int osigset_t; >#endif ># 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 3 4 > >#endif /* !_SYS__SIGSET_H_ */ ># 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 3 4 ># 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_timeval.h> >#endif /* expanded by -frewrite-includes */ ># 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 1 3 4 >/*- > * 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: head/sys/sys/_timeval.h 326256 2017-11-27 15:01:59Z pfg $ > */ > >#ifndef _SYS__TIMEVAL_H_ >#define _SYS__TIMEVAL_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4 ># 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4 > >#ifndef _SUSECONDS_T_DECLARED >typedef __suseconds_t suseconds_t; >#define _SUSECONDS_T_DECLARED >#endif ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4 > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4 > >/* > * Structure returned by gettimeofday(2) system call, and used in other calls. > */ >struct timeval { > time_t tv_sec; /* seconds */ > suseconds_t tv_usec; /* and microseconds */ >}; > >#endif /* !_SYS__TIMEVAL_H_ */ ># 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4 ># 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/timespec.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1982, 1986, 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. > * > * @(#)time.h 8.5 (Berkeley) 5/4/95 > * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp > * $FreeBSD: head/sys/sys/timespec.h 326023 2017-11-20 19:43:44Z pfg $ > */ > >#ifndef _SYS_TIMESPEC_H_ >#define _SYS_TIMESPEC_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4 ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_timespec.h> >#endif /* expanded by -frewrite-includes */ ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1982, 1986, 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. > * > * @(#)time.h 8.5 (Berkeley) 5/4/95 > * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp > * $FreeBSD: head/sys/sys/_timespec.h 326023 2017-11-20 19:43:44Z pfg $ > */ > >#ifndef _SYS__TIMESPEC_H_ >#define _SYS__TIMESPEC_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4 ># 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4 > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4 > >struct timespec { > time_t tv_sec; /* seconds */ > long tv_nsec; /* and nanoseconds */ >}; > >#endif /* !_SYS__TIMESPEC_H_ */ ># 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4 ># 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 2 3 4 > >#if __BSD_VISIBLE >#define TIMEVAL_TO_TIMESPEC(tv, ts) \ > do { \ > (ts)->tv_sec = (tv)->tv_sec; \ > (ts)->tv_nsec = (tv)->tv_usec * 1000; \ > } while (0) >#define TIMESPEC_TO_TIMEVAL(tv, ts) \ > do { \ > (tv)->tv_sec = (ts)->tv_sec; \ > (tv)->tv_usec = (ts)->tv_nsec / 1000; \ > } while (0) > >#endif /* __BSD_VISIBLE */ ># 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4 > >/* > * Structure defined by POSIX.1b to be like a itimerval, but with > * timespecs. Used in the timer_*() system calls. > */ >struct itimerspec { > struct timespec it_interval; > struct timespec it_value; >}; > >#endif /* _SYS_TIMESPEC_H_ */ ># 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4 ># 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4 > >typedef unsigned long __fd_mask; >#if __BSD_VISIBLE >typedef __fd_mask fd_mask; >#endif ># 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#ifndef _SIGSET_T_DECLARED >#define _SIGSET_T_DECLARED >typedef __sigset_t sigset_t; >#endif ># 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >/* > * Select uses bit masks of file descriptors in longs. These macros > * manipulate such bit fields (the filesystem macros use chars). > * FD_SETSIZE may be defined by the user, but the default here should > * be enough for most uses. > */ >#ifndef FD_SETSIZE >#define FD_SETSIZE 1024 >#endif ># 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#define _NFDBITS (sizeof(__fd_mask) * 8) /* bits per mask */ >#if __BSD_VISIBLE >#define NFDBITS _NFDBITS >#endif ># 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#ifndef _howmany >#define _howmany(x, y) (((x) + ((y) - 1)) / (y)) >#endif ># 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >typedef struct fd_set { > __fd_mask __fds_bits[_howmany(FD_SETSIZE, _NFDBITS)]; >} fd_set; >#if __BSD_VISIBLE >#define fds_bits __fds_bits >#endif ># 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#define __fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS)) >#define FD_CLR(n, p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n)) >#if __BSD_VISIBLE >#define FD_COPY(f, t) (void)(*(t) = *(f)) >#endif ># 85 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 >#define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) >#define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) >#define FD_ZERO(p) do { \ > fd_set *_p; \ > __size_t _n; \ > \ > _p = (p); \ > _n = _howmany(FD_SETSIZE, _NFDBITS); \ > while (_n > 0) \ > _p->__fds_bits[--_n] = 0; \ >} while (0) > >#ifndef _KERNEL > >__BEGIN_DECLS >int pselect(int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, > const struct timespec *__restrict, const sigset_t *__restrict); >#ifndef _SELECT_DECLARED >#define _SELECT_DECLARED >/* XXX missing restrict type-qualifier */ >int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); >#endif ># 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 >__END_DECLS >#endif /* !_KERNEL */ ># 109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 > >#endif /* _SYS_SELECT_H_ */ ># 111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4 ># 377 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4 > >/* > * The major and minor numbers are encoded in dev_t as MMMmmmMm (where > * letters correspond to bytes). The encoding of the lower 4 bytes is > * constrained by compatibility with 16-bit and 32-bit dev_t's. The > * encoding of of the upper 4 bytes is the least unnatural one consistent > * with this and other constraints. Also, the decoding of the m bytes by > * minor() is unnatural to maximize compatibility subject to not discarding > * bits. The upper m byte is shifted into the position of the lower M byte > * instead of shifting 3 upper m bytes to close the gap. Compatibility for > * minor() is achieved iff the upper m byte is 0. > */ >#define major(d) __major(d) >static __inline int >__major(dev_t _d) >{ > return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff)); >} >#define minor(d) __minor(d) >static __inline int >__minor(dev_t _d) >{ > return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff)); >} >#define makedev(M, m) __makedev((M), (m)) >static __inline dev_t >__makedev(int _Major, int _Minor) >{ > return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) | > ((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff)); >} > >/* > * These declarations belong elsewhere, but are repeated here and in > * <stdio.h> to give broken programs a better chance of working with > * 64-bit off_t's. > */ >#ifndef _KERNEL >__BEGIN_DECLS >#ifndef _FTRUNCATE_DECLARED >#define _FTRUNCATE_DECLARED >int ftruncate(int, off_t); >#endif ># 420 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >#ifndef _LSEEK_DECLARED >#define _LSEEK_DECLARED >off_t lseek(int, off_t, int); >#endif ># 424 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >#ifndef _MMAP_DECLARED >#define _MMAP_DECLARED >void * mmap(void *, size_t, int, int, int, off_t); >#endif ># 428 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >#ifndef _TRUNCATE_DECLARED >#define _TRUNCATE_DECLARED >int truncate(const char *, off_t); >#endif ># 432 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 >__END_DECLS >#endif /* !_KERNEL */ ># 434 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#endif /* __BSD_VISIBLE */ ># 436 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 > >#endif /* !_SYS_TYPES_H_ */ ># 438 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4 ># 47 "/usr/src/lib/libc/stdio/local.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <pthread.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/lib/libc/stdio/local.h" ># 1 "/usr/src/include/pthread.h" 1 >/*- > * SPDX-License-Identifier: BSD-4-Clause > * > * Copyright (c) 1993, 1994 by Chris Provenzano, proven@mit.edu > * Copyright (c) 1995-1998 by John Birrell <jb@cimlogic.com.au> > * 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 Chris Provenzano. > * 4. The name of Chris Provenzano may not be used to endorse or promote > * products derived from this software without specific prior written > * permission. > * > * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO ``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 CHRIS PROVENZANO 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: head/include/pthread.h 337992 2018-08-18 01:05:38Z pfg $ > */ >#ifndef _PTHREAD_H_ >#define _PTHREAD_H_ > >/* > * Header files. > */ >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 43 "/usr/src/include/pthread.h" ># 44 "/usr/src/include/pthread.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_pthreadtypes.h> >#endif /* expanded by -frewrite-includes */ ># 44 "/usr/src/include/pthread.h" ># 45 "/usr/src/include/pthread.h" >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_limits.h> >#endif /* expanded by -frewrite-includes */ ># 45 "/usr/src/include/pthread.h" ># 46 "/usr/src/include/pthread.h" >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_types.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/src/include/pthread.h" ># 47 "/usr/src/include/pthread.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_sigset.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/include/pthread.h" ># 48 "/usr/src/include/pthread.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sched.h> >#endif /* expanded by -frewrite-includes */ ># 48 "/usr/src/include/pthread.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-4-Clause > * > * Copyright (c) 1996, 1997 > * HD Associates, Inc. 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 HD Associates, Inc > * and Jukka Antero Ukkonen. > * 4. Neither the name of the author nor the names of any co-contributors > * may be used to endorse or promote products derived from this software > * without specific prior written permission. > * > * THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES 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 HD ASSOCIATES 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. > */ > >/*- > * Copyright (c) 2002-2008, Jeffrey Roberson <jeff@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 unmodified, 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 ``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 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: head/sys/sys/sched.h 333344 2018-05-07 23:36:16Z mjg $ > */ > >#ifndef _SCHED_H_ >#define _SCHED_H_ > >#ifdef _KERNEL >/* > * General scheduling info. > * > * sched_load: > * Total runnable non-ithread threads in the system. > * > * sched_runnable: > * Runnable threads for this processor. > */ >int sched_load(void); >int sched_rr_interval(void); >int sched_runnable(void); > >/* > * Proc related scheduling hooks. > */ >void sched_exit(struct proc *p, struct thread *childtd); >void sched_fork(struct thread *td, struct thread *childtd); >void sched_fork_exit(struct thread *td); >void sched_class(struct thread *td, int class); >void sched_nice(struct proc *p, int nice); > >/* > * Threads are switched in and out, block on resources, have temporary > * priorities inherited from their procs, and use up cpu time. > */ >void sched_exit_thread(struct thread *td, struct thread *child); >u_int sched_estcpu(struct thread *td); >void sched_fork_thread(struct thread *td, struct thread *child); >void sched_lend_prio(struct thread *td, u_char prio); >void sched_lend_user_prio(struct thread *td, u_char pri); >fixpt_t sched_pctcpu(struct thread *td); >void sched_prio(struct thread *td, u_char prio); >void sched_sleep(struct thread *td, int prio); >void sched_switch(struct thread *td, struct thread *newtd, int flags); >void sched_throw(struct thread *td); >void sched_unlend_prio(struct thread *td, u_char prio); >void sched_user_prio(struct thread *td, u_char prio); >void sched_userret_slowpath(struct thread *td); >void sched_wakeup(struct thread *td); >#ifdef RACCT >#ifdef SCHED_4BSD >fixpt_t sched_pctcpu_delta(struct thread *td); >#endif ># 112 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 >#endif ># 113 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >static inline void >sched_userret(struct thread *td) >{ > > /* > * XXX we cheat slightly on the locking here to avoid locking in > * the usual case. Setting td_priority here is essentially an > * incomplete workaround for not setting it properly elsewhere. > * Now that some interrupt handlers are threads, not setting it > * properly elsewhere can clobber it in the window between setting > * it here and returning to user mode, so don't waste time setting > * it perfectly here. > */ > KASSERT((td->td_flags & TDF_BORROWING) == 0, > ("thread with borrowed priority returning to userland")); > if (__predict_false(td->td_priority != td->td_user_pri)) > sched_userret_slowpath(td); >} > >/* > * Threads are moved on and off of run queues > */ >void sched_add(struct thread *td, int flags); >void sched_clock(struct thread *td); >void sched_preempt(struct thread *td); >void sched_rem(struct thread *td); >void sched_relinquish(struct thread *td); >struct thread *sched_choose(void); >void sched_idletd(void *); > >/* > * Binding makes cpu affinity permanent while pinning is used to temporarily > * hold a thread on a particular CPU. > */ >void sched_bind(struct thread *td, int cpu); >static __inline void sched_pin(void); >void sched_unbind(struct thread *td); >static __inline void sched_unpin(void); >int sched_is_bound(struct thread *td); >void sched_affinity(struct thread *td); > >/* > * These procedures tell the process data structure allocation code how > * many bytes to actually allocate. > */ >int sched_sizeof_proc(void); >int sched_sizeof_thread(void); > >/* > * This routine provides a consistent thread name for use with KTR graphing > * functions. > */ >char *sched_tdname(struct thread *td); >#ifdef KTR >void sched_clear_tdname(struct thread *td); >#endif ># 170 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >static __inline void >sched_pin(void) >{ > curthread->td_pinned++; > __compiler_membar(); >} > >static __inline void >sched_unpin(void) >{ > __compiler_membar(); > curthread->td_pinned--; >} > >/* sched_add arguments (formerly setrunqueue) */ >#define SRQ_BORING 0x0000 /* No special circumstances. */ >#define SRQ_YIELDING 0x0001 /* We are yielding (from mi_switch). */ >#define SRQ_OURSELF 0x0002 /* It is ourself (from mi_switch). */ >#define SRQ_INTR 0x0004 /* It is probably urgent. */ >#define SRQ_PREEMPTED 0x0008 /* has been preempted.. be kind */ >#define SRQ_BORROWING 0x0010 /* Priority updated due to prio_lend */ > >/* Scheduler stats. */ >#ifdef SCHED_STATS >DPCPU_DECLARE(long, sched_switch_stats[SWT_COUNT]); > >#define SCHED_STAT_DEFINE_VAR(name, ptr, descr) \ >static void name ## _add_proc(void *dummy __unused) \ >{ \ > \ > SYSCTL_ADD_PROC(NULL, \ > SYSCTL_STATIC_CHILDREN(_kern_sched_stats), OID_AUTO, \ > #name, CTLTYPE_LONG|CTLFLAG_RD|CTLFLAG_MPSAFE, \ > ptr, 0, sysctl_dpcpu_long, "LU", descr); \ >} \ >SYSINIT(name, SI_SUB_LAST, SI_ORDER_MIDDLE, name ## _add_proc, NULL); > >#define SCHED_STAT_DEFINE(name, descr) \ > DPCPU_DEFINE(unsigned long, name); \ > SCHED_STAT_DEFINE_VAR(name, &DPCPU_NAME(name), descr) >/* > * Sched stats are always incremented in critical sections so no atomic > * is necesssary to increment them. > */ >#define SCHED_STAT_INC(var) DPCPU_GET(var)++; >#else ># 217 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 >#define SCHED_STAT_DEFINE_VAR(name, descr, ptr) >#define SCHED_STAT_DEFINE(name, descr) >#define SCHED_STAT_INC(var) (void)0 >#endif ># 221 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >/* > * Fixup scheduler state for proc0 and thread0 > */ >void schedinit(void); >#endif /* _KERNEL */ ># 227 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >/* POSIX 1003.1b Process Scheduling */ > >/* > * POSIX scheduling policies > */ >#define SCHED_FIFO 1 >#define SCHED_OTHER 2 >#define SCHED_RR 3 > >struct sched_param { > int sched_priority; >}; > >/* > * POSIX scheduling declarations for userland. > */ >#ifndef _KERNEL >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 245 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 ># 246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_timespec.h> >#endif /* expanded by -frewrite-includes */ ># 246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 ># 247 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 247 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 ># 248 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >#ifndef _PID_T_DECLARED >typedef __pid_t pid_t; >#define _PID_T_DECLARED >#endif ># 253 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 > >__BEGIN_DECLS >int sched_get_priority_max(int); >int sched_get_priority_min(int); >int sched_getparam(pid_t, struct sched_param *); >int sched_getscheduler(pid_t); >int sched_rr_get_interval(pid_t, struct timespec *); >int sched_setparam(pid_t, const struct sched_param *); >int sched_setscheduler(pid_t, int, const struct sched_param *); >int sched_yield(void); >__END_DECLS > >#endif ># 266 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 >#endif /* !_SCHED_H_ */ ># 267 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sched.h" 3 4 ># 49 "/usr/src/include/pthread.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <time.h> >#endif /* expanded by -frewrite-includes */ ># 49 "/usr/src/include/pthread.h" ># 1 "/usr/src/include/time.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1989, 1993 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, 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. > * > * @(#)time.h 8.3 (Berkeley) 1/21/94 > */ > >/* > * $FreeBSD: head/include/time.h 338751 2018-09-18 15:31:24Z brooks $ > */ > >#ifndef _TIME_H_ >#define _TIME_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/src/include/time.h" ># 47 "/usr/src/include/time.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/include/time.h" ># 48 "/usr/src/include/time.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 48 "/usr/src/include/time.h" ># 49 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE > 0 && __POSIX_VISIBLE < 200112 || __BSD_VISIBLE >/* > * Frequency of the clock ticks reported by times(). Deprecated - use > * sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.) > */ >#define CLK_TCK 128 >#endif ># 57 "/usr/src/include/time.h" > >/* Frequency of the clock ticks reported by clock(). */ >#define CLOCKS_PER_SEC 128 > >#ifndef _CLOCK_T_DECLARED >typedef __clock_t clock_t; >#define _CLOCK_T_DECLARED >#endif ># 65 "/usr/src/include/time.h" > >#ifndef _TIME_T_DECLARED >typedef __time_t time_t; >#define _TIME_T_DECLARED >#endif ># 70 "/usr/src/include/time.h" > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 75 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 199309 >/* > * New in POSIX 1003.1b-1993. > */ >#ifndef _CLOCKID_T_DECLARED >typedef __clockid_t clockid_t; >#define _CLOCKID_T_DECLARED >#endif ># 84 "/usr/src/include/time.h" > >#ifndef _TIMER_T_DECLARED >typedef __timer_t timer_t; >#define _TIMER_T_DECLARED >#endif ># 89 "/usr/src/include/time.h" > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/timespec.h> >#endif /* expanded by -frewrite-includes */ ># 90 "/usr/src/include/time.h" ># 91 "/usr/src/include/time.h" >#endif /* __POSIX_VISIBLE >= 199309 */ ># 92 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 200112 >#ifndef _PID_T_DECLARED >typedef __pid_t pid_t; >#define _PID_T_DECLARED >#endif ># 98 "/usr/src/include/time.h" >#endif ># 99 "/usr/src/include/time.h" > >/* These macros are also in sys/time.h. */ >#if !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 >#define CLOCK_REALTIME 0 >#ifdef __BSD_VISIBLE >#define CLOCK_VIRTUAL 1 >#define CLOCK_PROF 2 >#endif ># 107 "/usr/src/include/time.h" >#define CLOCK_MONOTONIC 4 >#define CLOCK_UPTIME 5 /* FreeBSD-specific. */ >#define CLOCK_UPTIME_PRECISE 7 /* FreeBSD-specific. */ >#define CLOCK_UPTIME_FAST 8 /* FreeBSD-specific. */ >#define CLOCK_REALTIME_PRECISE 9 /* FreeBSD-specific. */ >#define CLOCK_REALTIME_FAST 10 /* FreeBSD-specific. */ >#define CLOCK_MONOTONIC_PRECISE 11 /* FreeBSD-specific. */ >#define CLOCK_MONOTONIC_FAST 12 /* FreeBSD-specific. */ >#define CLOCK_SECOND 13 /* FreeBSD-specific. */ >#define CLOCK_THREAD_CPUTIME_ID 14 >#define CLOCK_PROCESS_CPUTIME_ID 15 >#endif /* !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 */ ># 119 "/usr/src/include/time.h" > >#if !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 >#if __BSD_VISIBLE >#define TIMER_RELTIME 0x0 /* relative timer */ >#endif ># 124 "/usr/src/include/time.h" >#define TIMER_ABSTIME 0x1 /* absolute timer */ >#endif /* !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 */ ># 126 "/usr/src/include/time.h" > >struct tm { > int tm_sec; /* seconds after the minute [0-60] */ > int tm_min; /* minutes after the hour [0-59] */ > int tm_hour; /* hours since midnight [0-23] */ > int tm_mday; /* day of the month [1-31] */ > int tm_mon; /* months since January [0-11] */ > int tm_year; /* years since 1900 */ > int tm_wday; /* days since Sunday [0-6] */ > int tm_yday; /* days since January 1 [0-365] */ > int tm_isdst; /* Daylight Savings Time flag */ > long tm_gmtoff; /* offset from UTC in seconds */ > char *tm_zone; /* timezone abbreviation */ >}; > >#if __POSIX_VISIBLE >extern char *tzname[]; >#endif ># 144 "/usr/src/include/time.h" > >__BEGIN_DECLS >char *asctime(const struct tm *); >clock_t clock(void); >char *ctime(const time_t *); >#ifndef _STANDALONE >double difftime(time_t, time_t); >#endif ># 152 "/usr/src/include/time.h" >/* XXX missing: getdate() */ >struct tm *gmtime(const time_t *); >struct tm *localtime(const time_t *); >time_t mktime(struct tm *); >size_t strftime(char * __restrict, size_t, const char * __restrict, > const struct tm * __restrict); >time_t time(time_t *); >#if __POSIX_VISIBLE >= 200112 >struct sigevent; >int timer_create(clockid_t, struct sigevent *__restrict, timer_t *__restrict); >int timer_delete(timer_t); >int timer_gettime(timer_t, struct itimerspec *); >int timer_getoverrun(timer_t); >int timer_settime(timer_t, int, const struct itimerspec *__restrict, > struct itimerspec *__restrict); >#endif ># 168 "/usr/src/include/time.h" >#if __POSIX_VISIBLE >void tzset(void); >#endif ># 171 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 199309 >int clock_getres(clockid_t, struct timespec *); >int clock_gettime(clockid_t, struct timespec *); >int clock_settime(clockid_t, const struct timespec *); >int nanosleep(const struct timespec *, struct timespec *); >#endif /* __POSIX_VISIBLE >= 199309 */ ># 178 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 200112 >int clock_getcpuclockid(pid_t, clockid_t *); >int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *); >#endif ># 183 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 199506 >char *asctime_r(const struct tm *, char *); >char *ctime_r(const time_t *, char *); >struct tm *gmtime_r(const time_t *, struct tm *); >struct tm *localtime_r(const time_t *, struct tm *); >#endif ># 190 "/usr/src/include/time.h" > >#if __XSI_VISIBLE >char *strptime(const char * __restrict, const char * __restrict, > struct tm * __restrict); >#endif ># 195 "/usr/src/include/time.h" > >#if __BSD_VISIBLE >char *timezone(int, int); /* XXX XSI conflict */ >void tzsetwall(void); >time_t timelocal(struct tm * const); >time_t timegm(struct tm * const); >int timer_oshandle_np(timer_t timerid); >time_t time2posix(time_t t); >time_t posix2time(time_t t); >#endif /* __BSD_VISIBLE */ ># 205 "/usr/src/include/time.h" > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_time.h> >#endif /* expanded by -frewrite-includes */ ># 207 "/usr/src/include/time.h" ># 1 "/usr/src/include/xlocale/_time.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_time.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 38 "/usr/src/include/xlocale/_time.h" > >/* > * This file is included from both locale.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from locale.h. > */ >#ifndef _XLOCALE_LOCALE1_H >#define _XLOCALE_LOCALE1_H > >size_t strftime_l(char * __restrict, size_t, const char * __restrict, > const struct tm * __restrict, locale_t) __strftimelike(3, 0); > >#endif /* _XLOCALE_LOCALE1_H */ ># 51 "/usr/src/include/xlocale/_time.h" > >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_LOCALE2_H >#define _XLOCALE_LOCALE2_H > >char *strptime_l(const char * __restrict, const char * __restrict, > struct tm * __restrict, locale_t); > >#endif /* _XLOCALE_LOCALE2_H */ ># 60 "/usr/src/include/xlocale/_time.h" >#endif /* _XLOCALE_H_ */ ># 61 "/usr/src/include/xlocale/_time.h" ># 208 "/usr/src/include/time.h" 2 >#endif ># 209 "/usr/src/include/time.h" > >#if defined(__BSD_VISIBLE) || __ISO_C_VISIBLE >= 2011 || \ > (defined(cplusplus) && cplusplus >= 201703) >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_timespec.h> >#endif /* expanded by -frewrite-includes */ ># 212 "/usr/src/include/time.h" ># 213 "/usr/src/include/time.h" >/* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */ >#define TIME_UTC 1 /* time elapsed since epoch */ >int timespec_get(struct timespec *ts, int base); >#endif ># 217 "/usr/src/include/time.h" > >__END_DECLS > >#endif /* !_TIME_H_ */ ># 221 "/usr/src/include/time.h" ># 50 "/usr/src/include/pthread.h" 2 > >/* > * Run-time invariant values: > */ >#define PTHREAD_DESTRUCTOR_ITERATIONS 4 >#define PTHREAD_KEYS_MAX 256 >#define PTHREAD_STACK_MIN __MINSIGSTKSZ >#define PTHREAD_THREADS_MAX __ULONG_MAX >#define PTHREAD_BARRIER_SERIAL_THREAD -1 > >/* > * Flags for threads and thread attributes. > */ >#define PTHREAD_DETACHED 0x1 >#define PTHREAD_SCOPE_SYSTEM 0x2 >#define PTHREAD_INHERIT_SCHED 0x4 >#define PTHREAD_NOFLOAT 0x8 > >#define PTHREAD_CREATE_DETACHED PTHREAD_DETACHED >#define PTHREAD_CREATE_JOINABLE 0 >#define PTHREAD_SCOPE_PROCESS 0 >#define PTHREAD_EXPLICIT_SCHED 0 > >/* > * Values for process shared/private attributes. > */ >#define PTHREAD_PROCESS_PRIVATE 0 >#define PTHREAD_PROCESS_SHARED 1 > >/* > * Flags for cancelling threads > */ >#define PTHREAD_CANCEL_ENABLE 0 >#define PTHREAD_CANCEL_DISABLE 1 >#define PTHREAD_CANCEL_DEFERRED 0 >#define PTHREAD_CANCEL_ASYNCHRONOUS 2 >#define PTHREAD_CANCELED ((void *) 1) > >/* > * Flags for once initialization. > */ >#define PTHREAD_NEEDS_INIT 0 >#define PTHREAD_DONE_INIT 1 > >/* > * Static once initialization values. > */ >#define PTHREAD_ONCE_INIT { PTHREAD_NEEDS_INIT, NULL } > >/* > * Static initialization values. > */ >#define PTHREAD_MUTEX_INITIALIZER NULL >#define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP ((pthread_mutex_t)1) >#define PTHREAD_COND_INITIALIZER NULL >#define PTHREAD_RWLOCK_INITIALIZER NULL > >/* > * Default attribute arguments (draft 4, deprecated). > */ >#ifndef PTHREAD_KERNEL >#define pthread_condattr_default NULL >#define pthread_mutexattr_default NULL >#define pthread_attr_default NULL >#endif ># 115 "/usr/src/include/pthread.h" > >#define PTHREAD_PRIO_NONE 0 >#define PTHREAD_PRIO_INHERIT 1 >#define PTHREAD_PRIO_PROTECT 2 > >/* > * Mutex types (Single UNIX Specification, Version 2, 1997). > * > * Note that a mutex attribute with one of the following types: > * > * PTHREAD_MUTEX_NORMAL > * PTHREAD_MUTEX_RECURSIVE > * > * will deviate from POSIX specified semantics. > */ >enum pthread_mutextype { > PTHREAD_MUTEX_ERRORCHECK = 1, /* Default POSIX mutex */ > PTHREAD_MUTEX_RECURSIVE = 2, /* Recursive mutex */ > PTHREAD_MUTEX_NORMAL = 3, /* No error checking */ > PTHREAD_MUTEX_ADAPTIVE_NP = 4, /* Adaptive mutex, spins briefly before blocking on lock */ > PTHREAD_MUTEX_TYPE_MAX >}; > >#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK > >#define PTHREAD_MUTEX_STALLED 0 >#define PTHREAD_MUTEX_ROBUST 1 > >struct _pthread_cleanup_info { > __uintptr_t pthread_cleanup_pad[8]; >}; > >/* > * Thread function prototype definitions: > */ >__BEGIN_DECLS >int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); >int pthread_attr_destroy(pthread_attr_t *); >int pthread_attr_getstack( > const pthread_attr_t * __restrict, void ** __restrict, > size_t * __restrict); >int pthread_attr_getstacksize(const pthread_attr_t * __restrict, > size_t * __restrict); >int pthread_attr_getguardsize(const pthread_attr_t * __restrict, > size_t * __restrict); >int pthread_attr_getstackaddr(const pthread_attr_t *, void **); >int pthread_attr_getdetachstate(const pthread_attr_t *, > int *); >int pthread_attr_init(pthread_attr_t *); >int pthread_attr_setstacksize(pthread_attr_t *, size_t); >int pthread_attr_setguardsize(pthread_attr_t *, size_t); >int pthread_attr_setstack(pthread_attr_t *, void *, > size_t); >int pthread_attr_setstackaddr(pthread_attr_t *, void *); >int pthread_attr_setdetachstate(pthread_attr_t *, int); >int pthread_barrier_destroy(pthread_barrier_t *); >int pthread_barrier_init(pthread_barrier_t * __restrict, > const pthread_barrierattr_t * __restrict, unsigned); >int pthread_barrier_wait(pthread_barrier_t *); >int pthread_barrierattr_destroy(pthread_barrierattr_t *); >int pthread_barrierattr_getpshared( > const pthread_barrierattr_t * __restrict, int * __restrict); >int pthread_barrierattr_init(pthread_barrierattr_t *); >int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); > >#define pthread_cleanup_push(cleanup_routine, cleanup_arg) \ > { \ > struct _pthread_cleanup_info __cleanup_info__; \ > __pthread_cleanup_push_imp(cleanup_routine, cleanup_arg,\ > &__cleanup_info__); \ > { > >#define pthread_cleanup_pop(execute) \ > (void)0; \ > } \ > __pthread_cleanup_pop_imp(execute); \ > } > >int pthread_condattr_destroy(pthread_condattr_t *); >int pthread_condattr_getclock(const pthread_condattr_t * __restrict, > clockid_t * __restrict); >int pthread_condattr_getpshared(const pthread_condattr_t *, int *); >int pthread_condattr_init(pthread_condattr_t *); >int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); >int pthread_condattr_setpshared(pthread_condattr_t *, int); >int pthread_cond_broadcast(pthread_cond_t *); >int pthread_cond_destroy(pthread_cond_t *); >int pthread_cond_init(pthread_cond_t * __restrict, > const pthread_condattr_t * __restrict); >int pthread_cond_signal(pthread_cond_t *); >int pthread_cond_timedwait(pthread_cond_t *, > pthread_mutex_t * __mutex, > const struct timespec *) > __requires_exclusive(*__mutex); >int pthread_cond_wait(pthread_cond_t * __restrict, > pthread_mutex_t * __restrict __mutex) > __requires_exclusive(*__mutex); >int pthread_create(pthread_t * __restrict, > const pthread_attr_t * __restrict, void *(*) (void *), > void * __restrict); >int pthread_detach(pthread_t); >int pthread_equal(pthread_t, pthread_t); >void pthread_exit(void *) __dead2; >void *pthread_getspecific(pthread_key_t); >int pthread_getcpuclockid(pthread_t, clockid_t *); >int pthread_join(pthread_t, void **); >int pthread_key_create(pthread_key_t *, void (*) (void *)); >int pthread_key_delete(pthread_key_t); >int pthread_mutexattr_init(pthread_mutexattr_t *); >int pthread_mutexattr_destroy(pthread_mutexattr_t *); >int pthread_mutexattr_getpshared( > const pthread_mutexattr_t * __restrict, > int * __restrict); >int pthread_mutexattr_gettype( > const pthread_mutexattr_t * __restrict, int * __restrict); >int pthread_mutexattr_settype(pthread_mutexattr_t *, int); >int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); >int pthread_mutex_consistent(pthread_mutex_t * __mutex) > __requires_exclusive(*__mutex); >int pthread_mutex_destroy(pthread_mutex_t * __mutex) > __requires_unlocked(*__mutex); >int pthread_mutex_init(pthread_mutex_t * __restrict __mutex, > const pthread_mutexattr_t * __restrict) > __requires_unlocked(*__mutex); >int pthread_mutex_lock(pthread_mutex_t * __mutex) > __locks_exclusive(*__mutex); >int pthread_mutex_trylock(pthread_mutex_t * __mutex) > __trylocks_exclusive(0, *__mutex); >int pthread_mutex_timedlock(pthread_mutex_t * __restrict __mutex, > const struct timespec * __restrict) > __trylocks_exclusive(0, *__mutex); >int pthread_mutex_unlock(pthread_mutex_t * __mutex) > __unlocks(*__mutex); >int pthread_once(pthread_once_t *, void (*) (void)); >int pthread_rwlock_destroy(pthread_rwlock_t * __rwlock) > __requires_unlocked(*__rwlock); >int pthread_rwlock_init(pthread_rwlock_t * __restrict __rwlock, > const pthread_rwlockattr_t * __restrict) > __requires_unlocked(*__rwlock); >int pthread_rwlock_rdlock(pthread_rwlock_t * __rwlock) > __locks_shared(*__rwlock); >int pthread_rwlock_timedrdlock( > pthread_rwlock_t * __restrict __rwlock, > const struct timespec * __restrict) > __trylocks_shared(0, *__rwlock); >int pthread_rwlock_timedwrlock( > pthread_rwlock_t * __restrict __rwlock, > const struct timespec * __restrict) > __trylocks_exclusive(0, *__rwlock); >int pthread_rwlock_tryrdlock(pthread_rwlock_t * __rwlock) > __trylocks_shared(0, *__rwlock); >int pthread_rwlock_trywrlock(pthread_rwlock_t * __rwlock) > __trylocks_exclusive(0, *__rwlock); >int pthread_rwlock_unlock(pthread_rwlock_t * __rwlock) > __unlocks(*__rwlock); >int pthread_rwlock_wrlock(pthread_rwlock_t * __rwlock) > __locks_exclusive(*__rwlock); >int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); >int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *, > int *); >int pthread_rwlockattr_getpshared( > const pthread_rwlockattr_t * __restrict, > int * __restrict); >int pthread_rwlockattr_init(pthread_rwlockattr_t *); >int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, > int); >int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); >pthread_t pthread_self(void); >int pthread_setspecific(pthread_key_t, const void *); > >int pthread_spin_init(pthread_spinlock_t * __spin, int) > __requires_unlocked(*__spin); >int pthread_spin_destroy(pthread_spinlock_t * __spin) > __requires_unlocked(*__spin); >int pthread_spin_lock(pthread_spinlock_t * __spin) > __locks_exclusive(*__spin); >int pthread_spin_trylock(pthread_spinlock_t * __spin) > __trylocks_exclusive(0, *__spin); >int pthread_spin_unlock(pthread_spinlock_t * __spin) > __unlocks(*__spin); >int pthread_cancel(pthread_t); >int pthread_setcancelstate(int, int *); >int pthread_setcanceltype(int, int *); >void pthread_testcancel(void); > >#if __BSD_VISIBLE >int pthread_getprio(pthread_t); >int pthread_setprio(pthread_t, int); >void pthread_yield(void); >#endif ># 305 "/usr/src/include/pthread.h" > >int pthread_mutexattr_getprioceiling( > const pthread_mutexattr_t * __restrict, > int * __restrict); >int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); >int pthread_mutex_getprioceiling(const pthread_mutex_t * __restrict, > int * __restrict); >int pthread_mutex_setprioceiling(pthread_mutex_t * __restrict, int, > int * __restrict); > >int pthread_mutexattr_getprotocol( > const pthread_mutexattr_t * __restrict, > int * __restrict); >int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); > >int pthread_mutexattr_getrobust( > pthread_mutexattr_t * __restrict, int * __restrict); >int pthread_mutexattr_setrobust(pthread_mutexattr_t *, int); > >int pthread_attr_getinheritsched(const pthread_attr_t * __restrict, > int * __restrict); >int pthread_attr_getschedparam(const pthread_attr_t *, > struct sched_param *); >int pthread_attr_getschedpolicy(const pthread_attr_t * __restrict, > int * __restrict); >int pthread_attr_getscope(const pthread_attr_t * __restrict, > int * __restrict); >int pthread_attr_setinheritsched(pthread_attr_t *, int); >int pthread_attr_setschedparam(pthread_attr_t *, > const struct sched_param *); >int pthread_attr_setschedpolicy(pthread_attr_t *, int); >int pthread_attr_setscope(pthread_attr_t *, int); >int pthread_getschedparam(pthread_t pthread, int * __restrict, > struct sched_param * __restrict); >int pthread_setschedparam(pthread_t, int, > const struct sched_param *); >#if __XSI_VISIBLE >int pthread_getconcurrency(void); >int pthread_setconcurrency(int); >#endif ># 345 "/usr/src/include/pthread.h" > >void __pthread_cleanup_push_imp(void (*)(void *), void *, > struct _pthread_cleanup_info *); >void __pthread_cleanup_pop_imp(int); >__END_DECLS > >#endif /* !_PTHREAD_H_ */ ># 352 "/usr/src/include/pthread.h" ># 48 "/usr/src/lib/libc/stdio/local.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <string.h> >#endif /* expanded by -frewrite-includes */ ># 48 "/usr/src/lib/libc/stdio/local.h" ># 1 "/usr/src/include/string.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * 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. 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. > * > * @(#)string.h 8.1 (Berkeley) 6/2/93 > * $FreeBSD: head/include/string.h 326024 2017-11-20 19:45:28Z pfg $ > */ > >#ifndef _STRING_H_ >#define _STRING_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/src/include/string.h" ># 39 "/usr/src/include/string.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/src/include/string.h" ># 40 "/usr/src/include/string.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 40 "/usr/src/include/string.h" ># 41 "/usr/src/include/string.h" > >/* > * Prototype functions which were historically defined in <string.h>, but > * are required by POSIX to be prototyped in <strings.h>. > */ >#if __BSD_VISIBLE >#if 0 /* expanded by -frewrite-includes */ >#include <strings.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/include/string.h" ># 1 "/usr/src/include/strings.h" 1 >/*- > * 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: head/include/strings.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _STRINGS_H_ >#define _STRINGS_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/src/include/strings.h" ># 35 "/usr/src/include/strings.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 35 "/usr/src/include/strings.h" ># 36 "/usr/src/include/strings.h" > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 41 "/usr/src/include/strings.h" > >__BEGIN_DECLS >#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 >int bcmp(const void *, const void *, size_t) __pure; /* LEGACY */ >void bcopy(const void *, void *, size_t); /* LEGACY */ >void bzero(void *, size_t); /* LEGACY */ >#endif ># 48 "/usr/src/include/strings.h" >#if __BSD_VISIBLE >void explicit_bzero(void *, size_t); >#endif ># 51 "/usr/src/include/strings.h" >#if __XSI_VISIBLE >int ffs(int) __pure2; >#endif ># 54 "/usr/src/include/strings.h" >#if __BSD_VISIBLE >int ffsl(long) __pure2; >int ffsll(long long) __pure2; >int fls(int) __pure2; >int flsl(long) __pure2; >int flsll(long long) __pure2; >#endif ># 61 "/usr/src/include/strings.h" >#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 >char *index(const char *, int) __pure; /* LEGACY */ >char *rindex(const char *, int) __pure; /* LEGACY */ >#endif ># 65 "/usr/src/include/strings.h" >int strcasecmp(const char *, const char *) __pure; >int strncasecmp(const char *, const char *, size_t) __pure; > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_strings.h> >#endif /* expanded by -frewrite-includes */ ># 69 "/usr/src/include/strings.h" ># 1 "/usr/src/include/xlocale/_strings.h" 1 >/*- > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * 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: head/include/xlocale/_strings.h 266865 2014-05-30 01:09:07Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 33 "/usr/src/include/xlocale/_strings.h" > >/* > * This file is included from both strings.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from string.h. > */ > >#ifndef _XLOCALE_STRINGS1_H >#define _XLOCALE_STRINGS1_H > >/* > * POSIX2008 functions > */ >int strcasecmp_l(const char *, const char *, locale_t); >int strncasecmp_l(const char *, const char *, size_t, locale_t); >#endif /* _XLOCALE_STRINGS1_H */ ># 49 "/usr/src/include/xlocale/_strings.h" ># 70 "/usr/src/include/strings.h" 2 >#endif ># 71 "/usr/src/include/strings.h" >__END_DECLS > >#endif /* _STRINGS_H_ */ ># 74 "/usr/src/include/strings.h" ># 48 "/usr/src/include/string.h" 2 >#endif ># 49 "/usr/src/include/string.h" > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 54 "/usr/src/include/string.h" > >__BEGIN_DECLS >#if __XSI_VISIBLE >= 600 >void *memccpy(void * __restrict, const void * __restrict, int, size_t); >#endif ># 59 "/usr/src/include/string.h" >void *memchr(const void *, int, size_t) __pure; >#if __BSD_VISIBLE >void *memrchr(const void *, int, size_t) __pure; >#endif ># 63 "/usr/src/include/string.h" >int memcmp(const void *, const void *, size_t) __pure; >void *memcpy(void * __restrict, const void * __restrict, size_t); >#if __BSD_VISIBLE >void *memmem(const void *, size_t, const void *, size_t) __pure; >#endif ># 68 "/usr/src/include/string.h" >void *memmove(void *, const void *, size_t); >void *memset(void *, int, size_t); >#if __POSIX_VISIBLE >= 200809 >char *stpcpy(char * __restrict, const char * __restrict); >char *stpncpy(char * __restrict, const char * __restrict, size_t); >#endif ># 74 "/usr/src/include/string.h" >#if __BSD_VISIBLE >char *strcasestr(const char *, const char *) __pure; >#endif ># 77 "/usr/src/include/string.h" >char *strcat(char * __restrict, const char * __restrict); >char *strchr(const char *, int) __pure; >#if __BSD_VISIBLE >char *strchrnul(const char*, int) __pure; >#endif ># 82 "/usr/src/include/string.h" >int strcmp(const char *, const char *) __pure; >int strcoll(const char *, const char *); >char *strcpy(char * __restrict, const char * __restrict); >size_t strcspn(const char *, const char *) __pure; >#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >char *strdup(const char *) __malloc_like; >#endif ># 89 "/usr/src/include/string.h" >char *strerror(int); >#if __POSIX_VISIBLE >= 200112 >int strerror_r(int, char *, size_t); >#endif ># 93 "/usr/src/include/string.h" >#if __BSD_VISIBLE >size_t strlcat(char * __restrict, const char * __restrict, size_t); >size_t strlcpy(char * __restrict, const char * __restrict, size_t); >#endif ># 97 "/usr/src/include/string.h" >size_t strlen(const char *) __pure; >#if __BSD_VISIBLE >void strmode(int, char *); >#endif ># 101 "/usr/src/include/string.h" >char *strncat(char * __restrict, const char * __restrict, size_t); >int strncmp(const char *, const char *, size_t) __pure; >char *strncpy(char * __restrict, const char * __restrict, size_t); >#if __POSIX_VISIBLE >= 200809 >char *strndup(const char *, size_t) __malloc_like; >size_t strnlen(const char *, size_t) __pure; >#endif ># 108 "/usr/src/include/string.h" >#if __BSD_VISIBLE >char *strnstr(const char *, const char *, size_t) __pure; >#endif ># 111 "/usr/src/include/string.h" >char *strpbrk(const char *, const char *) __pure; >char *strrchr(const char *, int) __pure; >#if __BSD_VISIBLE >char *strsep(char **, const char *); >#endif ># 116 "/usr/src/include/string.h" >#if __POSIX_VISIBLE >= 200809 >char *strsignal(int); >#endif ># 119 "/usr/src/include/string.h" >size_t strspn(const char *, const char *) __pure; >char *strstr(const char *, const char *) __pure; >char *strtok(char * __restrict, const char * __restrict); >#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500 >char *strtok_r(char *, const char *, char **); >#endif ># 125 "/usr/src/include/string.h" >size_t strxfrm(char * __restrict, const char * __restrict, size_t); >#if __BSD_VISIBLE > >#ifndef _SWAB_DECLARED >#define _SWAB_DECLARED > >#ifndef _SSIZE_T_DECLARED >typedef __ssize_t ssize_t; >#define _SSIZE_T_DECLARED >#endif /* _SIZE_T_DECLARED */ ># 135 "/usr/src/include/string.h" > >void swab(const void * __restrict, void * __restrict, ssize_t); >#endif /* _SWAB_DECLARED */ ># 138 "/usr/src/include/string.h" > >int timingsafe_bcmp(const void *, const void *, size_t); >int timingsafe_memcmp(const void *, const void *, size_t); >#endif /* __BSD_VISIBLE */ ># 142 "/usr/src/include/string.h" > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_string.h> >#endif /* expanded by -frewrite-includes */ ># 144 "/usr/src/include/string.h" ># 1 "/usr/src/include/xlocale/_string.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * 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: head/include/xlocale/_string.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 35 "/usr/src/include/xlocale/_string.h" > >/* > * This file is included from both string.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from string.h. > */ > >#ifndef _XLOCALE_STRING1_H >#define _XLOCALE_STRING1_H > >/* > * POSIX2008 functions > */ >int strcoll_l(const char *, const char *, locale_t); >size_t strxfrm_l(char *, const char *, size_t, locale_t); >#endif /* _XLOCALE_STRING1_H */ ># 51 "/usr/src/include/xlocale/_string.h" > >/* > * xlocale extensions > */ >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_STRING2_H >#define _XLOCALE_STRING2_H >char *strcasestr_l(const char *, const char *, locale_t); > >#endif /* _XLOCALE_STRING2_H */ ># 61 "/usr/src/include/xlocale/_string.h" >#endif /* _XLOCALE_H_ */ ># 62 "/usr/src/include/xlocale/_string.h" ># 145 "/usr/src/include/string.h" 2 >#endif ># 146 "/usr/src/include/string.h" > >#if __EXT1_VISIBLE > >#ifndef _RSIZE_T_DEFINED >#define _RSIZE_T_DEFINED >typedef size_t rsize_t; >#endif ># 153 "/usr/src/include/string.h" > >#ifndef _ERRNO_T_DEFINED >#define _ERRNO_T_DEFINED >typedef int errno_t; >#endif ># 158 "/usr/src/include/string.h" > >/* ISO/IEC 9899:2011 K.3.7.4.1.1 */ >errno_t memset_s(void *, rsize_t, int, rsize_t); >#endif /* __EXT1_VISIBLE */ ># 162 "/usr/src/include/string.h" >__END_DECLS > >#endif /* _STRING_H_ */ ># 165 "/usr/src/include/string.h" ># 49 "/usr/src/lib/libc/stdio/local.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <wchar.h> >#endif /* expanded by -frewrite-includes */ ># 49 "/usr/src/lib/libc/stdio/local.h" ># 1 "/usr/src/include/wchar.h" 1 >/*- > * SPDX-License-Identifier: (BSD-2-Clause AND BSD-2-Clause-NetBSD) > * > * Copyright (c)1999 Citrus Project, > * 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: head/include/wchar.h 326695 2017-12-08 15:57:29Z pfg $ > */ > >/*- > * Copyright (c) 1999, 2000 The NetBSD Foundation, Inc. > * All rights reserved. > * > * This code is derived from software contributed to The NetBSD Foundation > * by Julian Coleman. > * > * 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: wchar.h,v 1.8 2000/12/22 05:31:42 itojun Exp $ > */ > >#ifndef _WCHAR_H_ >#define _WCHAR_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 65 "/usr/src/include/wchar.h" ># 66 "/usr/src/include/wchar.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 66 "/usr/src/include/wchar.h" ># 67 "/usr/src/include/wchar.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 67 "/usr/src/include/wchar.h" ># 68 "/usr/src/include/wchar.h" >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_limits.h> >#endif /* expanded by -frewrite-includes */ ># 68 "/usr/src/include/wchar.h" ># 69 "/usr/src/include/wchar.h" >#if 0 /* expanded by -frewrite-includes */ >#include <_ctype.h> >#endif /* expanded by -frewrite-includes */ ># 69 "/usr/src/include/wchar.h" ># 1 "/usr/src/include/_ctype.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1989, 1993 > * The Regents of the University of California. All rights reserved. > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, Inc. > * > * This code is derived from software contributed to Berkeley by > * Paul Borman at Krystal Technologies. > * > * 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. > * > * From @(#)ctype.h 8.4 (Berkeley) 1/21/94 > * From FreeBSD: src/include/ctype.h,v 1.27 2004/06/23 07:11:39 tjr Exp > * $FreeBSD: head/include/_ctype.h 326024 2017-11-20 19:45:28Z pfg $ > */ > >#ifndef __CTYPE_H_ >#define __CTYPE_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 47 "/usr/src/include/_ctype.h" ># 48 "/usr/src/include/_ctype.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 48 "/usr/src/include/_ctype.h" ># 49 "/usr/src/include/_ctype.h" > >#define _CTYPE_A 0x00000100L /* Alpha */ >#define _CTYPE_C 0x00000200L /* Control */ >#define _CTYPE_D 0x00000400L /* Digit */ >#define _CTYPE_G 0x00000800L /* Graph */ >#define _CTYPE_L 0x00001000L /* Lower */ >#define _CTYPE_P 0x00002000L /* Punct */ >#define _CTYPE_S 0x00004000L /* Space */ >#define _CTYPE_U 0x00008000L /* Upper */ >#define _CTYPE_X 0x00010000L /* X digit */ >#define _CTYPE_B 0x00020000L /* Blank */ >#define _CTYPE_R 0x00040000L /* Print */ >#define _CTYPE_I 0x00080000L /* Ideogram */ >#define _CTYPE_T 0x00100000L /* Special */ >#define _CTYPE_Q 0x00200000L /* Phonogram */ >#define _CTYPE_N 0x00400000L /* Number (superset of digit) */ >#define _CTYPE_SW0 0x20000000L /* 0 width character */ >#define _CTYPE_SW1 0x40000000L /* 1 width character */ >#define _CTYPE_SW2 0x80000000L /* 2 width character */ >#define _CTYPE_SW3 0xc0000000L /* 3 width character */ >#define _CTYPE_SWM 0xe0000000L /* Mask for screen width data */ >#define _CTYPE_SWS 30 /* Bits to shift to get width */ > >/* See comments in <sys/_types.h> about __ct_rune_t. */ >__BEGIN_DECLS >unsigned long ___runetype(__ct_rune_t) __pure; >__ct_rune_t ___tolower(__ct_rune_t) __pure; >__ct_rune_t ___toupper(__ct_rune_t) __pure; >__END_DECLS > >/* > * _EXTERNALIZE_CTYPE_INLINES_ is defined in locale/nomacros.c to tell us > * to generate code for extern versions of all our inline functions. > */ >#ifdef _EXTERNALIZE_CTYPE_INLINES_ >#define _USE_CTYPE_INLINE_ >#define static >#define __inline >#endif ># 88 "/usr/src/include/_ctype.h" > >extern int __mb_sb_limit; > >/* > * Use inline functions if we are allowed to and the compiler supports them. > */ >#if !defined(_DONT_USE_CTYPE_INLINE_) && \ > (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) > >#if 0 /* expanded by -frewrite-includes */ >#include <runetype.h> >#endif /* expanded by -frewrite-includes */ ># 97 "/usr/src/include/_ctype.h" ># 1 "/usr/src/include/runetype.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1993 > * The Regents of the University of California. All rights reserved. > * > * This code is derived from software contributed to Berkeley by > * Paul Borman at Krystal Technologies. > * > * 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. > * > * @(#)runetype.h 8.1 (Berkeley) 6/2/93 > * $FreeBSD: head/include/runetype.h 326024 2017-11-20 19:45:28Z pfg $ > */ > >#ifndef _RUNETYPE_H_ >#define _RUNETYPE_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 41 "/usr/src/include/runetype.h" ># 42 "/usr/src/include/runetype.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/src/include/runetype.h" ># 43 "/usr/src/include/runetype.h" > >#define _CACHED_RUNES (1 <<8 ) /* Must be a power of 2 */ >#define _CRMASK (~(_CACHED_RUNES - 1)) > >/* > * The lower 8 bits of runetype[] contain the digit value of the rune. > */ >typedef struct { > __rune_t __min; /* First rune of the range */ > __rune_t __max; /* Last rune (inclusive) of the range */ > __rune_t __map; /* What first maps to in maps */ > unsigned long *__types; /* Array of types in range */ >} _RuneEntry; > >typedef struct { > int __nranges; /* Number of ranges stored */ > _RuneEntry *__ranges; /* Pointer to the ranges */ >} _RuneRange; > >typedef struct { > char __magic[8]; /* Magic saying what version we are */ > char __encoding[32]; /* ASCII name of this encoding */ > > __rune_t (*__sgetrune)(const char *, __size_t, char const **); > int (*__sputrune)(__rune_t, char *, __size_t, char **); > __rune_t __invalid_rune; > > unsigned long __runetype[_CACHED_RUNES]; > __rune_t __maplower[_CACHED_RUNES]; > __rune_t __mapupper[_CACHED_RUNES]; > > /* > * The following are to deal with Runes larger than _CACHED_RUNES - 1. > * Their data is actually contiguous with this structure so as to make > * it easier to read/write from/to disk. > */ > _RuneRange __runetype_ext; > _RuneRange __maplower_ext; > _RuneRange __mapupper_ext; > > void *__variable; /* Data which depends on the encoding */ > int __variable_len; /* how long that data is */ >} _RuneLocale; > >#define _RUNE_MAGIC_1 "RuneMagi" /* Indicates version 0 of RuneLocale */ >__BEGIN_DECLS >extern const _RuneLocale _DefaultRuneLocale; >extern const _RuneLocale *_CurrentRuneLocale; >#if defined(__NO_TLS) || defined(__RUNETYPE_INTERNAL) >extern const _RuneLocale *__getCurrentRuneLocale(void); >#else ># 94 "/usr/src/include/runetype.h" >extern _Thread_local const _RuneLocale *_ThreadRuneLocale; >static __inline const _RuneLocale *__getCurrentRuneLocale(void) >{ > > if (_ThreadRuneLocale) > return _ThreadRuneLocale; > return _CurrentRuneLocale; >} >#endif /* __NO_TLS || __RUNETYPE_INTERNAL */ ># 103 "/usr/src/include/runetype.h" >#define _CurrentRuneLocale (__getCurrentRuneLocale()) >__END_DECLS > >#endif /* !_RUNETYPE_H_ */ ># 107 "/usr/src/include/runetype.h" ># 98 "/usr/src/include/_ctype.h" 2 > >static __inline int >__maskrune(__ct_rune_t _c, unsigned long _f) >{ > return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : > _CurrentRuneLocale->__runetype[_c]) & _f; >} > >static __inline int >__sbmaskrune(__ct_rune_t _c, unsigned long _f) >{ > return (_c < 0 || _c >= __mb_sb_limit) ? 0 : > _CurrentRuneLocale->__runetype[_c] & _f; >} > >static __inline int >__istype(__ct_rune_t _c, unsigned long _f) >{ > return (!!__maskrune(_c, _f)); >} > >static __inline int >__sbistype(__ct_rune_t _c, unsigned long _f) >{ > return (!!__sbmaskrune(_c, _f)); >} > >static __inline int >__isctype(__ct_rune_t _c, unsigned long _f) >{ > return (_c < 0 || _c >= 128) ? 0 : > !!(_DefaultRuneLocale.__runetype[_c] & _f); >} > >static __inline __ct_rune_t >__toupper(__ct_rune_t _c) >{ > return (_c < 0 || _c >= _CACHED_RUNES) ? ___toupper(_c) : > _CurrentRuneLocale->__mapupper[_c]; >} > >static __inline __ct_rune_t >__sbtoupper(__ct_rune_t _c) >{ > return (_c < 0 || _c >= __mb_sb_limit) ? _c : > _CurrentRuneLocale->__mapupper[_c]; >} > >static __inline __ct_rune_t >__tolower(__ct_rune_t _c) >{ > return (_c < 0 || _c >= _CACHED_RUNES) ? ___tolower(_c) : > _CurrentRuneLocale->__maplower[_c]; >} > >static __inline __ct_rune_t >__sbtolower(__ct_rune_t _c) >{ > return (_c < 0 || _c >= __mb_sb_limit) ? _c : > _CurrentRuneLocale->__maplower[_c]; >} > >static __inline int >__wcwidth(__ct_rune_t _c) >{ > unsigned int _x; > > if (_c == 0) > return (0); > _x = (unsigned int)__maskrune(_c, _CTYPE_SWM|_CTYPE_R); > if ((_x & _CTYPE_SWM) != 0) > return ((_x & _CTYPE_SWM) >> _CTYPE_SWS); > return ((_x & _CTYPE_R) != 0 ? 1 : -1); >} > >#else /* not using inlines */ ># 174 "/usr/src/include/_ctype.h" > >__BEGIN_DECLS >int __maskrune(__ct_rune_t, unsigned long); >int __sbmaskrune(__ct_rune_t, unsigned long); >int __istype(__ct_rune_t, unsigned long); >int __sbistype(__ct_rune_t, unsigned long); >int __isctype(__ct_rune_t, unsigned long); >__ct_rune_t __toupper(__ct_rune_t); >__ct_rune_t __sbtoupper(__ct_rune_t); >__ct_rune_t __tolower(__ct_rune_t); >__ct_rune_t __sbtolower(__ct_rune_t); >int __wcwidth(__ct_rune_t); >__END_DECLS >#endif /* using inlines */ ># 188 "/usr/src/include/_ctype.h" > >#endif /* !__CTYPE_H_ */ ># 190 "/usr/src/include/_ctype.h" ># 70 "/usr/src/include/wchar.h" 2 > >#ifndef _MBSTATE_T_DECLARED >typedef __mbstate_t mbstate_t; >#define _MBSTATE_T_DECLARED >#endif ># 75 "/usr/src/include/wchar.h" > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 80 "/usr/src/include/wchar.h" > >#if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE >#ifndef _VA_LIST_DECLARED >typedef __va_list va_list; >#define _VA_LIST_DECLARED >#endif ># 86 "/usr/src/include/wchar.h" >#endif ># 87 "/usr/src/include/wchar.h" > >#ifndef __cplusplus >#ifndef _WCHAR_T_DECLARED >typedef ___wchar_t wchar_t; >#define _WCHAR_T_DECLARED >#endif ># 93 "/usr/src/include/wchar.h" >#endif ># 94 "/usr/src/include/wchar.h" > >#ifndef _WINT_T_DECLARED >typedef __wint_t wint_t; >#define _WINT_T_DECLARED >#endif ># 99 "/usr/src/include/wchar.h" > >#define WCHAR_MIN __WCHAR_MIN >#define WCHAR_MAX __WCHAR_MAX > >#ifndef WEOF >#define WEOF ((wint_t)-1) >#endif ># 106 "/usr/src/include/wchar.h" > >#ifndef _STDFILE_DECLARED >#define _STDFILE_DECLARED >typedef struct __sFILE FILE; >#endif ># 111 "/usr/src/include/wchar.h" >struct tm; > >__BEGIN_DECLS >wint_t btowc(int); >wint_t fgetwc(FILE *); >wchar_t * > fgetws(wchar_t * __restrict, int, FILE * __restrict); >wint_t fputwc(wchar_t, FILE *); >int fputws(const wchar_t * __restrict, FILE * __restrict); >int fwide(FILE *, int); >int fwprintf(FILE * __restrict, const wchar_t * __restrict, ...); >int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...); >wint_t getwc(FILE *); >wint_t getwchar(void); >size_t mbrlen(const char * __restrict, size_t, mbstate_t * __restrict); >size_t mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, > mbstate_t * __restrict); >int mbsinit(const mbstate_t *); >size_t mbsrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, > mbstate_t * __restrict); >wint_t putwc(wchar_t, FILE *); >wint_t putwchar(wchar_t); >int swprintf(wchar_t * __restrict, size_t n, const wchar_t * __restrict, > ...); >int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...); >wint_t ungetwc(wint_t, FILE *); >int vfwprintf(FILE * __restrict, const wchar_t * __restrict, > __va_list); >int vswprintf(wchar_t * __restrict, size_t n, const wchar_t * __restrict, > __va_list); >int vwprintf(const wchar_t * __restrict, __va_list); >size_t wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); >wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict); >wchar_t *wcschr(const wchar_t *, wchar_t) __pure; >int wcscmp(const wchar_t *, const wchar_t *) __pure; >int wcscoll(const wchar_t *, const wchar_t *); >wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict); >size_t wcscspn(const wchar_t *, const wchar_t *) __pure; >size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t * __restrict, > const struct tm * __restrict); >size_t wcslen(const wchar_t *) __pure; >wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict, > size_t); >int wcsncmp(const wchar_t *, const wchar_t *, size_t) __pure; >wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict, size_t); >wchar_t *wcspbrk(const wchar_t *, const wchar_t *) __pure; >wchar_t *wcsrchr(const wchar_t *, wchar_t) __pure; >size_t wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t, > mbstate_t * __restrict); >size_t wcsspn(const wchar_t *, const wchar_t *) __pure; >wchar_t *wcsstr(const wchar_t * __restrict, const wchar_t * __restrict) > __pure; >size_t wcsxfrm(wchar_t * __restrict, const wchar_t * __restrict, size_t); >int wctob(wint_t); >double wcstod(const wchar_t * __restrict, wchar_t ** __restrict); >wchar_t *wcstok(wchar_t * __restrict, const wchar_t * __restrict, > wchar_t ** __restrict); >long wcstol(const wchar_t * __restrict, wchar_t ** __restrict, int); >unsigned long > wcstoul(const wchar_t * __restrict, wchar_t ** __restrict, int); >wchar_t *wmemchr(const wchar_t *, wchar_t, size_t) __pure; >int wmemcmp(const wchar_t *, const wchar_t *, size_t) __pure; >wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t); >wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); >wchar_t *wmemset(wchar_t *, wchar_t, size_t); >int wprintf(const wchar_t * __restrict, ...); >int wscanf(const wchar_t * __restrict, ...); > >#ifndef _STDSTREAM_DECLARED >extern FILE *__stdinp; >extern FILE *__stdoutp; >extern FILE *__stderrp; >#define _STDSTREAM_DECLARED >#endif ># 185 "/usr/src/include/wchar.h" > >#define getwc(fp) fgetwc(fp) >#define getwchar() fgetwc(__stdinp) >#define putwc(wc, fp) fputwc(wc, fp) >#define putwchar(wc) fputwc(wc, __stdoutp) > >#if __ISO_C_VISIBLE >= 1999 >int vfwscanf(FILE * __restrict, const wchar_t * __restrict, > __va_list); >int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, > __va_list); >int vwscanf(const wchar_t * __restrict, __va_list); >float wcstof(const wchar_t * __restrict, wchar_t ** __restrict); >long double > wcstold(const wchar_t * __restrict, wchar_t ** __restrict); >#ifdef __LONG_LONG_SUPPORTED >/* LONGLONG */ >long long > wcstoll(const wchar_t * __restrict, wchar_t ** __restrict, int); >/* LONGLONG */ >unsigned long long > wcstoull(const wchar_t * __restrict, wchar_t ** __restrict, int); >#endif ># 208 "/usr/src/include/wchar.h" >#endif /* __ISO_C_VISIBLE >= 1999 */ ># 209 "/usr/src/include/wchar.h" > >#if __XSI_VISIBLE >int wcswidth(const wchar_t *, size_t); >int wcwidth(wchar_t); >#define wcwidth(_c) __wcwidth(_c) >#endif ># 215 "/usr/src/include/wchar.h" > >#if __POSIX_VISIBLE >= 200809 >size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, > size_t, mbstate_t * __restrict); >FILE *open_wmemstream(wchar_t **, size_t *); >wchar_t *wcpcpy(wchar_t * __restrict, const wchar_t * __restrict); >wchar_t *wcpncpy(wchar_t * __restrict, const wchar_t * __restrict, size_t); >wchar_t *wcsdup(const wchar_t *) __malloc_like; >int wcscasecmp(const wchar_t *, const wchar_t *); >int wcsncasecmp(const wchar_t *, const wchar_t *, size_t n); >size_t wcsnlen(const wchar_t *, size_t) __pure; >size_t wcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t, > size_t, mbstate_t * __restrict); >#endif ># 229 "/usr/src/include/wchar.h" > >#if __BSD_VISIBLE >wchar_t *fgetwln(FILE * __restrict, size_t * __restrict); >size_t wcslcat(wchar_t *, const wchar_t *, size_t); >size_t wcslcpy(wchar_t *, const wchar_t *, size_t); >#endif ># 235 "/usr/src/include/wchar.h" > >#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_wchar.h> >#endif /* expanded by -frewrite-includes */ ># 237 "/usr/src/include/wchar.h" ># 1 "/usr/src/include/xlocale/_wchar.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_wchar.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 38 "/usr/src/include/xlocale/_wchar.h" > >#ifndef _XLOCALE_WCHAR1_H >#define _XLOCALE_WCHAR1_H >int wcscasecmp_l(const wchar_t *, const wchar_t *, > locale_t); >int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, > locale_t); >int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); >size_t wcsxfrm_l(wchar_t * __restrict, > const wchar_t * __restrict, size_t, locale_t); > >#endif /* _XLOCALE_WCHAR1_H */ ># 50 "/usr/src/include/xlocale/_wchar.h" > >/* > * Only declare the non-POSIX functions if we're included from xlocale.h. > */ > >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_WCHAR2_H >#define _XLOCALE_WCHAR2_H > >wint_t btowc_l(int, locale_t); >wint_t fgetwc_l(FILE *, locale_t); >wchar_t *fgetws_l(wchar_t * __restrict, int, FILE * __restrict, > locale_t); >wint_t fputwc_l(wchar_t, FILE *, locale_t); >int fputws_l(const wchar_t * __restrict, FILE * __restrict, > locale_t); >int fwprintf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, ...); >int fwscanf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, ...); >wint_t getwc_l(FILE *, locale_t); >wint_t getwchar_l(locale_t); >size_t mbrlen_l(const char * __restrict, size_t, > mbstate_t * __restrict, locale_t); >size_t mbrtowc_l(wchar_t * __restrict, > const char * __restrict, size_t, > mbstate_t * __restrict, locale_t); >int mbsinit_l(const mbstate_t *, locale_t); >size_t mbsrtowcs_l(wchar_t * __restrict, > const char ** __restrict, size_t, > mbstate_t * __restrict, locale_t); >wint_t putwc_l(wchar_t, FILE *, locale_t); >wint_t putwchar_l(wchar_t, locale_t); >int swprintf_l(wchar_t * __restrict, size_t n, locale_t, > const wchar_t * __restrict, ...); >int swscanf_l(const wchar_t * __restrict, locale_t, > const wchar_t * __restrict, ...); >wint_t ungetwc_l(wint_t, FILE *, locale_t); >int vfwprintf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, __va_list); >int vswprintf_l(wchar_t * __restrict, size_t n, locale_t, > const wchar_t * __restrict, __va_list); >int vwprintf_l(locale_t, const wchar_t * __restrict, > __va_list); >size_t wcrtomb_l(char * __restrict, wchar_t, > mbstate_t * __restrict, locale_t); >size_t wcsftime_l(wchar_t * __restrict, size_t, > const wchar_t * __restrict, > const struct tm * __restrict, locale_t); >size_t wcsrtombs_l(char * __restrict, > const wchar_t ** __restrict, size_t, > mbstate_t * __restrict, locale_t); >double wcstod_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long wcstol_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >unsigned long wcstoul_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >int wcswidth_l(const wchar_t *, size_t, locale_t); >int wctob_l(wint_t, locale_t); >int wcwidth_l(wchar_t, locale_t); >int wprintf_l(locale_t, const wchar_t * __restrict, ...); >int wscanf_l(locale_t, const wchar_t * __restrict, ...); >int vfwscanf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, __va_list); >int vswscanf_l(const wchar_t * __restrict, locale_t, > const wchar_t *__restrict, __va_list); >int vwscanf_l(locale_t, const wchar_t * __restrict, > __va_list); >float wcstof_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long double wcstold_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long long wcstoll_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >unsigned long long wcstoull_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >size_t mbsnrtowcs_l(wchar_t * __restrict, > const char ** __restrict, size_t, size_t, > mbstate_t * __restrict, locale_t); >size_t wcsnrtombs_l(char * __restrict, > const wchar_t ** __restrict, size_t, size_t, > mbstate_t * __restrict, locale_t); > >#endif /* _XLOCALE_WCHAR_H */ ># 135 "/usr/src/include/xlocale/_wchar.h" >#endif /* _XLOCALE_H_ */ ># 136 "/usr/src/include/xlocale/_wchar.h" ># 238 "/usr/src/include/wchar.h" 2 >#endif ># 239 "/usr/src/include/wchar.h" >__END_DECLS > >#endif /* !_WCHAR_H_ */ ># 242 "/usr/src/include/wchar.h" ># 50 "/usr/src/lib/libc/stdio/local.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <locale.h> >#endif /* expanded by -frewrite-includes */ ># 50 "/usr/src/lib/libc/stdio/local.h" ># 1 "/usr/src/include/locale.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * Copyright (c) 1991, 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. > * > * @(#)locale.h 8.1 (Berkeley) 6/2/93 > * $FreeBSD: head/include/locale.h 326024 2017-11-20 19:45:28Z pfg $ > */ > >#ifndef _LOCALE_H_ >#define _LOCALE_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/src/include/locale.h" ># 39 "/usr/src/include/locale.h" > >struct lconv { > char *decimal_point; > char *thousands_sep; > char *grouping; > char *int_curr_symbol; > char *currency_symbol; > char *mon_decimal_point; > char *mon_thousands_sep; > char *mon_grouping; > char *positive_sign; > char *negative_sign; > char int_frac_digits; > char frac_digits; > char p_cs_precedes; > char p_sep_by_space; > char n_cs_precedes; > char n_sep_by_space; > char p_sign_posn; > char n_sign_posn; > char int_p_cs_precedes; > char int_n_cs_precedes; > char int_p_sep_by_space; > char int_n_sep_by_space; > char int_p_sign_posn; > char int_n_sign_posn; >}; > >#define LC_ALL 0 >#define LC_COLLATE 1 >#define LC_CTYPE 2 >#define LC_MONETARY 3 >#define LC_NUMERIC 4 >#define LC_TIME 5 >#define LC_MESSAGES 6 > >#define _LC_LAST 7 /* marks end */ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 77 "/usr/src/include/locale.h" ># 78 "/usr/src/include/locale.h" > >__BEGIN_DECLS >struct lconv *localeconv(void); >char *setlocale(int, const char *); > >#if __POSIX_VISIBLE >= 200809 >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_locale.h> >#endif /* expanded by -frewrite-includes */ ># 84 "/usr/src/include/locale.h" ># 1 "/usr/src/include/xlocale/_locale.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_locale.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _XLOCALE_LOCALE_H >#define _XLOCALE_LOCALE_H > >/* Bit shifting order of LC_*_MASK should match XLC_* and LC_* order. */ >#define LC_COLLATE_MASK (1<<0) >#define LC_CTYPE_MASK (1<<1) >#define LC_MONETARY_MASK (1<<2) >#define LC_NUMERIC_MASK (1<<3) >#define LC_TIME_MASK (1<<4) >#define LC_MESSAGES_MASK (1<<5) >#define LC_ALL_MASK (LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | \ > LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK) >#define LC_GLOBAL_LOCALE ((locale_t)-1) > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 52 "/usr/src/include/xlocale/_locale.h" > >locale_t duplocale(locale_t base); >void freelocale(locale_t loc); >locale_t newlocale(int mask, const char *locale, locale_t base); >const char *querylocale(int mask, locale_t loc); >locale_t uselocale(locale_t loc); > >#endif /* _XLOCALE_LOCALE_H */ ># 60 "/usr/src/include/xlocale/_locale.h" ># 85 "/usr/src/include/locale.h" 2 >#endif ># 86 "/usr/src/include/locale.h" >__END_DECLS > > >#endif /* _LOCALE_H_ */ ># 90 "/usr/src/include/locale.h" ># 51 "/usr/src/lib/libc/stdio/local.h" 2 > >/* > * Information local to this implementation of stdio, > * in particular, macros and private variables. > */ > >extern int _sread(FILE *, char *, int); >extern int _swrite(FILE *, char const *, int); >extern fpos_t _sseek(FILE *, fpos_t, int); >extern int _ftello(FILE *, fpos_t *); >extern int _fseeko(FILE *, off_t, int, int); >extern int __fflush(FILE *fp); >extern void __fcloseall(void); >extern wint_t __fgetwc_mbs(FILE *, mbstate_t *, int *, locale_t); >extern wint_t __fputwc(wchar_t, FILE *, locale_t); >extern int __sflush(FILE *); >extern FILE *__sfp(void); >extern int __slbexpand(FILE *, size_t); >extern int __srefill(FILE *); >extern int __sread(void *, char *, int); >extern int __swrite(void *, char const *, int); >extern fpos_t __sseek(void *, fpos_t, int); >extern int __sclose(void *); >extern void __sinit(void); >extern void _cleanup(void); >extern void __smakebuf(FILE *); >extern int __swhatbuf(FILE *, size_t *, int *); >extern int _fwalk(int (*)(FILE *)); >extern int __svfscanf(FILE *, locale_t, const char *, __va_list); >extern int __swsetup(FILE *); >extern int __sflags(const char *, int *); >extern int __ungetc(int, FILE *); >extern wint_t __ungetwc(wint_t, FILE *, locale_t); >extern int __vfprintf(FILE *, locale_t, const char *, __va_list); >extern int __vfscanf(FILE *, const char *, __va_list); >extern int __vfwprintf(FILE *, locale_t, const wchar_t *, __va_list); >extern int __vfwscanf(FILE * __restrict, locale_t, const wchar_t * __restrict, > __va_list); >extern size_t __fread(void * __restrict buf, size_t size, size_t count, > FILE * __restrict fp); >extern int __sdidinit; > >static inline wint_t >__fgetwc(FILE *fp, locale_t locale) >{ > int nread; > > return (__fgetwc_mbs(fp, &fp->_mbstate, &nread, locale)); >} > >/* > * Prepare the given FILE for writing, and return 0 iff it > * can be written now. Otherwise, return EOF and set errno. > */ >#define prepwrite(fp) \ > ((((fp)->_flags & __SWR) == 0 || \ > ((fp)->_bf._base == NULL && ((fp)->_flags & __SSTR) == 0)) && \ > __swsetup(fp)) > >/* > * Test whether the given stdio file has an active ungetc buffer; > * release such a buffer, without restoring ordinary unread data. > */ >#define HASUB(fp) ((fp)->_ub._base != NULL) >#define FREEUB(fp) { \ > if ((fp)->_ub._base != (fp)->_ubuf) \ > free((char *)(fp)->_ub._base); \ > (fp)->_ub._base = NULL; \ >} > >/* > * test for an fgetln() buffer. > */ >#define HASLB(fp) ((fp)->_lb._base != NULL) >#define FREELB(fp) { \ > free((char *)(fp)->_lb._base); \ > (fp)->_lb._base = NULL; \ >} > >/* > * Structure initializations for 'fake' FILE objects. > */ >#define FAKE_FILE { \ > ._file = -1, \ > ._fl_mutex = PTHREAD_MUTEX_INITIALIZER, \ >} > >/* > * Set the orientation for a stream. If o > 0, the stream has wide- > * orientation. If o < 0, the stream has byte-orientation. > */ >#define ORIENT(fp, o) do { \ > if ((fp)->_orientation == 0) \ > (fp)->_orientation = (o); \ >} while (0) > >void __stdio_cancel_cleanup(void *); >#define FLOCKFILE_CANCELSAFE(fp) \ > { \ > struct _pthread_cleanup_info __cleanup_info__; \ > if (__isthreaded) { \ > _FLOCKFILE(fp); \ > ___pthread_cleanup_push_imp( \ > __stdio_cancel_cleanup, (fp), \ > &__cleanup_info__); \ > } else { \ > ___pthread_cleanup_push_imp( \ > __stdio_cancel_cleanup, NULL, \ > &__cleanup_info__); \ > } \ > { >#define FUNLOCKFILE_CANCELSAFE() \ > (void)0; \ > } \ > ___pthread_cleanup_pop_imp(1); \ > } > >#endif /* _STDIO_LOCAL_H */ ># 169 "/usr/src/lib/libc/stdio/local.h" ># 50 "/usr/src/lib/libc/stdio/sprintf.c" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "xlocale_private.h" >#endif /* expanded by -frewrite-includes */ ># 50 "/usr/src/lib/libc/stdio/sprintf.c" ># 1 "/usr/src/lib/libc/locale/xlocale_private.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/lib/libc/locale/xlocale_private.h 340276 2018-11-09 03:32:53Z yuripv $ > */ > >#ifndef _XLOCALE_PRIVATE__H_ >#define _XLOCALE_PRIVATE__H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/src/lib/libc/locale/xlocale_private.h" ># 1 "/usr/src/include/xlocale.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _XLOCALE_H_ >#define _XLOCALE_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <locale.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/src/include/xlocale.h" ># 38 "/usr/src/include/xlocale.h" >__BEGIN_DECLS >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_locale.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/src/include/xlocale.h" ># 40 "/usr/src/include/xlocale.h" > >#ifdef _STRING_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_string.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/src/include/xlocale.h" ># 1 "/usr/src/include/xlocale/_string.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * 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: head/include/xlocale/_string.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 35 "/usr/src/include/xlocale/_string.h" > >/* > * This file is included from both string.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from string.h. > */ > >#ifndef _XLOCALE_STRING1_H >#define _XLOCALE_STRING1_H > >/* > * POSIX2008 functions > */ >int strcoll_l(const char *, const char *, locale_t); >size_t strxfrm_l(char *, const char *, size_t, locale_t); >#endif /* _XLOCALE_STRING1_H */ ># 51 "/usr/src/include/xlocale/_string.h" > >/* > * xlocale extensions > */ >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_STRING2_H >#define _XLOCALE_STRING2_H >char *strcasestr_l(const char *, const char *, locale_t); > >#endif /* _XLOCALE_STRING2_H */ ># 61 "/usr/src/include/xlocale/_string.h" >#endif /* _XLOCALE_H_ */ ># 62 "/usr/src/include/xlocale/_string.h" ># 43 "/usr/src/include/xlocale.h" 2 >#endif ># 44 "/usr/src/include/xlocale.h" > >#ifdef _INTTYPES_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_inttypes.h> >#endif /* expanded by -frewrite-includes */ ># 46 "/usr/src/include/xlocale.h" ># 47 "/usr/src/include/xlocale.h" >#endif ># 48 "/usr/src/include/xlocale.h" > >#ifdef _MONETARY_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_monetary.h> >#endif /* expanded by -frewrite-includes */ ># 50 "/usr/src/include/xlocale.h" ># 51 "/usr/src/include/xlocale.h" >#endif ># 52 "/usr/src/include/xlocale.h" > >#ifdef _STDLIB_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_stdlib.h> >#endif /* expanded by -frewrite-includes */ ># 54 "/usr/src/include/xlocale.h" ># 55 "/usr/src/include/xlocale.h" >#endif ># 56 "/usr/src/include/xlocale.h" > >#ifdef _TIME_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_time.h> >#endif /* expanded by -frewrite-includes */ ># 58 "/usr/src/include/xlocale.h" ># 1 "/usr/src/include/xlocale/_time.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_time.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 38 "/usr/src/include/xlocale/_time.h" > >/* > * This file is included from both locale.h and xlocale.h. We need to expose > * the declarations unconditionally if we are included from xlocale.h, but only > * if we are in POSIX2008 mode if included from locale.h. > */ >#ifndef _XLOCALE_LOCALE1_H >#define _XLOCALE_LOCALE1_H > >size_t strftime_l(char * __restrict, size_t, const char * __restrict, > const struct tm * __restrict, locale_t) __strftimelike(3, 0); > >#endif /* _XLOCALE_LOCALE1_H */ ># 51 "/usr/src/include/xlocale/_time.h" > >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_LOCALE2_H >#define _XLOCALE_LOCALE2_H > >char *strptime_l(const char * __restrict, const char * __restrict, > struct tm * __restrict, locale_t); > >#endif /* _XLOCALE_LOCALE2_H */ ># 60 "/usr/src/include/xlocale/_time.h" >#endif /* _XLOCALE_H_ */ ># 61 "/usr/src/include/xlocale/_time.h" ># 59 "/usr/src/include/xlocale.h" 2 >#endif ># 60 "/usr/src/include/xlocale.h" > >#ifdef _LANGINFO_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_langinfo.h> >#endif /* expanded by -frewrite-includes */ ># 62 "/usr/src/include/xlocale.h" ># 63 "/usr/src/include/xlocale.h" >#endif ># 64 "/usr/src/include/xlocale.h" > >#ifdef _CTYPE_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_ctype.h> >#endif /* expanded by -frewrite-includes */ ># 66 "/usr/src/include/xlocale.h" ># 67 "/usr/src/include/xlocale.h" >#endif ># 68 "/usr/src/include/xlocale.h" > >#ifdef _WCTYPE_H_ >#define _XLOCALE_WCTYPES 1 >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_ctype.h> >#endif /* expanded by -frewrite-includes */ ># 71 "/usr/src/include/xlocale.h" ># 72 "/usr/src/include/xlocale.h" >#endif ># 73 "/usr/src/include/xlocale.h" > >#ifdef _STDIO_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_stdio.h> >#endif /* expanded by -frewrite-includes */ ># 75 "/usr/src/include/xlocale.h" ># 1 "/usr/src/include/xlocale/_stdio.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_stdio.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >int asprintf_l(char **, locale_t, const char *, ...) __printflike(3, 4); >int dprintf_l(int, locale_t, const char * __restrict, ...) > __printflike(3, 4); >int fprintf_l(FILE * __restrict, locale_t, const char * __restrict, ...) > __printflike(3, 4); >int fscanf_l(FILE * __restrict, locale_t, const char * __restrict, ...) > __scanflike(3, 4); >int printf_l(locale_t, const char * __restrict, ...) __printflike(2, 3); >int scanf_l(locale_t, const char * __restrict, ...) __scanflike(2, 3); >int snprintf_l(char * __restrict, size_t, locale_t, > const char * __restrict, ...) __printflike(4, 5); >int sprintf_l(char * __restrict, locale_t, const char * __restrict, ...) > __printflike(3, 4); >int sscanf_l(const char * __restrict, locale_t, const char * __restrict, > ...) __scanflike(3, 4); >int vfprintf_l(FILE * __restrict, locale_t, const char * __restrict, > __va_list) __printflike(3, 0); >int vprintf_l(locale_t, const char * __restrict, __va_list) > __printflike(2, 0); >int vsprintf_l(char * __restrict, locale_t, const char * __restrict, > __va_list) __printflike(3, 0); >int vfscanf_l(FILE * __restrict, locale_t, const char * __restrict, > __va_list) __scanflike(3, 0); >int vscanf_l(locale_t, const char * __restrict, __va_list) > __scanflike(2, 0); >int vsnprintf_l(char * __restrict, size_t, locale_t, > const char * __restrict, __va_list) __printflike(4, 0); >int vsscanf_l(const char * __restrict, locale_t, const char * __restrict, > __va_list) __scanflike(3, 0); >int vdprintf_l(int, locale_t, const char * __restrict, __va_list) > __printflike(3, 0); >int vasprintf_l(char **, locale_t, const char *, __va_list) > __printflike(3, 0); ># 76 "/usr/src/include/xlocale.h" 2 >#endif ># 77 "/usr/src/include/xlocale.h" > >#ifdef _WCHAR_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_wchar.h> >#endif /* expanded by -frewrite-includes */ ># 79 "/usr/src/include/xlocale.h" ># 1 "/usr/src/include/xlocale/_wchar.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_wchar.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >#ifndef _LOCALE_T_DEFINED >#define _LOCALE_T_DEFINED >typedef struct _xlocale *locale_t; >#endif ># 38 "/usr/src/include/xlocale/_wchar.h" > >#ifndef _XLOCALE_WCHAR1_H >#define _XLOCALE_WCHAR1_H >int wcscasecmp_l(const wchar_t *, const wchar_t *, > locale_t); >int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, > locale_t); >int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); >size_t wcsxfrm_l(wchar_t * __restrict, > const wchar_t * __restrict, size_t, locale_t); > >#endif /* _XLOCALE_WCHAR1_H */ ># 50 "/usr/src/include/xlocale/_wchar.h" > >/* > * Only declare the non-POSIX functions if we're included from xlocale.h. > */ > >#ifdef _XLOCALE_H_ >#ifndef _XLOCALE_WCHAR2_H >#define _XLOCALE_WCHAR2_H > >wint_t btowc_l(int, locale_t); >wint_t fgetwc_l(FILE *, locale_t); >wchar_t *fgetws_l(wchar_t * __restrict, int, FILE * __restrict, > locale_t); >wint_t fputwc_l(wchar_t, FILE *, locale_t); >int fputws_l(const wchar_t * __restrict, FILE * __restrict, > locale_t); >int fwprintf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, ...); >int fwscanf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, ...); >wint_t getwc_l(FILE *, locale_t); >wint_t getwchar_l(locale_t); >size_t mbrlen_l(const char * __restrict, size_t, > mbstate_t * __restrict, locale_t); >size_t mbrtowc_l(wchar_t * __restrict, > const char * __restrict, size_t, > mbstate_t * __restrict, locale_t); >int mbsinit_l(const mbstate_t *, locale_t); >size_t mbsrtowcs_l(wchar_t * __restrict, > const char ** __restrict, size_t, > mbstate_t * __restrict, locale_t); >wint_t putwc_l(wchar_t, FILE *, locale_t); >wint_t putwchar_l(wchar_t, locale_t); >int swprintf_l(wchar_t * __restrict, size_t n, locale_t, > const wchar_t * __restrict, ...); >int swscanf_l(const wchar_t * __restrict, locale_t, > const wchar_t * __restrict, ...); >wint_t ungetwc_l(wint_t, FILE *, locale_t); >int vfwprintf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, __va_list); >int vswprintf_l(wchar_t * __restrict, size_t n, locale_t, > const wchar_t * __restrict, __va_list); >int vwprintf_l(locale_t, const wchar_t * __restrict, > __va_list); >size_t wcrtomb_l(char * __restrict, wchar_t, > mbstate_t * __restrict, locale_t); >size_t wcsftime_l(wchar_t * __restrict, size_t, > const wchar_t * __restrict, > const struct tm * __restrict, locale_t); >size_t wcsrtombs_l(char * __restrict, > const wchar_t ** __restrict, size_t, > mbstate_t * __restrict, locale_t); >double wcstod_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long wcstol_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >unsigned long wcstoul_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >int wcswidth_l(const wchar_t *, size_t, locale_t); >int wctob_l(wint_t, locale_t); >int wcwidth_l(wchar_t, locale_t); >int wprintf_l(locale_t, const wchar_t * __restrict, ...); >int wscanf_l(locale_t, const wchar_t * __restrict, ...); >int vfwscanf_l(FILE * __restrict, locale_t, > const wchar_t * __restrict, __va_list); >int vswscanf_l(const wchar_t * __restrict, locale_t, > const wchar_t *__restrict, __va_list); >int vwscanf_l(locale_t, const wchar_t * __restrict, > __va_list); >float wcstof_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long double wcstold_l(const wchar_t * __restrict, > wchar_t ** __restrict, locale_t); >long long wcstoll_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >unsigned long long wcstoull_l(const wchar_t * __restrict, > wchar_t ** __restrict, int, locale_t); >size_t mbsnrtowcs_l(wchar_t * __restrict, > const char ** __restrict, size_t, size_t, > mbstate_t * __restrict, locale_t); >size_t wcsnrtombs_l(char * __restrict, > const wchar_t ** __restrict, size_t, size_t, > mbstate_t * __restrict, locale_t); > >#endif /* _XLOCALE_WCHAR_H */ ># 135 "/usr/src/include/xlocale/_wchar.h" >#endif /* _XLOCALE_H_ */ ># 136 "/usr/src/include/xlocale/_wchar.h" ># 80 "/usr/src/include/xlocale.h" 2 >#endif ># 81 "/usr/src/include/xlocale.h" > > > >struct lconv *localeconv_l(locale_t); >__END_DECLS > >#endif ># 88 "/usr/src/include/xlocale.h" ># 38 "/usr/src/lib/libc/locale/xlocale_private.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <locale.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/src/lib/libc/locale/xlocale_private.h" ># 39 "/usr/src/lib/libc/locale/xlocale_private.h" >#if 0 /* expanded by -frewrite-includes */ >#include <stdlib.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/src/lib/libc/locale/xlocale_private.h" ># 1 "/usr/src/include/stdlib.h" 1 >/*- > * SPDX-License-Identifier: BSD-3-Clause > * > * 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. 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. > * > * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 > * $FreeBSD: head/include/stdlib.h 338331 2018-08-26 18:04:54Z delphij $ > */ > >#ifndef _STDLIB_H_ >#define _STDLIB_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/src/include/stdlib.h" ># 39 "/usr/src/include/stdlib.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_null.h> >#endif /* expanded by -frewrite-includes */ ># 39 "/usr/src/include/stdlib.h" ># 40 "/usr/src/include/stdlib.h" >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 40 "/usr/src/include/stdlib.h" ># 41 "/usr/src/include/stdlib.h" > >__NULLABILITY_PRAGMA_PUSH > >#if __BSD_VISIBLE >#ifndef _RUNE_T_DECLARED >typedef __rune_t rune_t; >#define _RUNE_T_DECLARED >#endif ># 49 "/usr/src/include/stdlib.h" >#endif ># 50 "/usr/src/include/stdlib.h" > >#ifndef _SIZE_T_DECLARED >typedef __size_t size_t; >#define _SIZE_T_DECLARED >#endif ># 55 "/usr/src/include/stdlib.h" > >#ifndef __cplusplus >#ifndef _WCHAR_T_DECLARED >typedef ___wchar_t wchar_t; >#define _WCHAR_T_DECLARED >#endif ># 61 "/usr/src/include/stdlib.h" >#endif ># 62 "/usr/src/include/stdlib.h" > >typedef struct { > int quot; /* quotient */ > int rem; /* remainder */ >} div_t; > >typedef struct { > long quot; > long rem; >} ldiv_t; > >#define EXIT_FAILURE 1 >#define EXIT_SUCCESS 0 > >#define RAND_MAX 0x7ffffffd > >__BEGIN_DECLS >#ifdef _XLOCALE_H_ >#if 0 /* expanded by -frewrite-includes */ >#include <xlocale/_stdlib.h> >#endif /* expanded by -frewrite-includes */ ># 80 "/usr/src/include/stdlib.h" ># 1 "/usr/src/include/xlocale/_stdlib.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2011, 2012 The FreeBSD Foundation > * All rights reserved. > * > * 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: head/include/xlocale/_stdlib.h 326192 2017-11-25 17:09:43Z pfg $ > */ > >/* > * Extended locale versions of the locale-aware functions from stdlib.h. > * > * Include <stdlib.h> before <xlocale.h> to expose these. > */ >double atof_l(const char *, locale_t); >int atoi_l(const char *, locale_t); >long atol_l(const char *, locale_t); >long long atoll_l(const char *, locale_t); >int mblen_l(const char *, size_t, locale_t); >size_t mbstowcs_l(wchar_t * __restrict, > const char * __restrict, size_t, locale_t); >int mbtowc_l(wchar_t * __restrict, > const char * __restrict, size_t, locale_t); >double strtod_l(const char *, char **, locale_t); >float strtof_l(const char *, char **, locale_t); >long strtol_l(const char *, char **, int, locale_t); >long double strtold_l(const char *, char **, locale_t); >long long strtoll_l(const char *, char **, int, locale_t); >unsigned long strtoul_l(const char *, char **, int, locale_t); >unsigned long long strtoull_l(const char *, char **, int, locale_t); >size_t wcstombs_l(char * __restrict, > const wchar_t * __restrict, size_t, locale_t); >int wctomb_l(char *, wchar_t, locale_t); > >int ___mb_cur_max_l(locale_t); >#define MB_CUR_MAX_L(x) ((size_t)___mb_cur_max_l(x)) > ># 81 "/usr/src/include/stdlib.h" 2 >#endif ># 82 "/usr/src/include/stdlib.h" >extern int __mb_cur_max; >extern int ___mb_cur_max(void); >#define MB_CUR_MAX ((size_t)___mb_cur_max()) > >_Noreturn void abort(void); >int abs(int) __pure2; >int atexit(void (* _Nonnull)(void)); >double atof(const char *); >int atoi(const char *); >long atol(const char *); >void *bsearch(const void *, const void *, size_t, > size_t, int (*)(const void * _Nonnull, const void *)); >void *calloc(size_t, size_t) __malloc_like __result_use_check > __alloc_size2(1, 2); >div_t div(int, int) __pure2; >_Noreturn void exit(int); >void free(void *); >char *getenv(const char *); >long labs(long) __pure2; >ldiv_t ldiv(long, long) __pure2; >void *malloc(size_t) __malloc_like __result_use_check __alloc_size(1); >int mblen(const char *, size_t); >size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t); >int mbtowc(wchar_t * __restrict, const char * __restrict, size_t); >void qsort(void *, size_t, size_t, > int (* _Nonnull)(const void *, const void *)); >int rand(void); >void *realloc(void *, size_t) __result_use_check __alloc_size(2); >void srand(unsigned); >double strtod(const char * __restrict, char ** __restrict); >float strtof(const char * __restrict, char ** __restrict); >long strtol(const char * __restrict, char ** __restrict, int); >long double > strtold(const char * __restrict, char ** __restrict); >unsigned long > strtoul(const char * __restrict, char ** __restrict, int); >int system(const char *); >int wctomb(char *, wchar_t); >size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t); > >/* > * Functions added in C99 which we make conditionally available in the > * BSD^C89 namespace if the compiler supports `long long'. > * The #if test is more complicated than it ought to be because > * __BSD_VISIBLE implies __ISO_C_VISIBLE == 1999 *even if* `long long' > * is not supported in the compilation environment (which therefore means > * that it can't really be ISO C99). > * > * (The only other extension made by C99 in thie header is _Exit().) > */ >#if __ISO_C_VISIBLE >= 1999 || defined(__cplusplus) >#ifdef __LONG_LONG_SUPPORTED >/* LONGLONG */ >typedef struct { > long long quot; > long long rem; >} lldiv_t; > >/* LONGLONG */ >long long > atoll(const char *); >/* LONGLONG */ >long long > llabs(long long) __pure2; >/* LONGLONG */ >lldiv_t lldiv(long long, long long) __pure2; >/* LONGLONG */ >long long > strtoll(const char * __restrict, char ** __restrict, int); >/* LONGLONG */ >unsigned long long > strtoull(const char * __restrict, char ** __restrict, int); >#endif /* __LONG_LONG_SUPPORTED */ ># 155 "/usr/src/include/stdlib.h" > >_Noreturn void _Exit(int); >#endif /* __ISO_C_VISIBLE >= 1999 */ ># 158 "/usr/src/include/stdlib.h" > >/* > * If we're in a mode greater than C99, expose C11 functions. > */ >#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L >void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1) > __alloc_size(2); >int at_quick_exit(void (*)(void)); >_Noreturn void > quick_exit(int); >#endif /* __ISO_C_VISIBLE >= 2011 */ ># 169 "/usr/src/include/stdlib.h" >/* > * Extensions made by POSIX relative to C. > */ >#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >char *realpath(const char * __restrict, char * __restrict); >#endif ># 175 "/usr/src/include/stdlib.h" >#if __POSIX_VISIBLE >= 199506 >int rand_r(unsigned *); /* (TSF) */ >#endif ># 178 "/usr/src/include/stdlib.h" >#if __POSIX_VISIBLE >= 200112 >int posix_memalign(void **, size_t, size_t); /* (ADV) */ >int setenv(const char *, const char *, int); >int unsetenv(const char *); >#endif ># 183 "/usr/src/include/stdlib.h" > >#if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE >int getsubopt(char **, char *const *, char **); >#ifndef _MKDTEMP_DECLARED >char *mkdtemp(char *); >#define _MKDTEMP_DECLARED >#endif ># 190 "/usr/src/include/stdlib.h" >#ifndef _MKSTEMP_DECLARED >int mkstemp(char *); >#define _MKSTEMP_DECLARED >#endif ># 194 "/usr/src/include/stdlib.h" >#endif /* __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE */ ># 195 "/usr/src/include/stdlib.h" > >/* > * The only changes to the XSI namespace in revision 6 were the deletion > * of the ttyslot() and valloc() functions, which FreeBSD never declared > * in this header. For revision 7, ecvt(), fcvt(), and gcvt(), which > * FreeBSD also does not have, and mktemp(), are to be deleted. > */ >#if __XSI_VISIBLE >/* XXX XSI requires pollution from <sys/wait.h> here. We'd rather not. */ >long a64l(const char *); >double drand48(void); >/* char *ecvt(double, int, int * __restrict, int * __restrict); */ >double erand48(unsigned short[3]); >/* char *fcvt(double, int, int * __restrict, int * __restrict); */ >/* char *gcvt(double, int, int * __restrict, int * __restrict); */ >int grantpt(int); >char *initstate(unsigned int, char *, size_t); >long jrand48(unsigned short[3]); >char *l64a(long); >void lcong48(unsigned short[7]); >long lrand48(void); >#if !defined(_MKTEMP_DECLARED) && (__BSD_VISIBLE || __XSI_VISIBLE <= 600) >char *mktemp(char *); >#define _MKTEMP_DECLARED >#endif ># 220 "/usr/src/include/stdlib.h" >long mrand48(void); >long nrand48(unsigned short[3]); >int posix_openpt(int); >char *ptsname(int); >int putenv(char *); >long random(void); >unsigned short > *seed48(unsigned short[3]); >char *setstate(/* const */ char *); >void srand48(long); >void srandom(unsigned int); >int unlockpt(int); >#endif /* __XSI_VISIBLE */ ># 233 "/usr/src/include/stdlib.h" > >#if __BSD_VISIBLE >extern const char *malloc_conf; >extern void (*malloc_message)(void *, const char *); > >/* > * The alloca() function can't be implemented in C, and on some > * platforms it can't be implemented at all as a callable function. > * The GNU C compiler provides a built-in alloca() which we can use. > * On platforms where alloca() is not in libc, programs which use it > * will fail to link when compiled with non-GNU compilers. > */ >#if __GNUC__ >= 2 || defined(__INTEL_COMPILER) >#undef alloca /* some GNU bits try to get cute and define this on their own */ >#define alloca(sz) __builtin_alloca(sz) >#endif ># 249 "/usr/src/include/stdlib.h" > >void abort2(const char *, int, void **) __dead2; >__uint32_t > arc4random(void); >void arc4random_buf(void *, size_t); >__uint32_t > arc4random_uniform(__uint32_t); > >#ifdef __BLOCKS__ >int atexit_b(void (^ _Nonnull)(void)); >void *bsearch_b(const void *, const void *, size_t, > size_t, int (^ _Nonnull)(const void *, const void *)); >#endif ># 262 "/usr/src/include/stdlib.h" >char *getbsize(int *, long *); > /* getcap(3) functions */ >char *cgetcap(char *, const char *, int); >int cgetclose(void); >int cgetent(char **, char **, const char *); >int cgetfirst(char **, char **); >int cgetmatch(const char *, const char *); >int cgetnext(char **, char **); >int cgetnum(char *, const char *, long *); >int cgetset(const char *); >int cgetstr(char *, const char *, char **); >int cgetustr(char *, const char *, char **); > >int daemon(int, int); >int daemonfd(int, int); >char *devname(__dev_t, __mode_t); >char *devname_r(__dev_t, __mode_t, char *, int); >char *fdevname(int); >char *fdevname_r(int, char *, int); >int getloadavg(double [], int); >const char * > getprogname(void); > >int heapsort(void *, size_t, size_t, > int (* _Nonnull)(const void *, const void *)); >#ifdef __BLOCKS__ >int heapsort_b(void *, size_t, size_t, > int (^ _Nonnull)(const void *, const void *)); >void qsort_b(void *, size_t, size_t, > int (^ _Nonnull)(const void *, const void *)); >#endif ># 293 "/usr/src/include/stdlib.h" >int l64a_r(long, char *, int); >int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); >#ifdef __BLOCKS__ >int mergesort_b(void *, size_t, size_t, int (^)(const void *, const void *)); >#endif ># 298 "/usr/src/include/stdlib.h" >int mkostemp(char *, int); >int mkostemps(char *, int, int); >void qsort_r(void *, size_t, size_t, void *, > int (*)(void *, const void *, const void *)); >int radixsort(const unsigned char **, int, const unsigned char *, > unsigned); >void *reallocarray(void *, size_t, size_t) __result_use_check > __alloc_size2(2, 3); >void *reallocf(void *, size_t) __result_use_check __alloc_size(2); >int rpmatch(const char *); >void setprogname(const char *); >int sradixsort(const unsigned char **, int, const unsigned char *, > unsigned); >void sranddev(void); >void srandomdev(void); >long long > strtonum(const char *, long long, long long, const char **); > >/* Deprecated interfaces, to be removed. */ >__int64_t > strtoq(const char *, char **, int); >__uint64_t > strtouq(const char *, char **, int); > >extern char *suboptarg; /* getsubopt(3) external variable */ >#endif /* __BSD_VISIBLE */ ># 324 "/usr/src/include/stdlib.h" > >#if __EXT1_VISIBLE > >#ifndef _ERRNO_T_DEFINED >#define _ERRNO_T_DEFINED >typedef int errno_t; >#endif ># 331 "/usr/src/include/stdlib.h" > >/* K.3.6 */ >typedef void (*constraint_handler_t)(const char * __restrict, > void * __restrict, errno_t); >/* K.3.6.1.1 */ >constraint_handler_t set_constraint_handler_s(constraint_handler_t handler); >/* K.3.6.1.2 */ >_Noreturn void abort_handler_s(const char * __restrict, void * __restrict, > errno_t); >/* K3.6.1.3 */ >void ignore_handler_s(const char * __restrict, void * __restrict, errno_t); >#endif /* __EXT1_VISIBLE */ ># 343 "/usr/src/include/stdlib.h" > >__END_DECLS >__NULLABILITY_PRAGMA_POP > >#endif /* !_STDLIB_H_ */ ># 348 "/usr/src/include/stdlib.h" ># 40 "/usr/src/lib/libc/locale/xlocale_private.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <stdint.h> >#endif /* expanded by -frewrite-includes */ ># 40 "/usr/src/lib/libc/locale/xlocale_private.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2001 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: head/sys/sys/stdint.h 326256 2017-11-27 15:01:59Z pfg $ > */ > >#ifndef _SYS_STDINT_H_ >#define _SYS_STDINT_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/cdefs.h> >#endif /* expanded by -frewrite-includes */ ># 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 ># 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_types.h> >#endif /* expanded by -frewrite-includes */ ># 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 ># 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 > >#if 0 /* expanded by -frewrite-includes */ >#include <machine/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 1 3 4 >/*- > * Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org> > * Copyright (c) 2001 The NetBSD Foundation, Inc. > * All rights reserved. > * > * This code is derived from software contributed to The NetBSD Foundation > * by Klaus Klein. > * > * 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. > * > * $FreeBSD: head/sys/arm64/include/_stdint.h 280364 2015-03-23 11:54:56Z andrew $ > */ > >#ifndef _MACHINE__STDINT_H_ >#define _MACHINE__STDINT_H_ > >#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) > >#define INT8_C(c) (c) >#define INT16_C(c) (c) >#define INT32_C(c) (c) >#define INT64_C(c) (c ## L) > >#define UINT8_C(c) (c) >#define UINT16_C(c) (c) >#define UINT32_C(c) (c ## U) >#define UINT64_C(c) (c ## UL) > >#define INTMAX_C(c) INT64_C(c) >#define UINTMAX_C(c) UINT64_C(c) > >#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ ># 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4 > >#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) > >/* > * ISO/IEC 9899:1999 > * 7.18.2.1 Limits of exact-width integer types > */ >/* Minimum values of exact-width signed integer types. */ >#define INT8_MIN (-0x7f-1) >#define INT16_MIN (-0x7fff-1) >#define INT32_MIN (-0x7fffffff-1) >#define INT64_MIN (-0x7fffffffffffffffL-1) > >/* Maximum values of exact-width signed integer types. */ >#define INT8_MAX 0x7f >#define INT16_MAX 0x7fff >#define INT32_MAX 0x7fffffff >#define INT64_MAX 0x7fffffffffffffffL > >/* Maximum values of exact-width unsigned integer types. */ >#define UINT8_MAX 0xff >#define UINT16_MAX 0xffff >#define UINT32_MAX 0xffffffffU >#define UINT64_MAX 0xffffffffffffffffUL > >/* > * ISO/IEC 9899:1999 > * 7.18.2.2 Limits of minimum-width integer types > */ >/* Minimum values of minimum-width signed integer types. */ >#define INT_LEAST8_MIN INT8_MIN >#define INT_LEAST16_MIN INT16_MIN >#define INT_LEAST32_MIN INT32_MIN >#define INT_LEAST64_MIN INT64_MIN > >/* Maximum values of minimum-width signed integer types. */ >#define INT_LEAST8_MAX INT8_MAX >#define INT_LEAST16_MAX INT16_MAX >#define INT_LEAST32_MAX INT32_MAX >#define INT_LEAST64_MAX INT64_MAX > >/* Maximum values of minimum-width unsigned integer types. */ >#define UINT_LEAST8_MAX UINT8_MAX >#define UINT_LEAST16_MAX UINT16_MAX >#define UINT_LEAST32_MAX UINT32_MAX >#define UINT_LEAST64_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.2.3 Limits of fastest minimum-width integer types > */ >/* Minimum values of fastest minimum-width signed integer types. */ >#define INT_FAST8_MIN INT32_MIN >#define INT_FAST16_MIN INT32_MIN >#define INT_FAST32_MIN INT32_MIN >#define INT_FAST64_MIN INT64_MIN > >/* Maximum values of fastest minimum-width signed integer types. */ >#define INT_FAST8_MAX INT32_MAX >#define INT_FAST16_MAX INT32_MAX >#define INT_FAST32_MAX INT32_MAX >#define INT_FAST64_MAX INT64_MAX > >/* Maximum values of fastest minimum-width unsigned integer types. */ >#define UINT_FAST8_MAX UINT32_MAX >#define UINT_FAST16_MAX UINT32_MAX >#define UINT_FAST32_MAX UINT32_MAX >#define UINT_FAST64_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.2.4 Limits of integer types capable of holding object pointers > */ >#define INTPTR_MIN INT64_MIN >#define INTPTR_MAX INT64_MAX >#define UINTPTR_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.2.5 Limits of greatest-width integer types > */ >#define INTMAX_MIN INT64_MIN >#define INTMAX_MAX INT64_MAX >#define UINTMAX_MAX UINT64_MAX > >/* > * ISO/IEC 9899:1999 > * 7.18.3 Limits of other integer types > */ >/* Limits of ptrdiff_t. */ >#define PTRDIFF_MIN INT64_MIN >#define PTRDIFF_MAX INT64_MAX > >/* Limits of sig_atomic_t. */ >#define SIG_ATOMIC_MIN INT32_MIN >#define SIG_ATOMIC_MAX INT32_MAX > >/* Limit of size_t. */ >#define SIZE_MAX UINT64_MAX > >/* Limits of wint_t. */ >#define WINT_MIN INT32_MIN >#define WINT_MAX INT32_MAX > >#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ ># 157 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4 > >#endif /* !_MACHINE__STDINT_H_ */ ># 159 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4 ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 2 3 4 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_stdint.h> >#endif /* expanded by -frewrite-includes */ ># 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 > >typedef __int_least8_t int_least8_t; >typedef __int_least16_t int_least16_t; >typedef __int_least32_t int_least32_t; >typedef __int_least64_t int_least64_t; > >typedef __uint_least8_t uint_least8_t; >typedef __uint_least16_t uint_least16_t; >typedef __uint_least32_t uint_least32_t; >typedef __uint_least64_t uint_least64_t; > >typedef __int_fast8_t int_fast8_t; >typedef __int_fast16_t int_fast16_t; >typedef __int_fast32_t int_fast32_t; >typedef __int_fast64_t int_fast64_t; > >typedef __uint_fast8_t uint_fast8_t; >typedef __uint_fast16_t uint_fast16_t; >typedef __uint_fast32_t uint_fast32_t; >typedef __uint_fast64_t uint_fast64_t; > >/* GNU and Darwin define this and people seem to think it's portable */ >#if defined(UINTPTR_MAX) && defined(UINT64_MAX) && (UINTPTR_MAX == UINT64_MAX) >#define __WORDSIZE 64 >#else ># 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 >#define __WORDSIZE 32 >#endif ># 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 > >/* Limits of wchar_t. */ >#define WCHAR_MIN __WCHAR_MIN >#define WCHAR_MAX __WCHAR_MAX > >#if __EXT1_VISIBLE >/* ISO/IEC 9899:2011 K.3.4.4 */ >#ifndef RSIZE_MAX >#define RSIZE_MAX (SIZE_MAX >> 1) >#endif ># 76 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 >#endif /* __EXT1_VISIBLE */ ># 77 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 > >#endif /* !_SYS_STDINT_H_ */ ># 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4 ># 41 "/usr/src/lib/libc/locale/xlocale_private.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include <sys/types.h> >#endif /* expanded by -frewrite-includes */ ># 41 "/usr/src/lib/libc/locale/xlocale_private.h" ># 42 "/usr/src/lib/libc/locale/xlocale_private.h" >#if 0 /* expanded by -frewrite-includes */ >#include <machine/atomic.h> >#endif /* expanded by -frewrite-includes */ ># 42 "/usr/src/lib/libc/locale/xlocale_private.h" ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/atomic.h" 1 3 4 >/*- > * Copyright (c) 2013 Andrew Turner <andrew@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: head/sys/arm64/include/atomic.h 334297 2018-05-28 21:05:00Z manu $ > */ > >#ifndef _MACHINE_ATOMIC_H_ >#define _MACHINE_ATOMIC_H_ > >#if 0 /* expanded by -frewrite-includes */ >#include <sys/atomic_common.h> >#endif /* expanded by -frewrite-includes */ ># 32 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/atomic.h" 3 4 ># 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/atomic_common.h" 1 3 4 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (c) 2017 The FreeBSD Foundation > * All rights reserved. > * > * This software was developed by Konstantin Belousov <kib@FreeBSD.org> > * 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: head/sys/sys/atomic_common.h 326971 2017-12-19 09:59:20Z kib $ > */ >#ifndef _SYS_ATOMIC_COMMON_H_ >#define _SYS_ATOMIC_COMMON_H_ > >#ifndef _MACHINE_ATOMIC_H_ >#error do not include this header, use machine/atomic.h >#endif ># 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/atomic_common.h" 3 4 > >#define atomic_load_char(p) (*(volatile u_char *)(p)) >#define atomic_load_short(p) (*(volatile u_short *)(p)) >#define atomic_load_int(p) (*(volatile u_int *)(p)) >#define atomic_load_long(p) (*(volatile u_long *)(p)) >#define atomic_load_ptr(p) (*(volatile uintptr_t*)(p)) >#define atomic_load_8(p) (*(volatile uint8_t *)(p)) >#define atomic_load_16(p) (*(volatile uint16_t *)(p)) >#define atomic_load_32(p) (*(volatile uint32_t *)(p)) >#ifdef _LP64 >#define atomic_load_64(p) (*(volatile uint64_t *)(p)) >#endif ># 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/atomic_common.h" 3 4 > >#define atomic_store_char(p, v) \ > (*(volatile u_char *)(p) = (u_char)(v)) >#define atomic_store_short(p, v) \ > (*(volatile u_short *)(p) = (u_short)(v)) >#define atomic_store_int(p, v) \ > (*(volatile u_int *)(p) = (u_int)(v)) >#define atomic_store_long(p, v) \ > (*(volatile u_long *)(p) = (u_long)(v)) >#define atomic_store_ptr(p, v) \ > (*(uintptr_t *)(p) = (uintptr_t)(v)) >#define atomic_store_8(p, v) \ > (*(volatile uint8_t *)(p) = (uint8_t)(v)) >#define atomic_store_16(p, v) \ > (*(volatile uint16_t *)(p) = (uint16_t)(v)) >#define atomic_store_32(p, v) \ > (*(volatile uint32_t *)(p) = (uint32_t)(v)) >#ifdef _LP64 >#define atomic_store_64(p, v) \ > (*(volatile uint64_t *)(p) = (uint64_t)(v)) >#endif ># 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/atomic_common.h" 3 4 > >#endif ># 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/atomic_common.h" 3 4 ># 33 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/atomic.h" 2 3 4 > >#define isb() __asm __volatile("isb" : : : "memory") > >/* > * Options for DMB and DSB: > * oshld Outer Shareable, load > * oshst Outer Shareable, store > * osh Outer Shareable, all > * nshld Non-shareable, load > * nshst Non-shareable, store > * nsh Non-shareable, all > * ishld Inner Shareable, load > * ishst Inner Shareable, store > * ish Inner Shareable, all > * ld Full system, load > * st Full system, store > * sy Full system, all > */ >#define dsb(opt) __asm __volatile("dsb " __STRING(opt) : : : "memory") >#define dmb(opt) __asm __volatile("dmb " __STRING(opt) : : : "memory") > >#define mb() dmb(sy) /* Full system memory barrier all */ >#define wmb() dmb(st) /* Full system memory barrier store */ >#define rmb() dmb(ld) /* Full system memory barrier load */ > >#define ATOMIC_OP(op, asm_op, bar, a, l) \ >static __inline void \ >atomic_##op##_##bar##32(volatile uint32_t *p, uint32_t val) \ >{ \ > uint32_t tmp; \ > int res; \ > \ > __asm __volatile( \ > "1: ld"#a"xr %w0, [%2] \n" \ > " "#asm_op" %w0, %w0, %w3 \n" \ > " st"#l"xr %w1, %w0, [%2] \n" \ > " cbnz %w1, 1b \n" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (val) \ > : "memory" \ > ); \ >} \ > \ >static __inline void \ >atomic_##op##_##bar##64(volatile uint64_t *p, uint64_t val) \ >{ \ > uint64_t tmp; \ > int res; \ > \ > __asm __volatile( \ > "1: ld"#a"xr %0, [%2] \n" \ > " "#asm_op" %0, %0, %3 \n" \ > " st"#l"xr %w1, %0, [%2] \n" \ > " cbnz %w1, 1b \n" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (val) \ > : "memory" \ > ); \ >} > >#define ATOMIC(op, asm_op) \ > ATOMIC_OP(op, asm_op, , , ) \ > ATOMIC_OP(op, asm_op, acq_, a, ) \ > ATOMIC_OP(op, asm_op, rel_, , l) \ > >ATOMIC(add, add) >ATOMIC(clear, bic) >ATOMIC(set, orr) >ATOMIC(subtract, sub) > >#define ATOMIC_FCMPSET(bar, a, l) \ >static __inline int \ >atomic_fcmpset_##bar##8(volatile uint8_t *p, uint8_t *cmpval, \ > uint8_t newval) \ >{ \ > uint8_t tmp; \ > uint8_t _cmpval = *cmpval; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xrb %w0, [%2] \n" \ > " cmp %w0, %w3 \n" \ > " b.ne 2f \n" \ > " st"#l"xrb %w1, %w4, [%2]\n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (_cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > *cmpval = tmp; \ > \ > return (!res); \ >} \ > \ >static __inline int \ >atomic_fcmpset_##bar##16(volatile uint16_t *p, uint16_t *cmpval, \ > uint16_t newval) \ >{ \ > uint16_t tmp; \ > uint16_t _cmpval = *cmpval; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xh %w0, [%2] \n" \ > " cmp %w0, %w3 \n" \ > " b.ne 2f \n" \ > " st"#l"xh %w1, %w4, [%2] \n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (_cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > *cmpval = tmp; \ > \ > return (!res); \ >} \ > \ >static __inline int \ >atomic_fcmpset_##bar##32(volatile uint32_t *p, uint32_t *cmpval, \ > uint32_t newval) \ >{ \ > uint32_t tmp; \ > uint32_t _cmpval = *cmpval; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xr %w0, [%2] \n" \ > " cmp %w0, %w3 \n" \ > " b.ne 2f \n" \ > " st"#l"xr %w1, %w4, [%2] \n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (_cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > *cmpval = tmp; \ > \ > return (!res); \ >} \ > \ >static __inline int \ >atomic_fcmpset_##bar##64(volatile uint64_t *p, uint64_t *cmpval, \ > uint64_t newval) \ >{ \ > uint64_t tmp; \ > uint64_t _cmpval = *cmpval; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xr %0, [%2] \n" \ > " cmp %0, %3 \n" \ > " b.ne 2f \n" \ > " st"#l"xr %w1, %4, [%2] \n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (_cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > *cmpval = tmp; \ > \ > return (!res); \ >} > >ATOMIC_FCMPSET( , , ) >ATOMIC_FCMPSET(acq_, a, ) >ATOMIC_FCMPSET(rel_, ,l) > >#undef ATOMIC_FCMPSET > >#define ATOMIC_CMPSET(bar, a, l) \ >static __inline int \ >atomic_cmpset_##bar##32(volatile uint32_t *p, uint32_t cmpval, \ > uint32_t newval) \ >{ \ > uint32_t tmp; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xr %w0, [%2] \n" \ > " cmp %w0, %w3 \n" \ > " b.ne 2f \n" \ > " st"#l"xr %w1, %w4, [%2] \n" \ > " cbnz %w1, 1b \n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > \ > return (!res); \ >} \ > \ >static __inline int \ >atomic_cmpset_##bar##64(volatile uint64_t *p, uint64_t cmpval, \ > uint64_t newval) \ >{ \ > uint64_t tmp; \ > int res; \ > \ > __asm __volatile( \ > "1: mov %w1, #1 \n" \ > " ld"#a"xr %0, [%2] \n" \ > " cmp %0, %3 \n" \ > " b.ne 2f \n" \ > " st"#l"xr %w1, %4, [%2] \n" \ > " cbnz %w1, 1b \n" \ > "2:" \ > : "=&r"(tmp), "=&r"(res) \ > : "r" (p), "r" (cmpval), "r" (newval) \ > : "cc", "memory" \ > ); \ > \ > return (!res); \ >} > >ATOMIC_CMPSET( , , ) >ATOMIC_CMPSET(acq_, a, ) >ATOMIC_CMPSET(rel_, ,l) > >static __inline uint32_t >atomic_fetchadd_32(volatile uint32_t *p, uint32_t val) >{ > uint32_t tmp, ret; > int res; > > __asm __volatile( > "1: ldxr %w2, [%3] \n" > " add %w0, %w2, %w4 \n" > " stxr %w1, %w0, [%3] \n" > " cbnz %w1, 1b \n" > : "=&r"(tmp), "=&r"(res), "=&r"(ret) > : "r" (p), "r" (val) > : "memory" > ); > > return (ret); >} > >static __inline uint64_t >atomic_fetchadd_64(volatile uint64_t *p, uint64_t val) >{ > uint64_t tmp, ret; > int res; > > __asm __volatile( > "1: ldxr %2, [%3] \n" > " add %0, %2, %4 \n" > " stxr %w1, %0, [%3] \n" > " cbnz %w1, 1b \n" > : "=&r"(tmp), "=&r"(res), "=&r"(ret) > : "r" (p), "r" (val) > : "memory" > ); > > return (ret); >} > >static __inline uint32_t >atomic_readandclear_32(volatile uint32_t *p) >{ > uint32_t ret; > int res; > > __asm __volatile( > "1: ldxr %w1, [%2] \n" > " stxr %w0, wzr, [%2] \n" > " cbnz %w0, 1b \n" > : "=&r"(res), "=&r"(ret) > : "r" (p) > : "memory" > ); > > return (ret); >} > >static __inline uint64_t >atomic_readandclear_64(volatile uint64_t *p) >{ > uint64_t ret; > int res; > > __asm __volatile( > "1: ldxr %1, [%2] \n" > " stxr %w0, xzr, [%2] \n" > " cbnz %w0, 1b \n" > : "=&r"(res), "=&r"(ret) > : "r" (p) > : "memory" > ); > > return (ret); >} > >static __inline uint32_t >atomic_swap_32(volatile uint32_t *p, uint32_t val) >{ > uint32_t ret; > int res; > > __asm __volatile( > "1: ldxr %w0, [%2] \n" > " stxr %w1, %w3, [%2] \n" > " cbnz %w1, 1b \n" > : "=&r"(ret), "=&r"(res) > : "r" (p), "r" (val) > : "memory" > ); > > return (ret); >} > >static __inline uint64_t >atomic_swap_64(volatile uint64_t *p, uint64_t val) >{ > uint64_t ret; > int res; > > __asm __volatile( > "1: ldxr %0, [%2] \n" > " stxr %w1, %3, [%2] \n" > " cbnz %w1, 1b \n" > : "=&r"(ret), "=&r"(res) > : "r" (p), "r" (val) > : "memory" > ); > > return (ret); >} > >static __inline uint32_t >atomic_load_acq_32(volatile uint32_t *p) >{ > uint32_t ret; > > __asm __volatile( > "ldar %w0, [%1] \n" > : "=&r" (ret) > : "r" (p) > : "memory"); > > return (ret); >} > >static __inline uint64_t >atomic_load_acq_64(volatile uint64_t *p) >{ > uint64_t ret; > > __asm __volatile( > "ldar %0, [%1] \n" > : "=&r" (ret) > : "r" (p) > : "memory"); > > return (ret); >} > >static __inline void >atomic_store_rel_32(volatile uint32_t *p, uint32_t val) >{ > > __asm __volatile( > "stlr %w0, [%1] \n" > : > : "r" (val), "r" (p) > : "memory"); >} > >static __inline void >atomic_store_rel_64(volatile uint64_t *p, uint64_t val) >{ > > __asm __volatile( > "stlr %0, [%1] \n" > : > : "r" (val), "r" (p) > : "memory"); >} > > >#define atomic_add_int atomic_add_32 >#define atomic_fcmpset_int atomic_fcmpset_32 >#define atomic_clear_int atomic_clear_32 >#define atomic_cmpset_int atomic_cmpset_32 >#define atomic_fetchadd_int atomic_fetchadd_32 >#define atomic_readandclear_int atomic_readandclear_32 >#define atomic_set_int atomic_set_32 >#define atomic_swap_int atomic_swap_32 >#define atomic_subtract_int atomic_subtract_32 > >#define atomic_add_acq_int atomic_add_acq_32 >#define atomic_fcmpset_acq_int atomic_fcmpset_acq_32 >#define atomic_clear_acq_int atomic_clear_acq_32 >#define atomic_cmpset_acq_int atomic_cmpset_acq_32 >#define atomic_load_acq_int atomic_load_acq_32 >#define atomic_set_acq_int atomic_set_acq_32 >#define atomic_subtract_acq_int atomic_subtract_acq_32 > >#define atomic_add_rel_int atomic_add_rel_32 >#define atomic_fcmpset_rel_int atomic_fcmpset_rel_32 >#define atomic_clear_rel_int atomic_clear_rel_32 >#define atomic_cmpset_rel_int atomic_cmpset_rel_32 >#define atomic_set_rel_int atomic_set_rel_32 >#define atomic_subtract_rel_int atomic_subtract_rel_32 >#define atomic_store_rel_int atomic_store_rel_32 > >#define atomic_add_long atomic_add_64 >#define atomic_fcmpset_long atomic_fcmpset_64 >#define atomic_clear_long atomic_clear_64 >#define atomic_cmpset_long atomic_cmpset_64 >#define atomic_fetchadd_long atomic_fetchadd_64 >#define atomic_readandclear_long atomic_readandclear_64 >#define atomic_set_long atomic_set_64 >#define atomic_swap_long atomic_swap_64 >#define atomic_subtract_long atomic_subtract_64 > >#define atomic_add_ptr atomic_add_64 >#define atomic_fcmpset_ptr atomic_fcmpset_64 >#define atomic_clear_ptr atomic_clear_64 >#define atomic_cmpset_ptr atomic_cmpset_64 >#define atomic_fetchadd_ptr atomic_fetchadd_64 >#define atomic_readandclear_ptr atomic_readandclear_64 >#define atomic_set_ptr atomic_set_64 >#define atomic_swap_ptr atomic_swap_64 >#define atomic_subtract_ptr atomic_subtract_64 > >#define atomic_add_acq_long atomic_add_acq_64 >#define atomic_fcmpset_acq_long atomic_fcmpset_acq_64 >#define atomic_clear_acq_long atomic_clear_acq_64 >#define atomic_cmpset_acq_long atomic_cmpset_acq_64 >#define atomic_load_acq_long atomic_load_acq_64 >#define atomic_set_acq_long atomic_set_acq_64 >#define atomic_subtract_acq_long atomic_subtract_acq_64 > >#define atomic_add_acq_ptr atomic_add_acq_64 >#define atomic_fcmpset_acq_ptr atomic_fcmpset_acq_64 >#define atomic_clear_acq_ptr atomic_clear_acq_64 >#define atomic_cmpset_acq_ptr atomic_cmpset_acq_64 >#define atomic_load_acq_ptr atomic_load_acq_64 >#define atomic_set_acq_ptr atomic_set_acq_64 >#define atomic_subtract_acq_ptr atomic_subtract_acq_64 > >#define atomic_add_rel_long atomic_add_rel_64 >#define atomic_fcmpset_rel_long atomic_fcmpset_rel_64 >#define atomic_clear_rel_long atomic_clear_rel_64 >#define atomic_cmpset_rel_long atomic_cmpset_rel_64 >#define atomic_set_rel_long atomic_set_rel_64 >#define atomic_subtract_rel_long atomic_subtract_rel_64 >#define atomic_store_rel_long atomic_store_rel_64 > >#define atomic_add_rel_ptr atomic_add_rel_64 >#define atomic_fcmpset_rel_ptr atomic_fcmpset_rel_64 >#define atomic_clear_rel_ptr atomic_clear_rel_64 >#define atomic_cmpset_rel_ptr atomic_cmpset_rel_64 >#define atomic_set_rel_ptr atomic_set_rel_64 >#define atomic_subtract_rel_ptr atomic_subtract_rel_64 >#define atomic_store_rel_ptr atomic_store_rel_64 > >static __inline void >atomic_thread_fence_acq(void) >{ > > dmb(ld); >} > >static __inline void >atomic_thread_fence_rel(void) >{ > > dmb(sy); >} > >static __inline void >atomic_thread_fence_acq_rel(void) >{ > > dmb(sy); >} > >static __inline void >atomic_thread_fence_seq_cst(void) >{ > > dmb(sy); >} > >#endif /* _MACHINE_ATOMIC_H_ */ ># 525 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/atomic.h" 3 4 > ># 43 "/usr/src/lib/libc/locale/xlocale_private.h" 2 >#if 0 /* expanded by -frewrite-includes */ >#include "setlocale.h" >#endif /* expanded by -frewrite-includes */ ># 43 "/usr/src/lib/libc/locale/xlocale_private.h" ># 1 "/usr/src/lib/libc/locale/setlocale.h" 1 >/*- > * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > * > * Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. > * 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 ``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. > * > * $FreeBSD: head/lib/libc/locale/setlocale.h 326193 2017-11-25 17:12:48Z pfg $ > */ > >#ifndef _SETLOCALE_H_ >#define _SETLOCALE_H_ > >#define ENCODING_LEN 31 >#define CATEGORY_LEN 11 > >extern char *_PathLocale; > >int __detect_path_locale(void); >int __wrap_setrunelocale(const char *); > >#endif /* !_SETLOCALE_H_ */ ># 43 "/usr/src/lib/libc/locale/setlocale.h" ># 44 "/usr/src/lib/libc/locale/xlocale_private.h" 2 > >/** > * The XLC_ values are indexes into the components array. They are defined in > * the same order as the LC_ values in locale.h, but without the LC_ALL zero > * value. Translating from LC_X to XLC_X is done by subtracting one. > * > * Any reordering of this enum should ensure that these invariants are not > * violated. > */ >enum { > XLC_COLLATE = 0, > XLC_CTYPE, > XLC_MONETARY, > XLC_NUMERIC, > XLC_TIME, > XLC_MESSAGES, > XLC_LAST >}; > >_Static_assert(XLC_LAST - XLC_COLLATE == 6, "XLC values should be contiguous"); >_Static_assert(XLC_COLLATE == LC_COLLATE - 1, > "XLC_COLLATE doesn't match the LC_COLLATE value."); >_Static_assert(XLC_CTYPE == LC_CTYPE - 1, > "XLC_CTYPE doesn't match the LC_CTYPE value."); >_Static_assert(XLC_MONETARY == LC_MONETARY - 1, > "XLC_MONETARY doesn't match the LC_MONETARY value."); >_Static_assert(XLC_NUMERIC == LC_NUMERIC - 1, > "XLC_NUMERIC doesn't match the LC_NUMERIC value."); >_Static_assert(XLC_TIME == LC_TIME - 1, > "XLC_TIME doesn't match the LC_TIME value."); >_Static_assert(XLC_MESSAGES == LC_MESSAGES - 1, > "XLC_MESSAGES doesn't match the LC_MESSAGES value."); > >/** > * Header used for objects that are reference counted. Objects may optionally > * have a destructor associated, which is responsible for destroying the > * structure. Global / static versions of the structure should have no > * destructor set - they can then have their reference counts manipulated as > * normal, but will not do anything with them. > * > * The header stores a retain count - objects are assumed to have a reference > * count of 1 when they are created, but the retain count is 0. When the > * retain count is less than 0, they are freed. > */ >struct xlocale_refcounted { > /** Number of references to this component. */ > long retain_count; > /** Function used to destroy this component, if one is required*/ > void(*destructor)(void*); >}; >/** > * Header for a locale component. All locale components must begin with this > * header. > */ >struct xlocale_component { > struct xlocale_refcounted header; > /** Name of the locale used for this component. */ > char locale[ENCODING_LEN+1]; >}; > >/** > * xlocale structure, stores per-thread locale information. > */ >struct _xlocale { > struct xlocale_refcounted header; > /** Components for the locale. */ > struct xlocale_component *components[XLC_LAST]; > /** Flag indicating if components[XLC_MONETARY] has changed since the > * last call to localeconv_l() with this locale. */ > int monetary_locale_changed; > /** Flag indicating whether this locale is actually using a locale for > * LC_MONETARY (1), or if it should use the C default instead (0). */ > int using_monetary_locale; > /** Flag indicating if components[XLC_NUMERIC] has changed since the > * last call to localeconv_l() with this locale. */ > int numeric_locale_changed; > /** Flag indicating whether this locale is actually using a locale for > * LC_NUMERIC (1), or if it should use the C default instead (0). */ > int using_numeric_locale; > /** Flag indicating whether this locale is actually using a locale for > * LC_TIME (1), or if it should use the C default instead (0). */ > int using_time_locale; > /** Flag indicating whether this locale is actually using a locale for > * LC_MESSAGES (1), or if it should use the C default instead (0). */ > int using_messages_locale; > /** The structure to be returned from localeconv_l() for this locale. */ > struct lconv lconv; > /** Buffer used by nl_langinfo_l() */ > char *csym; >}; > >/** > * Increments the reference count of a reference-counted structure. > */ >__attribute__((unused)) static void* >xlocale_retain(void *val) >{ > struct xlocale_refcounted *obj = val; > atomic_add_long(&(obj->retain_count), 1); > return (val); >} >/** > * Decrements the reference count of a reference-counted structure, freeing it > * if this is the last reference, calling its destructor if it has one. > */ >__attribute__((unused)) static void >xlocale_release(void *val) >{ > struct xlocale_refcounted *obj = val; > long count; > > count = atomic_fetchadd_long(&(obj->retain_count), -1) - 1; > if (count < 0 && obj->destructor != NULL) > obj->destructor(obj); >} > >/** > * Load functions. Each takes the name of a locale and a pointer to the data > * to be initialised as arguments. Two special values are allowed for the > */ >extern void* __collate_load(const char*, locale_t); >extern void* __ctype_load(const char*, locale_t); >extern void* __messages_load(const char*, locale_t); >extern void* __monetary_load(const char*, locale_t); >extern void* __numeric_load(const char*, locale_t); >extern void* __time_load(const char*, locale_t); > >extern struct _xlocale __xlocale_global_locale; >extern struct _xlocale __xlocale_C_locale; > >/** > * Caches the rune table in TLS for fast access. > */ >void __set_thread_rune_locale(locale_t loc); >/** > * Flag indicating whether a per-thread locale has been set. If no per-thread > * locale has ever been set, then we always use the global locale. > */ >extern int __has_thread_locale; >#ifndef __NO_TLS >/** > * The per-thread locale. Avoids the need to use pthread lookup functions when > * getting the per-thread locale. > */ >extern _Thread_local locale_t __thread_locale; > >/** > * Returns the current locale for this thread, or the global locale if none is > * set. The caller does not have to free the locale. The return value from > * this call is not guaranteed to remain valid after the locale changes. As > * such, this should only be called within libc functions. > */ >static inline locale_t __get_locale(void) >{ > > if (!__has_thread_locale) { > return (&__xlocale_global_locale); > } > return (__thread_locale ? __thread_locale : &__xlocale_global_locale); >} >#else ># 205 "/usr/src/lib/libc/locale/xlocale_private.h" >locale_t __get_locale(void); >#endif ># 207 "/usr/src/lib/libc/locale/xlocale_private.h" > >/** > * Two magic values are allowed for locale_t objects. NULL and -1. This > * function maps those to the real locales that they represent. > */ >static inline locale_t get_real_locale(locale_t locale) >{ > switch ((intptr_t)locale) { > case 0: return (&__xlocale_C_locale); > case -1: return (&__xlocale_global_locale); > default: return (locale); > } >} > >/** > * Replace a placeholder locale with the real global or thread-local locale_t. > */ >#define FIX_LOCALE(l) (l = get_real_locale(l)) > >#endif ># 227 "/usr/src/lib/libc/locale/xlocale_private.h" ># 51 "/usr/src/lib/libc/stdio/sprintf.c" 2 > >int >sprintf(char * __restrict str, char const * __restrict fmt, ...) >{ > int ret; > va_list ap; > > va_start(ap, fmt); > ret = vsprintf(str, fmt, ap); > va_end(ap); > return (ret); >} >int >sprintf_l(char * __restrict str, locale_t locale, char const * __restrict fmt, > ...) >{ > int ret; > va_list ap; > FIX_LOCALE(locale); > > va_start(ap, fmt); > ret = vsprintf_l(str, locale, fmt, ap); > va_end(ap); > return (ret); >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 234672
:
200848
| 200875 |
200876