Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 1 "<built-in>"
- # 1 "packages/apps/Gallery2/jni/filters/edge.c"
- /*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #if 0 /* expanded by -frewrite-includes */
- #include <math.h>
- #endif /* expanded by -frewrite-includes */
- # 17 "packages/apps/Gallery2/jni/filters/edge.c"
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 1 3
- /*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
- /*
- * from: @(#)fdlibm.h 5.1 93/09/24
- * $FreeBSD$
- */
- #ifndef _MATH_H_
- #define _MATH_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 20 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 1 3
- /* $NetBSD: cdefs.h,v 1.58 2004/12/11 05:59:00 christos Exp $ */
- /*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Berkeley Software Design, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)cdefs.h 8.8 (Berkeley) 1/9/95
- */
- #ifndef _SYS_CDEFS_H_
- #define _SYS_CDEFS_H_
- /*
- * Testing against Clang-specific extensions.
- */
- #ifndef __has_extension
- #define __has_extension __has_feature
- #endif
- # 46 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_feature
- #define __has_feature(x) 0
- #endif
- # 49 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_include
- #define __has_include(x) 0
- #endif
- # 52 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_builtin
- #define __has_builtin(x) 0
- #endif
- # 55 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_attribute
- #define __has_attribute(x) 0
- #endif
- # 58 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __strong_alias(alias, sym) \
- __asm__(".global " #alias "\n" \
- #alias " = " #sym);
- #if defined(__cplusplus)
- #define __BEGIN_DECLS extern "C" {
- #define __END_DECLS }
- #else
- # 67 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BEGIN_DECLS
- #define __END_DECLS
- #endif
- # 70 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(__cplusplus)
- #define __BIONIC_CAST(_k,_t,_v) (_k<_t>(_v))
- #else
- # 74 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BIONIC_CAST(_k,_t,_v) ((_t) (_v))
- #endif
- # 76 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
- * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
- * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
- * in between its arguments. __CONCAT can also concatenate double-quoted
- * strings produced by the __STRING macro, but this only works with ANSI C.
- */
- #define ___STRING(x) __STRING(x)
- #define ___CONCAT(x,y) __CONCAT(x,y)
- #if defined(__STDC__) || defined(__cplusplus)
- #define __P(protos) protos /* full-blown ANSI C */
- #define __CONCAT(x,y) x ## y
- #define __STRING(x) #x
- #if defined(__cplusplus)
- #define __inline inline /* convert to C++ keyword */
- #endif /* !__cplusplus */
- # 96 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #else /* !(__STDC__ || __cplusplus) */
- # 98 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __P(protos) () /* traditional C preprocessor */
- #define __CONCAT(x,y) x/**/y
- #define __STRING(x) "x"
- #endif /* !(__STDC__ || __cplusplus) */
- # 103 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __always_inline __attribute__((__always_inline__))
- #define __attribute_const__ __attribute__((__const__))
- #define __attribute_pure__ __attribute__((__pure__))
- #define __dead __attribute__((__noreturn__))
- #define __noreturn __attribute__((__noreturn__))
- #define __mallocfunc __attribute__((__malloc__))
- #define __packed __attribute__((__packed__))
- #define __unused __attribute__((__unused__))
- #define __used __attribute__((__used__))
- /*
- * _Nonnull is similar to the nonnull attribute in that it will instruct
- * compilers to warn the user if it can prove that a null argument is being
- * passed. Unlike the nonnull attribute, this annotation indicated that a value
- * *should not* be null, not that it *cannot* be null, or even that the behavior
- * is undefined. The important distinction is that the optimizer will perform
- * surprising optimizations like the following:
- *
- * void foo(void*) __attribute__(nonnull, 1);
- *
- * int bar(int* p) {
- * foo(p);
- *
- * // The following null check will be elided because nonnull attribute
- * // means that, since we call foo with p, p can be assumed to not be
- * // null. Thus this will crash if we are called with a null pointer.
- * if (p != NULL) {
- * return *p;
- * }
- * return 0;
- * }
- *
- * int main() {
- * return bar(NULL);
- * }
- *
- * http://clang.llvm.org/docs/AttributeReference.html#nonnull
- */
- #if !(defined(__clang__) && __has_feature(nullability))
- #define _Nonnull
- #define _Nullable
- #endif
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __printflike(x, y) __attribute__((__format__(printf, x, y)))
- #define __scanflike(x, y) __attribute__((__format__(scanf, x, y)))
- /*
- * GNU C version 2.96 added 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 use 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.
- */
- #define __predict_true(exp) __builtin_expect((exp) != 0, 1)
- #define __predict_false(exp) __builtin_expect((exp) != 0, 0)
- #define __wur __attribute__((__warn_unused_result__))
- #ifdef __clang__
- # define __errorattr(msg) __attribute__((unavailable(msg)))
- # define __warnattr(msg) __attribute__((deprecated(msg)))
- # define __warnattr_real(msg) __attribute__((deprecated(msg)))
- # define __enable_if(cond, msg) __attribute__((enable_if(cond, msg)))
- #else
- # 189 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __errorattr(msg) __attribute__((__error__(msg)))
- # define __warnattr(msg) __attribute__((__warning__(msg)))
- # define __warnattr_real __warnattr
- /* enable_if doesn't exist on other compilers; give an error if it's used. */
- /* errordecls really don't work as well in clang as they do in GCC. */
- # define __errordecl(name, msg) extern void name(void) __errorattr(msg)
- #endif
- # 197 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(ANDROID_STRICT)
- /*
- * For things that are sketchy, but not necessarily an error. FIXME: Enable
- * this.
- */
- # define __warnattr_strict(msg) /* __warnattr(msg) */
- #else
- # 205 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __warnattr_strict(msg)
- #endif
- # 207 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * Some BSD source needs these macros.
- * Originally they embedded the rcs versions of each source file
- * in the generated binary. We strip strings during build anyway,.
- */
- #define __IDSTRING(_prefix,_s) /* nothing */
- #define __COPYRIGHT(_s) /* nothing */
- #define __FBSDID(_s) /* nothing */
- #define __RCSID(_s) /* nothing */
- #define __SCCSID(_s) /* nothing */
- /*
- * With bionic, you always get all C and POSIX API.
- *
- * If you want BSD and/or GNU extensions, _BSD_SOURCE and/or _GNU_SOURCE are
- * expected to be defined by callers before *any* standard header file is
- * included.
- *
- * In our header files we test against __USE_BSD and __USE_GNU.
- */
- #if defined(_GNU_SOURCE)
- # define __USE_BSD 1
- # define __USE_GNU 1
- #endif
- # 232 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(_BSD_SOURCE)
- # define __USE_BSD 1
- #endif
- # 236 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* _FILE_OFFSET_BITS 64 support. */
- #if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
- #if _FILE_OFFSET_BITS == 64
- #define __USE_FILE_OFFSET64 1
- #endif
- # 242 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #endif
- # 243 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BIONIC__ 1
- #if 0 /* expanded by -frewrite-includes */
- #include <android/api-level.h>
- #endif /* expanded by -frewrite-includes */
- # 245 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef ANDROID_API_LEVEL_H
- #define ANDROID_API_LEVEL_H
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 1 3
- /* $NetBSD: cdefs.h,v 1.58 2004/12/11 05:59:00 christos Exp $ */
- /*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Berkeley Software Design, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)cdefs.h 8.8 (Berkeley) 1/9/95
- */
- #ifndef _SYS_CDEFS_H_
- #define _SYS_CDEFS_H_
- /*
- * Testing against Clang-specific extensions.
- */
- #ifndef __has_extension
- #define __has_extension __has_feature
- #endif
- # 46 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_feature
- #define __has_feature(x) 0
- #endif
- # 49 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_include
- #define __has_include(x) 0
- #endif
- # 52 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_builtin
- #define __has_builtin(x) 0
- #endif
- # 55 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #ifndef __has_attribute
- #define __has_attribute(x) 0
- #endif
- # 58 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __strong_alias(alias, sym) \
- __asm__(".global " #alias "\n" \
- #alias " = " #sym);
- #if defined(__cplusplus)
- #define __BEGIN_DECLS extern "C" {
- #define __END_DECLS }
- #else
- # 67 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BEGIN_DECLS
- #define __END_DECLS
- #endif
- # 70 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(__cplusplus)
- #define __BIONIC_CAST(_k,_t,_v) (_k<_t>(_v))
- #else
- # 74 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BIONIC_CAST(_k,_t,_v) ((_t) (_v))
- #endif
- # 76 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
- * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
- * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
- * in between its arguments. __CONCAT can also concatenate double-quoted
- * strings produced by the __STRING macro, but this only works with ANSI C.
- */
- #define ___STRING(x) __STRING(x)
- #define ___CONCAT(x,y) __CONCAT(x,y)
- #if defined(__STDC__) || defined(__cplusplus)
- #define __P(protos) protos /* full-blown ANSI C */
- #define __CONCAT(x,y) x ## y
- #define __STRING(x) #x
- #if defined(__cplusplus)
- #define __inline inline /* convert to C++ keyword */
- #endif /* !__cplusplus */
- # 96 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #else /* !(__STDC__ || __cplusplus) */
- # 98 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __P(protos) () /* traditional C preprocessor */
- #define __CONCAT(x,y) x/**/y
- #define __STRING(x) "x"
- #endif /* !(__STDC__ || __cplusplus) */
- # 103 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __always_inline __attribute__((__always_inline__))
- #define __attribute_const__ __attribute__((__const__))
- #define __attribute_pure__ __attribute__((__pure__))
- #define __dead __attribute__((__noreturn__))
- #define __noreturn __attribute__((__noreturn__))
- #define __mallocfunc __attribute__((__malloc__))
- #define __packed __attribute__((__packed__))
- #define __unused __attribute__((__unused__))
- #define __used __attribute__((__used__))
- /*
- * _Nonnull is similar to the nonnull attribute in that it will instruct
- * compilers to warn the user if it can prove that a null argument is being
- * passed. Unlike the nonnull attribute, this annotation indicated that a value
- * *should not* be null, not that it *cannot* be null, or even that the behavior
- * is undefined. The important distinction is that the optimizer will perform
- * surprising optimizations like the following:
- *
- * void foo(void*) __attribute__(nonnull, 1);
- *
- * int bar(int* p) {
- * foo(p);
- *
- * // The following null check will be elided because nonnull attribute
- * // means that, since we call foo with p, p can be assumed to not be
- * // null. Thus this will crash if we are called with a null pointer.
- * if (p != NULL) {
- * return *p;
- * }
- * return 0;
- * }
- *
- * int main() {
- * return bar(NULL);
- * }
- *
- * http://clang.llvm.org/docs/AttributeReference.html#nonnull
- */
- #if !(defined(__clang__) && __has_feature(nullability))
- #define _Nonnull
- #define _Nullable
- #endif
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __printflike(x, y) __attribute__((__format__(printf, x, y)))
- #define __scanflike(x, y) __attribute__((__format__(scanf, x, y)))
- /*
- * GNU C version 2.96 added 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 use 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.
- */
- #define __predict_true(exp) __builtin_expect((exp) != 0, 1)
- #define __predict_false(exp) __builtin_expect((exp) != 0, 0)
- #define __wur __attribute__((__warn_unused_result__))
- #ifdef __clang__
- # define __errorattr(msg) __attribute__((unavailable(msg)))
- # define __warnattr(msg) __attribute__((deprecated(msg)))
- # define __warnattr_real(msg) __attribute__((deprecated(msg)))
- # define __enable_if(cond, msg) __attribute__((enable_if(cond, msg)))
- #else
- # 189 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __errorattr(msg) __attribute__((__error__(msg)))
- # define __warnattr(msg) __attribute__((__warning__(msg)))
- # define __warnattr_real __warnattr
- /* enable_if doesn't exist on other compilers; give an error if it's used. */
- /* errordecls really don't work as well in clang as they do in GCC. */
- # define __errordecl(name, msg) extern void name(void) __errorattr(msg)
- #endif
- # 197 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(ANDROID_STRICT)
- /*
- * For things that are sketchy, but not necessarily an error. FIXME: Enable
- * this.
- */
- # define __warnattr_strict(msg) /* __warnattr(msg) */
- #else
- # 205 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __warnattr_strict(msg)
- #endif
- # 207 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * Some BSD source needs these macros.
- * Originally they embedded the rcs versions of each source file
- * in the generated binary. We strip strings during build anyway,.
- */
- #define __IDSTRING(_prefix,_s) /* nothing */
- #define __COPYRIGHT(_s) /* nothing */
- #define __FBSDID(_s) /* nothing */
- #define __RCSID(_s) /* nothing */
- #define __SCCSID(_s) /* nothing */
- /*
- * With bionic, you always get all C and POSIX API.
- *
- * If you want BSD and/or GNU extensions, _BSD_SOURCE and/or _GNU_SOURCE are
- * expected to be defined by callers before *any* standard header file is
- * included.
- *
- * In our header files we test against __USE_BSD and __USE_GNU.
- */
- #if defined(_GNU_SOURCE)
- # define __USE_BSD 1
- # define __USE_GNU 1
- #endif
- # 232 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(_BSD_SOURCE)
- # define __USE_BSD 1
- #endif
- # 236 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* _FILE_OFFSET_BITS 64 support. */
- #if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
- #if _FILE_OFFSET_BITS == 64
- #define __USE_FILE_OFFSET64 1
- #endif
- # 242 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #endif
- # 243 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __BIONIC__ 1
- #if 0 /* expanded by -frewrite-includes */
- #include <android/api-level.h>
- #endif /* expanded by -frewrite-includes */
- # 245 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 246 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* glibc compatibility. */
- #if defined(__LP64__)
- #define __WORDSIZE 64
- #else
- # 251 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __WORDSIZE 32
- #endif
- # 253 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * When _FORTIFY_SOURCE is defined, automatic bounds checking is
- * added to commonly used libc functions. If a buffer overrun is
- * detected, the program is safely aborted.
- *
- * See
- * http://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html for details.
- */
- #define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
- #if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
- # define __BIONIC_FORTIFY 1
- # if _FORTIFY_SOURCE == 2
- # define __bos_level 1
- # else
- # 270 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __bos_level 0
- # endif
- # 272 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __bosn(s, n) __builtin_object_size((s), (n))
- # define __bos(s) __bosn((s), __bos_level)
- # define __bos0(s) __bosn((s), 0)
- # if defined(__clang__)
- # define __pass_object_size_n(n) __attribute__((pass_object_size(n)))
- /*
- * FORTIFY'ed functions all have either enable_if or pass_object_size, which
- * makes taking their address impossible. Saying (&read)(foo, bar, baz); will
- * therefore call the unFORTIFYed version of read.
- */
- # define __call_bypassing_fortify(fn) (&fn)
- /*
- * Because clang-FORTIFY uses overloads, we can't mark functions as `extern
- * inline` without making them available externally.
- */
- # define __BIONIC_FORTIFY_INLINE static __inline__ __always_inline
- /* Error functions don't have bodies, so they can just be static. */
- # define __BIONIC_ERROR_FUNCTION_VISIBILITY static
- # else
- # 291 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * Where they can, GCC and clang-style FORTIFY share implementations.
- * So, make these nops in GCC.
- */
- # define __pass_object_size_n(n)
- # define __call_bypassing_fortify(fn) (fn)
- /* __BIONIC_FORTIFY_NONSTATIC_INLINE is pointless in GCC's FORTIFY */
- # define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
- # endif
- # 300 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __pass_object_size __pass_object_size_n(__bos_level)
- # define __pass_object_size0 __pass_object_size_n(0)
- #endif
- # 303 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to support clangisms with FORTIFY. This isn't in the FORTIFY section
- * because these change how symbols are emitted. The linker must be kept happy.
- */
- #ifdef __clang__
- # define __overloadable __attribute__((overloadable))
- // Don't use __RENAME directly because on gcc, this could result in a number of
- // unnecessary renames.
- # define __RENAME_CLANG(x) __RENAME(x)
- #else
- # 313 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __overloadable
- # define __RENAME_CLANG(x)
- #endif
- # 316 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to tag non-static symbols that are private and never exposed by the shared library. */
- #define __LIBC_HIDDEN__ __attribute__((visibility("hidden")))
- /*
- * Used to tag symbols that should be hidden for 64-bit,
- * but visible to preserve binary compatibility for LP32.
- */
- #ifdef __LP64__
- #define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("hidden")))
- #else
- # 327 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("default")))
- #endif
- # 329 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to rename functions so that the compiler emits a call to 'x' rather than the function this was applied to. */
- #define __RENAME(x) __asm__(#x)
- #if 0 /* expanded by -frewrite-includes */
- #include <android/versioning.h>
- #endif /* expanded by -frewrite-includes */
- # 333 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 334 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if __has_builtin(__builtin_umul_overflow) || __GNUC__ >= 5
- #if defined(__LP64__)
- #define __size_mul_overflow(a, b, result) __builtin_umull_overflow(a, b, result)
- #else
- # 339 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __size_mul_overflow(a, b, result) __builtin_umul_overflow(a, b, result)
- #endif
- # 341 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #else
- # 342 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- extern __inline__ __always_inline __attribute__((gnu_inline))
- int __size_mul_overflow(__SIZE_TYPE__ a, __SIZE_TYPE__ b, __SIZE_TYPE__ *result) {
- *result = a * b;
- static const __SIZE_TYPE__ mul_no_overflow = 1UL << (sizeof(__SIZE_TYPE__) * 4);
- return (a >= mul_no_overflow || b >= mul_no_overflow) && a > 0 && (__SIZE_TYPE__)-1 / a < b;
- }
- #endif
- # 349 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(__clang__)
- /*
- * Used when we need to check for overflow when multiplying x and y. This
- * should only be used where __size_mul_overflow can not work, because it makes
- * assumptions that __size_mul_overflow doesn't (x and y are positive, ...),
- * *and* doesn't make use of compiler intrinsics, so it's probably slower than
- * __size_mul_overflow.
- */
- #define __unsafe_check_mul_overflow(x, y) ((__SIZE_TYPE__)-1 / (x) < (y))
- #endif
- # 360 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #endif /* !_SYS_CDEFS_H_ */
- # 362 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 2 3
- /*
- * Magic version number for a current development build, which has
- * not yet turned into an official release.
- */
- #ifndef __ANDROID_API_FUTURE__
- #define __ANDROID_API_FUTURE__ 10000
- #endif
- # 41 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 3
- #ifndef __ANDROID_API__
- #define __ANDROID_API__ __ANDROID_API_FUTURE__
- #endif
- # 45 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 3
- #define __ANDROID_API_G__ 9
- #define __ANDROID_API_I__ 14
- #define __ANDROID_API_J__ 16
- #define __ANDROID_API_J_MR1__ 17
- #define __ANDROID_API_J_MR2__ 18
- #define __ANDROID_API_K__ 19
- #define __ANDROID_API_L__ 21
- #define __ANDROID_API_L_MR1__ 22
- #define __ANDROID_API_M__ 23
- #define __ANDROID_API_N__ 24
- #define __ANDROID_API_N_MR1__ 25
- #define __ANDROID_API_O__ 26
- #endif /* ANDROID_API_LEVEL_H */
- # 60 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/api-level.h" 3
- # 246 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 2 3
- /* glibc compatibility. */
- #if defined(__LP64__)
- #define __WORDSIZE 64
- #else
- # 251 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __WORDSIZE 32
- #endif
- # 253 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * When _FORTIFY_SOURCE is defined, automatic bounds checking is
- * added to commonly used libc functions. If a buffer overrun is
- * detected, the program is safely aborted.
- *
- * See
- * http://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html for details.
- */
- #define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1)
- #if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
- # define __BIONIC_FORTIFY 1
- # if _FORTIFY_SOURCE == 2
- # define __bos_level 1
- # else
- # 270 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __bos_level 0
- # endif
- # 272 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __bosn(s, n) __builtin_object_size((s), (n))
- # define __bos(s) __bosn((s), __bos_level)
- # define __bos0(s) __bosn((s), 0)
- # if defined(__clang__)
- # define __pass_object_size_n(n) __attribute__((pass_object_size(n)))
- /*
- * FORTIFY'ed functions all have either enable_if or pass_object_size, which
- * makes taking their address impossible. Saying (&read)(foo, bar, baz); will
- * therefore call the unFORTIFYed version of read.
- */
- # define __call_bypassing_fortify(fn) (&fn)
- /*
- * Because clang-FORTIFY uses overloads, we can't mark functions as `extern
- * inline` without making them available externally.
- */
- # define __BIONIC_FORTIFY_INLINE static __inline__ __always_inline
- /* Error functions don't have bodies, so they can just be static. */
- # define __BIONIC_ERROR_FUNCTION_VISIBILITY static
- # else
- # 291 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /*
- * Where they can, GCC and clang-style FORTIFY share implementations.
- * So, make these nops in GCC.
- */
- # define __pass_object_size_n(n)
- # define __call_bypassing_fortify(fn) (fn)
- /* __BIONIC_FORTIFY_NONSTATIC_INLINE is pointless in GCC's FORTIFY */
- # define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
- # endif
- # 300 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __pass_object_size __pass_object_size_n(__bos_level)
- # define __pass_object_size0 __pass_object_size_n(0)
- #endif
- # 303 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to support clangisms with FORTIFY. This isn't in the FORTIFY section
- * because these change how symbols are emitted. The linker must be kept happy.
- */
- #ifdef __clang__
- # define __overloadable __attribute__((overloadable))
- // Don't use __RENAME directly because on gcc, this could result in a number of
- // unnecessary renames.
- # define __RENAME_CLANG(x) __RENAME(x)
- #else
- # 313 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # define __overloadable
- # define __RENAME_CLANG(x)
- #endif
- # 316 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to tag non-static symbols that are private and never exposed by the shared library. */
- #define __LIBC_HIDDEN__ __attribute__((visibility("hidden")))
- /*
- * Used to tag symbols that should be hidden for 64-bit,
- * but visible to preserve binary compatibility for LP32.
- */
- #ifdef __LP64__
- #define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("hidden")))
- #else
- # 327 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("default")))
- #endif
- # 329 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- /* Used to rename functions so that the compiler emits a call to 'x' rather than the function this was applied to. */
- #define __RENAME(x) __asm__(#x)
- #if 0 /* expanded by -frewrite-includes */
- #include <android/versioning.h>
- #endif /* expanded by -frewrite-includes */
- # 333 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/versioning.h" 1 3
- /*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef ANDROID_VERSIONING_H
- #define ANDROID_VERSIONING_H
- #define __INTRODUCED_IN(api_level) __attribute__((annotate("introduced_in=" #api_level)))
- #define __INTRODUCED_IN_FUTURE __attribute__((annotate("introduced_in_future")))
- #define __DEPRECATED_IN(api_level) __attribute__((annotate("deprecated_in=" #api_level)))
- #define __REMOVED_IN(api_level) __attribute__((annotate("obsoleted_in=" #api_level)))
- #define __INTRODUCED_IN_32(api_level) __attribute__((annotate("introduced_in_32=" #api_level)))
- #define __INTRODUCED_IN_64(api_level) __attribute__((annotate("introduced_in_64=" #api_level)))
- #define __INTRODUCED_IN_ARM(api_level) __attribute__((annotate("introduced_in_arm=" #api_level)))
- #define __INTRODUCED_IN_X86(api_level) __attribute__((annotate("introduced_in_x86=" #api_level)))
- #define __INTRODUCED_IN_MIPS(api_level) __attribute__((annotate("introduced_in_mips=" #api_level)))
- #define __VERSIONER_NO_GUARD __attribute__((annotate("versioner_no_guard")))
- #endif /* ANDROID_VERSIONING_H */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/versioning.h" 3
- # 334 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 2 3
- #if __has_builtin(__builtin_umul_overflow) || __GNUC__ >= 5
- #if defined(__LP64__)
- #define __size_mul_overflow(a, b, result) __builtin_umull_overflow(a, b, result)
- #else
- # 339 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #define __size_mul_overflow(a, b, result) __builtin_umul_overflow(a, b, result)
- #endif
- # 341 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #else
- # 342 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- extern __inline__ __always_inline __attribute__((gnu_inline))
- int __size_mul_overflow(__SIZE_TYPE__ a, __SIZE_TYPE__ b, __SIZE_TYPE__ *result) {
- *result = a * b;
- static const __SIZE_TYPE__ mul_no_overflow = 1UL << (sizeof(__SIZE_TYPE__) * 4);
- return (a >= mul_no_overflow || b >= mul_no_overflow) && a > 0 && (__SIZE_TYPE__)-1 / a < b;
- }
- #endif
- # 349 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #if defined(__clang__)
- /*
- * Used when we need to check for overflow when multiplying x and y. This
- * should only be used where __size_mul_overflow can not work, because it makes
- * assumptions that __size_mul_overflow doesn't (x and y are positive, ...),
- * *and* doesn't make use of compiler intrinsics, so it's probably slower than
- * __size_mul_overflow.
- */
- #define __unsafe_check_mul_overflow(x, y) ((__SIZE_TYPE__)-1 / (x) < (y))
- #endif
- # 360 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- #endif /* !_SYS_CDEFS_H_ */
- # 362 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/cdefs.h" 3
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <limits.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 1 3
- /* $OpenBSD: limits.h,v 1.13 2005/12/31 19:29:38 millert Exp $ */
- /* $NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp $ */
- /*
- * Copyright (c) 1988 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 5.9 (Berkeley) 4/3/91
- */
- #ifndef _LIMITS_H_
- #define _LIMITS_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 38 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # 39 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- /* Historically bionic exposed the content of <float.h> from <limits.h> and <sys/limits.h> too. */
- #if 0 /* expanded by -frewrite-includes */
- #include <float.h>
- #endif /* expanded by -frewrite-includes */
- # 41 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # 1 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 1 3
- /*===---- float.h - Characteristics of floating point types ----------------===
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *===-----------------------------------------------------------------------===
- */
- #ifndef __FLOAT_H
- #define __FLOAT_H
- /* If we're on MinGW, fall back to the system's float.h, which might have
- * additional definitions provided for Windows.
- * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx
- */
- #if (defined(__MINGW32__) || defined(_MSC_VER)) && __STDC_HOSTED__ && \
- (1)/*__has_include_next(<float.h>)*/
- #if 0 /* expanded by -frewrite-includes */
- # include_next <float.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- # 34 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- /* Undefine anything that we'll be redefining below. */
- # undef FLT_EVAL_METHOD
- # undef FLT_ROUNDS
- # undef FLT_RADIX
- # undef FLT_MANT_DIG
- # undef DBL_MANT_DIG
- # undef LDBL_MANT_DIG
- # if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__)
- # undef DECIMAL_DIG
- # endif
- # 45 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- # undef FLT_DIG
- # undef DBL_DIG
- # undef LDBL_DIG
- # undef FLT_MIN_EXP
- # undef DBL_MIN_EXP
- # undef LDBL_MIN_EXP
- # undef FLT_MIN_10_EXP
- # undef DBL_MIN_10_EXP
- # undef LDBL_MIN_10_EXP
- # undef FLT_MAX_EXP
- # undef DBL_MAX_EXP
- # undef LDBL_MAX_EXP
- # undef FLT_MAX_10_EXP
- # undef DBL_MAX_10_EXP
- # undef LDBL_MAX_10_EXP
- # undef FLT_MAX
- # undef DBL_MAX
- # undef LDBL_MAX
- # undef FLT_EPSILON
- # undef DBL_EPSILON
- # undef LDBL_EPSILON
- # undef FLT_MIN
- # undef DBL_MIN
- # undef LDBL_MIN
- # if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__)
- # undef FLT_TRUE_MIN
- # undef DBL_TRUE_MIN
- # undef LDBL_TRUE_MIN
- # undef FLT_DECIMAL_DIG
- # undef DBL_DECIMAL_DIG
- # undef LDBL_DECIMAL_DIG
- # endif
- # 77 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- #endif
- # 78 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- /* Characteristics of floating point types, C99 5.2.4.2.2 */
- #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
- #define FLT_ROUNDS (__builtin_flt_rounds())
- #define FLT_RADIX __FLT_RADIX__
- #define FLT_MANT_DIG __FLT_MANT_DIG__
- #define DBL_MANT_DIG __DBL_MANT_DIG__
- #define LDBL_MANT_DIG __LDBL_MANT_DIG__
- #if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__)
- # define DECIMAL_DIG __DECIMAL_DIG__
- #endif
- # 92 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- #define FLT_DIG __FLT_DIG__
- #define DBL_DIG __DBL_DIG__
- #define LDBL_DIG __LDBL_DIG__
- #define FLT_MIN_EXP __FLT_MIN_EXP__
- #define DBL_MIN_EXP __DBL_MIN_EXP__
- #define LDBL_MIN_EXP __LDBL_MIN_EXP__
- #define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
- #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
- #define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
- #define FLT_MAX_EXP __FLT_MAX_EXP__
- #define DBL_MAX_EXP __DBL_MAX_EXP__
- #define LDBL_MAX_EXP __LDBL_MAX_EXP__
- #define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
- #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
- #define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
- #define FLT_MAX __FLT_MAX__
- #define DBL_MAX __DBL_MAX__
- #define LDBL_MAX __LDBL_MAX__
- #define FLT_EPSILON __FLT_EPSILON__
- #define DBL_EPSILON __DBL_EPSILON__
- #define LDBL_EPSILON __LDBL_EPSILON__
- #define FLT_MIN __FLT_MIN__
- #define DBL_MIN __DBL_MIN__
- #define LDBL_MIN __LDBL_MIN__
- #if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__)
- # define FLT_TRUE_MIN __FLT_DENORM_MIN__
- # define DBL_TRUE_MIN __DBL_DENORM_MIN__
- # define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
- # define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
- # define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
- # define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
- #endif
- # 133 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- #endif /* __FLOAT_H */
- # 135 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/float.h" 3
- # 42 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/limits.h>
- #endif /* expanded by -frewrite-includes */
- # 43 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/limits.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _LINUX_LIMITS_H
- #define _LINUX_LIMITS_H
- #define NR_OPEN 1024
- #define NGROUPS_MAX 65536
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define _KERNEL_ARG_MAX 131072
- #define LINK_MAX 127
- #define MAX_CANON 255
- #define MAX_INPUT 255
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define NAME_MAX 255
- #define PATH_MAX 4096
- #define PIPE_BUF 4096
- #define XATTR_NAME_MAX 255
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define XATTR_SIZE_MAX 65536
- #define XATTR_LIST_MAX 65536
- #define RTSIG_MAX 32
- #endif
- # 38 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/limits.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- # 44 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 2 3
- #define PASS_MAX 128 /* _PASSWORD_LEN from <pwd.h> */
- #define NL_ARGMAX 9
- #define NL_LANGMAX 14
- #define NL_MSGMAX 32767
- #define NL_NMAX 1
- #define NL_SETMAX 255
- #define NL_TEXTMAX 255
- #define TMP_MAX 308915776
- /* TODO: get all these from the compiler's <limits.h>? */
- #define CHAR_BIT 8
- #ifdef __LP64__
- # define LONG_BIT 64
- #else
- # 62 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # define LONG_BIT 32
- #endif
- # 64 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #define SCHAR_MAX 0x7f /* max value for a signed char */
- #define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
- #define UCHAR_MAX 0xffU /* max value for an unsigned char */
- #ifdef __CHAR_UNSIGNED__
- # define CHAR_MIN 0 /* min value for a char */
- # define CHAR_MAX 0xff /* max value for a char */
- #else
- # 73 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # define CHAR_MAX 0x7f
- # define CHAR_MIN (-0x7f-1)
- #endif
- # 76 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #define USHRT_MAX 0xffffU /* 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 0xffffffffU /* 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 */
- #ifdef __LP64__
- # define ULONG_MAX 0xffffffffffffffffUL /* max value for unsigned long */
- # define LONG_MAX 0x7fffffffffffffffL /* max value for a signed long */
- # define LONG_MIN (-0x7fffffffffffffffL-1) /* min value for a signed long */
- #else
- # 90 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
- # define LONG_MAX 0x7fffffffL /* max value for a long */
- # define LONG_MIN (-0x7fffffffL-1)/* min value for a long */
- #endif
- # 94 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # define ULLONG_MAX 0xffffffffffffffffULL /* max value for unsigned long long */
- # define LLONG_MAX 0x7fffffffffffffffLL /* max value for a signed long long */
- # define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min value for a signed long long */
- /* GLibc compatibility definitions.
- Note that these are defined by GCC's <limits.h>
- only when __GNU_LIBRARY__ is defined, i.e. when
- targetting GLibc. */
- #ifndef LONG_LONG_MIN
- #define LONG_LONG_MIN LLONG_MIN
- #endif
- # 106 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #ifndef LONG_LONG_MAX
- #define LONG_LONG_MAX LLONG_MAX
- #endif
- # 110 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #ifndef ULONG_LONG_MAX
- #define ULONG_LONG_MAX ULLONG_MAX
- #endif
- # 114 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
- # define UID_MAX UINT_MAX /* max value for a uid_t */
- # define GID_MAX UINT_MAX /* max value for a gid_t */
- #if defined(__LP64__)
- #define SIZE_T_MAX ULONG_MAX
- #else
- # 121 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #define SIZE_T_MAX UINT_MAX
- #endif
- # 123 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #endif
- # 124 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #if defined(__LP64__)
- #define SSIZE_MAX LONG_MAX
- #else
- # 128 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #define SSIZE_MAX INT_MAX
- #endif
- # 130 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- #define MB_LEN_MAX 4
- #define IOV_MAX 1024
- #define SEM_VALUE_MAX 0x3fffffff
- /* POSIX says these belong in <unistd.h> but BSD has some in <limits.h>. */
- #if 0 /* expanded by -frewrite-includes */
- #include <bits/posix_limits.h>
- #endif /* expanded by -frewrite-includes */
- # 137 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 1 3
- /*
- * Copyright (C) 2014 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _BITS_POSIX_LIMITS_H_
- #define _BITS_POSIX_LIMITS_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 3
- #define __BIONIC_POSIX_FEATURE_SINCE(level) (((__ANDROID_API__) >= level) ? 200809L : -1)
- /* Any constant values here other than -1 or 200809L are explicitly specified by POSIX.1-2008. */
- /* Keep this list sorted by name. */
- #define _POSIX_ADVISORY_INFO __BIONIC_POSIX_FEATURE_SINCE(23) /* posix_memadvise arrived late. */
- #define _POSIX_AIO_LISTIO_MAX 2
- #define _POSIX_AIO_MAX 1
- #define _POSIX_ARG_MAX 4096
- #define _POSIX_ASYNCHRONOUS_IO -1 /* not implemented */
- #define _POSIX_BARRIERS __BIONIC_POSIX_FEATURE_SINCE(24)
- #define _POSIX_CHILD_MAX 25
- #define _POSIX_CHOWN_RESTRICTED 1 /* yes, chown requires appropriate privileges */
- #define _POSIX_CLOCK_SELECTION 200809L
- #define _POSIX_CPUTIME 0 /* Use sysconf to detect support at runtime. */
- #define _POSIX_DELAYTIMER_MAX 32
- #define _POSIX_FSYNC 200809L
- #define _POSIX_HOST_NAME_MAX 255
- #define _POSIX_IPV6 200809L
- #define _POSIX_JOB_CONTROL 1 /* job control is a Linux feature */
- #define _POSIX_LINK_MAX 8
- #define _POSIX_LOGIN_NAME_MAX 9 /* includes trailing NUL */
- #define _POSIX_MAPPED_FILES 200809L /* mmap-ed files supported */
- #define _POSIX_MAX_CANON 255
- #define _POSIX_MAX_INPUT 255
- #define _POSIX_MEMLOCK __BIONIC_POSIX_FEATURE_SINCE(17) /* mlockall. */
- #define _POSIX_MEMLOCK_RANGE 200809L /* mlock. */
- #define _POSIX_MEMORY_PROTECTION 200809L
- #define _POSIX_MESSAGE_PASSING -1 /* not implemented */
- #define _POSIX_MONOTONIC_CLOCK 0 /* the monotonic clock may be available; ask sysconf */
- #define _POSIX_MQ_OPEN_MAX 8
- #define _POSIX_MQ_PRIO_MAX 32
- #define _POSIX_NAME_MAX 14
- #define _POSIX_NGROUPS_MAX 8
- #define _POSIX_NO_TRUNC 1 /* very long pathnames generate an error */
- #define _POSIX_OPEN_MAX 20
- #define _POSIX_PATH_MAX 256
- #define _POSIX_PIPE_BUF 512
- #define _POSIX_PRIORITY_SCHEDULING 200809L /* priority scheduling is a Linux feature */
- #define _POSIX_PRIORITIZED_IO -1 /* not implemented */
- #define _POSIX_RAW_SOCKETS 200809L
- #define _POSIX_READER_WRITER_LOCKS 200809L
- #define _POSIX_REALTIME_SIGNALS 200809L
- #define _POSIX_REGEXP 1
- #define _POSIX_RE_DUP_MAX 255
- #define _POSIX_SAVED_IDS 1 /* saved user ids is a Linux feature */
- #define _POSIX_SEMAPHORES 200809L
- #define _POSIX_SEM_NSEMS_MAX 256
- #define _POSIX_SEM_VALUE_MAX 32767
- #define _POSIX_SHARED_MEMORY_OBJECTS -1 /* shm_open()/shm_unlink() not implemented */
- #define _POSIX_SHELL 1 /* system() supported */
- #define _POSIX_SIGQUEUE_MAX 32
- #define _POSIX_SPAWN -1 /* not implemented */
- #define _POSIX_SPIN_LOCKS __BIONIC_POSIX_FEATURE_SINCE(24)
- #define _POSIX_SPORADIC_SERVER -1 /* not implemented */
- #define _POSIX_SSIZE_MAX 32767
- #define _POSIX_STREAM_MAX 8
- #define _POSIX_SYMLINK_MAX 255
- #define _POSIX_SYMLOOP_MAX 8
- #define _POSIX_SYNCHRONIZED_IO 200809L /* synchronized i/o supported */
- #define _POSIX_THREADS 200809L /* we support threads */
- #define _POSIX_THREAD_ATTR_STACKADDR 200809L
- #define _POSIX_THREAD_ATTR_STACKSIZE 200809L
- #define _POSIX_THREAD_CPUTIME 0 /* Use sysconf to detect support at runtime. */
- #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
- #define _POSIX_THREAD_KEYS_MAX 128
- #define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
- #define _POSIX_THREAD_PRIO_INHERIT -1 /* not implemented */
- #define _POSIX_THREAD_PRIO_PROTECT -1 /* not implemented */
- #define _POSIX_THREAD_PROCESS_SHARED -1 /* not implemented */
- #define _POSIX_THREAD_ROBUST_PRIO_INHERIT -1 /* not implemented */
- #define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 /* not implemented */
- #define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
- #define _POSIX_THREAD_SPORADIC_SERVER -1 /* not implemented */
- #define _POSIX_THREAD_THREADS_MAX 64
- #define _POSIX_TIMEOUTS __BIONIC_POSIX_FEATURE_SINCE(21) /* pthread_mutex_timedlock arrived late. */
- #define _POSIX_TIMERS 200809L /* Posix timers are supported */
- #define _POSIX_TIMER_MAX 32
- #define _POSIX_TRACE -1 /* not implemented */
- #define _POSIX_TRACE_EVENT_FILTER -1 /* not implemented */
- #define _POSIX_TRACE_INHERIT -1 /* not implemented */
- #define _POSIX_TRACE_LOG -1 /* not implemented */
- #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 /* includes trailing NUL */
- #define _POSIX_TYPED_MEMORY_OBJECTS -1 /* not implemented */
- #define _POSIX_TZNAME_MAX 6
- #define _POSIX_VDISABLE '\0'
- #if defined(__LP64__)
- #define _POSIX_V7_ILP32_OFF32 -1
- #define _POSIX_V7_ILP32_OFFBIG -1
- #define _POSIX_V7_LP64_OFF64 1
- #define _POSIX_V7_LPBIG_OFFBIG 1
- #else
- # 129 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 3
- #define _POSIX_V7_ILP32_OFF32 1
- #define _POSIX_V7_ILP32_OFFBIG -1
- #define _POSIX_V7_LP64_OFF64 -1
- #define _POSIX_V7_LPBIG_OFFBIG -1
- #endif
- # 134 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 3
- #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_CHAR_TERM -1 /* not implemented */
- #define _POSIX2_COLL_WEIGHTS_MAX 2
- #define _POSIX2_C_BIND _POSIX_VERSION
- #define _POSIX2_C_DEV -1 /* c dev utilities not implemented */
- #define _POSIX2_EXPR_NEST_MAX 32
- #define _POSIX2_LINE_MAX 2048
- #define _POSIX2_LOCALEDEF -1 /* localedef utilitiy not implemented */
- #define _POSIX2_RE_DUP_MAX _POSIX_RE_DUP_MAX
- #define _POSIX2_SW_DEV -1 /* software dev utilities not implemented */
- #define _POSIX2_UPE -1 /* user portability utilities not implemented */
- #define _XOPEN_ENH_I18N -1 /* we don't support internationalization in the C library */
- #define _XOPEN_CRYPT -1 /* don't support X/Open Encryption */
- #define _XOPEN_IOV_MAX 16
- #define _XOPEN_LEGACY -1 /* not support all */
- #define _XOPEN_REALTIME -1 /* we don't support all these functions */
- #define _XOPEN_REALTIME_THREADS -1 /* same here */
- #define _XOPEN_SHM -1
- #define _XOPEN_UNIX 1
- #endif
- # 161 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/posix_limits.h" 3
- # 138 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 2 3
- #define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
- #define _POSIX_VERSION 200809L /* Posix C language bindings version */
- #define _POSIX2_VERSION -1 /* we don't support Posix command-line tools */
- #define _XOPEN_VERSION 700 /* by Posix definition */
- /* >= _POSIX_THREAD_DESTRUCTOR_ITERATIONS */
- #define PTHREAD_DESTRUCTOR_ITERATIONS 4
- /* >= _POSIX_THREAD_KEYS_MAX */
- #define PTHREAD_KEYS_MAX 128
- /* bionic has no specific limit */
- #undef PTHREAD_THREADS_MAX
- #endif /* !_LIMITS_H_ */
- # 153 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/limits.h" 3
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 2 3
- __BEGIN_DECLS
- #define HUGE_VAL __builtin_huge_val()
- #define FP_ILOGB0 (-INT_MAX)
- #define FP_ILOGBNAN INT_MAX
- #define HUGE_VALF __builtin_huge_valf()
- #define HUGE_VALL __builtin_huge_vall()
- #define INFINITY __builtin_inff()
- #define NAN __builtin_nanf("")
- #define MATH_ERRNO 1
- #define MATH_ERREXCEPT 2
- #define math_errhandling MATH_ERREXCEPT
- #if defined(__FP_FAST_FMA)
- #define FP_FAST_FMA 1
- #endif
- # 42 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if defined(__FP_FAST_FMAF)
- #define FP_FAST_FMAF 1
- #endif
- # 45 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if defined(__FP_FAST_FMAL)
- #define FP_FAST_FMAL 1
- #endif
- # 48 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- /* Symbolic constants to classify floating point numbers. */
- #define FP_INFINITE 0x01
- #define FP_NAN 0x02
- #define FP_NORMAL 0x04
- #define FP_SUBNORMAL 0x08
- #define FP_ZERO 0x10
- #define fpclassify(x) \
- __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x)
- #define isfinite(x) __builtin_isfinite(x)
- #define isinf(x) __builtin_isinf(x)
- #define isnan(x) __builtin_isnan(x)
- #define isnormal(x) __builtin_isnormal(x)
- #define isgreater(x, y) __builtin_isgreater((x), (y))
- #define isgreaterequal(x, y) __builtin_isgreaterequal((x), (y))
- #define isless(x, y) __builtin_isless((x), (y))
- #define islessequal(x, y) __builtin_islessequal((x), (y))
- #define islessgreater(x, y) __builtin_islessgreater((x), (y))
- #define isunordered(x, y) __builtin_isunordered((x), (y))
- #define signbit(x) \
- ((sizeof(x) == sizeof(float)) ? __builtin_signbitf(x) \
- : (sizeof(x) == sizeof(double)) ? __builtin_signbit(x) \
- : __builtin_signbitl(x))
- typedef double __double_t;
- typedef __double_t double_t;
- typedef float __float_t;
- typedef __float_t float_t;
- #if defined(__USE_BSD)
- #define HUGE MAXFLOAT
- #endif
- # 83 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- extern int signgam;
- /*
- * Most of these functions depend on the rounding mode and have the side
- * effect of raising floating-point exceptions, so they are not declared
- * as __attribute_const__. In C99, FENV_ACCESS affects the purity of these functions.
- */
- int __fpclassifyd(double) __attribute_const__;
- int __fpclassifyf(float) __attribute_const__;
- int __fpclassifyl(long double) __attribute_const__;
- int __isfinitef(float) __attribute_const__;
- int __isfinite(double) __attribute_const__;
- int __isfinitel(long double) __attribute_const__;
- int __isinff(float) __attribute_const__;
- int __isinfl(long double) __attribute_const__;
- #if __ANDROID_API__ >= 21
- int __isnanf(float) __attribute_const__ __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 104 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- int __isnanl(long double) __attribute_const__;
- int __isnormalf(float) __attribute_const__;
- int __isnormal(double) __attribute_const__;
- int __isnormall(long double) __attribute_const__;
- int __signbit(double) __attribute_const__;
- int __signbitf(float) __attribute_const__;
- int __signbitl(long double) __attribute_const__;
- double acos(double);
- double asin(double);
- double atan(double);
- double atan2(double, double);
- double cos(double);
- double sin(double);
- double tan(double);
- double cosh(double);
- double sinh(double);
- double tanh(double);
- double exp(double);
- double frexp(double, int *); /* fundamentally !__attribute_const__ */
- double ldexp(double, int);
- double log(double);
- double log10(double);
- double modf(double, double *); /* fundamentally !__attribute_const__ */
- double pow(double, double);
- double sqrt(double);
- double ceil(double);
- double fabs(double) __attribute_const__;
- double floor(double);
- double fmod(double, double);
- double acosh(double);
- double asinh(double);
- double atanh(double);
- double cbrt(double);
- double erf(double);
- double erfc(double);
- double exp2(double);
- double expm1(double);
- double fma(double, double, double);
- double hypot(double, double);
- int ilogb(double) __attribute_const__;
- double lgamma(double);
- long long llrint(double);
- long long llround(double);
- double log1p(double);
- #if __ANDROID_API__ >= 18
- double log2(double) __INTRODUCED_IN(18);
- #endif /* __ANDROID_API__ >= 18 */
- # 159 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- double logb(double);
- long lrint(double);
- long lround(double);
- #if (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__))
- double nan(const char*) __attribute_const__ __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_MIPS(13)
- __INTRODUCED_IN_X86(9);
- #endif /* (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__)) */
- # 169 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- double nextafter(double, double);
- double remainder(double, double);
- double remquo(double, double, int*);
- double rint(double);
- double copysign(double, double) __attribute_const__;
- double fdim(double, double);
- double fmax(double, double) __attribute_const__;
- double fmin(double, double) __attribute_const__;
- double nearbyint(double);
- double round(double);
- double scalbln(double, long) __INTRODUCED_IN_X86(18) __VERSIONER_NO_GUARD;
- double scalbn(double, int);
- double tgamma(double);
- double trunc(double);
- float acosf(float);
- float asinf(float);
- float atanf(float);
- float atan2f(float, float);
- float cosf(float);
- float sinf(float);
- float tanf(float);
- float coshf(float);
- float sinhf(float);
- float tanhf(float);
- float exp2f(float);
- float expf(float);
- float expm1f(float);
- float frexpf(float, int *); /* fundamentally !__attribute_const__ */
- int ilogbf(float) __attribute_const__;
- float ldexpf(float, int);
- float log10f(float);
- float log1pf(float);
- #if __ANDROID_API__ >= 18
- float log2f(float) __INTRODUCED_IN(18);
- #endif /* __ANDROID_API__ >= 18 */
- # 211 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- float logf(float);
- float modff(float, float *); /* fundamentally !__attribute_const__ */
- float powf(float, float);
- float sqrtf(float);
- float ceilf(float);
- float fabsf(float) __attribute_const__;
- float floorf(float);
- float fmodf(float, float);
- float roundf(float);
- float erff(float);
- float erfcf(float);
- float hypotf(float, float);
- float lgammaf(float);
- #if (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__))
- float tgammaf(float) __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_MIPS(13) __INTRODUCED_IN_X86(9);
- #endif /* (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__)) */
- # 232 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- float acoshf(float);
- float asinhf(float);
- float atanhf(float);
- float cbrtf(float);
- float logbf(float);
- float copysignf(float, float) __attribute_const__;
- long long llrintf(float);
- long long llroundf(float);
- long lrintf(float);
- long lroundf(float);
- #if (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__))
- float nanf(const char*) __attribute_const__ __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_MIPS(13)
- __INTRODUCED_IN_X86(9);
- #endif /* (defined(__LP64__)) || (defined(__arm__) && __ANDROID_API__ >= 13) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__i386__)) */
- # 249 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- float nearbyintf(float);
- float nextafterf(float, float);
- float remainderf(float, float);
- float remquof(float, float, int *);
- float rintf(float);
- float scalblnf(float, long) __INTRODUCED_IN_X86(18) __VERSIONER_NO_GUARD;
- float scalbnf(float, int);
- float truncf(float);
- float fdimf(float, float);
- float fmaf(float, float, float);
- float fmaxf(float, float) __attribute_const__;
- float fminf(float, float) __attribute_const__;
- #if __ANDROID_API__ >= 21
- long double acoshl(long double) __INTRODUCED_IN(21);
- long double acosl(long double) __INTRODUCED_IN(21);
- long double asinhl(long double) __INTRODUCED_IN(21);
- long double asinl(long double) __INTRODUCED_IN(21);
- long double atan2l(long double, long double) __INTRODUCED_IN(21);
- long double atanhl(long double) __INTRODUCED_IN(21);
- long double atanl(long double) __INTRODUCED_IN(21);
- long double cbrtl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 275 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double ceill(long double);
- long double copysignl(long double, long double) __attribute_const__;
- #if __ANDROID_API__ >= 21
- long double coshl(long double) __INTRODUCED_IN(21);
- long double cosl(long double) __INTRODUCED_IN(21);
- long double erfcl(long double) __INTRODUCED_IN(21);
- long double erfl(long double) __INTRODUCED_IN(21);
- long double exp2l(long double) __INTRODUCED_IN(21);
- long double expl(long double) __INTRODUCED_IN(21);
- long double expm1l(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 288 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double fabsl(long double) __attribute_const__;
- long double fdiml(long double, long double);
- long double floorl(long double);
- long double fmal(long double, long double, long double) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
- long double fmaxl(long double, long double) __attribute_const__;
- long double fminl(long double, long double) __attribute_const__;
- #if __ANDROID_API__ >= 21
- long double fmodl(long double, long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 299 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double frexpl(long double value, int*)
- __INTRODUCED_IN(21) __VERSIONER_NO_GUARD; /* fundamentally !__attribute_const__ */
- #if __ANDROID_API__ >= 21
- long double hypotl(long double, long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 306 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- int ilogbl(long double) __attribute_const__;
- long double ldexpl(long double, int);
- #if __ANDROID_API__ >= 21
- long double lgammal(long double) __INTRODUCED_IN(21);
- long long llrintl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 314 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long long llroundl(long double);
- #if __ANDROID_API__ >= 21
- long double log10l(long double) __INTRODUCED_IN(21);
- long double log1pl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 321 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if __ANDROID_API__ >= 18
- long double log2l(long double) __INTRODUCED_IN(18);
- long double logbl(long double) __INTRODUCED_IN(18);
- #endif /* __ANDROID_API__ >= 18 */
- # 327 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if __ANDROID_API__ >= 21
- long double logl(long double) __INTRODUCED_IN(21);
- long lrintl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 333 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long lroundl(long double);
- #if __ANDROID_API__ >= 21
- long double modfl(long double, long double*) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 339 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- /* fundamentally !__attribute_const__ */
- #if __ANDROID_API__ >= 13
- long double nanl(const char*) __attribute_const__ __INTRODUCED_IN(13);
- #endif /* __ANDROID_API__ >= 13 */
- # 344 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if __ANDROID_API__ >= 21
- long double nearbyintl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 349 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double nextafterl(long double, long double) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
- double nexttoward(double, long double) __INTRODUCED_IN(18) __VERSIONER_NO_GUARD;
- float nexttowardf(float, long double);
- long double nexttowardl(long double, long double) __INTRODUCED_IN(18) __VERSIONER_NO_GUARD;
- #if __ANDROID_API__ >= 21
- long double powl(long double, long double) __INTRODUCED_IN(21);
- long double remainderl(long double, long double) __INTRODUCED_IN(21);
- long double remquol(long double, long double, int*) __INTRODUCED_IN(21);
- long double rintl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 361 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double roundl(long double);
- long double scalblnl(long double, long) __INTRODUCED_IN_X86(18) __VERSIONER_NO_GUARD;
- long double scalbnl(long double, int);
- #if __ANDROID_API__ >= 21
- long double sinhl(long double) __INTRODUCED_IN(21);
- long double sinl(long double) __INTRODUCED_IN(21);
- long double sqrtl(long double) __INTRODUCED_IN(21);
- long double tanhl(long double) __INTRODUCED_IN(21);
- long double tanl(long double) __INTRODUCED_IN(21);
- long double tgammal(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 374 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- long double truncl(long double);
- double j0(double);
- double j1(double);
- double jn(int, double);
- double y0(double);
- double y1(double);
- double yn(int, double);
- #define M_E 2.7182818284590452354 /* e */
- #define M_LOG2E 1.4426950408889634074 /* log 2e */
- #define M_LOG10E 0.43429448190325182765 /* log 10e */
- #define M_LN2 0.69314718055994530942 /* log e2 */
- #define M_LN10 2.30258509299404568402 /* log e10 */
- #define M_PI 3.14159265358979323846 /* pi */
- #define M_PI_2 1.57079632679489661923 /* pi/2 */
- #define M_PI_4 0.78539816339744830962 /* pi/4 */
- #define M_1_PI 0.31830988618379067154 /* 1/pi */
- #define M_2_PI 0.63661977236758134308 /* 2/pi */
- #define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
- #define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
- #define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
- #define MAXFLOAT ((float)3.40282346638528860e+38)
- #if defined(__USE_BSD) || defined(__USE_GNU)
- double gamma(double);
- double scalb(double, double);
- double drem(double, double);
- int finite(double) __attribute_const__;
- int isnanf(float) __attribute_const__;
- double gamma_r(double, int*);
- double lgamma_r(double, int*);
- double significand(double);
- #if __ANDROID_API__ >= 23
- long double lgammal_r(long double, int*) __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 413 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if __ANDROID_API__ >= 21
- long double significandl(long double) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 418 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- float dremf(float, float);
- int finitef(float) __attribute_const__;
- float gammaf(float);
- float j0f(float);
- float j1f(float);
- float jnf(int, float);
- float scalbf(float, float);
- float y0f(float);
- float y1f(float);
- float ynf(int, float);
- float gammaf_r(float, int *);
- float lgammaf_r(float, int *);
- float significandf(float);
- #endif
- # 433 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- #if defined(__USE_GNU)
- #define M_El 2.718281828459045235360287471352662498L /* e */
- #define M_LOG2El 1.442695040888963407359924681001892137L /* log 2e */
- #define M_LOG10El 0.434294481903251827651128918916605082L /* log 10e */
- #define M_LN2l 0.693147180559945309417232121458176568L /* log e2 */
- #define M_LN10l 2.302585092994045684017991454684364208L /* log e10 */
- #define M_PIl 3.141592653589793238462643383279502884L /* pi */
- #define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */
- #define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */
- #define M_1_PIl 0.318309886183790671537767526745028724L /* 1/pi */
- #define M_2_PIl 0.636619772367581343075535053490057448L /* 2/pi */
- #define M_2_SQRTPIl 1.128379167095512573896158903121545172L /* 2/sqrt(pi) */
- #define M_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */
- #define M_SQRT1_2l 0.707106781186547524400844362104849039L /* 1/sqrt(2) */
- void sincos(double, double*, double*);
- void sincosf(float, float*, float*);
- void sincosl(long double, long double*, long double*);
- #endif
- # 452 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- __END_DECLS
- #endif /* !_MATH_H_ */
- # 456 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/math.h" 3
- # 18 "packages/apps/Gallery2/jni/filters/edge.c" 2
- #if 0 /* expanded by -frewrite-includes */
- #include "filters.h"
- #endif /* expanded by -frewrite-includes */
- # 18 "packages/apps/Gallery2/jni/filters/edge.c"
- # 1 "packages/apps/Gallery2/jni/filters/filters.h" 1
- /*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef FILTERS_H
- #define FILTERS_H
- #if 0 /* expanded by -frewrite-includes */
- #include <jni.h>
- #endif /* expanded by -frewrite-includes */
- # 20 "packages/apps/Gallery2/jni/filters/filters.h"
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 1 3
- /*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /*
- * JNI specification, as defined by Sun:
- * http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html
- *
- * Everything here is expected to be VM-neutral.
- */
- #ifndef JNI_H_
- #define JNI_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <stdarg.h>
- #endif /* expanded by -frewrite-includes */
- # 27 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- # 1 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stdarg.h" 1 3
- /*===---- stdarg.h - Variable argument handling ----------------------------===
- *
- * Copyright (c) 2008 Eli Friedman
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *===-----------------------------------------------------------------------===
- */
- #ifndef __STDARG_H
- #define __STDARG_H
- #ifndef _VA_LIST
- typedef __builtin_va_list va_list;
- #define _VA_LIST
- #endif
- # 33 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stdarg.h" 3
- #define va_start(ap, param) __builtin_va_start(ap, param)
- #define va_end(ap) __builtin_va_end(ap)
- #define va_arg(ap, type) __builtin_va_arg(ap, type)
- /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
- * or -ansi is not specified, since it was not part of C90.
- */
- #define __va_copy(d,s) __builtin_va_copy(d,s)
- #if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__)
- #define va_copy(dest, src) __builtin_va_copy(dest, src)
- #endif
- # 45 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stdarg.h" 3
- /* Hack required to make standard headers work, at least on Ubuntu */
- #ifndef __GNUC_VA_LIST
- #define __GNUC_VA_LIST 1
- #endif
- # 50 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stdarg.h" 3
- typedef __builtin_va_list __gnuc_va_list;
- #endif /* __STDARG_H */
- # 53 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stdarg.h" 3
- # 28 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <stdint.h>
- #endif /* expanded by -frewrite-includes */
- # 28 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _STDINT_H
- #define _STDINT_H
- #if 0 /* expanded by -frewrite-includes */
- #include <bits/wchar_limits.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 1 3
- /*
- * Copyright (C) 2014 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _BITS_WCHAR_LIMITS_H_
- #define _BITS_WCHAR_LIMITS_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 3
- /* Both GCC and clang define __WCHAR_MAX__. */
- #define WCHAR_MAX __WCHAR_MAX__
- /* As of 3.4, clang still doesn't define __WCHAR_MIN__. */
- #if defined(__WCHAR_UNSIGNED__)
- # define WCHAR_MIN L'\0'
- #else
- # 41 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 3
- # define WCHAR_MIN (-(WCHAR_MAX) - 1)
- #endif
- # 43 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 3
- #endif
- # 45 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/wchar_limits.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <stddef.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # 1 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 1 3
- /*===---- stddef.h - Basic type definitions --------------------------------===
- *
- * Copyright (c) 2008 Eli Friedman
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *===-----------------------------------------------------------------------===
- */
- #if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
- defined(__need_size_t) || defined(__need_wchar_t) || \
- defined(__need_NULL) || defined(__need_wint_t)
- #if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
- !defined(__need_wchar_t) && !defined(__need_NULL) && \
- !defined(__need_wint_t)
- /* Always define miscellaneous pieces when modules are available. */
- #if !__has_feature(modules)
- #define __STDDEF_H
- #endif
- # 37 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define __need_ptrdiff_t
- #define __need_size_t
- #define __need_wchar_t
- #define __need_NULL
- #define __need_STDDEF_H_misc
- /* __need_wint_t is intentionally not defined here. */
- #endif
- # 44 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_ptrdiff_t)
- #if !defined(_PTRDIFF_T) || __has_feature(modules)
- /* Always define ptrdiff_t when modules are available. */
- #if !__has_feature(modules)
- #define _PTRDIFF_T
- #endif
- # 51 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #endif
- # 53 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_ptrdiff_t
- #endif /* defined(__need_ptrdiff_t) */
- # 55 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_size_t)
- #if !defined(_SIZE_T) || __has_feature(modules)
- /* Always define size_t when modules are available. */
- #if !__has_feature(modules)
- #define _SIZE_T
- #endif
- # 62 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ size_t;
- #endif
- # 64 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_size_t
- #endif /*defined(__need_size_t) */
- # 66 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
- * enabled. */
- #if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
- !defined(_RSIZE_T)) || __has_feature(modules)
- /* Always define rsize_t when modules are available. */
- #if !__has_feature(modules)
- #define _RSIZE_T
- #endif
- # 76 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ rsize_t;
- #endif
- # 78 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif /* defined(__need_STDDEF_H_misc) */
- # 79 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_wchar_t)
- #ifndef __cplusplus
- /* Always define wchar_t when modules are available. */
- #if !defined(_WCHAR_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WCHAR_T
- #if defined(_MSC_EXTENSIONS)
- #define _WCHAR_T_DEFINED
- #endif
- # 89 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 90 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WCHAR_TYPE__ wchar_t;
- #endif
- # 92 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 93 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wchar_t
- #endif /* defined(__need_wchar_t) */
- # 95 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_NULL)
- #undef NULL
- #ifdef __cplusplus
- # if !defined(__MINGW32__) && !defined(_MSC_VER)
- # define NULL __null
- # else
- # 102 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL 0
- # endif
- # 104 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #else
- # 105 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL ((void*)0)
- #endif
- # 107 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #ifdef __cplusplus
- #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
- namespace std { typedef decltype(nullptr) nullptr_t; }
- using ::std::nullptr_t;
- #endif
- # 112 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 113 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_NULL
- #endif /* defined(__need_NULL) */
- # 115 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
- #if 0 /* expanded by -frewrite-includes */
- #include "__stddef_max_align_t.h"
- #endif /* expanded by -frewrite-includes */
- # 118 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 119 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 120 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define offsetof(t, d) __builtin_offsetof(t, d)
- #undef __need_STDDEF_H_misc
- #endif /* defined(__need_STDDEF_H_misc) */
- # 123 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
- __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
- #if defined(__need_wint_t)
- /* Always define wint_t when modules are available. */
- #if !defined(_WINT_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WINT_T
- #endif
- # 132 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WINT_TYPE__ wint_t;
- #endif
- # 134 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wint_t
- #endif /* __need_wint_t */
- # 136 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 138 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- 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;
- #if defined(__LP64__)
- typedef long __int64_t;
- typedef unsigned long __uint64_t;
- #else
- # 46 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- typedef long long __int64_t;
- typedef unsigned long long __uint64_t;
- #endif
- # 49 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- #if defined(__LP64__)
- typedef long __intptr_t;
- typedef unsigned long __uintptr_t;
- #else
- # 54 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- typedef int __intptr_t;
- typedef unsigned int __uintptr_t;
- #endif
- # 57 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- typedef __int8_t int8_t;
- typedef __uint8_t uint8_t;
- typedef __int16_t int16_t;
- typedef __uint16_t uint16_t;
- typedef __int32_t int32_t;
- typedef __uint32_t uint32_t;
- typedef __int64_t int64_t;
- typedef __uint64_t uint64_t;
- typedef __intptr_t intptr_t;
- typedef __uintptr_t uintptr_t;
- typedef int8_t int_least8_t;
- typedef uint8_t uint_least8_t;
- typedef int16_t int_least16_t;
- typedef uint16_t uint_least16_t;
- typedef int32_t int_least32_t;
- typedef uint32_t uint_least32_t;
- typedef int64_t int_least64_t;
- typedef uint64_t uint_least64_t;
- typedef int8_t int_fast8_t;
- typedef uint8_t uint_fast8_t;
- typedef int64_t int_fast64_t;
- typedef uint64_t uint_fast64_t;
- #if defined(__LP64__)
- typedef int64_t int_fast16_t;
- typedef uint64_t uint_fast16_t;
- typedef int64_t int_fast32_t;
- typedef uint64_t uint_fast32_t;
- #else
- # 97 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- typedef int32_t int_fast16_t;
- typedef uint32_t uint_fast16_t;
- typedef int32_t int_fast32_t;
- typedef uint32_t uint_fast32_t;
- #endif
- # 102 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- typedef uint64_t uintmax_t;
- typedef int64_t intmax_t;
- /* Keep the kernel from trying to define these types... */
- #define __BIT_TYPES_DEFINED__
- #define INT8_C(c) c
- #define INT_LEAST8_C(c) INT8_C(c)
- #define INT_FAST8_C(c) INT8_C(c)
- #define UINT8_C(c) c
- #define UINT_LEAST8_C(c) UINT8_C(c)
- #define UINT_FAST8_C(c) UINT8_C(c)
- #define INT16_C(c) c
- #define INT_LEAST16_C(c) INT16_C(c)
- #define INT_FAST16_C(c) INT32_C(c)
- #define UINT16_C(c) c
- #define UINT_LEAST16_C(c) UINT16_C(c)
- #define UINT_FAST16_C(c) UINT32_C(c)
- #define INT32_C(c) c
- #define INT_LEAST32_C(c) INT32_C(c)
- #define INT_FAST32_C(c) INT32_C(c)
- #define UINT32_C(c) c ## U
- #define UINT_LEAST32_C(c) UINT32_C(c)
- #define UINT_FAST32_C(c) UINT32_C(c)
- #define INT_LEAST64_C(c) INT64_C(c)
- #define INT_FAST64_C(c) INT64_C(c)
- #define UINT_LEAST64_C(c) UINT64_C(c)
- #define UINT_FAST64_C(c) UINT64_C(c)
- #define INTMAX_C(c) INT64_C(c)
- #define UINTMAX_C(c) UINT64_C(c)
- #if defined(__LP64__)
- # define INT64_C(c) c ## L
- # define UINT64_C(c) c ## UL
- # define INTPTR_C(c) INT64_C(c)
- # define UINTPTR_C(c) UINT64_C(c)
- # define PTRDIFF_C(c) INT64_C(c)
- #else
- # 147 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # define INT64_C(c) c ## LL
- # define UINT64_C(c) c ## ULL
- # define INTPTR_C(c) INT32_C(c)
- # define UINTPTR_C(c) UINT32_C(c)
- # define PTRDIFF_C(c) INT32_C(c)
- #endif
- # 153 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- #define INT8_MIN (-128)
- #define INT8_MAX (127)
- #define INT_LEAST8_MIN INT8_MIN
- #define INT_LEAST8_MAX INT8_MAX
- #define INT_FAST8_MIN INT8_MIN
- #define INT_FAST8_MAX INT8_MAX
- #define UINT8_MAX (255)
- #define UINT_LEAST8_MAX UINT8_MAX
- #define UINT_FAST8_MAX UINT8_MAX
- #define INT16_MIN (-32768)
- #define INT16_MAX (32767)
- #define INT_LEAST16_MIN INT16_MIN
- #define INT_LEAST16_MAX INT16_MAX
- #define INT_FAST16_MIN INT32_MIN
- #define INT_FAST16_MAX INT32_MAX
- #define UINT16_MAX (65535)
- #define UINT_LEAST16_MAX UINT16_MAX
- #define UINT_FAST16_MAX UINT32_MAX
- #define INT32_MIN (-2147483647-1)
- #define INT32_MAX (2147483647)
- #define INT_LEAST32_MIN INT32_MIN
- #define INT_LEAST32_MAX INT32_MAX
- #define INT_FAST32_MIN INT32_MIN
- #define INT_FAST32_MAX INT32_MAX
- #define UINT32_MAX (4294967295U)
- #define UINT_LEAST32_MAX UINT32_MAX
- #define UINT_FAST32_MAX UINT32_MAX
- #define INT64_MIN (INT64_C(-9223372036854775807)-1)
- #define INT64_MAX (INT64_C(9223372036854775807))
- #define INT_LEAST64_MIN INT64_MIN
- #define INT_LEAST64_MAX INT64_MAX
- #define INT_FAST64_MIN INT64_MIN
- #define INT_FAST64_MAX INT64_MAX
- #define UINT64_MAX (UINT64_C(18446744073709551615))
- #define UINT_LEAST64_MAX UINT64_MAX
- #define UINT_FAST64_MAX UINT64_MAX
- #define INTMAX_MIN INT64_MIN
- #define INTMAX_MAX INT64_MAX
- #define UINTMAX_MAX UINT64_MAX
- #define SIG_ATOMIC_MAX INT32_MAX
- #define SIG_ATOMIC_MIN INT32_MIN
- #if defined(__WINT_UNSIGNED__)
- # define WINT_MAX UINT32_MAX
- # define WINT_MIN 0
- #else
- # 209 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # define WINT_MAX INT32_MAX
- # define WINT_MIN INT32_MIN
- #endif
- # 212 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- #if defined(__LP64__)
- # define INTPTR_MIN INT64_MIN
- # define INTPTR_MAX INT64_MAX
- # define UINTPTR_MAX UINT64_MAX
- # define PTRDIFF_MIN INT64_MIN
- # define PTRDIFF_MAX INT64_MAX
- # define SIZE_MAX UINT64_MAX
- #else
- # 221 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # define INTPTR_MIN INT32_MIN
- # define INTPTR_MAX INT32_MAX
- # define UINTPTR_MAX UINT32_MAX
- # define PTRDIFF_MIN INT32_MIN
- # define PTRDIFF_MAX INT32_MAX
- # define SIZE_MAX UINT32_MAX
- #endif
- # 228 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- #endif /* _STDINT_H */
- # 230 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/stdint.h" 3
- # 29 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 2 3
- /* Primitive types that match up with Java equivalents. */
- typedef uint8_t jboolean; /* unsigned 8 bits */
- typedef int8_t jbyte; /* signed 8 bits */
- typedef uint16_t jchar; /* unsigned 16 bits */
- typedef int16_t jshort; /* signed 16 bits */
- typedef int32_t jint; /* signed 32 bits */
- typedef int64_t jlong; /* signed 64 bits */
- typedef float jfloat; /* 32-bit IEEE 754 */
- typedef double jdouble; /* 64-bit IEEE 754 */
- /* "cardinal indices and sizes" */
- typedef jint jsize;
- #ifdef __cplusplus
- /*
- * Reference types, in C++
- */
- class _jobject {};
- class _jclass : public _jobject {};
- class _jstring : public _jobject {};
- class _jarray : public _jobject {};
- class _jobjectArray : public _jarray {};
- class _jbooleanArray : public _jarray {};
- class _jbyteArray : public _jarray {};
- class _jcharArray : public _jarray {};
- class _jshortArray : public _jarray {};
- class _jintArray : public _jarray {};
- class _jlongArray : public _jarray {};
- class _jfloatArray : public _jarray {};
- class _jdoubleArray : public _jarray {};
- class _jthrowable : public _jobject {};
- typedef _jobject* jobject;
- typedef _jclass* jclass;
- typedef _jstring* jstring;
- typedef _jarray* jarray;
- typedef _jobjectArray* jobjectArray;
- typedef _jbooleanArray* jbooleanArray;
- typedef _jbyteArray* jbyteArray;
- typedef _jcharArray* jcharArray;
- typedef _jshortArray* jshortArray;
- typedef _jintArray* jintArray;
- typedef _jlongArray* jlongArray;
- typedef _jfloatArray* jfloatArray;
- typedef _jdoubleArray* jdoubleArray;
- typedef _jthrowable* jthrowable;
- typedef _jobject* jweak;
- #else /* not __cplusplus */
- # 80 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- /*
- * Reference types, in C.
- */
- typedef void* jobject;
- typedef jobject jclass;
- typedef jobject jstring;
- typedef jobject jarray;
- typedef jarray jobjectArray;
- typedef jarray jbooleanArray;
- typedef jarray jbyteArray;
- typedef jarray jcharArray;
- typedef jarray jshortArray;
- typedef jarray jintArray;
- typedef jarray jlongArray;
- typedef jarray jfloatArray;
- typedef jarray jdoubleArray;
- typedef jobject jthrowable;
- typedef jobject jweak;
- #endif /* not __cplusplus */
- # 101 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- struct _jfieldID; /* opaque structure */
- typedef struct _jfieldID* jfieldID; /* field IDs */
- struct _jmethodID; /* opaque structure */
- typedef struct _jmethodID* jmethodID; /* method IDs */
- struct JNIInvokeInterface;
- typedef union jvalue {
- jboolean z;
- jbyte b;
- jchar c;
- jshort s;
- jint i;
- jlong j;
- jfloat f;
- jdouble d;
- jobject l;
- } jvalue;
- typedef enum jobjectRefType {
- JNIInvalidRefType = 0,
- JNILocalRefType = 1,
- JNIGlobalRefType = 2,
- JNIWeakGlobalRefType = 3
- } jobjectRefType;
- typedef struct {
- const char* name;
- const char* signature;
- void* fnPtr;
- } JNINativeMethod;
- struct _JNIEnv;
- struct _JavaVM;
- typedef const struct JNINativeInterface* C_JNIEnv;
- #if defined(__cplusplus)
- typedef _JNIEnv JNIEnv;
- typedef _JavaVM JavaVM;
- #else
- # 143 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- typedef const struct JNINativeInterface* JNIEnv;
- typedef const struct JNIInvokeInterface* JavaVM;
- #endif
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- /*
- * Table of interface function pointers.
- */
- struct JNINativeInterface {
- void* reserved0;
- void* reserved1;
- void* reserved2;
- void* reserved3;
- jint (*GetVersion)(JNIEnv *);
- jclass (*DefineClass)(JNIEnv*, const char*, jobject, const jbyte*,
- jsize);
- jclass (*FindClass)(JNIEnv*, const char*);
- jmethodID (*FromReflectedMethod)(JNIEnv*, jobject);
- jfieldID (*FromReflectedField)(JNIEnv*, jobject);
- /* spec doesn't show jboolean parameter */
- jobject (*ToReflectedMethod)(JNIEnv*, jclass, jmethodID, jboolean);
- jclass (*GetSuperclass)(JNIEnv*, jclass);
- jboolean (*IsAssignableFrom)(JNIEnv*, jclass, jclass);
- /* spec doesn't show jboolean parameter */
- jobject (*ToReflectedField)(JNIEnv*, jclass, jfieldID, jboolean);
- jint (*Throw)(JNIEnv*, jthrowable);
- jint (*ThrowNew)(JNIEnv *, jclass, const char *);
- jthrowable (*ExceptionOccurred)(JNIEnv*);
- void (*ExceptionDescribe)(JNIEnv*);
- void (*ExceptionClear)(JNIEnv*);
- void (*FatalError)(JNIEnv*, const char*);
- jint (*PushLocalFrame)(JNIEnv*, jint);
- jobject (*PopLocalFrame)(JNIEnv*, jobject);
- jobject (*NewGlobalRef)(JNIEnv*, jobject);
- void (*DeleteGlobalRef)(JNIEnv*, jobject);
- void (*DeleteLocalRef)(JNIEnv*, jobject);
- jboolean (*IsSameObject)(JNIEnv*, jobject, jobject);
- jobject (*NewLocalRef)(JNIEnv*, jobject);
- jint (*EnsureLocalCapacity)(JNIEnv*, jint);
- jobject (*AllocObject)(JNIEnv*, jclass);
- jobject (*NewObject)(JNIEnv*, jclass, jmethodID, ...);
- jobject (*NewObjectV)(JNIEnv*, jclass, jmethodID, va_list);
- jobject (*NewObjectA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jclass (*GetObjectClass)(JNIEnv*, jobject);
- jboolean (*IsInstanceOf)(JNIEnv*, jobject, jclass);
- jmethodID (*GetMethodID)(JNIEnv*, jclass, const char*, const char*);
- jobject (*CallObjectMethod)(JNIEnv*, jobject, jmethodID, ...);
- jobject (*CallObjectMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jobject (*CallObjectMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jboolean (*CallBooleanMethod)(JNIEnv*, jobject, jmethodID, ...);
- jboolean (*CallBooleanMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jboolean (*CallBooleanMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jbyte (*CallByteMethod)(JNIEnv*, jobject, jmethodID, ...);
- jbyte (*CallByteMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jbyte (*CallByteMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jchar (*CallCharMethod)(JNIEnv*, jobject, jmethodID, ...);
- jchar (*CallCharMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jchar (*CallCharMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jshort (*CallShortMethod)(JNIEnv*, jobject, jmethodID, ...);
- jshort (*CallShortMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jshort (*CallShortMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jint (*CallIntMethod)(JNIEnv*, jobject, jmethodID, ...);
- jint (*CallIntMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jint (*CallIntMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jlong (*CallLongMethod)(JNIEnv*, jobject, jmethodID, ...);
- jlong (*CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jlong (*CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jfloat (*CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...);
- jfloat (*CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jfloat (*CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jdouble (*CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...);
- jdouble (*CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- jdouble (*CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- void (*CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
- void (*CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list);
- void (*CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
- jobject (*CallNonvirtualObjectMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jobject (*CallNonvirtualObjectMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jobject (*CallNonvirtualObjectMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jboolean (*CallNonvirtualBooleanMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jboolean (*CallNonvirtualBooleanMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jboolean (*CallNonvirtualBooleanMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jbyte (*CallNonvirtualByteMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jbyte (*CallNonvirtualByteMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jbyte (*CallNonvirtualByteMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jchar (*CallNonvirtualCharMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jchar (*CallNonvirtualCharMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jchar (*CallNonvirtualCharMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jshort (*CallNonvirtualShortMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jshort (*CallNonvirtualShortMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jshort (*CallNonvirtualShortMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jint (*CallNonvirtualIntMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jint (*CallNonvirtualIntMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jint (*CallNonvirtualIntMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jlong (*CallNonvirtualLongMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jlong (*CallNonvirtualLongMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jlong (*CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jfloat (*CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jfloat (*CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jfloat (*CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jdouble (*CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- jdouble (*CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- jdouble (*CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- void (*CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass,
- jmethodID, ...);
- void (*CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass,
- jmethodID, va_list);
- void (*CallNonvirtualVoidMethodA)(JNIEnv*, jobject, jclass,
- jmethodID, jvalue*);
- jfieldID (*GetFieldID)(JNIEnv*, jclass, const char*, const char*);
- jobject (*GetObjectField)(JNIEnv*, jobject, jfieldID);
- jboolean (*GetBooleanField)(JNIEnv*, jobject, jfieldID);
- jbyte (*GetByteField)(JNIEnv*, jobject, jfieldID);
- jchar (*GetCharField)(JNIEnv*, jobject, jfieldID);
- jshort (*GetShortField)(JNIEnv*, jobject, jfieldID);
- jint (*GetIntField)(JNIEnv*, jobject, jfieldID);
- jlong (*GetLongField)(JNIEnv*, jobject, jfieldID);
- jfloat (*GetFloatField)(JNIEnv*, jobject, jfieldID);
- jdouble (*GetDoubleField)(JNIEnv*, jobject, jfieldID);
- void (*SetObjectField)(JNIEnv*, jobject, jfieldID, jobject);
- void (*SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean);
- void (*SetByteField)(JNIEnv*, jobject, jfieldID, jbyte);
- void (*SetCharField)(JNIEnv*, jobject, jfieldID, jchar);
- void (*SetShortField)(JNIEnv*, jobject, jfieldID, jshort);
- void (*SetIntField)(JNIEnv*, jobject, jfieldID, jint);
- void (*SetLongField)(JNIEnv*, jobject, jfieldID, jlong);
- void (*SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat);
- void (*SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble);
- jmethodID (*GetStaticMethodID)(JNIEnv*, jclass, const char*, const char*);
- jobject (*CallStaticObjectMethod)(JNIEnv*, jclass, jmethodID, ...);
- jobject (*CallStaticObjectMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jobject (*CallStaticObjectMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jboolean (*CallStaticBooleanMethod)(JNIEnv*, jclass, jmethodID, ...);
- jboolean (*CallStaticBooleanMethodV)(JNIEnv*, jclass, jmethodID,
- va_list);
- jboolean (*CallStaticBooleanMethodA)(JNIEnv*, jclass, jmethodID,
- jvalue*);
- jbyte (*CallStaticByteMethod)(JNIEnv*, jclass, jmethodID, ...);
- jbyte (*CallStaticByteMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jbyte (*CallStaticByteMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jchar (*CallStaticCharMethod)(JNIEnv*, jclass, jmethodID, ...);
- jchar (*CallStaticCharMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jchar (*CallStaticCharMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jshort (*CallStaticShortMethod)(JNIEnv*, jclass, jmethodID, ...);
- jshort (*CallStaticShortMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jshort (*CallStaticShortMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jint (*CallStaticIntMethod)(JNIEnv*, jclass, jmethodID, ...);
- jint (*CallStaticIntMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jint (*CallStaticIntMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jlong (*CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...);
- jlong (*CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jlong (*CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jfloat (*CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...);
- jfloat (*CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jfloat (*CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jdouble (*CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...);
- jdouble (*CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- jdouble (*CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- void (*CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
- void (*CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list);
- void (*CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
- jfieldID (*GetStaticFieldID)(JNIEnv*, jclass, const char*,
- const char*);
- jobject (*GetStaticObjectField)(JNIEnv*, jclass, jfieldID);
- jboolean (*GetStaticBooleanField)(JNIEnv*, jclass, jfieldID);
- jbyte (*GetStaticByteField)(JNIEnv*, jclass, jfieldID);
- jchar (*GetStaticCharField)(JNIEnv*, jclass, jfieldID);
- jshort (*GetStaticShortField)(JNIEnv*, jclass, jfieldID);
- jint (*GetStaticIntField)(JNIEnv*, jclass, jfieldID);
- jlong (*GetStaticLongField)(JNIEnv*, jclass, jfieldID);
- jfloat (*GetStaticFloatField)(JNIEnv*, jclass, jfieldID);
- jdouble (*GetStaticDoubleField)(JNIEnv*, jclass, jfieldID);
- void (*SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject);
- void (*SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean);
- void (*SetStaticByteField)(JNIEnv*, jclass, jfieldID, jbyte);
- void (*SetStaticCharField)(JNIEnv*, jclass, jfieldID, jchar);
- void (*SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort);
- void (*SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint);
- void (*SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong);
- void (*SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat);
- void (*SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble);
- jstring (*NewString)(JNIEnv*, const jchar*, jsize);
- jsize (*GetStringLength)(JNIEnv*, jstring);
- const jchar* (*GetStringChars)(JNIEnv*, jstring, jboolean*);
- void (*ReleaseStringChars)(JNIEnv*, jstring, const jchar*);
- jstring (*NewStringUTF)(JNIEnv*, const char*);
- jsize (*GetStringUTFLength)(JNIEnv*, jstring);
- /* JNI spec says this returns const jbyte*, but that's inconsistent */
- const char* (*GetStringUTFChars)(JNIEnv*, jstring, jboolean*);
- void (*ReleaseStringUTFChars)(JNIEnv*, jstring, const char*);
- jsize (*GetArrayLength)(JNIEnv*, jarray);
- jobjectArray (*NewObjectArray)(JNIEnv*, jsize, jclass, jobject);
- jobject (*GetObjectArrayElement)(JNIEnv*, jobjectArray, jsize);
- void (*SetObjectArrayElement)(JNIEnv*, jobjectArray, jsize, jobject);
- jbooleanArray (*NewBooleanArray)(JNIEnv*, jsize);
- jbyteArray (*NewByteArray)(JNIEnv*, jsize);
- jcharArray (*NewCharArray)(JNIEnv*, jsize);
- jshortArray (*NewShortArray)(JNIEnv*, jsize);
- jintArray (*NewIntArray)(JNIEnv*, jsize);
- jlongArray (*NewLongArray)(JNIEnv*, jsize);
- jfloatArray (*NewFloatArray)(JNIEnv*, jsize);
- jdoubleArray (*NewDoubleArray)(JNIEnv*, jsize);
- jboolean* (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*);
- jbyte* (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*);
- jchar* (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*);
- jshort* (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*);
- jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*);
- jlong* (*GetLongArrayElements)(JNIEnv*, jlongArray, jboolean*);
- jfloat* (*GetFloatArrayElements)(JNIEnv*, jfloatArray, jboolean*);
- jdouble* (*GetDoubleArrayElements)(JNIEnv*, jdoubleArray, jboolean*);
- void (*ReleaseBooleanArrayElements)(JNIEnv*, jbooleanArray,
- jboolean*, jint);
- void (*ReleaseByteArrayElements)(JNIEnv*, jbyteArray,
- jbyte*, jint);
- void (*ReleaseCharArrayElements)(JNIEnv*, jcharArray,
- jchar*, jint);
- void (*ReleaseShortArrayElements)(JNIEnv*, jshortArray,
- jshort*, jint);
- void (*ReleaseIntArrayElements)(JNIEnv*, jintArray,
- jint*, jint);
- void (*ReleaseLongArrayElements)(JNIEnv*, jlongArray,
- jlong*, jint);
- void (*ReleaseFloatArrayElements)(JNIEnv*, jfloatArray,
- jfloat*, jint);
- void (*ReleaseDoubleArrayElements)(JNIEnv*, jdoubleArray,
- jdouble*, jint);
- void (*GetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
- jsize, jsize, jboolean*);
- void (*GetByteArrayRegion)(JNIEnv*, jbyteArray,
- jsize, jsize, jbyte*);
- void (*GetCharArrayRegion)(JNIEnv*, jcharArray,
- jsize, jsize, jchar*);
- void (*GetShortArrayRegion)(JNIEnv*, jshortArray,
- jsize, jsize, jshort*);
- void (*GetIntArrayRegion)(JNIEnv*, jintArray,
- jsize, jsize, jint*);
- void (*GetLongArrayRegion)(JNIEnv*, jlongArray,
- jsize, jsize, jlong*);
- void (*GetFloatArrayRegion)(JNIEnv*, jfloatArray,
- jsize, jsize, jfloat*);
- void (*GetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
- jsize, jsize, jdouble*);
- /* spec shows these without const; some jni.h do, some don't */
- void (*SetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
- jsize, jsize, const jboolean*);
- void (*SetByteArrayRegion)(JNIEnv*, jbyteArray,
- jsize, jsize, const jbyte*);
- void (*SetCharArrayRegion)(JNIEnv*, jcharArray,
- jsize, jsize, const jchar*);
- void (*SetShortArrayRegion)(JNIEnv*, jshortArray,
- jsize, jsize, const jshort*);
- void (*SetIntArrayRegion)(JNIEnv*, jintArray,
- jsize, jsize, const jint*);
- void (*SetLongArrayRegion)(JNIEnv*, jlongArray,
- jsize, jsize, const jlong*);
- void (*SetFloatArrayRegion)(JNIEnv*, jfloatArray,
- jsize, jsize, const jfloat*);
- void (*SetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
- jsize, jsize, const jdouble*);
- jint (*RegisterNatives)(JNIEnv*, jclass, const JNINativeMethod*,
- jint);
- jint (*UnregisterNatives)(JNIEnv*, jclass);
- jint (*MonitorEnter)(JNIEnv*, jobject);
- jint (*MonitorExit)(JNIEnv*, jobject);
- jint (*GetJavaVM)(JNIEnv*, JavaVM**);
- void (*GetStringRegion)(JNIEnv*, jstring, jsize, jsize, jchar*);
- void (*GetStringUTFRegion)(JNIEnv*, jstring, jsize, jsize, char*);
- void* (*GetPrimitiveArrayCritical)(JNIEnv*, jarray, jboolean*);
- void (*ReleasePrimitiveArrayCritical)(JNIEnv*, jarray, void*, jint);
- const jchar* (*GetStringCritical)(JNIEnv*, jstring, jboolean*);
- void (*ReleaseStringCritical)(JNIEnv*, jstring, const jchar*);
- jweak (*NewWeakGlobalRef)(JNIEnv*, jobject);
- void (*DeleteWeakGlobalRef)(JNIEnv*, jweak);
- jboolean (*ExceptionCheck)(JNIEnv*);
- jobject (*NewDirectByteBuffer)(JNIEnv*, void*, jlong);
- void* (*GetDirectBufferAddress)(JNIEnv*, jobject);
- jlong (*GetDirectBufferCapacity)(JNIEnv*, jobject);
- /* added in JNI 1.6 */
- jobjectRefType (*GetObjectRefType)(JNIEnv*, jobject);
- };
- /*
- * C++ object wrapper.
- *
- * This is usually overlaid on a C struct whose first element is a
- * JNINativeInterface*. We rely somewhat on compiler behavior.
- */
- struct _JNIEnv {
- /* do not rename this; it does not seem to be entirely opaque */
- const struct JNINativeInterface* functions;
- #if defined(__cplusplus)
- jint GetVersion()
- { return functions->GetVersion(this); }
- jclass DefineClass(const char *name, jobject loader, const jbyte* buf,
- jsize bufLen)
- { return functions->DefineClass(this, name, loader, buf, bufLen); }
- jclass FindClass(const char* name)
- { return functions->FindClass(this, name); }
- jmethodID FromReflectedMethod(jobject method)
- { return functions->FromReflectedMethod(this, method); }
- jfieldID FromReflectedField(jobject field)
- { return functions->FromReflectedField(this, field); }
- jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic)
- { return functions->ToReflectedMethod(this, cls, methodID, isStatic); }
- jclass GetSuperclass(jclass clazz)
- { return functions->GetSuperclass(this, clazz); }
- jboolean IsAssignableFrom(jclass clazz1, jclass clazz2)
- { return functions->IsAssignableFrom(this, clazz1, clazz2); }
- jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic)
- { return functions->ToReflectedField(this, cls, fieldID, isStatic); }
- jint Throw(jthrowable obj)
- { return functions->Throw(this, obj); }
- jint ThrowNew(jclass clazz, const char* message)
- { return functions->ThrowNew(this, clazz, message); }
- jthrowable ExceptionOccurred()
- { return functions->ExceptionOccurred(this); }
- void ExceptionDescribe()
- { functions->ExceptionDescribe(this); }
- void ExceptionClear()
- { functions->ExceptionClear(this); }
- void FatalError(const char* msg)
- { functions->FatalError(this, msg); }
- jint PushLocalFrame(jint capacity)
- { return functions->PushLocalFrame(this, capacity); }
- jobject PopLocalFrame(jobject result)
- { return functions->PopLocalFrame(this, result); }
- jobject NewGlobalRef(jobject obj)
- { return functions->NewGlobalRef(this, obj); }
- void DeleteGlobalRef(jobject globalRef)
- { functions->DeleteGlobalRef(this, globalRef); }
- void DeleteLocalRef(jobject localRef)
- { functions->DeleteLocalRef(this, localRef); }
- jboolean IsSameObject(jobject ref1, jobject ref2)
- { return functions->IsSameObject(this, ref1, ref2); }
- jobject NewLocalRef(jobject ref)
- { return functions->NewLocalRef(this, ref); }
- jint EnsureLocalCapacity(jint capacity)
- { return functions->EnsureLocalCapacity(this, capacity); }
- jobject AllocObject(jclass clazz)
- { return functions->AllocObject(this, clazz); }
- jobject NewObject(jclass clazz, jmethodID methodID, ...)
- {
- va_list args;
- va_start(args, methodID);
- jobject result = functions->NewObjectV(this, clazz, methodID, args);
- va_end(args);
- return result;
- }
- jobject NewObjectV(jclass clazz, jmethodID methodID, va_list args)
- { return functions->NewObjectV(this, clazz, methodID, args); }
- jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue* args)
- { return functions->NewObjectA(this, clazz, methodID, args); }
- jclass GetObjectClass(jobject obj)
- { return functions->GetObjectClass(this, obj); }
- jboolean IsInstanceOf(jobject obj, jclass clazz)
- { return functions->IsInstanceOf(this, obj, clazz); }
- jmethodID GetMethodID(jclass clazz, const char* name, const char* sig)
- { return functions->GetMethodID(this, clazz, name, sig); }
- #define CALL_TYPE_METHOD(_jtype, _jname) \
- _jtype Call##_jname##Method(jobject obj, jmethodID methodID, ...) \
- { \
- _jtype result; \
- va_list args; \
- va_start(args, methodID); \
- result = functions->Call##_jname##MethodV(this, obj, methodID, \
- args); \
- va_end(args); \
- return result; \
- }
- #define CALL_TYPE_METHODV(_jtype, _jname) \
- _jtype Call##_jname##MethodV(jobject obj, jmethodID methodID, \
- va_list args) \
- { return functions->Call##_jname##MethodV(this, obj, methodID, args); }
- #define CALL_TYPE_METHODA(_jtype, _jname) \
- _jtype Call##_jname##MethodA(jobject obj, jmethodID methodID, \
- jvalue* args) \
- { return functions->Call##_jname##MethodA(this, obj, methodID, args); }
- #define CALL_TYPE(_jtype, _jname) \
- CALL_TYPE_METHOD(_jtype, _jname) \
- CALL_TYPE_METHODV(_jtype, _jname) \
- CALL_TYPE_METHODA(_jtype, _jname)
- CALL_TYPE(jobject, Object)
- CALL_TYPE(jboolean, Boolean)
- CALL_TYPE(jbyte, Byte)
- CALL_TYPE(jchar, Char)
- CALL_TYPE(jshort, Short)
- CALL_TYPE(jint, Int)
- CALL_TYPE(jlong, Long)
- CALL_TYPE(jfloat, Float)
- CALL_TYPE(jdouble, Double)
- void CallVoidMethod(jobject obj, jmethodID methodID, ...)
- {
- va_list args;
- va_start(args, methodID);
- functions->CallVoidMethodV(this, obj, methodID, args);
- va_end(args);
- }
- void CallVoidMethodV(jobject obj, jmethodID methodID, va_list args)
- { functions->CallVoidMethodV(this, obj, methodID, args); }
- void CallVoidMethodA(jobject obj, jmethodID methodID, jvalue* args)
- { functions->CallVoidMethodA(this, obj, methodID, args); }
- #define CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
- _jtype CallNonvirtual##_jname##Method(jobject obj, jclass clazz, \
- jmethodID methodID, ...) \
- { \
- _jtype result; \
- va_list args; \
- va_start(args, methodID); \
- result = functions->CallNonvirtual##_jname##MethodV(this, obj, \
- clazz, methodID, args); \
- va_end(args); \
- return result; \
- }
- #define CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
- _jtype CallNonvirtual##_jname##MethodV(jobject obj, jclass clazz, \
- jmethodID methodID, va_list args) \
- { return functions->CallNonvirtual##_jname##MethodV(this, obj, clazz, \
- methodID, args); }
- #define CALL_NONVIRT_TYPE_METHODA(_jtype, _jname) \
- _jtype CallNonvirtual##_jname##MethodA(jobject obj, jclass clazz, \
- jmethodID methodID, jvalue* args) \
- { return functions->CallNonvirtual##_jname##MethodA(this, obj, clazz, \
- methodID, args); }
- #define CALL_NONVIRT_TYPE(_jtype, _jname) \
- CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
- CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
- CALL_NONVIRT_TYPE_METHODA(_jtype, _jname)
- CALL_NONVIRT_TYPE(jobject, Object)
- CALL_NONVIRT_TYPE(jboolean, Boolean)
- CALL_NONVIRT_TYPE(jbyte, Byte)
- CALL_NONVIRT_TYPE(jchar, Char)
- CALL_NONVIRT_TYPE(jshort, Short)
- CALL_NONVIRT_TYPE(jint, Int)
- CALL_NONVIRT_TYPE(jlong, Long)
- CALL_NONVIRT_TYPE(jfloat, Float)
- CALL_NONVIRT_TYPE(jdouble, Double)
- void CallNonvirtualVoidMethod(jobject obj, jclass clazz,
- jmethodID methodID, ...)
- {
- va_list args;
- va_start(args, methodID);
- functions->CallNonvirtualVoidMethodV(this, obj, clazz, methodID, args);
- va_end(args);
- }
- void CallNonvirtualVoidMethodV(jobject obj, jclass clazz,
- jmethodID methodID, va_list args)
- { functions->CallNonvirtualVoidMethodV(this, obj, clazz, methodID, args); }
- void CallNonvirtualVoidMethodA(jobject obj, jclass clazz,
- jmethodID methodID, jvalue* args)
- { functions->CallNonvirtualVoidMethodA(this, obj, clazz, methodID, args); }
- jfieldID GetFieldID(jclass clazz, const char* name, const char* sig)
- { return functions->GetFieldID(this, clazz, name, sig); }
- jobject GetObjectField(jobject obj, jfieldID fieldID)
- { return functions->GetObjectField(this, obj, fieldID); }
- jboolean GetBooleanField(jobject obj, jfieldID fieldID)
- { return functions->GetBooleanField(this, obj, fieldID); }
- jbyte GetByteField(jobject obj, jfieldID fieldID)
- { return functions->GetByteField(this, obj, fieldID); }
- jchar GetCharField(jobject obj, jfieldID fieldID)
- { return functions->GetCharField(this, obj, fieldID); }
- jshort GetShortField(jobject obj, jfieldID fieldID)
- { return functions->GetShortField(this, obj, fieldID); }
- jint GetIntField(jobject obj, jfieldID fieldID)
- { return functions->GetIntField(this, obj, fieldID); }
- jlong GetLongField(jobject obj, jfieldID fieldID)
- { return functions->GetLongField(this, obj, fieldID); }
- jfloat GetFloatField(jobject obj, jfieldID fieldID)
- { return functions->GetFloatField(this, obj, fieldID); }
- jdouble GetDoubleField(jobject obj, jfieldID fieldID)
- { return functions->GetDoubleField(this, obj, fieldID); }
- void SetObjectField(jobject obj, jfieldID fieldID, jobject value)
- { functions->SetObjectField(this, obj, fieldID, value); }
- void SetBooleanField(jobject obj, jfieldID fieldID, jboolean value)
- { functions->SetBooleanField(this, obj, fieldID, value); }
- void SetByteField(jobject obj, jfieldID fieldID, jbyte value)
- { functions->SetByteField(this, obj, fieldID, value); }
- void SetCharField(jobject obj, jfieldID fieldID, jchar value)
- { functions->SetCharField(this, obj, fieldID, value); }
- void SetShortField(jobject obj, jfieldID fieldID, jshort value)
- { functions->SetShortField(this, obj, fieldID, value); }
- void SetIntField(jobject obj, jfieldID fieldID, jint value)
- { functions->SetIntField(this, obj, fieldID, value); }
- void SetLongField(jobject obj, jfieldID fieldID, jlong value)
- { functions->SetLongField(this, obj, fieldID, value); }
- void SetFloatField(jobject obj, jfieldID fieldID, jfloat value)
- { functions->SetFloatField(this, obj, fieldID, value); }
- void SetDoubleField(jobject obj, jfieldID fieldID, jdouble value)
- { functions->SetDoubleField(this, obj, fieldID, value); }
- jmethodID GetStaticMethodID(jclass clazz, const char* name, const char* sig)
- { return functions->GetStaticMethodID(this, clazz, name, sig); }
- #define CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
- _jtype CallStatic##_jname##Method(jclass clazz, jmethodID methodID, \
- ...) \
- { \
- _jtype result; \
- va_list args; \
- va_start(args, methodID); \
- result = functions->CallStatic##_jname##MethodV(this, clazz, \
- methodID, args); \
- va_end(args); \
- return result; \
- }
- #define CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
- _jtype CallStatic##_jname##MethodV(jclass clazz, jmethodID methodID, \
- va_list args) \
- { return functions->CallStatic##_jname##MethodV(this, clazz, methodID, \
- args); }
- #define CALL_STATIC_TYPE_METHODA(_jtype, _jname) \
- _jtype CallStatic##_jname##MethodA(jclass clazz, jmethodID methodID, \
- jvalue* args) \
- { return functions->CallStatic##_jname##MethodA(this, clazz, methodID, \
- args); }
- #define CALL_STATIC_TYPE(_jtype, _jname) \
- CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
- CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
- CALL_STATIC_TYPE_METHODA(_jtype, _jname)
- CALL_STATIC_TYPE(jobject, Object)
- CALL_STATIC_TYPE(jboolean, Boolean)
- CALL_STATIC_TYPE(jbyte, Byte)
- CALL_STATIC_TYPE(jchar, Char)
- CALL_STATIC_TYPE(jshort, Short)
- CALL_STATIC_TYPE(jint, Int)
- CALL_STATIC_TYPE(jlong, Long)
- CALL_STATIC_TYPE(jfloat, Float)
- CALL_STATIC_TYPE(jdouble, Double)
- void CallStaticVoidMethod(jclass clazz, jmethodID methodID, ...)
- {
- va_list args;
- va_start(args, methodID);
- functions->CallStaticVoidMethodV(this, clazz, methodID, args);
- va_end(args);
- }
- void CallStaticVoidMethodV(jclass clazz, jmethodID methodID, va_list args)
- { functions->CallStaticVoidMethodV(this, clazz, methodID, args); }
- void CallStaticVoidMethodA(jclass clazz, jmethodID methodID, jvalue* args)
- { functions->CallStaticVoidMethodA(this, clazz, methodID, args); }
- jfieldID GetStaticFieldID(jclass clazz, const char* name, const char* sig)
- { return functions->GetStaticFieldID(this, clazz, name, sig); }
- jobject GetStaticObjectField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticObjectField(this, clazz, fieldID); }
- jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticBooleanField(this, clazz, fieldID); }
- jbyte GetStaticByteField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticByteField(this, clazz, fieldID); }
- jchar GetStaticCharField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticCharField(this, clazz, fieldID); }
- jshort GetStaticShortField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticShortField(this, clazz, fieldID); }
- jint GetStaticIntField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticIntField(this, clazz, fieldID); }
- jlong GetStaticLongField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticLongField(this, clazz, fieldID); }
- jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticFloatField(this, clazz, fieldID); }
- jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID)
- { return functions->GetStaticDoubleField(this, clazz, fieldID); }
- void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value)
- { functions->SetStaticObjectField(this, clazz, fieldID, value); }
- void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value)
- { functions->SetStaticBooleanField(this, clazz, fieldID, value); }
- void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value)
- { functions->SetStaticByteField(this, clazz, fieldID, value); }
- void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value)
- { functions->SetStaticCharField(this, clazz, fieldID, value); }
- void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value)
- { functions->SetStaticShortField(this, clazz, fieldID, value); }
- void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value)
- { functions->SetStaticIntField(this, clazz, fieldID, value); }
- void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value)
- { functions->SetStaticLongField(this, clazz, fieldID, value); }
- void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value)
- { functions->SetStaticFloatField(this, clazz, fieldID, value); }
- void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value)
- { functions->SetStaticDoubleField(this, clazz, fieldID, value); }
- jstring NewString(const jchar* unicodeChars, jsize len)
- { return functions->NewString(this, unicodeChars, len); }
- jsize GetStringLength(jstring string)
- { return functions->GetStringLength(this, string); }
- const jchar* GetStringChars(jstring string, jboolean* isCopy)
- { return functions->GetStringChars(this, string, isCopy); }
- void ReleaseStringChars(jstring string, const jchar* chars)
- { functions->ReleaseStringChars(this, string, chars); }
- jstring NewStringUTF(const char* bytes)
- { return functions->NewStringUTF(this, bytes); }
- jsize GetStringUTFLength(jstring string)
- { return functions->GetStringUTFLength(this, string); }
- const char* GetStringUTFChars(jstring string, jboolean* isCopy)
- { return functions->GetStringUTFChars(this, string, isCopy); }
- void ReleaseStringUTFChars(jstring string, const char* utf)
- { functions->ReleaseStringUTFChars(this, string, utf); }
- jsize GetArrayLength(jarray array)
- { return functions->GetArrayLength(this, array); }
- jobjectArray NewObjectArray(jsize length, jclass elementClass,
- jobject initialElement)
- { return functions->NewObjectArray(this, length, elementClass,
- initialElement); }
- jobject GetObjectArrayElement(jobjectArray array, jsize index)
- { return functions->GetObjectArrayElement(this, array, index); }
- void SetObjectArrayElement(jobjectArray array, jsize index, jobject value)
- { functions->SetObjectArrayElement(this, array, index, value); }
- jbooleanArray NewBooleanArray(jsize length)
- { return functions->NewBooleanArray(this, length); }
- jbyteArray NewByteArray(jsize length)
- { return functions->NewByteArray(this, length); }
- jcharArray NewCharArray(jsize length)
- { return functions->NewCharArray(this, length); }
- jshortArray NewShortArray(jsize length)
- { return functions->NewShortArray(this, length); }
- jintArray NewIntArray(jsize length)
- { return functions->NewIntArray(this, length); }
- jlongArray NewLongArray(jsize length)
- { return functions->NewLongArray(this, length); }
- jfloatArray NewFloatArray(jsize length)
- { return functions->NewFloatArray(this, length); }
- jdoubleArray NewDoubleArray(jsize length)
- { return functions->NewDoubleArray(this, length); }
- jboolean* GetBooleanArrayElements(jbooleanArray array, jboolean* isCopy)
- { return functions->GetBooleanArrayElements(this, array, isCopy); }
- jbyte* GetByteArrayElements(jbyteArray array, jboolean* isCopy)
- { return functions->GetByteArrayElements(this, array, isCopy); }
- jchar* GetCharArrayElements(jcharArray array, jboolean* isCopy)
- { return functions->GetCharArrayElements(this, array, isCopy); }
- jshort* GetShortArrayElements(jshortArray array, jboolean* isCopy)
- { return functions->GetShortArrayElements(this, array, isCopy); }
- jint* GetIntArrayElements(jintArray array, jboolean* isCopy)
- { return functions->GetIntArrayElements(this, array, isCopy); }
- jlong* GetLongArrayElements(jlongArray array, jboolean* isCopy)
- { return functions->GetLongArrayElements(this, array, isCopy); }
- jfloat* GetFloatArrayElements(jfloatArray array, jboolean* isCopy)
- { return functions->GetFloatArrayElements(this, array, isCopy); }
- jdouble* GetDoubleArrayElements(jdoubleArray array, jboolean* isCopy)
- { return functions->GetDoubleArrayElements(this, array, isCopy); }
- void ReleaseBooleanArrayElements(jbooleanArray array, jboolean* elems,
- jint mode)
- { functions->ReleaseBooleanArrayElements(this, array, elems, mode); }
- void ReleaseByteArrayElements(jbyteArray array, jbyte* elems,
- jint mode)
- { functions->ReleaseByteArrayElements(this, array, elems, mode); }
- void ReleaseCharArrayElements(jcharArray array, jchar* elems,
- jint mode)
- { functions->ReleaseCharArrayElements(this, array, elems, mode); }
- void ReleaseShortArrayElements(jshortArray array, jshort* elems,
- jint mode)
- { functions->ReleaseShortArrayElements(this, array, elems, mode); }
- void ReleaseIntArrayElements(jintArray array, jint* elems,
- jint mode)
- { functions->ReleaseIntArrayElements(this, array, elems, mode); }
- void ReleaseLongArrayElements(jlongArray array, jlong* elems,
- jint mode)
- { functions->ReleaseLongArrayElements(this, array, elems, mode); }
- void ReleaseFloatArrayElements(jfloatArray array, jfloat* elems,
- jint mode)
- { functions->ReleaseFloatArrayElements(this, array, elems, mode); }
- void ReleaseDoubleArrayElements(jdoubleArray array, jdouble* elems,
- jint mode)
- { functions->ReleaseDoubleArrayElements(this, array, elems, mode); }
- void GetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len,
- jboolean* buf)
- { functions->GetBooleanArrayRegion(this, array, start, len, buf); }
- void GetByteArrayRegion(jbyteArray array, jsize start, jsize len,
- jbyte* buf)
- { functions->GetByteArrayRegion(this, array, start, len, buf); }
- void GetCharArrayRegion(jcharArray array, jsize start, jsize len,
- jchar* buf)
- { functions->GetCharArrayRegion(this, array, start, len, buf); }
- void GetShortArrayRegion(jshortArray array, jsize start, jsize len,
- jshort* buf)
- { functions->GetShortArrayRegion(this, array, start, len, buf); }
- void GetIntArrayRegion(jintArray array, jsize start, jsize len,
- jint* buf)
- { functions->GetIntArrayRegion(this, array, start, len, buf); }
- void GetLongArrayRegion(jlongArray array, jsize start, jsize len,
- jlong* buf)
- { functions->GetLongArrayRegion(this, array, start, len, buf); }
- void GetFloatArrayRegion(jfloatArray array, jsize start, jsize len,
- jfloat* buf)
- { functions->GetFloatArrayRegion(this, array, start, len, buf); }
- void GetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len,
- jdouble* buf)
- { functions->GetDoubleArrayRegion(this, array, start, len, buf); }
- void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len,
- const jboolean* buf)
- { functions->SetBooleanArrayRegion(this, array, start, len, buf); }
- void SetByteArrayRegion(jbyteArray array, jsize start, jsize len,
- const jbyte* buf)
- { functions->SetByteArrayRegion(this, array, start, len, buf); }
- void SetCharArrayRegion(jcharArray array, jsize start, jsize len,
- const jchar* buf)
- { functions->SetCharArrayRegion(this, array, start, len, buf); }
- void SetShortArrayRegion(jshortArray array, jsize start, jsize len,
- const jshort* buf)
- { functions->SetShortArrayRegion(this, array, start, len, buf); }
- void SetIntArrayRegion(jintArray array, jsize start, jsize len,
- const jint* buf)
- { functions->SetIntArrayRegion(this, array, start, len, buf); }
- void SetLongArrayRegion(jlongArray array, jsize start, jsize len,
- const jlong* buf)
- { functions->SetLongArrayRegion(this, array, start, len, buf); }
- void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len,
- const jfloat* buf)
- { functions->SetFloatArrayRegion(this, array, start, len, buf); }
- void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len,
- const jdouble* buf)
- { functions->SetDoubleArrayRegion(this, array, start, len, buf); }
- jint RegisterNatives(jclass clazz, const JNINativeMethod* methods,
- jint nMethods)
- { return functions->RegisterNatives(this, clazz, methods, nMethods); }
- jint UnregisterNatives(jclass clazz)
- { return functions->UnregisterNatives(this, clazz); }
- jint MonitorEnter(jobject obj)
- { return functions->MonitorEnter(this, obj); }
- jint MonitorExit(jobject obj)
- { return functions->MonitorExit(this, obj); }
- jint GetJavaVM(JavaVM** vm)
- { return functions->GetJavaVM(this, vm); }
- void GetStringRegion(jstring str, jsize start, jsize len, jchar* buf)
- { functions->GetStringRegion(this, str, start, len, buf); }
- void GetStringUTFRegion(jstring str, jsize start, jsize len, char* buf)
- { return functions->GetStringUTFRegion(this, str, start, len, buf); }
- void* GetPrimitiveArrayCritical(jarray array, jboolean* isCopy)
- { return functions->GetPrimitiveArrayCritical(this, array, isCopy); }
- void ReleasePrimitiveArrayCritical(jarray array, void* carray, jint mode)
- { functions->ReleasePrimitiveArrayCritical(this, array, carray, mode); }
- const jchar* GetStringCritical(jstring string, jboolean* isCopy)
- { return functions->GetStringCritical(this, string, isCopy); }
- void ReleaseStringCritical(jstring string, const jchar* carray)
- { functions->ReleaseStringCritical(this, string, carray); }
- jweak NewWeakGlobalRef(jobject obj)
- { return functions->NewWeakGlobalRef(this, obj); }
- void DeleteWeakGlobalRef(jweak obj)
- { functions->DeleteWeakGlobalRef(this, obj); }
- jboolean ExceptionCheck()
- { return functions->ExceptionCheck(this); }
- jobject NewDirectByteBuffer(void* address, jlong capacity)
- { return functions->NewDirectByteBuffer(this, address, capacity); }
- void* GetDirectBufferAddress(jobject buf)
- { return functions->GetDirectBufferAddress(this, buf); }
- jlong GetDirectBufferCapacity(jobject buf)
- { return functions->GetDirectBufferCapacity(this, buf); }
- /* added in JNI 1.6 */
- jobjectRefType GetObjectRefType(jobject obj)
- { return functions->GetObjectRefType(this, obj); }
- #endif /*__cplusplus*/
- # 1032 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- };
- /*
- * JNI invocation interface.
- */
- struct JNIInvokeInterface {
- void* reserved0;
- void* reserved1;
- void* reserved2;
- jint (*DestroyJavaVM)(JavaVM*);
- jint (*AttachCurrentThread)(JavaVM*, JNIEnv**, void*);
- jint (*DetachCurrentThread)(JavaVM*);
- jint (*GetEnv)(JavaVM*, void**, jint);
- jint (*AttachCurrentThreadAsDaemon)(JavaVM*, JNIEnv**, void*);
- };
- /*
- * C++ version.
- */
- struct _JavaVM {
- const struct JNIInvokeInterface* functions;
- #if defined(__cplusplus)
- jint DestroyJavaVM()
- { return functions->DestroyJavaVM(this); }
- jint AttachCurrentThread(JNIEnv** p_env, void* thr_args)
- { return functions->AttachCurrentThread(this, p_env, thr_args); }
- jint DetachCurrentThread()
- { return functions->DetachCurrentThread(this); }
- jint GetEnv(void** env, jint version)
- { return functions->GetEnv(this, env, version); }
- jint AttachCurrentThreadAsDaemon(JNIEnv** p_env, void* thr_args)
- { return functions->AttachCurrentThreadAsDaemon(this, p_env, thr_args); }
- #endif /*__cplusplus*/
- # 1068 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- };
- struct JavaVMAttachArgs {
- jint version; /* must be >= JNI_VERSION_1_2 */
- const char* name; /* NULL or name of thread as modified UTF-8 str */
- jobject group; /* global ref of a ThreadGroup object, or NULL */
- };
- typedef struct JavaVMAttachArgs JavaVMAttachArgs;
- /*
- * JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no
- * longer supported.)
- */
- typedef struct JavaVMOption {
- const char* optionString;
- void* extraInfo;
- } JavaVMOption;
- typedef struct JavaVMInitArgs {
- jint version; /* use JNI_VERSION_1_2 or later */
- jint nOptions;
- JavaVMOption* options;
- jboolean ignoreUnrecognized;
- } JavaVMInitArgs;
- #ifdef __cplusplus
- extern "C" {
- #endif
- # 1097 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- /*
- * VM initialization functions.
- *
- * Note these are the only symbols exported for JNI by the VM.
- */
- jint JNI_GetDefaultJavaVMInitArgs(void*);
- jint JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*);
- jint JNI_GetCreatedJavaVMs(JavaVM**, jsize, jsize*);
- #define JNIIMPORT
- #define JNIEXPORT __attribute__ ((visibility ("default")))
- #define JNICALL
- /*
- * Prototypes for functions exported by loadable shared libs. These are
- * called by JNI, not provided by JNI.
- */
- JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved);
- JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved);
- #ifdef __cplusplus
- }
- #endif
- # 1120 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- /*
- * Manifest constants.
- */
- #define JNI_FALSE 0
- #define JNI_TRUE 1
- #define JNI_VERSION_1_1 0x00010001
- #define JNI_VERSION_1_2 0x00010002
- #define JNI_VERSION_1_4 0x00010004
- #define JNI_VERSION_1_6 0x00010006
- #define JNI_OK (0) /* no error */
- #define JNI_ERR (-1) /* generic error */
- #define JNI_EDETACHED (-2) /* thread detached from the VM */
- #define JNI_EVERSION (-3) /* JNI version error */
- #define JNI_COMMIT 1 /* copy content, do not free buffer */
- #define JNI_ABORT 2 /* free buffer w/o copying back */
- #endif /* JNI_H_ */
- # 1142 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/jni.h" 3
- # 21 "packages/apps/Gallery2/jni/filters/filters.h" 2
- #if 0 /* expanded by -frewrite-includes */
- #include <string.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "packages/apps/Gallery2/jni/filters/filters.h"
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _STRING_H
- #define _STRING_H
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <stddef.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 1 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 1 3
- /*===---- stddef.h - Basic type definitions --------------------------------===
- *
- * Copyright (c) 2008 Eli Friedman
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *===-----------------------------------------------------------------------===
- */
- #if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
- defined(__need_size_t) || defined(__need_wchar_t) || \
- defined(__need_NULL) || defined(__need_wint_t)
- #if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
- !defined(__need_wchar_t) && !defined(__need_NULL) && \
- !defined(__need_wint_t)
- /* Always define miscellaneous pieces when modules are available. */
- #if !__has_feature(modules)
- #define __STDDEF_H
- #endif
- # 37 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define __need_ptrdiff_t
- #define __need_size_t
- #define __need_wchar_t
- #define __need_NULL
- #define __need_STDDEF_H_misc
- /* __need_wint_t is intentionally not defined here. */
- #endif
- # 44 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_ptrdiff_t)
- #if !defined(_PTRDIFF_T) || __has_feature(modules)
- /* Always define ptrdiff_t when modules are available. */
- #if !__has_feature(modules)
- #define _PTRDIFF_T
- #endif
- # 51 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #endif
- # 53 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_ptrdiff_t
- #endif /* defined(__need_ptrdiff_t) */
- # 55 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_size_t)
- #if !defined(_SIZE_T) || __has_feature(modules)
- /* Always define size_t when modules are available. */
- #if !__has_feature(modules)
- #define _SIZE_T
- #endif
- # 62 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ size_t;
- #endif
- # 64 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_size_t
- #endif /*defined(__need_size_t) */
- # 66 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
- * enabled. */
- #if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
- !defined(_RSIZE_T)) || __has_feature(modules)
- /* Always define rsize_t when modules are available. */
- #if !__has_feature(modules)
- #define _RSIZE_T
- #endif
- # 76 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ rsize_t;
- #endif
- # 78 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif /* defined(__need_STDDEF_H_misc) */
- # 79 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_wchar_t)
- #ifndef __cplusplus
- /* Always define wchar_t when modules are available. */
- #if !defined(_WCHAR_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WCHAR_T
- #if defined(_MSC_EXTENSIONS)
- #define _WCHAR_T_DEFINED
- #endif
- # 89 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 90 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WCHAR_TYPE__ wchar_t;
- #endif
- # 92 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 93 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wchar_t
- #endif /* defined(__need_wchar_t) */
- # 95 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_NULL)
- #undef NULL
- #ifdef __cplusplus
- # if !defined(__MINGW32__) && !defined(_MSC_VER)
- # define NULL __null
- # else
- # 102 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL 0
- # endif
- # 104 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #else
- # 105 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL ((void*)0)
- #endif
- # 107 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #ifdef __cplusplus
- #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
- namespace std { typedef decltype(nullptr) nullptr_t; }
- using ::std::nullptr_t;
- #endif
- # 112 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 113 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_NULL
- #endif /* defined(__need_NULL) */
- # 115 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
- #if 0 /* expanded by -frewrite-includes */
- #include "__stddef_max_align_t.h"
- #endif /* expanded by -frewrite-includes */
- # 118 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 119 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 120 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define offsetof(t, d) __builtin_offsetof(t, d)
- #undef __need_STDDEF_H_misc
- #endif /* defined(__need_STDDEF_H_misc) */
- # 123 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
- __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
- #if defined(__need_wint_t)
- /* Always define wint_t when modules are available. */
- #if !defined(_WINT_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WINT_T
- #endif
- # 132 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WINT_TYPE__ wint_t;
- #endif
- # 134 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wint_t
- #endif /* __need_wint_t */
- # 136 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 138 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <xlocale.h>
- #endif /* expanded by -frewrite-includes */
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/xlocale.h" 1 3
- /*
- * Copyright (C) 2014 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _XLOCALE_H_
- #define _XLOCALE_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/xlocale.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/xlocale.h" 3
- /* If we just use void* here, GCC exposes that in error messages. */
- struct __locale_t;
- typedef struct __locale_t* locale_t;
- #endif /* _XLOCALE_H_ */
- # 39 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/xlocale.h" 3
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <bits/strcasecmp.h>
- #endif /* expanded by -frewrite-includes */
- # 36 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 1 3
- /*
- * Copyright (C) 2016 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _BITS_STRCASECMP_H_
- #define _BITS_STRCASECMP_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/types.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _SYS_TYPES_H_
- #define _SYS_TYPES_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <stddef.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 1 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 1 3
- /*===---- stddef.h - Basic type definitions --------------------------------===
- *
- * Copyright (c) 2008 Eli Friedman
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *===-----------------------------------------------------------------------===
- */
- #if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
- defined(__need_size_t) || defined(__need_wchar_t) || \
- defined(__need_NULL) || defined(__need_wint_t)
- #if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
- !defined(__need_wchar_t) && !defined(__need_NULL) && \
- !defined(__need_wint_t)
- /* Always define miscellaneous pieces when modules are available. */
- #if !__has_feature(modules)
- #define __STDDEF_H
- #endif
- # 37 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define __need_ptrdiff_t
- #define __need_size_t
- #define __need_wchar_t
- #define __need_NULL
- #define __need_STDDEF_H_misc
- /* __need_wint_t is intentionally not defined here. */
- #endif
- # 44 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_ptrdiff_t)
- #if !defined(_PTRDIFF_T) || __has_feature(modules)
- /* Always define ptrdiff_t when modules are available. */
- #if !__has_feature(modules)
- #define _PTRDIFF_T
- #endif
- # 51 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #endif
- # 53 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_ptrdiff_t
- #endif /* defined(__need_ptrdiff_t) */
- # 55 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_size_t)
- #if !defined(_SIZE_T) || __has_feature(modules)
- /* Always define size_t when modules are available. */
- #if !__has_feature(modules)
- #define _SIZE_T
- #endif
- # 62 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ size_t;
- #endif
- # 64 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_size_t
- #endif /*defined(__need_size_t) */
- # 66 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
- * enabled. */
- #if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
- !defined(_RSIZE_T)) || __has_feature(modules)
- /* Always define rsize_t when modules are available. */
- #if !__has_feature(modules)
- #define _RSIZE_T
- #endif
- # 76 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __SIZE_TYPE__ rsize_t;
- #endif
- # 78 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif /* defined(__need_STDDEF_H_misc) */
- # 79 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_wchar_t)
- #ifndef __cplusplus
- /* Always define wchar_t when modules are available. */
- #if !defined(_WCHAR_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WCHAR_T
- #if defined(_MSC_EXTENSIONS)
- #define _WCHAR_T_DEFINED
- #endif
- # 89 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 90 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WCHAR_TYPE__ wchar_t;
- #endif
- # 92 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 93 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wchar_t
- #endif /* defined(__need_wchar_t) */
- # 95 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_NULL)
- #undef NULL
- #ifdef __cplusplus
- # if !defined(__MINGW32__) && !defined(_MSC_VER)
- # define NULL __null
- # else
- # 102 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL 0
- # endif
- # 104 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #else
- # 105 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # define NULL ((void*)0)
- #endif
- # 107 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #ifdef __cplusplus
- #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
- namespace std { typedef decltype(nullptr) nullptr_t; }
- using ::std::nullptr_t;
- #endif
- # 112 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 113 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_NULL
- #endif /* defined(__need_NULL) */
- # 115 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #if defined(__need_STDDEF_H_misc)
- #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
- #if 0 /* expanded by -frewrite-includes */
- #include "__stddef_max_align_t.h"
- #endif /* expanded by -frewrite-includes */
- # 118 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 119 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 120 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #define offsetof(t, d) __builtin_offsetof(t, d)
- #undef __need_STDDEF_H_misc
- #endif /* defined(__need_STDDEF_H_misc) */
- # 123 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
- __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
- #if defined(__need_wint_t)
- /* Always define wint_t when modules are available. */
- #if !defined(_WINT_T) || __has_feature(modules)
- #if !__has_feature(modules)
- #define _WINT_T
- #endif
- # 132 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- typedef __WINT_TYPE__ wint_t;
- #endif
- # 134 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #undef __need_wint_t
- #endif /* __need_wint_t */
- # 136 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- #endif
- # 138 "/home/android/carbon/prebuilts/clang/host/linux-x86/clang-3859424/bin/../lib64/clang/4.0.285906/include/stddef.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <stdint.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/types.h>
- #endif /* expanded by -frewrite-includes */
- # 36 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _UAPI_LINUX_TYPES_H
- #define _UAPI_LINUX_TYPES_H
- #if 0 /* expanded by -frewrite-includes */
- #include <asm/types.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/types.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _ASM_GENERIC_TYPES_H
- #define _ASM_GENERIC_TYPES_H
- #if 0 /* expanded by -frewrite-includes */
- #include <asm-generic/int-ll64.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _UAPI_ASM_GENERIC_INT_LL64_H
- #define _UAPI_ASM_GENERIC_INT_LL64_H
- #if 0 /* expanded by -frewrite-includes */
- #include <asm/bitsperlong.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #if 0 /* expanded by -frewrite-includes */
- #include <asm-generic/bitsperlong.h>
- #endif /* expanded by -frewrite-includes */
- # 19 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/bitsperlong.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG
- #define _UAPI__ASM_GENERIC_BITS_PER_LONG
- #ifndef __BITS_PER_LONG
- #define __BITS_PER_LONG 32
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 25 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/bitsperlong.h" 3
- #endif
- # 26 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/bitsperlong.h" 3
- # 20 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 2 3
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 2 3
- #ifndef __ASSEMBLY__
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __signed__ char __s8;
- typedef unsigned char __u8;
- typedef __signed__ short __s16;
- typedef unsigned short __u16;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __signed__ int __s32;
- typedef unsigned int __u32;
- #ifdef __GNUC__
- __extension__ typedef __signed__ long long __s64;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __extension__ typedef unsigned long long __u64;
- #else
- # 36 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 3
- typedef __signed__ long long __s64;
- typedef unsigned long long __u64;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 40 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 3
- #endif
- # 41 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 3
- #endif
- # 42 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/int-ll64.h" 3
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/types.h" 2 3
- #endif
- # 23 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/types.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 2 3
- #ifndef __ASSEMBLY__
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/posix_types.h>
- #endif /* expanded by -frewrite-includes */
- # 24 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef _LINUX_POSIX_TYPES_H
- #define _LINUX_POSIX_TYPES_H
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/stddef.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/stddef.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/compiler.h>
- #endif /* expanded by -frewrite-includes */
- # 19 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/stddef.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/compiler.h" 1 3
- #ifndef _UAPI_LINUX_COMPILER_H
- #define _UAPI_LINUX_COMPILER_H
- /*
- * This file is not currently in the Linux kernel tree.
- * Upstream uapi headers refer to <linux/compiler.h> but there is
- * no such uapi file. We've sent this upstream, and are optimistically
- * adding it to bionic in the meantime. This should be replaced by
- * a scrubbed header from external/kernel-headers when possible.
- *
- * An alternative to this file is to check in a symbolic link to the
- * non-uapi <linux/compiler.h>. That's fine for building bionic too.
- */
- #define __user
- #define __force
- #endif /* _UAPI_LINUX_COMPILER_H */
- # 19 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/compiler.h" 3
- # 20 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/stddef.h" 2 3
- #ifndef __always_inline
- #define __always_inline inline
- #endif
- # 23 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/stddef.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 2 3
- #undef __FD_SETSIZE
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define __FD_SETSIZE 1024
- typedef struct {
- unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))];
- } __kernel_fd_set;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef void(* __kernel_sighandler_t) (int);
- typedef int __kernel_key_t;
- typedef int __kernel_mqd_t;
- #if 0 /* expanded by -frewrite-includes */
- #include <asm/posix_types.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef __ARCH_ARM_POSIX_TYPES_H
- #define __ARCH_ARM_POSIX_TYPES_H
- typedef unsigned short __kernel_mode_t;
- #define __kernel_mode_t __kernel_mode_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef unsigned short __kernel_ipc_pid_t;
- #define __kernel_ipc_pid_t __kernel_ipc_pid_t
- typedef unsigned short __kernel_uid_t;
- typedef unsigned short __kernel_gid_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define __kernel_uid_t __kernel_uid_t
- typedef unsigned short __kernel_old_dev_t;
- #define __kernel_old_dev_t __kernel_old_dev_t
- #if 0 /* expanded by -frewrite-includes */
- #include <asm-generic/posix_types.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #ifndef __ASM_GENERIC_POSIX_TYPES_H
- #define __ASM_GENERIC_POSIX_TYPES_H
- #if 0 /* expanded by -frewrite-includes */
- #include <asm/bitsperlong.h>
- #endif /* expanded by -frewrite-includes */
- # 21 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 1 3
- /****************************************************************************
- ****************************************************************************
- ***
- *** This header was automatically generated from a Linux kernel header
- *** of the same name, to make information necessary for userspace to
- *** call into the kernel available to libc. It contains only constants,
- *** structures, and macros generated from the original header, and thus,
- *** contains no copyrightable information.
- ***
- *** To edit the content of this header, modify the corresponding
- *** source file (e.g. under external/kernel-headers/original/) then
- *** run bionic/libc/kernel/tools/update_all.py
- ***
- *** Any manual change here will be lost the next time this script will
- *** be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
- #if 0 /* expanded by -frewrite-includes */
- #include <asm-generic/bitsperlong.h>
- #endif /* expanded by -frewrite-includes */
- # 19 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 3
- # 20 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 3
- # 22 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 2 3
- #ifndef __kernel_long_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef long __kernel_long_t;
- typedef unsigned long __kernel_ulong_t;
- #endif
- # 27 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_ino_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __kernel_ulong_t __kernel_ino_t;
- #endif
- # 31 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_mode_t
- typedef unsigned int __kernel_mode_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_pid_t
- typedef int __kernel_pid_t;
- #endif
- # 38 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #ifndef __kernel_ipc_pid_t
- typedef int __kernel_ipc_pid_t;
- #endif
- # 42 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_uid_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef unsigned int __kernel_uid_t;
- typedef unsigned int __kernel_gid_t;
- #endif
- # 47 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_suseconds_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __kernel_long_t __kernel_suseconds_t;
- #endif
- # 51 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_daddr_t
- typedef int __kernel_daddr_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 55 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_uid32_t
- typedef unsigned int __kernel_uid32_t;
- typedef unsigned int __kernel_gid32_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 60 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_old_uid_t
- typedef __kernel_uid_t __kernel_old_uid_t;
- typedef __kernel_gid_t __kernel_old_gid_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 65 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_old_dev_t
- typedef unsigned int __kernel_old_dev_t;
- #endif
- # 68 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #ifndef __kernel_size_t
- #if __BITS_PER_LONG != 64
- typedef unsigned int __kernel_size_t;
- typedef int __kernel_ssize_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef int __kernel_ptrdiff_t;
- #else
- # 76 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- typedef __kernel_ulong_t __kernel_size_t;
- typedef __kernel_long_t __kernel_ssize_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __kernel_long_t __kernel_ptrdiff_t;
- #endif
- # 81 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #endif
- # 82 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- #ifndef __kernel_fsid_t
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef struct {
- int val[2];
- } __kernel_fsid_t;
- #endif
- # 88 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __kernel_long_t __kernel_off_t;
- typedef long long __kernel_loff_t;
- typedef __kernel_long_t __kernel_time_t;
- typedef __kernel_long_t __kernel_clock_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef int __kernel_timer_t;
- typedef int __kernel_clockid_t;
- typedef char * __kernel_caddr_t;
- typedef unsigned short __kernel_uid16_t;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef unsigned short __kernel_gid16_t;
- #endif
- # 101 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/asm-generic/posix_types.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 2 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 2 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #endif
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/posix_types.h" 3
- # 25 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 2 3
- #define __bitwise__
- #define __bitwise __bitwise__
- typedef __u16 __bitwise __le16;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __u16 __bitwise __be16;
- typedef __u32 __bitwise __le32;
- typedef __u32 __bitwise __be32;
- typedef __u64 __bitwise __le64;
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- typedef __u64 __bitwise __be64;
- typedef __u16 __bitwise __sum16;
- typedef __u32 __bitwise __wsum;
- #define __aligned_u64 __u64 __attribute__((aligned(8)))
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- #define __aligned_be64 __be64 __attribute__((aligned(8)))
- #define __aligned_le64 __le64 __attribute__((aligned(8)))
- #endif
- # 42 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 3
- #endif
- # 43 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/linux/types.h" 3
- /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- # 37 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/posix_types.h>
- #endif /* expanded by -frewrite-includes */
- # 37 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 38 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <bits/pthread_types.h>
- #endif /* expanded by -frewrite-includes */
- # 39 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _BITS_PTHREAD_TYPES_H_
- #define _BITS_PTHREAD_TYPES_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/types.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _SYS_TYPES_H_
- #define _SYS_TYPES_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <stddef.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <stdint.h>
- #endif /* expanded by -frewrite-includes */
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/types.h>
- #endif /* expanded by -frewrite-includes */
- # 36 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 37 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <linux/posix_types.h>
- #endif /* expanded by -frewrite-includes */
- # 37 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 38 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <bits/pthread_types.h>
- #endif /* expanded by -frewrite-includes */
- # 39 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 40 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* gids, uids, and pids are all 32-bit. */
- typedef __kernel_gid32_t __gid_t;
- typedef __gid_t gid_t;
- typedef __kernel_uid32_t __uid_t;
- typedef __uid_t uid_t;
- typedef __kernel_pid_t __pid_t;
- typedef __pid_t pid_t;
- typedef uint32_t __id_t;
- typedef __id_t id_t;
- typedef unsigned long blkcnt_t;
- typedef unsigned long blksize_t;
- typedef __kernel_caddr_t caddr_t;
- typedef __kernel_clock_t clock_t;
- typedef __kernel_clockid_t __clockid_t;
- typedef __clockid_t clockid_t;
- typedef __kernel_daddr_t daddr_t;
- typedef unsigned long fsblkcnt_t;
- typedef unsigned long fsfilcnt_t;
- typedef __kernel_mode_t __mode_t;
- typedef __mode_t mode_t;
- typedef __kernel_key_t __key_t;
- typedef __key_t key_t;
- typedef __kernel_ino_t __ino_t;
- typedef __ino_t ino_t;
- typedef uint64_t ino64_t;
- typedef uint32_t __nlink_t;
- typedef __nlink_t nlink_t;
- typedef void* __timer_t;
- typedef __timer_t timer_t;
- typedef __kernel_suseconds_t __suseconds_t;
- typedef __suseconds_t suseconds_t;
- /* useconds_t is 32-bit on both LP32 and LP64. */
- typedef uint32_t __useconds_t;
- typedef __useconds_t useconds_t;
- #if !defined(__LP64__)
- /* This historical accident means that we had a 32-bit dev_t on 32-bit architectures. */
- typedef uint32_t dev_t;
- #else
- # 91 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef uint64_t dev_t;
- #endif
- # 93 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* This historical accident means that we had a 32-bit time_t on 32-bit architectures. */
- typedef __kernel_time_t __time_t;
- typedef __time_t time_t;
- #if defined(__USE_FILE_OFFSET64) || defined(__LP64__)
- typedef int64_t off_t;
- typedef off_t loff_t;
- typedef loff_t off64_t;
- #else
- # 103 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* This historical accident means that we had a 32-bit off_t on 32-bit architectures. */
- typedef __kernel_off_t off_t;
- typedef __kernel_loff_t loff_t;
- typedef loff_t off64_t;
- #endif
- # 108 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if !defined(__LP64__)
- /* This historical accident means that we had a signed socklen_t on 32-bit architectures. */
- typedef int32_t __socklen_t;
- #else
- # 113 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* LP64 still has a 32-bit socklen_t. */
- typedef uint32_t __socklen_t;
- #endif
- # 116 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef __socklen_t socklen_t;
- typedef __builtin_va_list __va_list;
- #ifndef _SSIZE_T_DEFINED_
- #define _SSIZE_T_DEFINED_
- /* Traditionally, bionic's ssize_t was "long int". This caused GCC to emit warnings when you
- * pass a ssize_t to a printf-style function. The correct type is __kernel_ssize_t, which is
- * "int", which isn't an ABI change for C code (because they're the same size) but is an ABI
- * change for C++ because "int" and "long int" mangle to "i" and "l" respectively. So until
- * we can fix the ABI, this change should not be propagated to the NDK. http://b/8253769. */
- typedef __kernel_ssize_t ssize_t;
- #endif
- # 129 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef unsigned int uint_t;
- typedef unsigned int uint;
- #if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/sysmacros.h>
- #endif /* expanded by -frewrite-includes */
- # 134 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 135 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef unsigned char u_char;
- typedef unsigned short u_short;
- typedef unsigned int u_int;
- typedef unsigned long u_long;
- typedef uint32_t u_int32_t;
- typedef uint16_t u_int16_t;
- typedef uint8_t u_int8_t;
- typedef uint64_t u_int64_t;
- #endif
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #endif
- # 148 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 2 3
- typedef struct {
- uint32_t flags;
- void* stack_base;
- size_t stack_size;
- size_t guard_size;
- int32_t sched_policy;
- int32_t sched_priority;
- #ifdef __LP64__
- char __reserved[16];
- #endif
- # 45 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_attr_t;
- #if __ANDROID_API__ >= __ANDROID_API_N__
- typedef struct {
- #if defined(__LP64__)
- int64_t __private[4];
- #else
- # 52 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- int32_t __private[8];
- #endif
- # 54 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_barrier_t;
- #endif
- # 56 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_N__
- typedef int pthread_barrierattr_t;
- #endif
- # 60 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- typedef struct {
- #if defined(__LP64__)
- int32_t __private[12];
- #else
- # 65 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- int32_t __private[1];
- #endif
- # 67 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_cond_t;
- typedef long pthread_condattr_t;
- typedef int pthread_key_t;
- typedef struct {
- #if defined(__LP64__)
- int32_t __private[10];
- #else
- # 77 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- int32_t __private[1];
- #endif
- # 79 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_mutex_t;
- typedef long pthread_mutexattr_t;
- typedef int pthread_once_t;
- typedef struct {
- #if defined(__LP64__)
- int32_t __private[14];
- #else
- # 89 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- int32_t __private[10];
- #endif
- # 91 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_rwlock_t;
- typedef long pthread_rwlockattr_t;
- #if __ANDROID_API__ >= __ANDROID_API_N__
- typedef struct {
- #if defined(__LP64__)
- int64_t __private;
- #else
- # 100 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- int32_t __private[2];
- #endif
- # 102 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- } pthread_spinlock_t;
- #endif
- # 104 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- typedef long pthread_t;
- #endif
- # 108 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/pthread_types.h" 3
- # 40 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 2 3
- /* gids, uids, and pids are all 32-bit. */
- typedef __kernel_gid32_t __gid_t;
- typedef __gid_t gid_t;
- typedef __kernel_uid32_t __uid_t;
- typedef __uid_t uid_t;
- typedef __kernel_pid_t __pid_t;
- typedef __pid_t pid_t;
- typedef uint32_t __id_t;
- typedef __id_t id_t;
- typedef unsigned long blkcnt_t;
- typedef unsigned long blksize_t;
- typedef __kernel_caddr_t caddr_t;
- typedef __kernel_clock_t clock_t;
- typedef __kernel_clockid_t __clockid_t;
- typedef __clockid_t clockid_t;
- typedef __kernel_daddr_t daddr_t;
- typedef unsigned long fsblkcnt_t;
- typedef unsigned long fsfilcnt_t;
- typedef __kernel_mode_t __mode_t;
- typedef __mode_t mode_t;
- typedef __kernel_key_t __key_t;
- typedef __key_t key_t;
- typedef __kernel_ino_t __ino_t;
- typedef __ino_t ino_t;
- typedef uint64_t ino64_t;
- typedef uint32_t __nlink_t;
- typedef __nlink_t nlink_t;
- typedef void* __timer_t;
- typedef __timer_t timer_t;
- typedef __kernel_suseconds_t __suseconds_t;
- typedef __suseconds_t suseconds_t;
- /* useconds_t is 32-bit on both LP32 and LP64. */
- typedef uint32_t __useconds_t;
- typedef __useconds_t useconds_t;
- #if !defined(__LP64__)
- /* This historical accident means that we had a 32-bit dev_t on 32-bit architectures. */
- typedef uint32_t dev_t;
- #else
- # 91 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef uint64_t dev_t;
- #endif
- # 93 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* This historical accident means that we had a 32-bit time_t on 32-bit architectures. */
- typedef __kernel_time_t __time_t;
- typedef __time_t time_t;
- #if defined(__USE_FILE_OFFSET64) || defined(__LP64__)
- typedef int64_t off_t;
- typedef off_t loff_t;
- typedef loff_t off64_t;
- #else
- # 103 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* This historical accident means that we had a 32-bit off_t on 32-bit architectures. */
- typedef __kernel_off_t off_t;
- typedef __kernel_loff_t loff_t;
- typedef loff_t off64_t;
- #endif
- # 108 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #if !defined(__LP64__)
- /* This historical accident means that we had a signed socklen_t on 32-bit architectures. */
- typedef int32_t __socklen_t;
- #else
- # 113 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- /* LP64 still has a 32-bit socklen_t. */
- typedef uint32_t __socklen_t;
- #endif
- # 116 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef __socklen_t socklen_t;
- typedef __builtin_va_list __va_list;
- #ifndef _SSIZE_T_DEFINED_
- #define _SSIZE_T_DEFINED_
- /* Traditionally, bionic's ssize_t was "long int". This caused GCC to emit warnings when you
- * pass a ssize_t to a printf-style function. The correct type is __kernel_ssize_t, which is
- * "int", which isn't an ABI change for C code (because they're the same size) but is an ABI
- * change for C++ because "int" and "long int" mangle to "i" and "l" respectively. So until
- * we can fix the ABI, this change should not be propagated to the NDK. http://b/8253769. */
- typedef __kernel_ssize_t ssize_t;
- #endif
- # 129 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- typedef unsigned int uint_t;
- typedef unsigned int uint;
- #if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/sysmacros.h>
- #endif /* expanded by -frewrite-includes */
- # 134 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/sysmacros.h" 1 3
- /*
- * Copyright (C) 2008 The Android Open Source 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:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * 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 COPYRIGHT HOLDERS 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
- * COPYRIGHT OWNER 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.
- */
- #ifndef _SYS_SYSMACROS_H_
- #define _SYS_SYSMACROS_H_
- #if 0 /* expanded by -frewrite-includes */
- #include <sys/cdefs.h>
- #endif /* expanded by -frewrite-includes */
- # 32 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/sysmacros.h" 3
- # 33 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/sysmacros.h" 3
- #define makedev(__major, __minor) \
- ( \
- (((__major) & 0xfffff000ULL) << 32) | (((__major) & 0xfffULL) << 8) | \
- (((__minor) & 0xffffff00ULL) << 12) | (((__minor) & 0xffULL)) \
- )
- #define major(__dev) \
- ((unsigned) ((((unsigned long long) (__dev) >> 32) & 0xfffff000) | (((__dev) >> 8) & 0xfff)))
- #define minor(__dev) \
- ((unsigned) ((((__dev) >> 12) & 0xffffff00) | ((__dev) & 0xff)))
- #endif /* _SYS_SYSMACROS_H_ */
- # 47 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/sysmacros.h" 3
- # 135 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 2 3
- typedef unsigned char u_char;
- typedef unsigned short u_short;
- typedef unsigned int u_int;
- typedef unsigned long u_long;
- typedef uint32_t u_int32_t;
- typedef uint16_t u_int16_t;
- typedef uint8_t u_int8_t;
- typedef uint64_t u_int64_t;
- #endif
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- #endif
- # 148 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/sys/types.h" 3
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 2 3
- #if 0 /* expanded by -frewrite-includes */
- #include <xlocale.h>
- #endif /* expanded by -frewrite-includes */
- # 34 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- __BEGIN_DECLS
- int strcasecmp(const char*, const char*) __attribute_pure__;
- #if __ANDROID_API__ >= 23
- int strcasecmp_l(const char*, const char*, locale_t) __attribute_pure__ __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 43 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- int strncasecmp(const char*, const char*, size_t) __attribute_pure__;
- #if __ANDROID_API__ >= 23
- int strncasecmp_l(const char*, const char*, size_t, locale_t) __attribute_pure__ __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 49 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- __END_DECLS
- #endif
- # 54 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/bits/strcasecmp.h" 3
- # 37 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 2 3
- __BEGIN_DECLS
- #if defined(__clang__)
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wnullability-completeness"
- #endif
- # 44 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__USE_BSD)
- #if 0 /* expanded by -frewrite-includes */
- #include <strings.h>
- #endif /* expanded by -frewrite-includes */
- # 46 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 47 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 48 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- void* memccpy(void* _Nonnull __restrict, const void* _Nonnull __restrict, int, size_t);
- void* memchr(const void* _Nonnull, int, size_t) __attribute_pure__ __overloadable
- __RENAME_CLANG(memchr);
- void* memrchr(const void* _Nonnull, int, size_t) __attribute_pure__ __overloadable
- __RENAME_CLANG(memrchr);
- int memcmp(const void* _Nonnull, const void* _Nonnull, size_t) __attribute_pure__;
- void* memcpy(void* _Nonnull __restrict, const void* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(memcpy);
- #if defined(__USE_GNU)
- #if __ANDROID_API__ >= 23
- void* mempcpy(void* _Nonnull __restrict, const void* _Nonnull __restrict, size_t) __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 62 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 64 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- void* memmove(void* _Nonnull, const void* _Nonnull, size_t) __overloadable
- __RENAME_CLANG(memmove);
- void* memset(void* _Nonnull, int, size_t) __overloadable __RENAME_CLANG(memset);
- void* memmem(const void* _Nonnull, size_t, const void* _Nonnull, size_t) __attribute_pure__;
- char* strchr(const char* _Nonnull, int) __attribute_pure__ __overloadable
- __RENAME_CLANG(strchr);
- #if __ANDROID_API__ >= 18
- char* __strchr_chk(const char* _Nonnull, int, size_t) __INTRODUCED_IN(18);
- #endif /* __ANDROID_API__ >= 18 */
- # 75 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__USE_GNU)
- #if defined(__cplusplus)
- extern "C++" char* strchrnul(char* _Nonnull, int) __RENAME(strchrnul) __attribute_pure__;
- extern "C++" const char* strchrnul(const char* _Nonnull, int) __RENAME(strchrnul) __attribute_pure__;
- #else
- # 81 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= 24
- char* strchrnul(const char* _Nonnull, int) __attribute_pure__ __INTRODUCED_IN(24);
- #endif /* __ANDROID_API__ >= 24 */
- # 85 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 87 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 88 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- char* strrchr(const char* _Nonnull, int) __attribute_pure__ __overloadable
- __RENAME_CLANG(strrchr);
- #if __ANDROID_API__ >= 18
- char* __strrchr_chk(const char* _Nonnull, int, size_t) __INTRODUCED_IN(18);
- #endif /* __ANDROID_API__ >= 18 */
- # 95 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- size_t strlen(const char* _Nonnull) __attribute_pure__ __overloadable
- __RENAME_CLANG(strlen);
- #if __ANDROID_API__ >= 17
- size_t __strlen_chk(const char* _Nonnull, size_t) __INTRODUCED_IN(17);
- #endif /* __ANDROID_API__ >= 17 */
- # 103 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- int strcmp(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- #if __ANDROID_API__ >= 21
- char* stpcpy(char* _Nonnull __restrict, const char* _Nonnull __restrict)
- __overloadable __RENAME_CLANG(stpcpy) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 111 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- char* strcpy(char* _Nonnull __restrict, const char* _Nonnull __restrict)
- __overloadable __RENAME_CLANG(strcpy);
- char* strcat(char* _Nonnull __restrict, const char* _Nonnull __restrict)
- __overloadable __RENAME_CLANG(strcat);
- char* strdup(const char* _Nonnull);
- char* strstr(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- char* strcasestr(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- char* strtok(char* __restrict, const char* _Nonnull __restrict);
- char* strtok_r(char* __restrict, const char* _Nonnull __restrict, char** _Nonnull __restrict);
- char* strerror(int);
- #if __ANDROID_API__ >= 23
- char* strerror_l(int, locale_t) __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 128 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__USE_GNU) && __ANDROID_API__ >= 23
- char* strerror_r(int, char*, size_t) __RENAME(__gnu_strerror_r) __INTRODUCED_IN(23);
- #else /* POSIX */
- # 132 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- int strerror_r(int, char*, size_t);
- #endif
- # 134 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- size_t strnlen(const char* _Nonnull, size_t) __attribute_pure__;
- char* strncat(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(strncat);
- char* strndup(const char* _Nonnull, size_t);
- int strncmp(const char* _Nonnull, const char* _Nonnull, size_t) __attribute_pure__;
- #if __ANDROID_API__ >= 21
- char* stpncpy(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(stpncpy) __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 145 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- char* strncpy(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(strncpy);
- size_t strlcat(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(strlcat);
- size_t strlcpy(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t)
- __overloadable __RENAME_CLANG(strlcpy);
- size_t strcspn(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- char* strpbrk(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- char* strsep(char** _Nonnull __restrict, const char* _Nonnull __restrict);
- size_t strspn(const char* _Nonnull, const char* _Nonnull);
- char* strsignal(int);
- int strcoll(const char* _Nonnull, const char* _Nonnull) __attribute_pure__;
- size_t strxfrm(char* __restrict, const char* _Nonnull __restrict, size_t);
- #if __ANDROID_API__ >= __ANDROID_API_L__
- int strcoll_l(const char* _Nonnull, const char* _Nonnull, locale_t) __attribute_pure__ __INTRODUCED_IN(21);
- size_t strxfrm_l(char* __restrict, const char* _Nonnull __restrict, size_t, locale_t) __INTRODUCED_IN(21);
- #else
- # 168 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- // Implemented as static inlines before 21.
- #endif
- # 170 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__USE_GNU) && !defined(basename)
- /*
- * glibc has a basename in <string.h> that's different to the POSIX one in <libgen.h>.
- * It doesn't modify its argument, and in C++ it's const-correct.
- */
- #if defined(__cplusplus)
- extern "C++" char* basename(char* _Nonnull) __RENAME(__gnu_basename);
- extern "C++" const char* basename(const char* _Nonnull) __RENAME(__gnu_basename);
- #else
- # 180 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= 23
- char* basename(const char* _Nonnull) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 184 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 186 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif
- # 187 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= 23
- void* __memchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23);
- void* __memrchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23);
- #endif /* __ANDROID_API__ >= 23 */
- # 193 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= 21
- char* __stpncpy_chk2(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t, size_t)
- __INTRODUCED_IN(21);
- char* __strncpy_chk2(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t, size_t)
- __INTRODUCED_IN(21);
- #endif /* __ANDROID_API__ >= 21 */
- # 201 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= 17
- size_t __strlcpy_chk(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t) __INTRODUCED_IN(17);
- size_t __strlcat_chk(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t) __INTRODUCED_IN(17);
- #endif /* __ANDROID_API__ >= 17 */
- # 207 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- /* Only used with FORTIFY, but some headers that need it undef FORTIFY, so we
- * have the definition out here.
- */
- struct __bionic_zero_size_is_okay_t {};
- #if defined(__BIONIC_FORTIFY)
- // These can share their implementation between gcc and clang with minimal
- // trickery...
- #if __ANDROID_API__ >= __ANDROID_API_J_MR1__
- __BIONIC_FORTIFY_INLINE
- void* memcpy(void* _Nonnull __restrict const dst __pass_object_size0,
- const void* _Nonnull __restrict src, size_t copy_amount) __overloadable {
- return __builtin___memcpy_chk(dst, src, copy_amount, __bos0(dst));
- }
- __BIONIC_FORTIFY_INLINE
- void* memmove(void* const _Nonnull dst __pass_object_size0,
- const void* _Nonnull src, size_t len) __overloadable {
- return __builtin___memmove_chk(dst, src, len, __bos0(dst));
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */
- # 230 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_L__
- __BIONIC_FORTIFY_INLINE
- char* stpcpy(char* _Nonnull __restrict const dst __pass_object_size,
- const char* _Nonnull __restrict src) __overloadable {
- return __builtin___stpcpy_chk(dst, src, __bos(dst));
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_L__ */
- # 238 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR1__
- __BIONIC_FORTIFY_INLINE
- char* strcpy(char* _Nonnull __restrict const dst __pass_object_size,
- const char* _Nonnull __restrict src) __overloadable {
- return __builtin___strcpy_chk(dst, src, __bos(dst));
- }
- __BIONIC_FORTIFY_INLINE
- char* strcat(char* _Nonnull __restrict const dst __pass_object_size,
- const char* _Nonnull __restrict src) __overloadable {
- return __builtin___strcat_chk(dst, src, __bos(dst));
- }
- __BIONIC_FORTIFY_INLINE
- char* strncat(char* const _Nonnull __restrict dst __pass_object_size,
- const char* _Nonnull __restrict src, size_t n) __overloadable {
- return __builtin___strncat_chk(dst, src, n, __bos(dst));
- }
- __BIONIC_FORTIFY_INLINE
- void* memset(void* const _Nonnull s __pass_object_size0, int c, size_t n)
- __overloadable {
- return __builtin___memset_chk(s, c, n, __bos0(s));
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */
- # 264 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__clang__)
- #define __error_if_overflows_dst(name, dst, n, what) \
- __enable_if(__bos0(dst) != __BIONIC_FORTIFY_UNKNOWN_SIZE && \
- __bos0(dst) < (n), "selected when the buffer is too small") \
- __errorattr(#name " called with " what " bigger than buffer")
- /*
- * N.B. _Nonnull isn't necessary on params, since these functions just emit
- * errors.
- */
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- void* memcpy(void* dst, const void* src, size_t copy_amount) __overloadable
- __error_if_overflows_dst(memcpy, dst, copy_amount, "size");
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- void* memmove(void *dst, const void* src, size_t len) __overloadable
- __error_if_overflows_dst(memmove, dst, len, "size");
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- void* memset(void* s, int c, size_t n) __overloadable
- __error_if_overflows_dst(memset, s, n, "size");
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- char* stpcpy(char* dst, const char* src) __overloadable
- __error_if_overflows_dst(stpcpy, dst, __builtin_strlen(src), "string");
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- char* strcpy(char* dst, const char* src) __overloadable
- __error_if_overflows_dst(strcpy, dst, __builtin_strlen(src), "string");
- #if __ANDROID_API__ >= __ANDROID_API_M__
- __BIONIC_FORTIFY_INLINE
- void* memchr(const void* const _Nonnull s __pass_object_size, int c, size_t n)
- __overloadable {
- size_t bos = __bos(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_memchr(s, c, n);
- }
- return __memchr_chk(s, c, n, bos);
- }
- __BIONIC_FORTIFY_INLINE
- void* memrchr(const void* const _Nonnull s __pass_object_size, int c, size_t n)
- __overloadable {
- size_t bos = __bos(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __call_bypassing_fortify(memrchr)(s, c, n);
- }
- return __memrchr_chk(s, c, n, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_M__ */
- # 322 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_L__
- __BIONIC_FORTIFY_INLINE
- char* stpncpy(char* __restrict const _Nonnull dst __pass_object_size,
- const char* __restrict const _Nonnull src __pass_object_size,
- size_t n) __overloadable {
- size_t bos_dst = __bos(dst);
- size_t bos_src = __bos(src);
- /* Ignore dst size checks; they're handled in strncpy_chk */
- if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin___stpncpy_chk(dst, src, n, bos_dst);
- }
- return __stpncpy_chk2(dst, src, n, bos_dst, bos_src);
- }
- __BIONIC_FORTIFY_INLINE
- char* strncpy(char* __restrict const _Nonnull dst __pass_object_size,
- const char* __restrict const _Nonnull src __pass_object_size,
- size_t n) __overloadable {
- size_t bos_dst = __bos(dst);
- size_t bos_src = __bos(src);
- /* Ignore dst size checks; they're handled in strncpy_chk */
- if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin___strncpy_chk(dst, src, n, bos_dst);
- }
- return __strncpy_chk2(dst, src, n, bos_dst, bos_src);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_L__ */
- # 354 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR1__
- __BIONIC_FORTIFY_INLINE
- size_t strlcpy(char* const _Nonnull __restrict dst __pass_object_size,
- const char *_Nonnull __restrict src, size_t size) __overloadable {
- size_t bos = __bos(dst);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __call_bypassing_fortify(strlcpy)(dst, src, size);
- }
- return __strlcpy_chk(dst, src, size, bos);
- }
- __BIONIC_FORTIFY_INLINE
- size_t strlcat(char* const _Nonnull __restrict dst __pass_object_size,
- const char* _Nonnull __restrict src, size_t size) __overloadable {
- size_t bos = __bos(dst);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __call_bypassing_fortify(strlcat)(dst, src, size);
- }
- return __strlcat_chk(dst, src, size, bos);
- }
- /*
- * If we can evaluate the size of s at compile-time, just call __builtin_strlen
- * on it directly. This makes it way easier for compilers to fold things like
- * strlen("Foo") into a constant, as users would expect. -1ULL is chosen simply
- * because it's large.
- */
- __BIONIC_FORTIFY_INLINE
- size_t strlen(const char* const _Nonnull s __pass_object_size)
- __overloadable __enable_if(__builtin_strlen(s) != -1ULL,
- "enabled if s is a known good string.") {
- return __builtin_strlen(s);
- }
- __BIONIC_FORTIFY_INLINE
- size_t strlen(const char* const _Nonnull s __pass_object_size0)
- __overloadable {
- size_t bos = __bos0(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strlen(s);
- }
- // return __builtin_strlen(s);
- return __strlen_chk(s, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */
- # 406 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR2__
- __BIONIC_FORTIFY_INLINE
- char* strchr(const char* const _Nonnull s __pass_object_size0, int c)
- __overloadable {
- size_t bos = __bos0(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strchr(s, c);
- }
- // return __builtin_strchr(s, c);
- return __strchr_chk(s, c, bos);
- }
- __BIONIC_FORTIFY_INLINE
- char* strrchr(const char* const _Nonnull s __pass_object_size, int c)
- __overloadable {
- size_t bos = __bos(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strrchr(s, c);
- }
- return __strrchr_chk(s, c, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */
- # 433 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR1__
- /* In *many* cases, memset(foo, sizeof(foo), 0) is a mistake where the user has
- * flipped the size + value arguments. However, there may be cases (e.g. with
- * macros) where it's okay for the size to fold to zero. We should warn on this,
- * but we should also provide a FORTIFY'ed escape hatch.
- */
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- void* memset(void* _Nonnull s, int c, size_t n,
- struct __bionic_zero_size_is_okay_t ok)
- __overloadable
- __error_if_overflows_dst(memset, s, n, "size");
- __BIONIC_FORTIFY_INLINE
- void* memset(void* const _Nonnull s __pass_object_size0, int c, size_t n,
- struct __bionic_zero_size_is_okay_t ok __attribute__((unused)))
- __overloadable {
- return __builtin___memset_chk(s, c, n, __bos0(s));
- }
- extern struct __bionic_zero_size_is_okay_t __bionic_zero_size_is_okay;
- /* We verify that `c` is non-zero, because as pointless as memset(foo, 0, 0) is,
- * flipping size + count will do nothing.
- */
- __BIONIC_ERROR_FUNCTION_VISIBILITY
- void* memset(void* _Nonnull s, int c, size_t n) __overloadable
- __enable_if(c && !n, "selected when we'll set zero bytes")
- __RENAME_CLANG(memset)
- __warnattr_real("will set 0 bytes; maybe the arguments got flipped? "
- "(Add __bionic_zero_size_is_okay as a fourth argument "
- "to silence this.)");
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */
- # 465 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #undef __error_zero_size
- #undef __error_if_overflows_dst
- #else // defined(__clang__)
- # 469 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- extern char* __strncpy_real(char* __restrict, const char*, size_t) __RENAME(strncpy);
- extern void* __memrchr_real(const void*, int, size_t) __RENAME(memrchr);
- extern size_t __strlcpy_real(char* __restrict, const char* __restrict, size_t)
- __RENAME(strlcpy);
- extern size_t __strlcat_real(char* __restrict, const char* __restrict, size_t)
- __RENAME(strlcat);
- __errordecl(__memchr_buf_size_error, "memchr called with size bigger than buffer");
- __errordecl(__memrchr_buf_size_error, "memrchr called with size bigger than buffer");
- #if __ANDROID_API__ >= __ANDROID_API_M__
- __BIONIC_FORTIFY_INLINE
- void* memchr(const void *_Nonnull s __pass_object_size, int c, size_t n) {
- size_t bos = __bos(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_memchr(s, c, n);
- }
- if (__builtin_constant_p(n) && (n > bos)) {
- __memchr_buf_size_error();
- }
- if (__builtin_constant_p(n) && (n <= bos)) {
- return __builtin_memchr(s, c, n);
- }
- return __memchr_chk(s, c, n, bos);
- }
- __BIONIC_FORTIFY_INLINE
- void* memrchr(const void* s, int c, size_t n) {
- size_t bos = __bos(s);
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __memrchr_real(s, c, n);
- }
- if (__builtin_constant_p(n) && (n > bos)) {
- __memrchr_buf_size_error();
- }
- if (__builtin_constant_p(n) && (n <= bos)) {
- return __memrchr_real(s, c, n);
- }
- return __memrchr_chk(s, c, n, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_M__ */
- # 518 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_L__
- __BIONIC_FORTIFY_INLINE
- char* stpncpy(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src, size_t n) {
- size_t bos_dst = __bos(dst);
- size_t bos_src = __bos(src);
- if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin___stpncpy_chk(dst, src, n, bos_dst);
- }
- if (__builtin_constant_p(n) && (n <= bos_src)) {
- return __builtin___stpncpy_chk(dst, src, n, bos_dst);
- }
- size_t slen = __builtin_strlen(src);
- if (__builtin_constant_p(slen)) {
- return __builtin___stpncpy_chk(dst, src, n, bos_dst);
- }
- return __stpncpy_chk2(dst, src, n, bos_dst, bos_src);
- }
- __BIONIC_FORTIFY_INLINE
- char* strncpy(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src, size_t n) {
- size_t bos_dst = __bos(dst);
- size_t bos_src = __bos(src);
- if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __strncpy_real(dst, src, n);
- }
- if (__builtin_constant_p(n) && (n <= bos_src)) {
- return __builtin___strncpy_chk(dst, src, n, bos_dst);
- }
- size_t slen = __builtin_strlen(src);
- if (__builtin_constant_p(slen)) {
- return __builtin___strncpy_chk(dst, src, n, bos_dst);
- }
- return __strncpy_chk2(dst, src, n, bos_dst, bos_src);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_L__ */
- # 562 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR1__
- __BIONIC_FORTIFY_INLINE
- size_t strlcpy(char* _Nonnull __restrict dst __pass_object_size,
- const char* _Nonnull __restrict src, size_t size) {
- size_t bos = __bos(dst);
- // Compiler doesn't know destination size. Don't call __strlcpy_chk
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __strlcpy_real(dst, src, size);
- }
- // Compiler can prove, at compile time, that the passed in size
- // is always <= the actual object size. Don't call __strlcpy_chk
- if (__builtin_constant_p(size) && (size <= bos)) {
- return __strlcpy_real(dst, src, size);
- }
- return __strlcpy_chk(dst, src, size, bos);
- }
- __BIONIC_FORTIFY_INLINE
- size_t strlcat(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src, size_t size) {
- size_t bos = __bos(dst);
- // Compiler doesn't know destination size. Don't call __strlcat_chk
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __strlcat_real(dst, src, size);
- }
- // Compiler can prove, at compile time, that the passed in size
- // is always <= the actual object size. Don't call __strlcat_chk
- if (__builtin_constant_p(size) && (size <= bos)) {
- return __strlcat_real(dst, src, size);
- }
- return __strlcat_chk(dst, src, size, bos);
- }
- __BIONIC_FORTIFY_INLINE
- size_t strlen(const char* _Nonnull s) __overloadable {
- size_t bos = __bos(s);
- // Compiler doesn't know destination size. Don't call __strlen_chk
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strlen(s);
- }
- size_t slen = __builtin_strlen(s);
- if (__builtin_constant_p(slen)) {
- return slen;
- }
- return __strlen_chk(s, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */
- # 618 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if __ANDROID_API__ >= __ANDROID_API_J_MR2__
- __BIONIC_FORTIFY_INLINE
- char* strchr(const char* _Nonnull s, int c) {
- size_t bos = __bos(s);
- // Compiler doesn't know destination size. Don't call __strchr_chk
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strchr(s, c);
- }
- size_t slen = __builtin_strlen(s);
- if (__builtin_constant_p(slen) && (slen < bos)) {
- return __builtin_strchr(s, c);
- }
- return __strchr_chk(s, c, bos);
- }
- __BIONIC_FORTIFY_INLINE
- char* strrchr(const char* _Nonnull s, int c) {
- size_t bos = __bos(s);
- // Compiler doesn't know destination size. Don't call __strrchr_chk
- if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __builtin_strrchr(s, c);
- }
- size_t slen = __builtin_strlen(s);
- if (__builtin_constant_p(slen) && (slen < bos)) {
- return __builtin_strrchr(s, c);
- }
- return __strrchr_chk(s, c, bos);
- }
- #endif /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */
- # 654 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif /* defined(__clang__) */
- # 655 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #endif /* defined(__BIONIC_FORTIFY) */
- # 656 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- #if defined(__clang__)
- #pragma clang diagnostic pop
- #endif
- # 660 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- __END_DECLS
- #endif /* _STRING_H */
- # 664 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/string.h" 3
- # 22 "packages/apps/Gallery2/jni/filters/filters.h" 2
- #if 0 /* expanded by -frewrite-includes */
- #include <android/log.h>
- #endif /* expanded by -frewrite-includes */
- # 22 "packages/apps/Gallery2/jni/filters/filters.h"
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 1 3
- /*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef _ANDROID_LOG_H
- #define _ANDROID_LOG_H
- /******************************************************************
- *
- * IMPORTANT NOTICE:
- *
- * This file is part of Android's set of stable system headers
- * exposed by the Android NDK (Native Development Kit) since
- * platform release 1.5
- *
- * Third-party source AND binary code relies on the definitions
- * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
- *
- * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
- * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
- * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
- * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
- */
- /*
- * Support routines to send messages to the Android in-kernel log buffer,
- * which can later be accessed through the 'logcat' utility.
- *
- * Each log message must have
- * - a priority
- * - a log tag
- * - some text
- *
- * The tag normally corresponds to the component that emits the log message,
- * and should be reasonably small.
- *
- * Log message text may be truncated to less than an implementation-specific
- * limit (e.g. 1023 characters max).
- *
- * Note that a newline character ("\n") will be appended automatically to your
- * log message, if not already there. It is not possible to send several
- * messages and have them appear on a single line in logcat.
- *
- * PLEASE USE LOGS WITH MODERATION:
- *
- * - Sending log messages eats CPU and slow down your application and the
- * system.
- *
- * - The circular log buffer is pretty small (<64KB), sending many messages
- * might push off other important log messages from the rest of the system.
- *
- * - In release builds, only send log messages to account for exceptional
- * conditions.
- *
- * NOTE: These functions MUST be implemented by /system/lib/liblog.so
- */
- #if 0 /* expanded by -frewrite-includes */
- #include <stdarg.h>
- #endif /* expanded by -frewrite-includes */
- # 70 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- # 71 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #ifdef __cplusplus
- extern "C" {
- #endif
- # 75 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- /*
- * Android log priority values, in ascending priority order.
- */
- typedef enum android_LogPriority {
- ANDROID_LOG_UNKNOWN = 0,
- ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
- ANDROID_LOG_VERBOSE,
- ANDROID_LOG_DEBUG,
- ANDROID_LOG_INFO,
- ANDROID_LOG_WARN,
- ANDROID_LOG_ERROR,
- ANDROID_LOG_FATAL,
- ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
- } android_LogPriority;
- /*
- * Send a simple string to the log.
- */
- int __android_log_write(int prio, const char* tag, const char* text);
- /*
- * Send a formatted string to the log, used like printf(fmt,...)
- */
- int __android_log_print(int prio, const char* tag, const char* fmt, ...)
- #if defined(__GNUC__)
- #ifdef __USE_MINGW_ANSI_STDIO
- #if __USE_MINGW_ANSI_STDIO
- __attribute__((__format__(gnu_printf, 3, 4)))
- #else
- # 105 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 4)))
- #endif
- # 107 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #else
- # 108 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 4)))
- #endif
- # 110 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #endif
- # 111 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- ;
- /*
- * A variant of __android_log_print() that takes a va_list to list
- * additional parameters.
- */
- int __android_log_vprint(int prio, const char* tag, const char* fmt, va_list ap)
- #if defined(__GNUC__)
- #ifdef __USE_MINGW_ANSI_STDIO
- #if __USE_MINGW_ANSI_STDIO
- __attribute__((__format__(gnu_printf, 3, 0)))
- #else
- # 123 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 0)))
- #endif
- # 125 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #else
- # 126 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 0)))
- #endif
- # 128 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #endif
- # 129 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- ;
- /*
- * Log an assertion failure and abort the process to have a chance
- * to inspect it if a debugger is attached. This uses the FATAL priority.
- */
- void __android_log_assert(const char* cond, const char* tag, const char* fmt,
- ...)
- #if defined(__GNUC__)
- __attribute__((__noreturn__))
- #ifdef __USE_MINGW_ANSI_STDIO
- #if __USE_MINGW_ANSI_STDIO
- __attribute__((__format__(gnu_printf, 3, 4)))
- #else
- # 143 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 4)))
- #endif
- # 145 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #else
- # 146 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- __attribute__((__format__(printf, 3, 4)))
- #endif
- # 148 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #endif
- # 149 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- ;
- #ifdef __cplusplus
- }
- #endif
- # 154 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- #endif /* _ANDROID_LOG_H */
- # 156 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/log.h" 3
- # 23 "packages/apps/Gallery2/jni/filters/filters.h" 2
- #if 0 /* expanded by -frewrite-includes */
- #include <android/bitmap.h>
- #endif /* expanded by -frewrite-includes */
- # 23 "packages/apps/Gallery2/jni/filters/filters.h"
- # 1 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 1 3
- /*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /**
- * @addtogroup Bitmap
- * @{
- */
- /**
- * @file bitmap.h
- */
- #ifndef ANDROID_BITMAP_H
- #define ANDROID_BITMAP_H
- #if 0 /* expanded by -frewrite-includes */
- #include <stdint.h>
- #endif /* expanded by -frewrite-includes */
- # 29 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- # 30 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- #if 0 /* expanded by -frewrite-includes */
- #include <jni.h>
- #endif /* expanded by -frewrite-includes */
- # 30 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- # 31 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- #ifdef __cplusplus
- extern "C" {
- #endif
- # 35 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- /** AndroidBitmap functions result code. */
- enum {
- /** Operation was successful. */
- ANDROID_BITMAP_RESULT_SUCCESS = 0,
- /** Bad parameter. */
- ANDROID_BITMAP_RESULT_BAD_PARAMETER = -1,
- /** JNI exception occured. */
- ANDROID_BITMAP_RESULT_JNI_EXCEPTION = -2,
- /** Allocation failed. */
- ANDROID_BITMAP_RESULT_ALLOCATION_FAILED = -3,
- };
- /** Backward compatibility: this macro used to be misspelled. */
- #define ANDROID_BITMAP_RESUT_SUCCESS ANDROID_BITMAP_RESULT_SUCCESS
- /** Bitmap pixel format. */
- enum AndroidBitmapFormat {
- /** No format. */
- ANDROID_BITMAP_FORMAT_NONE = 0,
- /** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. **/
- ANDROID_BITMAP_FORMAT_RGBA_8888 = 1,
- /** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
- ANDROID_BITMAP_FORMAT_RGB_565 = 4,
- /** Deprecated in API level 13. Because of the poor quality of this configuration, it is advised to use ARGB_8888 instead. **/
- ANDROID_BITMAP_FORMAT_RGBA_4444 = 7,
- /** Alpha: 8 bits. */
- ANDROID_BITMAP_FORMAT_A_8 = 8,
- };
- /** Bitmap info, see AndroidBitmap_getInfo(). */
- typedef struct {
- /** The bitmap width in pixels. */
- uint32_t width;
- /** The bitmap height in pixels. */
- uint32_t height;
- /** The number of byte per row. */
- uint32_t stride;
- /** The bitmap pixel format. See {@link AndroidBitmapFormat} */
- int32_t format;
- /** Unused. */
- uint32_t flags; // 0 for now
- } AndroidBitmapInfo;
- /**
- * Given a java bitmap object, fill out the AndroidBitmapInfo struct for it.
- * If the call fails, the info parameter will be ignored.
- */
- int AndroidBitmap_getInfo(JNIEnv* env, jobject jbitmap,
- AndroidBitmapInfo* info);
- /**
- * Given a java bitmap object, attempt to lock the pixel address.
- * Locking will ensure that the memory for the pixels will not move
- * until the unlockPixels call, and ensure that, if the pixels had been
- * previously purged, they will have been restored.
- *
- * If this call succeeds, it must be balanced by a call to
- * AndroidBitmap_unlockPixels, after which time the address of the pixels should
- * no longer be used.
- *
- * If this succeeds, *addrPtr will be set to the pixel address. If the call
- * fails, addrPtr will be ignored.
- */
- int AndroidBitmap_lockPixels(JNIEnv* env, jobject jbitmap, void** addrPtr);
- /**
- * Call this to balance a successful call to AndroidBitmap_lockPixels.
- */
- int AndroidBitmap_unlockPixels(JNIEnv* env, jobject jbitmap);
- #ifdef __cplusplus
- }
- #endif
- # 109 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- #endif
- # 111 "../../speed/rom-out/carbon/soong/ndk/sysroot/usr/include/android/bitmap.h" 3
- /** @} */
- # 24 "packages/apps/Gallery2/jni/filters/filters.h" 2
- typedef unsigned int Color;
- #define SetColor(a, r, g, b) (((a) << 24) | ((b) << 16) | ((g) << 8) | ((r) << 0));
- #define GetA(color) (((color) >> 24) & 0xFF)
- #define GetB(color) (((color) >> 16) & 0xFF)
- #define GetG(color) (((color) >> 8) & 0xFF)
- #define GetR(color) (((color) >> 0) & 0xFF)
- #define MIN(a, b) ((a) < (b) ? (a) : (b))
- #define MAX(a, b) ((a) > (b) ? (a) : (b))
- #define LOG(msg...) __android_log_print(ANDROID_LOG_VERBOSE, "NativeFilters", msg)
- #define JNIFUNCF(cls, name, vars...) Java_com_android_gallery3d_filtershow_filters_ ## cls ## _ ## name(JNIEnv* env, jobject obj, vars)
- #define RED i
- #define GREEN (i+1)
- #define BLUE (i+2)
- #define ALPHA (i+3)
- #define CLAMP(c) (MAX(0, MIN(255, c)))
- extern unsigned char clamp(int c);
- extern int clampMax(int c,int max);
- extern void rgb2hsv( unsigned char *rgb,int rgbOff,unsigned short *hsv,int hsvOff);
- extern void hsv2rgb(unsigned short *hsv,int hsvOff,unsigned char *rgb,int rgbOff);
- extern void filterRedEye(unsigned char *src, unsigned char *dest, int iw, int ih, short *rect);
- extern double fastevalPoly(double *poly,int n, double x);
- #endif // FILTERS_H
- # 54 "packages/apps/Gallery2/jni/filters/filters.h"
- # 19 "packages/apps/Gallery2/jni/filters/edge.c" 2
- void JNIFUNCF(ImageFilterEdge, nativeApplyFilter, jobject bitmap, jint width, jint height, jfloat p)
- {
- char* destination = 0;
- AndroidBitmap_lockPixels(env, bitmap, (void**) &destination);
- // using contrast function:
- // f(v) = exp(-alpha * v^beta)
- // use beta ~ 1
- float const alpha = 5.0f;
- float const beta = p;
- float const c_min = 100.0f;
- float const c_max = 500.0f;
- // pixels must be 4 bytes
- char * dst = destination;
- int j, k;
- char * ptr = destination;
- int row_stride = 4 * width;
- // set 2 row buffer (avoids bitmap copy)
- int buf_len = 2 * row_stride;
- char buf[buf_len];
- int buf_row_ring = 0;
- // set initial buffer to black
- memset(buf, 0, buf_len * sizeof(char));
- for (j = 3; j < buf_len; j+=4) {
- *(buf + j) = 255; // set initial alphas
- }
- // apply sobel filter
- for (j = 1; j < height - 1; j++) {
- for (k = 1; k < width - 1; k++){
- int loc = j * row_stride + k * 4;
- float bestx = 0.0f;
- int l;
- for (l = 0; l < 3; l++) {
- float tmp = 0.0f;
- tmp += *(ptr + (loc - row_stride + 4 + l));
- tmp += *(ptr + (loc + 4 + l)) * 2.0f;
- tmp += *(ptr + (loc + row_stride + 4 + l));
- tmp -= *(ptr + (loc - row_stride - 4 + l));
- tmp -= *(ptr + (loc - 4 + l)) * 2.0f;
- tmp -= *(ptr + (loc + row_stride - 4 + l));
- if (fabs(tmp) > fabs(bestx)) {
- bestx = tmp;
- }
- }
- float besty = 0.0f;
- for (l = 0; l < 3; l++) {
- float tmp = 0.0f;
- tmp -= *(ptr + (loc - row_stride - 4 + l));
- tmp -= *(ptr + (loc - row_stride + l)) * 2.0f;
- tmp -= *(ptr + (loc - row_stride + 4 + l));
- tmp += *(ptr + (loc + row_stride - 4 + l));
- tmp += *(ptr + (loc + row_stride + l)) * 2.0f;
- tmp += *(ptr + (loc + row_stride + 4 + l));
- if (fabs(tmp) > fabs(besty)) {
- besty = tmp;
- }
- }
- // compute gradient magnitude
- float mag = sqrt(bestx * bestx + besty * besty);
- // clamp
- mag = MIN(MAX(c_min, mag), c_max);
- // scale to [0, 1]
- mag = (mag - c_min) / (c_max - c_min);
- float ret = 1.0f - exp (- alpha * pow(mag, beta));
- ret = 255 * ret;
- int off = k * 4;
- *(buf + buf_row_ring + off) = ret;
- *(buf + buf_row_ring + off + 1) = ret;
- *(buf + buf_row_ring + off + 2) = ret;
- *(buf + buf_row_ring + off + 3) = *(ptr + loc + 3);
- }
- buf_row_ring += row_stride;
- buf_row_ring %= buf_len;
- if (j - 1 >= 0) {
- memcpy((dst + row_stride * (j - 1)), (buf + buf_row_ring), row_stride * sizeof(char));
- }
- }
- buf_row_ring += row_stride;
- buf_row_ring %= buf_len;
- int second_last_row = row_stride * (height - 2);
- memcpy((dst + second_last_row), (buf + buf_row_ring), row_stride * sizeof(char));
- // set last row to black
- int last_row = row_stride * (height - 1);
- memset((dst + last_row), 0, row_stride * sizeof(char));
- for (j = 3; j < row_stride; j+=4) {
- *(dst + last_row + j) = 255; // set alphas
- }
- AndroidBitmap_unlockPixels(env, bitmap);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement