diff options
author | Dan Albert <danalbert@google.com> | 2017-02-23 21:14:44 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-02-23 21:14:44 +0000 |
commit | 6ec24b77a4c0a89c1f064528f13c17c8c6ddc9f1 (patch) | |
tree | d73110cd9f8020e27ca712e8d0f69823ea146d88 | |
parent | ca5ca8b88a30d8954a8fc9aa950fa151758b2f51 (diff) | |
parent | ef8dcc7db3cdafcaf653f6861fc262cf085fb4eb (diff) | |
download | ndk-6ec24b77a4c0a89c1f064528f13c17c8c6ddc9f1.tar.gz |
Merge "Remove the prebuilt bionic headers." am: 05c2d38dbc
am: ef8dcc7db3
Change-Id: I2d80c076038915b76370a3a45740d323b406d25c
188 files changed, 2 insertions, 20826 deletions
diff --git a/Android.bp b/Android.bp index 430836d62..5984f84e0 100644 --- a/Android.bp +++ b/Android.bp @@ -4,401 +4,81 @@ cc_defaults { name: "ndk_9_defaults", sdk_version: "9", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-9/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-9/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-9/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-9/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-9/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-9/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_10_defaults", sdk_version: "10", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-10/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-10/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-10/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-10/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-10/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-10/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_11_defaults", sdk_version: "11", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-11/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-11/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-11/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-11/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-11/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-11/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_12_defaults", sdk_version: "12", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-12/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-12/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-12/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-12/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-12/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-12/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_13_defaults", sdk_version: "13", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-13/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-13/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-13/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-13/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-13/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-13/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_14_defaults", sdk_version: "14", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-14/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-14/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-14/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-14/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-14/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-14/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_15_defaults", sdk_version: "15", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-15/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-15/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-15/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-15/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-15/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-15/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_16_defaults", sdk_version: "16", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-16/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-16/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-16/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-16/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-16/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-16/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_17_defaults", sdk_version: "17", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-17/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-17/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-17/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-17/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-17/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-17/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_18_defaults", sdk_version: "18", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-18/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-18/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-18/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-18/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-18/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-18/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_19_defaults", sdk_version: "19", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-19/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-19/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-19/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-19/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-19/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-19/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_20_defaults", sdk_version: "20", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-20/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-20/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-20/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-20/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-20/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-20/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_21_defaults", sdk_version: "21", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-21/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-21/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-21/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-21/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-21/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-21/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_22_defaults", sdk_version: "22", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-22/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-22/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-22/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-22/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-22/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-22/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_23_defaults", sdk_version: "23", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-23/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-23/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-23/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-23/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-23/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-23/arch-x86_64/usr/include"], - }, - }, } cc_defaults { name: "ndk_24_defaults", sdk_version: "24", - arch: { - arm: { - export_include_dirs: ["current/platforms/android-24/arch-arm/usr/include"], - }, - arm64: { - export_include_dirs: ["current/platforms/android-24/arch-arm64/usr/include"], - }, - mips: { - export_include_dirs: ["current/platforms/android-24/arch-mips/usr/include"], - }, - mips64: { - export_include_dirs: ["current/platforms/android-24/arch-mips64/usr/include"], - }, - x86: { - export_include_dirs: ["current/platforms/android-24/arch-x86/usr/include"], - }, - x86_64: { - export_include_dirs: ["current/platforms/android-24/arch-x86_64/usr/include"], - }, - }, } ndk_prebuilt_object { @@ -726,4 +406,4 @@ ndk_prebuilt_object { sdk_version: "24", } -build = ["bionic.bp", "stl.bp"] +build = ["stl.bp"] diff --git a/bionic.bp b/bionic.bp deleted file mode 100644 index c14f12af8..000000000 --- a/bionic.bp +++ /dev/null @@ -1,8 +0,0 @@ -// Update with bionic/tools/update_headers.sh. -ndk_headers { - name: "libc_unified_headers", - from: "headers", - to: "", - srcs: ["headers/**/*.h"], - license: "NOTICE", -} diff --git a/gen-blueprints.py b/gen-blueprints.py index 192f4aebe..8b16a2f04 100755 --- a/gen-blueprints.py +++ b/gen-blueprints.py @@ -119,7 +119,7 @@ def main(): f.write('\n') f.write('\n\n'.join(blueprints)) f.write('\n\n') - f.write('build = ["bionic.bp", "stl.bp"]\n') + f.write('build = ["stl.bp"]\n') if __name__ == '__main__': diff --git a/headers/alloca.h b/headers/alloca.h deleted file mode 100644 index 0508d3158..000000000 --- a/headers/alloca.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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 _ALLOCA_H -#define _ALLOCA_H - -#include <sys/cdefs.h> - -#define alloca(size) __builtin_alloca(size) - -#endif /* _ALLOCA_H */ - diff --git a/headers/android/api-level.h b/headers/android/api-level.h deleted file mode 100644 index c83c18d7f..000000000 --- a/headers/android/api-level.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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 - -#include <sys/cdefs.h> - -/* - * 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 - -#ifndef __ANDROID_API__ -#define __ANDROID_API__ __ANDROID_API_FUTURE__ -#endif - -#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 */ diff --git a/headers/android/dlext.h b/headers/android/dlext.h deleted file mode 100644 index e5c0c6b27..000000000 --- a/headers/android/dlext.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2014 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_DLEXT_H__ -#define __ANDROID_DLEXT_H__ - -#include <stdbool.h> -#include <stddef.h> -#include <stdint.h> -#include <sys/cdefs.h> -#include <sys/types.h> /* for off64_t */ - -__BEGIN_DECLS - -/* bitfield definitions for android_dlextinfo.flags */ -enum { - /* When set, the reserved_addr and reserved_size fields must point to an - * already-reserved region of address space which will be used to load the - * library if it fits. If the reserved region is not large enough, the load - * will fail. - */ - ANDROID_DLEXT_RESERVED_ADDRESS = 0x1, - - /* As DLEXT_RESERVED_ADDRESS, but if the reserved region is not large enough, - * the linker will choose an available address instead. - */ - ANDROID_DLEXT_RESERVED_ADDRESS_HINT = 0x2, - - /* When set, write the GNU RELRO section of the mapped library to relro_fd - * after relocation has been performed, to allow it to be reused by another - * process loading the same library at the same address. This implies - * ANDROID_DLEXT_USE_RELRO. - */ - ANDROID_DLEXT_WRITE_RELRO = 0x4, - - /* When set, compare the GNU RELRO section of the mapped library to relro_fd - * after relocation has been performed, and replace any relocated pages that - * are identical with a version mapped from the file. - */ - ANDROID_DLEXT_USE_RELRO = 0x8, - - /* Instruct dlopen to use library_fd instead of opening file by name. - * The filename parameter is still used to identify the library. - */ - ANDROID_DLEXT_USE_LIBRARY_FD = 0x10, - - /* If opening a library using library_fd read it starting at library_fd_offset. - * This flag is only valid when ANDROID_DLEXT_USE_LIBRARY_FD is set. - */ - ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET = 0x20, - - /* When set, do not check if the library has already been loaded by file stat(2)s. - * - * This flag allows forced loading of the library in the case when for some - * reason multiple ELF files share the same filename (because the already-loaded - * library has been removed and overwritten, for example). - * - * Note that if the library has the same dt_soname as an old one and some other - * library has the soname in DT_NEEDED list, the first one will be used to resolve any - * dependencies. - */ - ANDROID_DLEXT_FORCE_LOAD = 0x40, - - /* When set, if the minimum p_vaddr of the ELF file's PT_LOAD segments is non-zero, - * the dynamic linker will load it at that address. - * - * This flag is for ART internal use only. - */ - ANDROID_DLEXT_FORCE_FIXED_VADDR = 0x80, - - /* Instructs dlopen to load the library at the address specified by reserved_addr. - * - * The difference between ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS and ANDROID_DLEXT_RESERVED_ADDRESS - * is that for ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS the linker reserves memory at reserved_addr - * whereas for ANDROID_DLEXT_RESERVED_ADDRESS the linker relies on the caller to reserve the memory. - * - * This flag can be used with ANDROID_DLEXT_FORCE_FIXED_VADDR; when ANDROID_DLEXT_FORCE_FIXED_VADDR - * is set and load_bias is not 0 (load_bias is min(p_vaddr) of PT_LOAD segments) this flag is ignored. - * This is implemented this way because the linker has to pick one address over the other and this - * way is more convenient for art. Note that ANDROID_DLEXT_FORCE_FIXED_VADDR does not generate - * an error when min(p_vaddr) is 0. - * - * Cannot be used with ANDROID_DLEXT_RESERVED_ADDRESS or ANDROID_DLEXT_RESERVED_ADDRESS_HINT. - * - * This flag is for ART internal use only. - */ - ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS = 0x100, - - /* This flag used to load library in a different namespace. The namespace is - * specified in library_namespace. - */ - ANDROID_DLEXT_USE_NAMESPACE = 0x200, - - /* Mask of valid bits */ - ANDROID_DLEXT_VALID_FLAG_BITS = ANDROID_DLEXT_RESERVED_ADDRESS | - ANDROID_DLEXT_RESERVED_ADDRESS_HINT | - ANDROID_DLEXT_WRITE_RELRO | - ANDROID_DLEXT_USE_RELRO | - ANDROID_DLEXT_USE_LIBRARY_FD | - ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET | - ANDROID_DLEXT_FORCE_LOAD | - ANDROID_DLEXT_FORCE_FIXED_VADDR | - ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS | - ANDROID_DLEXT_USE_NAMESPACE, -}; - -struct android_namespace_t; - -typedef struct { - uint64_t flags; - void* reserved_addr; - size_t reserved_size; - int relro_fd; - int library_fd; - off64_t library_fd_offset; - struct android_namespace_t* library_namespace; -} android_dlextinfo; - - -#if __ANDROID_API__ >= 21 -void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* __ANDROID_DLEXT_H__ */ diff --git a/headers/android/legacy_errno_inlines.h b/headers/android/legacy_errno_inlines.h deleted file mode 100644 index 8f08074f1..000000000 --- a/headers/android/legacy_errno_inlines.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2015 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_LEGACY_ERRNO_INLINES_H -#define _ANDROID_LEGACY_ERRNO_INLINES_H - -#include <errno.h> -#include <sys/cdefs.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ - -__BEGIN_DECLS - -static __inline int __attribute__((deprecated)) __set_errno(int n) { - errno = n; - return -1; -} - -__END_DECLS - -#endif -#endif /* _ANDROID_LEGACY_ERRNO_INLINES_H */ diff --git a/headers/android/legacy_fenv_inlines_arm.h b/headers/android/legacy_fenv_inlines_arm.h deleted file mode 100644 index 58c49c2cf..000000000 --- a/headers/android/legacy_fenv_inlines_arm.h +++ /dev/null @@ -1,154 +0,0 @@ -/*- - * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/lib/msun/arm/fenv.c,v 1.1 2004/06/06 10:03:59 das Exp $ - */ - -#ifndef ANDROID_LEGACY_FENV_INLINES_ARM_H -#define ANDROID_LEGACY_FENV_INLINES_ARM_H - -#include <fenv.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ && defined(__arm__) - -__BEGIN_DECLS - -#define FPSCR_ENABLE_SHIFT 8 -#define FPSCR_ENABLE_MASK (FE_ALL_EXCEPT << FPSCR_ENABLE_SHIFT) - -#define FPSCR_RMODE_SHIFT 22 - -static __inline int fegetenv(fenv_t* __envp) { - fenv_t _fpscr; - __asm__ __volatile__("vmrs %0,fpscr" : "=r" (_fpscr)); - *__envp = _fpscr; - return 0; -} - -static __inline int fesetenv(const fenv_t* __envp) { - fenv_t _fpscr = *__envp; - __asm__ __volatile__("vmsr fpscr,%0" : :"ri" (_fpscr)); - return 0; -} - -static __inline int feclearexcept(int __excepts) { - fexcept_t __fpscr; - fegetenv(&__fpscr); - __fpscr &= ~__excepts; - fesetenv(&__fpscr); - return 0; -} - -static __inline int fegetexceptflag(fexcept_t* __flagp, int __excepts) { - fexcept_t __fpscr; - fegetenv(&__fpscr); - *__flagp = __fpscr & __excepts; - return 0; -} - -static __inline int fesetexceptflag(const fexcept_t* __flagp, int __excepts) { - fexcept_t __fpscr; - fegetenv(&__fpscr); - __fpscr &= ~__excepts; - __fpscr |= *__flagp & __excepts; - fesetenv(&__fpscr); - return 0; -} - -static __inline int feraiseexcept(int __excepts) { - fexcept_t __ex = __excepts; - fesetexceptflag(&__ex, __excepts); - return 0; -} - -static __inline int fetestexcept(int __excepts) { - fexcept_t __fpscr; - fegetenv(&__fpscr); - return (__fpscr & __excepts); -} - -static __inline int fegetround(void) { - fenv_t _fpscr; - fegetenv(&_fpscr); - return ((_fpscr >> FPSCR_RMODE_SHIFT) & 0x3); -} - -static __inline int fesetround(int __round) { - fenv_t _fpscr; - fegetenv(&_fpscr); - _fpscr &= ~(0x3 << FPSCR_RMODE_SHIFT); - _fpscr |= (__round << FPSCR_RMODE_SHIFT); - fesetenv(&_fpscr); - return 0; -} - -static __inline int feholdexcept(fenv_t* __envp) { - fenv_t __env; - fegetenv(&__env); - *__envp = __env; - __env &= ~(FE_ALL_EXCEPT | FPSCR_ENABLE_MASK); - fesetenv(&__env); - return 0; -} - -static __inline int feupdateenv(const fenv_t* __envp) { - fexcept_t __fpscr; - fegetenv(&__fpscr); - fesetenv(__envp); - feraiseexcept(__fpscr & FE_ALL_EXCEPT); - return 0; -} - -static __inline int feenableexcept(int __mask) { - fenv_t __old_fpscr, __new_fpscr; - fegetenv(&__old_fpscr); - __new_fpscr = __old_fpscr | (__mask & FE_ALL_EXCEPT) << FPSCR_ENABLE_SHIFT; - fesetenv(&__new_fpscr); - return ((__old_fpscr >> FPSCR_ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static __inline int fedisableexcept(int __mask) { - fenv_t __old_fpscr, __new_fpscr; - fegetenv(&__old_fpscr); - __new_fpscr = __old_fpscr & ~((__mask & FE_ALL_EXCEPT) << FPSCR_ENABLE_SHIFT); - fesetenv(&__new_fpscr); - return ((__old_fpscr >> FPSCR_ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static __inline int fegetexcept(void) { - fenv_t __fpscr; - fegetenv(&__fpscr); - return ((__fpscr & FPSCR_ENABLE_MASK) >> FPSCR_ENABLE_SHIFT); -} - -#undef FPSCR_ENABLE_SHIFT -#undef FPSCR_ENABLE_MASK -#undef FPSCR_RMODE_SHIFT - -__END_DECLS - -#endif /* __ANDROID_API__ < __ANDROID_API_L__ && defined(__arm__) */ - -#endif /* ANDROID_LEGACY_FENV_INLINES_ARM_H */ diff --git a/headers/android/legacy_fenv_inlines_mips.h b/headers/android/legacy_fenv_inlines_mips.h deleted file mode 100644 index 10b93c070..000000000 --- a/headers/android/legacy_fenv_inlines_mips.h +++ /dev/null @@ -1,168 +0,0 @@ -/*- - * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/lib/msun/mips/fenv.c,v 1.1 2008/04/26 12:20:29 imp Exp $ - */ - -#ifndef ANDROID_LEGACY_FENV_INLINES_MIPS_H -#define ANDROID_LEGACY_FENV_INLINES_MIPS_H - -#include <fenv.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ && (defined(__mips__) && !defined(__LP64__)) - -__BEGIN_DECLS - -#define FCSR_CAUSE_SHIFT 10 -#define FCSR_ENABLE_SHIFT 5 -#define FCSR_ENABLE_MASK (FE_ALL_EXCEPT << FCSR_ENABLE_SHIFT) - -#define FCSR_RMASK 0x3 - -static __inline int fegetenv(fenv_t* __envp) { - fenv_t _fcsr = 0; -#ifdef __mips_hard_float - __asm__ __volatile__("cfc1 %0,$31" : "=r" (_fcsr)); -#endif - *__envp = _fcsr; - return 0; -} - -static __inline int fesetenv(const fenv_t* __envp) { - fenv_t _fcsr = *__envp; -#ifdef __mips_hard_float - __asm__ __volatile__("ctc1 %0,$31" : : "r" (_fcsr)); -#endif - return 0; -} - -static __inline int feclearexcept(int __excepts) { - fexcept_t __fcsr; - fegetenv(&__fcsr); - __excepts &= FE_ALL_EXCEPT; - __fcsr &= ~(__excepts | (__excepts << FCSR_CAUSE_SHIFT)); - fesetenv(&__fcsr); - return 0; -} - -static __inline int fegetexceptflag(fexcept_t* __flagp, int __excepts) { - fexcept_t __fcsr; - fegetenv(&__fcsr); - *__flagp = __fcsr & __excepts & FE_ALL_EXCEPT; - return 0; -} - -static __inline int fesetexceptflag(const fexcept_t* __flagp, int __excepts) { - fexcept_t __fcsr; - fegetenv(&__fcsr); - /* Ensure that flags are all legal */ - __excepts &= FE_ALL_EXCEPT; - __fcsr &= ~__excepts; - __fcsr |= *__flagp & __excepts; - fesetenv(&__fcsr); - return 0; -} - -static __inline int feraiseexcept(int __excepts) { - fexcept_t __fcsr; - fegetenv(&__fcsr); - /* Ensure that flags are all legal */ - __excepts &= FE_ALL_EXCEPT; - /* Cause bit needs to be set as well for generating the exception*/ - __fcsr |= __excepts | (__excepts << FCSR_CAUSE_SHIFT); - fesetenv(&__fcsr); - return 0; -} - -static __inline int fetestexcept(int __excepts) { - fexcept_t __FCSR; - fegetenv(&__FCSR); - return (__FCSR & __excepts & FE_ALL_EXCEPT); -} - -static __inline int fegetround(void) { - fenv_t _fcsr; - fegetenv(&_fcsr); - return (_fcsr & FCSR_RMASK); -} - -static __inline int fesetround(int __round) { - fenv_t _fcsr; - fegetenv(&_fcsr); - _fcsr &= ~FCSR_RMASK; - _fcsr |= (__round & FCSR_RMASK); - fesetenv(&_fcsr); - return 0; -} - -static __inline int feholdexcept(fenv_t* __envp) { - fenv_t __env; - fegetenv(&__env); - *__envp = __env; - __env &= ~(FE_ALL_EXCEPT | FCSR_ENABLE_MASK); - fesetenv(&__env); - return 0; -} - -static __inline int feupdateenv(const fenv_t* __envp) { - fexcept_t __fcsr; - fegetenv(&__fcsr); - fesetenv(__envp); - feraiseexcept(__fcsr & FE_ALL_EXCEPT); - return 0; -} - -static __inline int feenableexcept(int __mask) { - fenv_t __old_fcsr, __new_fcsr; - fegetenv(&__old_fcsr); - __new_fcsr = __old_fcsr | (__mask & FE_ALL_EXCEPT) << FCSR_ENABLE_SHIFT; - fesetenv(&__new_fcsr); - return ((__old_fcsr >> FCSR_ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static __inline int fedisableexcept(int __mask) { - fenv_t __old_fcsr, __new_fcsr; - fegetenv(&__old_fcsr); - __new_fcsr = __old_fcsr & ~((__mask & FE_ALL_EXCEPT) << FCSR_ENABLE_SHIFT); - fesetenv(&__new_fcsr); - return ((__old_fcsr >> FCSR_ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static __inline int fegetexcept(void) { - fenv_t __fcsr; - fegetenv(&__fcsr); - return ((__fcsr & FCSR_ENABLE_MASK) >> FCSR_ENABLE_SHIFT); -} - -#undef FCSR_CAUSE_SHIFT -#undef FCSR_ENABLE_SHIFT -#undef FCSR_ENABLE_MASK -#undef FCSR_RMASK - -__END_DECLS - -#endif /* __ANDROID_API__ < __ANDROID_API_L__ && (defined(__mips__) && !defined(__LP64__)) */ - -#endif /* ANDROID_LEGACY_FENV_INLINES_MIPS_H */ diff --git a/headers/android/legacy_signal_inlines.h b/headers/android/legacy_signal_inlines.h deleted file mode 100644 index afdaca840..000000000 --- a/headers/android/legacy_signal_inlines.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2015 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_LEGACY_SIGNAL_INLINES_H_ -#define _ANDROID_LEGACY_SIGNAL_INLINES_H_ - -#include <errno.h> -#include <signal.h> -#include <string.h> -#include <sys/cdefs.h> - - -__BEGIN_DECLS - -sighandler_t bsd_signal(int signum, sighandler_t handler) __REMOVED_IN(21); - -#if __ANDROID_API__ < __ANDROID_API_L__ - -static __inline int sigismember(const sigset_t *set, int signum) { - /* Signal numbers start at 1, but bit positions start at 0. */ - int bit = signum - 1; - const unsigned long *local_set = (const unsigned long *)set; - if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) { - errno = EINVAL; - return -1; - } - return (int)((local_set[bit / LONG_BIT] >> (bit % LONG_BIT)) & 1); -} - -static __inline int sigaddset(sigset_t *set, int signum) { - /* Signal numbers start at 1, but bit positions start at 0. */ - int bit = signum - 1; - unsigned long *local_set = (unsigned long *)set; - if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) { - errno = EINVAL; - return -1; - } - local_set[bit / LONG_BIT] |= 1UL << (bit % LONG_BIT); - return 0; -} - -static __inline int sigdelset(sigset_t *set, int signum) { - /* Signal numbers start at 1, but bit positions start at 0. */ - int bit = signum - 1; - unsigned long *local_set = (unsigned long *)set; - if (set == NULL || bit < 0 || bit >= (int)(8 * sizeof(sigset_t))) { - errno = EINVAL; - return -1; - } - local_set[bit / LONG_BIT] &= ~(1UL << (bit % LONG_BIT)); - return 0; -} - -static __inline int sigemptyset(sigset_t *set) { - if (set == NULL) { - errno = EINVAL; - return -1; - } - memset(set, 0, sizeof(sigset_t)); - return 0; -} - -static __inline int sigfillset(sigset_t *set) { - if (set == NULL) { - errno = EINVAL; - return -1; - } - memset(set, ~0, sizeof(sigset_t)); - return 0; -} - -static __inline sighandler_t signal(int s, sighandler_t f) { - return bsd_signal(s, f); -} - -#endif /* __ANDROID_API__ < __ANDROID_API_L__ */ - -__END_DECLS - -#endif /* _ANDROID_LEGACY_SIGNAL_INLINES_H_ */ diff --git a/headers/android/legacy_stdlib_inlines.h b/headers/android/legacy_stdlib_inlines.h deleted file mode 100644 index e211de5ae..000000000 --- a/headers/android/legacy_stdlib_inlines.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2015 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_LEGACY_STDLIB_INLINES_H_ -#define _ANDROID_LEGACY_STDLIB_INLINES_H_ - -#include <stdlib.h> -#include <sys/cdefs.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ - -__BEGIN_DECLS - -static __inline float strtof(const char *nptr, char **endptr) { - return (float)strtod(nptr, endptr); -} - -static __inline double atof(const char *nptr) { return (strtod(nptr, NULL)); } - -static __inline int abs(int __n) { return (__n < 0) ? -__n : __n; } - -static __inline long labs(long __n) { return (__n < 0L) ? -__n : __n; } - -static __inline long long llabs(long long __n) { - return (__n < 0LL) ? -__n : __n; -} - -static __inline int rand(void) { return (int)lrand48(); } - -static __inline void srand(unsigned int __s) { srand48(__s); } - -static __inline long random(void) { return lrand48(); } - -static __inline void srandom(unsigned int __s) { srand48(__s); } - -static __inline int grantpt(int __fd __attribute((unused))) { - return 0; /* devpts does this all for us! */ -} - -__END_DECLS - -#endif -#endif /* _ANDROID_LEGACY_STDLIB_INLINES_H_ */ diff --git a/headers/android/legacy_sys_stat_inlines.h b/headers/android/legacy_sys_stat_inlines.h deleted file mode 100644 index 23a9f0738..000000000 --- a/headers/android/legacy_sys_stat_inlines.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2015 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_LEGACY_SYS_STAT_INLINES_H_ -#define _ANDROID_LEGACY_SYS_STAT_INLINES_H_ - -#include <sys/cdefs.h> -#include <sys/stat.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ - -__BEGIN_DECLS - -static __inline int mkfifo(const char *__p, mode_t __m) { - return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t)0); -} - -__END_DECLS - -#endif -#endif /* _ANDROID_LEGACY_SYS_STAT_INLINES_H_ */ diff --git a/headers/android/legacy_sys_wait_inlines.h b/headers/android/legacy_sys_wait_inlines.h deleted file mode 100644 index 1124f8e29..000000000 --- a/headers/android/legacy_sys_wait_inlines.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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 _ANDROID_LEGACY_SYS_WAIT_INLINES_H_ -#define _ANDROID_LEGACY_SYS_WAIT_INLINES_H_ - -#include <sys/cdefs.h> -#include <sys/syscall.h> -#include <sys/wait.h> -#include <unistd.h> - -#if __ANDROID_API__ < __ANDROID_API_J_MR2__ - -__BEGIN_DECLS - -static __inline pid_t wait4(pid_t pid, int* status, int options, struct rusage* rusage) { - return __BIONIC_CAST(static_cast, pid_t, syscall(__NR_wait4, pid, status, options, rusage)); -} - -__END_DECLS - -#endif /* __ANDROID_API__ < __ANDROID_API_J_MR2__ */ - -#endif /* _ANDROID_LEGACY_SYS_WAIT_INLINES_H_ */ diff --git a/headers/android/legacy_termios_inlines.h b/headers/android/legacy_termios_inlines.h deleted file mode 100644 index 4424bdb0b..000000000 --- a/headers/android/legacy_termios_inlines.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2015 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_LEGACY_TERMIOS_INLINES_H_ -#define _ANDROID_LEGACY_TERMIOS_INLINES_H_ - -#include <sys/cdefs.h> -#include <sys/ioctl.h> -#include <sys/types.h> - -#include <linux/termios.h> - -#if __ANDROID_API__ < __ANDROID_API_L__ - -__BEGIN_DECLS - -static __inline int tcgetattr(int fd, struct termios *s) { - return ioctl(fd, TCGETS, s); -} - -static __inline int tcsetattr(int fd, int __opt, const struct termios *s) { - return ioctl(fd, __opt, (void *)s); -} - -static __inline int tcflow(int fd, int action) { - return ioctl(fd, TCXONC, (void *)(intptr_t)action); -} - -static __inline int tcflush(int fd, int __queue) { - return ioctl(fd, TCFLSH, (void *)(intptr_t)__queue); -} - -static __inline pid_t tcgetsid(int fd) { - pid_t _pid; - return ioctl(fd, TIOCGSID, &_pid) ? (pid_t)-1 : _pid; -} - -static __inline int tcsendbreak(int fd, int __duration) { - return ioctl(fd, TCSBRKP, (void *)(uintptr_t)__duration); -} - -static __inline speed_t cfgetospeed(const struct termios *s) { - return (speed_t)(s->c_cflag & CBAUD); -} - -static __inline int cfsetospeed(struct termios *s, speed_t speed) { - s->c_cflag = (s->c_cflag & ~CBAUD) | (speed & CBAUD); - return 0; -} - -static __inline speed_t cfgetispeed(const struct termios *s) { - return (speed_t)(s->c_cflag & CBAUD); -} - -static __inline int cfsetispeed(struct termios *s, speed_t speed) { - s->c_cflag = (s->c_cflag & ~CBAUD) | (speed & CBAUD); - return 0; -} - -static __inline void cfmakeraw(struct termios *s) { - s->c_iflag &= - ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); - s->c_oflag &= ~OPOST; - s->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); - s->c_cflag &= ~(CSIZE | PARENB); - s->c_cflag |= CS8; -} - -__END_DECLS - -#endif -#endif /* _ANDROID_LEGACY_TERMIOS_INLINES_H_ */ diff --git a/headers/android/set_abort_message.h b/headers/android/set_abort_message.h deleted file mode 100644 index 9a68a7201..000000000 --- a/headers/android/set_abort_message.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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 _SET_ABORT_MESSAGE_H -#define _SET_ABORT_MESSAGE_H - -#include <sys/cdefs.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 21 -void android_set_abort_message(const char* msg) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif diff --git a/headers/android/versioning.h b/headers/android/versioning.h deleted file mode 100644 index 4e1a1854c..000000000 --- a/headers/android/versioning.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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 */ diff --git a/headers/ar.h b/headers/ar.h deleted file mode 100644 index 413f76720..000000000 --- a/headers/ar.h +++ /dev/null @@ -1,68 +0,0 @@ -/* $OpenBSD: ar.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $ */ - -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * This code is derived from software contributed to Berkeley by - * Hugh Smith at The University of Guelph. - * - * 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. - * - * @(#)ar.h 8.2 (Berkeley) 1/21/94 - */ - -#ifndef _AR_H_ -#define _AR_H_ - -#include <sys/cdefs.h> - -/* Pre-4BSD archives had these magic numbers in them. */ -#define OARMAG1 0177555 -#define OARMAG2 0177545 - -#define ARMAG "!<arch>\n" /* ar "magic number" */ -#define SARMAG 8 /* strlen(ARMAG); */ - -#define AR_EFMT1 "#1/" /* extended format #1 */ - -struct ar_hdr { - char ar_name[16]; /* name */ - char ar_date[12]; /* modification time */ - char ar_uid[6]; /* user id */ - char ar_gid[6]; /* group id */ - char ar_mode[8]; /* octal file permissions */ - char ar_size[10]; /* size in bytes */ -#define ARFMAG "`\n" - char ar_fmag[2]; /* consistency check */ -}; - -#endif /* !_AR_H_ */ diff --git a/headers/arpa/inet.h b/headers/arpa/inet.h deleted file mode 100644 index b60396544..000000000 --- a/headers/arpa/inet.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 _ARPA_INET_H_ -#define _ARPA_INET_H_ - -#include <netinet/in.h> -#include <stdint.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -in_addr_t inet_addr(const char*); -int inet_aton(const char*, struct in_addr*); - -#if __ANDROID_API__ >= 21 -in_addr_t inet_lnaof(struct in_addr) __INTRODUCED_IN(21); -struct in_addr inet_makeaddr(in_addr_t, in_addr_t) __INTRODUCED_IN(21); -in_addr_t inet_netof(struct in_addr) __INTRODUCED_IN(21); -in_addr_t inet_network(const char*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -char* inet_ntoa(struct in_addr); -const char* inet_ntop(int, const void*, char*, socklen_t); -unsigned int inet_nsap_addr(const char*, unsigned char*, int); -char* inet_nsap_ntoa(int, const unsigned char*, char*); -int inet_pton(int, const char*, void*); - -__END_DECLS - -#endif /* _ARPA_INET_H_ */ diff --git a/headers/arpa/nameser.h b/headers/arpa/nameser.h deleted file mode 100644 index 7b92fc314..000000000 --- a/headers/arpa/nameser.h +++ /dev/null @@ -1,634 +0,0 @@ -/* $NetBSD: nameser.h,v 1.25 2009/04/12 17:07:34 christos Exp $ */ - -/* - * Portions Copyright (C) 2004, 2005, 2008, 2009 Internet Systems Consortium, Inc. ("ISC") - * Portions Copyright (C) 1996-2003 Internet Software Consortium. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH - * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, - * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE - * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * Copyright (c) 1983, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Id: nameser.h,v 1.16 2009/03/03 01:52:48 each Exp - */ - -#ifndef _ARPA_NAMESER_H_ -#define _ARPA_NAMESER_H_ - -#define BIND_4_COMPAT - -#include <sys/types.h> -#include <sys/cdefs.h> - -/* - * Revision information. This is the release date in YYYYMMDD format. - * It can change every day so the right thing to do with it is use it - * in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not - * compare for equality; rather, use it to determine whether your libbind.a - * contains a new enough lib/nameser/ to support the feature you need. - */ - -#define __NAMESER 20090302 /*%< New interface version stamp. */ - -/* - * Define constants based on RFC0883, RFC1034, RFC 1035 - */ -#define NS_PACKETSZ 512 /* default UDP packet size */ -#define NS_MAXDNAME 1025 /* maximum domain name (presentation format)*/ -#define NS_MAXMSG 65535 /* maximum message size */ -#define NS_MAXCDNAME 255 /* maximum compressed domain name */ -#define NS_MAXLABEL 63 /* maximum length of domain label */ -#define NS_MAXLABELS 128 /* theoretical max #/labels per domain name */ -#define NS_MAXNNAME 256 /* maximum uncompressed (binary) domain name*/ -#define NS_MAXPADDR (sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */ -#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */ -#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */ -#define NS_INT32SZ 4 /* #/bytes of data in a uint32_t */ -#define NS_INT16SZ 2 /* #/bytes of data in a uint16_t */ -#define NS_INT8SZ 1 /* #/bytes of data in a uint8_t */ -#define NS_INADDRSZ 4 /* IPv4 T_A */ -#define NS_IN6ADDRSZ 16 /* IPv6 T_AAAA */ -#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */ -#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */ - -/* - * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord() - * in synch with it. - */ -typedef enum __ns_sect { - ns_s_qd = 0, /* Query: Question. */ - ns_s_zn = 0, /* Update: Zone. */ - ns_s_an = 1, /* Query: Answer. */ - ns_s_pr = 1, /* Update: Prerequisites. */ - ns_s_ns = 2, /* Query: Name servers. */ - ns_s_ud = 2, /* Update: Update. */ - ns_s_ar = 3, /* Query|Update: Additional records. */ - ns_s_max = 4 -} ns_sect; - -/* - * Network name (compressed or not) type. Equivilent to a pointer when used - * in a function prototype. Can be const'd. - */ -typedef u_char ns_nname[NS_MAXNNAME]; -typedef const u_char *ns_nname_ct; -typedef u_char *ns_nname_t; - -struct ns_namemap { ns_nname_ct base; int len; }; -typedef struct ns_namemap *ns_namemap_t; -typedef const struct ns_namemap *ns_namemap_ct; - -/* - * This is a message handle. It is caller allocated and has no dynamic data. - * This structure is intended to be opaque to all but ns_parse.c, thus the - * leading _'s on the member names. Use the accessor functions, not the _'s. - */ -typedef struct __ns_msg { - const u_char *_msg, *_eom; - uint16_t _id, _flags, _counts[ns_s_max]; - const u_char *_sections[ns_s_max]; - ns_sect _sect; - int _rrnum; - const u_char *_msg_ptr; -} ns_msg; -/* - * This is a newmsg handle, used when constructing new messages with - * ns_newmsg_init, et al. - */ -struct ns_newmsg { - ns_msg msg; - const u_char *dnptrs[25]; - const u_char **lastdnptr; -}; -typedef struct ns_newmsg ns_newmsg; - -/* Accessor macros - this is part of the public interface. */ - -#define ns_msg_id(handle) ((handle)._id + 0) -#define ns_msg_base(handle) ((handle)._msg + 0) -#define ns_msg_end(handle) ((handle)._eom + 0) -#define ns_msg_size(handle) ((size_t)((handle)._eom - (handle)._msg)) -#define ns_msg_count(handle, section) ((handle)._counts[section] + 0) - -/* - * This is a parsed record. It is caller allocated and has no dynamic data. - */ -typedef struct __ns_rr { - char name[NS_MAXDNAME]; - uint16_t type; - uint16_t rr_class; - uint32_t ttl; - uint16_t rdlength; - const u_char * rdata; -} ns_rr; - -/* - * Same thing, but using uncompressed network binary names, and real C types. - */ -typedef struct __ns_rr2 { - ns_nname nname; - size_t nnamel; - int type; - int rr_class; - u_int ttl; - int rdlength; - const u_char * rdata; -} ns_rr2; -/* Accessor macros - this is part of the public interface. */ -#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") -#define ns_rr_nname(rr) ((const ns_nname_t)(rr).nname) -#define ns_rr_nnamel(rr) ((rr).nnamel + 0) -#define ns_rr_type(rr) ((ns_type)((rr).type + 0)) -#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0)) -#define ns_rr_ttl(rr) ((u_long)(rr).ttl + 0) -#define ns_rr_rdlen(rr) ((size_t)(rr).rdlength + 0) -#define ns_rr_rdata(rr) ((rr).rdata + 0) - -/* - * These don't have to be in the same order as in the packet flags word, - * and they can even overlap in some cases, but they will need to be kept - * in synch with ns_parse.c:ns_flagdata[]. - */ -typedef enum __ns_flag { - ns_f_qr, /* Question/Response. */ - ns_f_opcode, /* Operation code. */ - ns_f_aa, /* Authoritative Answer. */ - ns_f_tc, /* Truncation occurred. */ - ns_f_rd, /* Recursion Desired. */ - ns_f_ra, /* Recursion Available. */ - ns_f_z, /* MBZ. */ - ns_f_ad, /* Authentic Data (DNSSEC). */ - ns_f_cd, /* Checking Disabled (DNSSEC). */ - ns_f_rcode, /* Response code. */ - ns_f_max -} ns_flag; - -/* - * Currently defined opcodes. - */ -typedef enum __ns_opcode { - ns_o_query = 0, /* Standard query. */ - ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */ - ns_o_status = 2, /* Name server status query (unsupported). */ - /* Opcode 3 is undefined/reserved. */ - ns_o_notify = 4, /* Zone change notification. */ - ns_o_update = 5, /* Zone update message. */ - ns_o_max = 6 -} ns_opcode; - -/* - * Currently defined response codes. - */ -typedef enum __ns_rcode { - ns_r_noerror = 0, /* No error occurred. */ - ns_r_formerr = 1, /* Format error. */ - ns_r_servfail = 2, /* Server failure. */ - ns_r_nxdomain = 3, /* Name error. */ - ns_r_notimpl = 4, /* Unimplemented. */ - ns_r_refused = 5, /* Operation refused. */ - /* these are for BIND_UPDATE */ - ns_r_yxdomain = 6, /* Name exists */ - ns_r_yxrrset = 7, /* RRset exists */ - ns_r_nxrrset = 8, /* RRset does not exist */ - ns_r_notauth = 9, /* Not authoritative for zone */ - ns_r_notzone = 10, /* Zone of record different from zone section */ - ns_r_max = 11, - /* The following are EDNS extended rcodes */ - ns_r_badvers = 16, - /* The following are TSIG errors */ - ns_r_badsig = 16, - ns_r_badkey = 17, - ns_r_badtime = 18 -} ns_rcode; - -/* BIND_UPDATE */ -typedef enum __ns_update_operation { - ns_uop_delete = 0, - ns_uop_add = 1, - ns_uop_max = 2 -} ns_update_operation; - -/* - * This structure is used for TSIG authenticated messages - */ -struct ns_tsig_key { - char name[NS_MAXDNAME], alg[NS_MAXDNAME]; - unsigned char *data; - int len; -}; -typedef struct ns_tsig_key ns_tsig_key; - -/* - * This structure is used for TSIG authenticated TCP messages - */ -struct ns_tcp_tsig_state { - int counter; - struct dst_key *key; - void *ctx; - unsigned char sig[NS_PACKETSZ]; - int siglen; -}; -typedef struct ns_tcp_tsig_state ns_tcp_tsig_state; - -#define NS_TSIG_FUDGE 300 -#define NS_TSIG_TCP_COUNT 100 -#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" - -#define NS_TSIG_ERROR_NO_TSIG -10 -#define NS_TSIG_ERROR_NO_SPACE -11 -#define NS_TSIG_ERROR_FORMERR -12 - -/* - * Currently defined type values for resources and queries. - */ -typedef enum __ns_type { - ns_t_invalid = 0, /* Cookie. */ - ns_t_a = 1, /* Host address. */ - ns_t_ns = 2, /* Authoritative server. */ - ns_t_md = 3, /* Mail destination. */ - ns_t_mf = 4, /* Mail forwarder. */ - ns_t_cname = 5, /* Canonical name. */ - ns_t_soa = 6, /* Start of authority zone. */ - ns_t_mb = 7, /* Mailbox domain name. */ - ns_t_mg = 8, /* Mail group member. */ - ns_t_mr = 9, /* Mail rename name. */ - ns_t_null = 10, /* Null resource record. */ - ns_t_wks = 11, /* Well known service. */ - ns_t_ptr = 12, /* Domain name pointer. */ - ns_t_hinfo = 13, /* Host information. */ - ns_t_minfo = 14, /* Mailbox information. */ - ns_t_mx = 15, /* Mail routing information. */ - ns_t_txt = 16, /* Text strings. */ - ns_t_rp = 17, /* Responsible person. */ - ns_t_afsdb = 18, /* AFS cell database. */ - ns_t_x25 = 19, /* X_25 calling address. */ - ns_t_isdn = 20, /* ISDN calling address. */ - ns_t_rt = 21, /* Router. */ - ns_t_nsap = 22, /* NSAP address. */ - ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */ - ns_t_sig = 24, /* Security signature. */ - ns_t_key = 25, /* Security key. */ - ns_t_px = 26, /* X.400 mail mapping. */ - ns_t_gpos = 27, /* Geographical position (withdrawn). */ - ns_t_aaaa = 28, /* IPv6 Address. */ - ns_t_loc = 29, /* Location Information. */ - ns_t_nxt = 30, /* Next domain (security). */ - ns_t_eid = 31, /* Endpoint identifier. */ - ns_t_nimloc = 32, /* Nimrod Locator. */ - ns_t_srv = 33, /* Server Selection. */ - ns_t_atma = 34, /* ATM Address */ - ns_t_naptr = 35, /* Naming Authority PoinTeR */ - ns_t_kx = 36, /* Key Exchange */ - ns_t_cert = 37, /* Certification record */ - ns_t_a6 = 38, /* IPv6 address (experimental) */ - ns_t_dname = 39, /* Non-terminal DNAME */ - ns_t_sink = 40, /* Kitchen sink (experimentatl) */ - ns_t_opt = 41, /* EDNS0 option (meta-RR) */ - ns_t_apl = 42, /* Address prefix list (RFC 3123) */ - ns_t_ds = 43, /* Delegation Signer */ - ns_t_sshfp = 44, /* SSH Fingerprint */ - ns_t_ipseckey = 45, /* IPSEC Key */ - ns_t_rrsig = 46, /* RRset Signature */ - ns_t_nsec = 47, /* Negative security */ - ns_t_dnskey = 48, /* DNS Key */ - ns_t_dhcid = 49, /* Dynamic host configuratin identifier */ - ns_t_nsec3 = 50, /* Negative security type 3 */ - ns_t_nsec3param = 51, /* Negative security type 3 parameters */ - ns_t_hip = 55, /* Host Identity Protocol */ - ns_t_spf = 99, /* Sender Policy Framework */ - ns_t_tkey = 249, /* Transaction key */ - ns_t_tsig = 250, /* Transaction signature. */ - ns_t_ixfr = 251, /* Incremental zone transfer. */ - ns_t_axfr = 252, /* Transfer zone of authority. */ - ns_t_mailb = 253, /* Transfer mailbox records. */ - ns_t_maila = 254, /* Transfer mail agent records. */ - ns_t_any = 255, /* Wildcard match. */ - ns_t_zxfr = 256, /* BIND-specific, nonstandard. */ - ns_t_dlv = 32769, /* DNSSEC look-aside validatation. */ - ns_t_max = 65536 -} ns_type; - -/* Exclusively a QTYPE? (not also an RTYPE) */ -#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \ - (t) == ns_t_mailb || (t) == ns_t_maila) -/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */ -#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt) -/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */ -#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t)) -#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr) -#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \ - (t) == ns_t_zxfr) - -/* - * Values for class field - */ -typedef enum __ns_class { - ns_c_invalid = 0, /* Cookie. */ - ns_c_in = 1, /* Internet. */ - ns_c_2 = 2, /* unallocated/unsupported. */ - ns_c_chaos = 3, /* MIT Chaos-net. */ - ns_c_hs = 4, /* MIT Hesiod. */ - /* Query class values which do not appear in resource records */ - ns_c_none = 254, /* for prereq. sections in update requests */ - ns_c_any = 255, /* Wildcard match. */ - ns_c_max = 65536 -} ns_class; - -/* DNSSEC constants. */ - -typedef enum __ns_key_types { - ns_kt_rsa = 1, /* key type RSA/MD5 */ - ns_kt_dh = 2, /* Diffie Hellman */ - ns_kt_dsa = 3, /* Digital Signature Standard (MANDATORY) */ - ns_kt_private = 254 /* Private key type starts with OID */ -} ns_key_types; - -typedef enum __ns_cert_types { - cert_t_pkix = 1, /* PKIX (X.509v3) */ - cert_t_spki = 2, /* SPKI */ - cert_t_pgp = 3, /* PGP */ - cert_t_url = 253, /* URL private type */ - cert_t_oid = 254 /* OID private type */ -} ns_cert_types; - -/* Flags field of the KEY RR rdata. */ -#define NS_KEY_TYPEMASK 0xC000 /* Mask for "type" bits */ -#define NS_KEY_TYPE_AUTH_CONF 0x0000 /* Key usable for both */ -#define NS_KEY_TYPE_CONF_ONLY 0x8000 /* Key usable for confidentiality */ -#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /* Key usable for authentication */ -#define NS_KEY_TYPE_NO_KEY 0xC000 /* No key usable for either; no key */ -/* The type bits can also be interpreted independently, as single bits: */ -#define NS_KEY_NO_AUTH 0x8000 /* Key unusable for authentication */ -#define NS_KEY_NO_CONF 0x4000 /* Key unusable for confidentiality */ -#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */ -#define NS_KEY_EXTENDED_FLAGS 0x1000 /* reserved - must be zero */ -#define NS_KEY_RESERVED4 0x0800 /* reserved - must be zero */ -#define NS_KEY_RESERVED5 0x0400 /* reserved - must be zero */ -#define NS_KEY_NAME_TYPE 0x0300 /* these bits determine the type */ -#define NS_KEY_NAME_USER 0x0000 /* key is assoc. with user */ -#define NS_KEY_NAME_ENTITY 0x0200 /* key is assoc. with entity eg host */ -#define NS_KEY_NAME_ZONE 0x0100 /* key is zone key */ -#define NS_KEY_NAME_RESERVED 0x0300 /* reserved meaning */ -#define NS_KEY_RESERVED8 0x0080 /* reserved - must be zero */ -#define NS_KEY_RESERVED9 0x0040 /* reserved - must be zero */ -#define NS_KEY_RESERVED10 0x0020 /* reserved - must be zero */ -#define NS_KEY_RESERVED11 0x0010 /* reserved - must be zero */ -#define NS_KEY_SIGNATORYMASK 0x000F /* key can sign RR's of same name */ -#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \ - NS_KEY_RESERVED4 | \ - NS_KEY_RESERVED5 | \ - NS_KEY_RESERVED8 | \ - NS_KEY_RESERVED9 | \ - NS_KEY_RESERVED10 | \ - NS_KEY_RESERVED11 ) -#define NS_KEY_RESERVED_BITMASK2 0xFFFF /* no bits defined here */ - -/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */ -#define NS_ALG_MD5RSA 1 /* MD5 with RSA */ -#define NS_ALG_DH 2 /* Diffie Hellman KEY */ -#define NS_ALG_DSA 3 /* DSA KEY */ -#define NS_ALG_DSS NS_ALG_DSA -#define NS_ALG_EXPIRE_ONLY 253 /* No alg, no security */ -#define NS_ALG_PRIVATE_OID 254 /* Key begins with OID giving alg */ - -/* Protocol values */ -/* value 0 is reserved */ -#define NS_KEY_PROT_TLS 1 -#define NS_KEY_PROT_EMAIL 2 -#define NS_KEY_PROT_DNSSEC 3 -#define NS_KEY_PROT_IPSEC 4 -#define NS_KEY_PROT_ANY 255 - -/* Signatures */ -#define NS_MD5RSA_MIN_BITS 512 /* Size of a mod or exp in bits */ -#define NS_MD5RSA_MAX_BITS 4096 - /* Total of binary mod and exp */ -#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) - /* Max length of text sig block */ -#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) -#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) -#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) - -#define NS_DSA_SIG_SIZE 41 -#define NS_DSA_MIN_SIZE 213 -#define NS_DSA_MAX_BYTES 405 - -/* Offsets into SIG record rdata to find various values */ -#define NS_SIG_TYPE 0 /* Type flags */ -#define NS_SIG_ALG 2 /* Algorithm */ -#define NS_SIG_LABELS 3 /* How many labels in name */ -#define NS_SIG_OTTL 4 /* Original TTL */ -#define NS_SIG_EXPIR 8 /* Expiration time */ -#define NS_SIG_SIGNED 12 /* Signature time */ -#define NS_SIG_FOOT 16 /* Key footprint */ -#define NS_SIG_SIGNER 18 /* Domain name of who signed it */ - -/* How RR types are represented as bit-flags in NXT records */ -#define NS_NXT_BITS 8 -#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS))) -#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS))) -#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS))) -#define NS_NXT_MAX 127 - -/* - * EDNS0 extended flags and option codes, host order. - */ -#define NS_OPT_DNSSEC_OK 0x8000U -#define NS_OPT_NSID 3 - -/* - * Inline versions of get/put short/long. Pointer is advanced. - */ -#define NS_GET16(s, cp) do { \ - const u_char *t_cp = (const u_char *)(cp); \ - (s) = ((uint16_t)t_cp[0] << 8) \ - | ((uint16_t)t_cp[1]) \ - ; \ - (cp) += NS_INT16SZ; \ -} while (/*CONSTCOND*/0) - -#define NS_GET32(l, cp) do { \ - const u_char *t_cp = (const u_char *)(cp); \ - (l) = ((uint32_t)t_cp[0] << 24) \ - | ((uint32_t)t_cp[1] << 16) \ - | ((uint32_t)t_cp[2] << 8) \ - | ((uint32_t)t_cp[3]) \ - ; \ - (cp) += NS_INT32SZ; \ -} while (/*CONSTCOND*/0) - -#define NS_PUT16(s, cp) do { \ - uint32_t t_s = (uint32_t)(s); \ - u_char *t_cp = (u_char *)(cp); \ - *t_cp++ = t_s >> 8; \ - *t_cp = t_s; \ - (cp) += NS_INT16SZ; \ -} while (/*CONSTCOND*/0) - -#define NS_PUT32(l, cp) do { \ - uint32_t t_l = (uint32_t)(l); \ - u_char *t_cp = (u_char *)(cp); \ - *t_cp++ = t_l >> 24; \ - *t_cp++ = t_l >> 16; \ - *t_cp++ = t_l >> 8; \ - *t_cp = t_l; \ - (cp) += NS_INT32SZ; \ -} while (/*CONSTCOND*/0) - -__BEGIN_DECLS - -#if !defined(__LP64__) -/* Annoyingly, LP32 shipped with __ names. */ -#define ns_msg_getflag __ns_msg_getflag -#define ns_get16 __ns_get16 -#define ns_get32 __ns_get32 -#define ns_put16 __ns_put16 -#define ns_put32 __ns_put32 -#define ns_initparse __ns_initparse -#define ns_skiprr __ns_skiprr -#define ns_parserr __ns_parserr -#define ns_parserr2 __ns_parserr2 -#define ns_sprintrr __ns_sprintrr -#define ns_sprintrrf __ns_sprintrrf -#define ns_format_ttl __ns_format_ttl -#define ns_parse_ttl __ns_parse_ttl -#define ns_datetosecs __ns_datetosecs -#define ns_name_ntol __ns_name_ntol -#define ns_name_ntop __ns_name_ntop -#define ns_name_pton __ns_name_pton -#define ns_name_pton2 __ns_name_pton2 -#define ns_name_unpack __ns_name_unpack -#define ns_name_unpack2 __ns_name_unpack2 -#define ns_name_pack __ns_name_pack -#define ns_name_compress __ns_name_compress -#define ns_name_uncompress __ns_name_uncompress -#define ns_name_skip __ns_name_skip -#define ns_name_rollback __ns_name_rollback -#define ns_name_length __ns_name_length -#define ns_name_eq __ns_name_eq -#define ns_name_owned __ns_name_owned -#define ns_name_map __ns_name_map -#define ns_name_labels __ns_name_labels -#define ns_sign __ns_sign -#define ns_sign2 __ns_sign2 -#define ns_sign_tcp __ns_sign_tcp -#define ns_sign_tcp2 __ns_sign_tcp2 -#define ns_sign_tcp_init __ns_sign_tcp_init -#define ns_find_tsig __ns_find_tsig -#define ns_verify __ns_verify -#define ns_verify_tcp __ns_verify_tcp -#define ns_verify_tcp_init __ns_verify_tcp_init -#define ns_samedomain __ns_samedomain -#define ns_subdomain __ns_subdomain -#define ns_makecanon __ns_makecanon -#define ns_samename __ns_samename - -int ns_msg_getflag(ns_msg, int); -uint16_t ns_get16(const u_char*); -uint32_t ns_get32(const u_char*); -void ns_put16(uint16_t, u_char*); -void ns_put32(uint32_t, u_char*); -int ns_initparse(const u_char*, int, ns_msg*); -int ns_skiprr(const u_char*, const u_char*, ns_sect, int); -int ns_parserr(ns_msg*, ns_sect, int, ns_rr*); -int ns_sprintrr(const ns_msg*, const ns_rr*, const char*, const char*, char*, size_t); -int ns_sprintrrf(const u_char*, size_t, const char*, ns_class, ns_type, u_long, const u_char*, - size_t, const char*, const char*, char*, size_t); -int ns_format_ttl(u_long, char*, size_t); -int ns_name_ntol(const u_char*, u_char*, size_t); -int ns_name_ntop(const u_char*, char*, size_t); -int ns_name_pton(const char*, u_char*, size_t); -int ns_name_unpack(const u_char*, const u_char*, const u_char*, u_char*, size_t); -int ns_name_pack(const u_char*, u_char*, int, const u_char**, const u_char**); -int ns_name_uncompress(const u_char*, const u_char*, const u_char*, char*, size_t); -int ns_name_compress(const char*, u_char*, size_t, const u_char**, const u_char**); -int ns_name_skip(const u_char**, const u_char*); -void ns_name_rollback(const u_char*, const u_char**, const u_char**); - -int ns_makecanon(const char*, char*, size_t); -int ns_samename(const char*, const char*); - -#else -/* The names of these symbols were accidentally prefixed with __ in L. */ -/* The duplication here is intentional to avoid declaring different symbols with the same - * declaration. */ - -#if (!defined(__LP64__)) || (defined(__LP64__) && __ANDROID_API__ >= 23) -int ns_msg_getflag(ns_msg, int) __INTRODUCED_IN_64(23); -uint16_t ns_get16(const u_char*) __INTRODUCED_IN_64(23); -uint32_t ns_get32(const u_char*) __INTRODUCED_IN_64(23); -void ns_put16(uint16_t, u_char*) __INTRODUCED_IN_64(23); -void ns_put32(uint32_t, u_char*) __INTRODUCED_IN_64(23); -int ns_initparse(const u_char*, int, ns_msg*) __INTRODUCED_IN_64(23); -int ns_skiprr(const u_char*, const u_char*, ns_sect, int) __INTRODUCED_IN_64(23); -int ns_parserr(ns_msg*, ns_sect, int, ns_rr*) __INTRODUCED_IN_64(23); -int ns_sprintrr(const ns_msg*, const ns_rr*, const char*, const char*, char*, size_t) - __INTRODUCED_IN_64(23); -int ns_sprintrrf(const u_char*, size_t, const char*, ns_class, ns_type, u_long, const u_char*, - size_t, const char*, const char*, char*, size_t) __INTRODUCED_IN_64(23); -int ns_format_ttl(u_long, char*, size_t) __INTRODUCED_IN_64(23); -int ns_name_ntol(const u_char*, u_char*, size_t) __INTRODUCED_IN_64(23); -int ns_name_ntop(const u_char*, char*, size_t) __INTRODUCED_IN_64(23); -int ns_name_pton(const char*, u_char*, size_t) __INTRODUCED_IN_64(23); -int ns_name_unpack(const u_char*, const u_char*, const u_char*, u_char*, size_t) - __INTRODUCED_IN_64(23); -int ns_name_pack(const u_char*, u_char*, int, const u_char**, const u_char**) __INTRODUCED_IN_64(23); -int ns_name_uncompress(const u_char*, const u_char*, const u_char*, char*, size_t) - __INTRODUCED_IN_64(23); -int ns_name_compress(const char*, u_char*, size_t, const u_char**, const u_char**) - __INTRODUCED_IN_64(23); -int ns_name_skip(const u_char**, const u_char*) __INTRODUCED_IN_64(23); -void ns_name_rollback(const u_char*, const u_char**, const u_char**) __INTRODUCED_IN_64(23); - -int ns_makecanon(const char*, char*, size_t) __INTRODUCED_IN_64(23); -int ns_samename(const char*, const char*) __INTRODUCED_IN_64(23); -#endif /* (!defined(__LP64__)) || (defined(__LP64__) && __ANDROID_API__ >= 23) */ - -#endif /* !defined(__LP64__) */ - -__END_DECLS - -#ifdef BIND_4_COMPAT -#include <arpa/nameser_compat.h> -#endif - -#endif /* !_ARPA_NAMESER_H_ */ diff --git a/headers/arpa/nameser_compat.h b/headers/arpa/nameser_compat.h deleted file mode 100644 index e4e933507..000000000 --- a/headers/arpa/nameser_compat.h +++ /dev/null @@ -1,176 +0,0 @@ -/* $NetBSD: nameser_compat.h,v 1.1.1.2 2004/11/07 01:28:27 christos Exp $ */ - -/* Copyright (c) 1983, 1989 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * from nameser.h 8.1 (Berkeley) 6/2/93 - * Id: nameser_compat.h,v 1.8 2006/05/19 02:33:40 marka Exp - */ - -#ifndef _ARPA_NAMESER_COMPAT_ -#define _ARPA_NAMESER_COMPAT_ - -#include <endian.h> -#include <sys/cdefs.h> - -#define __BIND 19950621 /* (DEAD) interface version stamp. */ - -/* - * Structure for query header. The order of the fields is machine- and - * compiler-dependent, depending on the byte/bit order and the layout - * of bit fields. We use bit fields only in int variables, as this - * is all ANSI requires. This requires a somewhat confusing rearrangement. - */ - -typedef struct { - unsigned id :16; /* query identification number */ - /* fields in third byte */ - unsigned rd :1; /* recursion desired */ - unsigned tc :1; /* truncated message */ - unsigned aa :1; /* authoritive answer */ - unsigned opcode :4; /* purpose of message */ - unsigned qr :1; /* response flag */ - /* fields in fourth byte */ - unsigned rcode :4; /* response code */ - unsigned cd: 1; /* checking disabled by resolver */ - unsigned ad: 1; /* authentic data from named */ - unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */ - unsigned ra :1; /* recursion available */ - /* remaining bytes */ - unsigned qdcount :16; /* number of question entries */ - unsigned ancount :16; /* number of answer entries */ - unsigned nscount :16; /* number of authority entries */ - unsigned arcount :16; /* number of resource entries */ -} HEADER; - -#define PACKETSZ NS_PACKETSZ -#define MAXDNAME NS_MAXDNAME -#define MAXCDNAME NS_MAXCDNAME -#define MAXLABEL NS_MAXLABEL -#define HFIXEDSZ NS_HFIXEDSZ -#define QFIXEDSZ NS_QFIXEDSZ -#define RRFIXEDSZ NS_RRFIXEDSZ -#define INT32SZ NS_INT32SZ -#define INT16SZ NS_INT16SZ -#define INT8SZ NS_INT8SZ -#define INADDRSZ NS_INADDRSZ -#define IN6ADDRSZ NS_IN6ADDRSZ -#define INDIR_MASK NS_CMPRSFLGS -#define NAMESERVER_PORT NS_DEFAULTPORT - -#define S_ZONE ns_s_zn -#define S_PREREQ ns_s_pr -#define S_UPDATE ns_s_ud -#define S_ADDT ns_s_ar - -#define QUERY ns_o_query -#define IQUERY ns_o_iquery -#define STATUS ns_o_status -#define NS_NOTIFY_OP ns_o_notify -#define NS_UPDATE_OP ns_o_update - -#define NOERROR ns_r_noerror -#define FORMERR ns_r_formerr -#define SERVFAIL ns_r_servfail -#define NXDOMAIN ns_r_nxdomain -#define NOTIMP ns_r_notimpl -#define REFUSED ns_r_refused -#define YXDOMAIN ns_r_yxdomain -#define YXRRSET ns_r_yxrrset -#define NXRRSET ns_r_nxrrset -#define NOTAUTH ns_r_notauth -#define NOTZONE ns_r_notzone -/*#define BADSIG ns_r_badsig*/ -/*#define BADKEY ns_r_badkey*/ -/*#define BADTIME ns_r_badtime*/ - - -#define DELETE ns_uop_delete -#define ADD ns_uop_add - -#define T_A ns_t_a -#define T_NS ns_t_ns -#define T_MD ns_t_md -#define T_MF ns_t_mf -#define T_CNAME ns_t_cname -#define T_SOA ns_t_soa -#define T_MB ns_t_mb -#define T_MG ns_t_mg -#define T_MR ns_t_mr -#define T_NULL ns_t_null -#define T_WKS ns_t_wks -#define T_PTR ns_t_ptr -#define T_HINFO ns_t_hinfo -#define T_MINFO ns_t_minfo -#define T_MX ns_t_mx -#define T_TXT ns_t_txt -#define T_RP ns_t_rp -#define T_AFSDB ns_t_afsdb -#define T_X25 ns_t_x25 -#define T_ISDN ns_t_isdn -#define T_RT ns_t_rt -#define T_NSAP ns_t_nsap -#define T_NSAP_PTR ns_t_nsap_ptr -#define T_SIG ns_t_sig -#define T_KEY ns_t_key -#define T_PX ns_t_px -#define T_GPOS ns_t_gpos -#define T_AAAA ns_t_aaaa -#define T_LOC ns_t_loc -#define T_NXT ns_t_nxt -#define T_EID ns_t_eid -#define T_NIMLOC ns_t_nimloc -#define T_SRV ns_t_srv -#define T_ATMA ns_t_atma -#define T_NAPTR ns_t_naptr -#define T_A6 ns_t_a6 -#define T_TSIG ns_t_tsig -#define T_IXFR ns_t_ixfr -#define T_AXFR ns_t_axfr -#define T_MAILB ns_t_mailb -#define T_MAILA ns_t_maila -#define T_ANY ns_t_any - -#define C_IN ns_c_in -#define C_CHAOS ns_c_chaos -#define C_HS ns_c_hs -/* BIND_UPDATE */ -#define C_NONE ns_c_none -#define C_ANY ns_c_any - -#define GETSHORT NS_GET16 -#define GETLONG NS_GET32 -#define PUTSHORT NS_PUT16 -#define PUTLONG NS_PUT32 - -#endif /* _ARPA_NAMESER_COMPAT_ */ diff --git a/headers/arpa/telnet.h b/headers/arpa/telnet.h deleted file mode 100644 index 594dc7a70..000000000 --- a/headers/arpa/telnet.h +++ /dev/null @@ -1,309 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)telnet.h 8.2 (Berkeley) 12/15/93 - */ - -#ifndef _ARPA_TELNET_H -#define _ARPA_TELNET_H 1 - -#include <sys/cdefs.h> - -/* - * Definitions for the TELNET protocol. - */ -#define IAC 255 /* interpret as command: */ -#define DONT 254 /* you are not to use option */ -#define DO 253 /* please, you use option */ -#define WONT 252 /* I won't use option */ -#define WILL 251 /* I will use option */ -#define SB 250 /* interpret as subnegotiation */ -#define GA 249 /* you may reverse the line */ -#define EL 248 /* erase the current line */ -#define EC 247 /* erase the current character */ -#define AYT 246 /* are you there */ -#define AO 245 /* abort output--but let prog finish */ -#define IP 244 /* interrupt process--permanently */ -#define BREAK 243 /* break */ -#define DM 242 /* data mark--for connect. cleaning */ -#define NOP 241 /* nop */ -#define SE 240 /* end sub negotiation */ -#define EOR 239 /* end of record (transparent mode) */ -#define ABORT 238 /* Abort process */ -#define SUSP 237 /* Suspend process */ -#define xEOF 236 /* End of file: EOF is already used... */ - -#define SYNCH 242 /* for telfunc calls */ - -#ifdef TELCMDS -char *telcmds[] = { - "EOF", "SUSP", "ABORT", "EOR", - "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", - "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0, -}; -#endif - -#define TELCMD_FIRST xEOF -#define TELCMD_LAST IAC -#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \ - (unsigned int)(x) >= TELCMD_FIRST) -#define TELCMD(x) telcmds[(x)-TELCMD_FIRST] - -/* telnet options */ -#define TELOPT_BINARY 0 /* 8-bit data path */ -#define TELOPT_ECHO 1 /* echo */ -#define TELOPT_RCP 2 /* prepare to reconnect */ -#define TELOPT_SGA 3 /* suppress go ahead */ -#define TELOPT_NAMS 4 /* approximate message size */ -#define TELOPT_STATUS 5 /* give status */ -#define TELOPT_TM 6 /* timing mark */ -#define TELOPT_RCTE 7 /* remote controlled transmission and echo */ -#define TELOPT_NAOL 8 /* negotiate about output line width */ -#define TELOPT_NAOP 9 /* negotiate about output page size */ -#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */ -#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */ -#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */ -#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */ -#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */ -#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */ -#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */ -#define TELOPT_XASCII 17 /* extended ascii character set */ -#define TELOPT_LOGOUT 18 /* force logout */ -#define TELOPT_BM 19 /* byte macro */ -#define TELOPT_DET 20 /* data entry terminal */ -#define TELOPT_SUPDUP 21 /* supdup protocol */ -#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */ -#define TELOPT_SNDLOC 23 /* send location */ -#define TELOPT_TTYPE 24 /* terminal type */ -#define TELOPT_EOR 25 /* end or record */ -#define TELOPT_TUID 26 /* TACACS user identification */ -#define TELOPT_OUTMRK 27 /* output marking */ -#define TELOPT_TTYLOC 28 /* terminal location number */ -#define TELOPT_3270REGIME 29 /* 3270 regime */ -#define TELOPT_X3PAD 30 /* X.3 PAD */ -#define TELOPT_NAWS 31 /* window size */ -#define TELOPT_TSPEED 32 /* terminal speed */ -#define TELOPT_LFLOW 33 /* remote flow control */ -#define TELOPT_LINEMODE 34 /* Linemode option */ -#define TELOPT_XDISPLOC 35 /* X Display Location */ -#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */ -#define TELOPT_AUTHENTICATION 37/* Authenticate */ -#define TELOPT_ENCRYPT 38 /* Encryption option */ -#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */ -#define TELOPT_EXOPL 255 /* extended-options-list */ - - -#define NTELOPTS (1+TELOPT_NEW_ENVIRON) -#ifdef TELOPTS -const char *telopts[NTELOPTS+1] = { - "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", - "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", - "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", - "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", - "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT", - "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", - "TACACS UID", "OUTPUT MARKING", "TTYLOC", - "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW", - "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION", - "ENCRYPT", "NEW-ENVIRON", - 0, -}; -#define TELOPT_FIRST TELOPT_BINARY -#define TELOPT_LAST TELOPT_NEW_ENVIRON -#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST) -#define TELOPT(x) telopts[(x)-TELOPT_FIRST] -#endif - -/* sub-option qualifiers */ -#define TELQUAL_IS 0 /* option is... */ -#define TELQUAL_SEND 1 /* send option */ -#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */ -#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */ -#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */ - -#define LFLOW_OFF 0 /* Disable remote flow control */ -#define LFLOW_ON 1 /* Enable remote flow control */ -#define LFLOW_RESTART_ANY 2 /* Restart output on any char */ -#define LFLOW_RESTART_XON 3 /* Restart output only on XON */ - -/* - * LINEMODE suboptions - */ - -#define LM_MODE 1 -#define LM_FORWARDMASK 2 -#define LM_SLC 3 - -#define MODE_EDIT 0x01 -#define MODE_TRAPSIG 0x02 -#define MODE_ACK 0x04 -#define MODE_SOFT_TAB 0x08 -#define MODE_LIT_ECHO 0x10 - -#define MODE_MASK 0x1f - -/* Not part of protocol, but needed to simplify things... */ -#define MODE_FLOW 0x0100 -#define MODE_ECHO 0x0200 -#define MODE_INBIN 0x0400 -#define MODE_OUTBIN 0x0800 -#define MODE_FORCE 0x1000 - -#define SLC_SYNCH 1 -#define SLC_BRK 2 -#define SLC_IP 3 -#define SLC_AO 4 -#define SLC_AYT 5 -#define SLC_EOR 6 -#define SLC_ABORT 7 -#define SLC_EOF 8 -#define SLC_SUSP 9 -#define SLC_EC 10 -#define SLC_EL 11 -#define SLC_EW 12 -#define SLC_RP 13 -#define SLC_LNEXT 14 -#define SLC_XON 15 -#define SLC_XOFF 16 -#define SLC_FORW1 17 -#define SLC_FORW2 18 - -#define NSLC 18 - -/* - * For backwards compatibility, we define SLC_NAMES to be the - * list of names if SLC_NAMES is not defined. - */ -#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \ - "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \ - "LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0, -#ifdef SLC_NAMES -const char *slc_names[] = { - SLC_NAMELIST -}; -#define SLC_NAMES SLC_NAMELIST -#endif - -#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC) -#define SLC_NAME(x) slc_names[x] - -#define SLC_NOSUPPORT 0 -#define SLC_CANTCHANGE 1 -#define SLC_VARIABLE 2 -#define SLC_DEFAULT 3 -#define SLC_LEVELBITS 0x03 - -#define SLC_FUNC 0 -#define SLC_FLAGS 1 -#define SLC_VALUE 2 - -#define SLC_ACK 0x80 -#define SLC_FLUSHIN 0x40 -#define SLC_FLUSHOUT 0x20 - -#define OLD_ENV_VAR 1 -#define OLD_ENV_VALUE 0 -#define NEW_ENV_VAR 0 -#define NEW_ENV_VALUE 1 -#define ENV_ESC 2 -#define ENV_USERVAR 3 - -/* - * AUTHENTICATION suboptions - */ - -/* - * Who is authenticating who ... - */ -#define AUTH_WHO_CLIENT 0 /* Client authenticating server */ -#define AUTH_WHO_SERVER 1 /* Server authenticating client */ -#define AUTH_WHO_MASK 1 - -/* - * amount of authentication done - */ -#define AUTH_HOW_ONE_WAY 0 -#define AUTH_HOW_MUTUAL 2 -#define AUTH_HOW_MASK 2 - -#define AUTHTYPE_NULL 0 -#define AUTHTYPE_KERBEROS_V4 1 -#define AUTHTYPE_KERBEROS_V5 2 -#define AUTHTYPE_SPX 3 -#define AUTHTYPE_MINK 4 -#define AUTHTYPE_CNT 5 - -#define AUTHTYPE_TEST 99 - -#ifdef AUTH_NAMES -const char *authtype_names[] = { - "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0, -}; -#endif - -#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT) -#define AUTHTYPE_NAME(x) authtype_names[x] - -/* - * ENCRYPTion suboptions - */ -#define ENCRYPT_IS 0 /* I pick encryption type ... */ -#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */ -#define ENCRYPT_REPLY 2 /* Initial setup response */ -#define ENCRYPT_START 3 /* Am starting to send encrypted */ -#define ENCRYPT_END 4 /* Am ending encrypted */ -#define ENCRYPT_REQSTART 5 /* Request you start encrypting */ -#define ENCRYPT_REQEND 6 /* Request you send encrypting */ -#define ENCRYPT_ENC_KEYID 7 -#define ENCRYPT_DEC_KEYID 8 -#define ENCRYPT_CNT 9 - -#define ENCTYPE_ANY 0 -#define ENCTYPE_DES_CFB64 1 -#define ENCTYPE_DES_OFB64 2 -#define ENCTYPE_CNT 3 - -#ifdef ENCRYPT_NAMES -const char *encrypt_names[] = { - "IS", "SUPPORT", "REPLY", "START", "END", - "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID", - 0, -}; -const char *enctype_names[] = { - "ANY", "DES_CFB64", "DES_OFB64", 0, -}; -#endif - - -#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT) -#define ENCRYPT_NAME(x) encrypt_names[x] - -#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT) -#define ENCTYPE_NAME(x) enctype_names[x] - -#endif /* arpa/telnet.h */ diff --git a/headers/assert.h b/headers/assert.h deleted file mode 100644 index 8c456ef7c..000000000 --- a/headers/assert.h +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * There's no include guard in this file because <assert.h> may usefully be - * included multiple times, with and without NDEBUG defined. - */ - -#include <sys/cdefs.h> - -#undef assert -#undef __assert_no_op - -#define __assert_no_op __BIONIC_CAST(static_cast, void, 0) - -#ifdef NDEBUG -# define assert(e) __assert_no_op -#else -# if defined(__cplusplus) || __STDC_VERSION__ >= 199901L -# define assert(e) ((e) ? __assert_no_op : __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, #e)) -# else -# define assert(e) ((e) ? __assert_no_op : __assert(__FILE__, __LINE__, #e)) -# endif -#endif - -#if !defined(__cplusplus) && __STDC_VERSION__ >= 201112L -# undef static_assert -# define static_assert _Static_assert -#endif - -__BEGIN_DECLS -void __assert(const char*, int, const char*) __noreturn; -void __assert2(const char*, int, const char*, const char*) __noreturn; -__END_DECLS diff --git a/headers/bits/fcntl.h b/headers/bits/fcntl.h deleted file mode 100644 index 604d35a3f..000000000 --- a/headers/bits/fcntl.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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_FCNTL_H_ -#define _BITS_FCNTL_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -int fcntl(int, int, ...); - -__END_DECLS - -#endif diff --git a/headers/bits/getopt.h b/headers/bits/getopt.h deleted file mode 100644 index 7153d483c..000000000 --- a/headers/bits/getopt.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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_GETOPT_H_ -#define _BITS_GETOPT_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -int getopt(int, char * const [], const char *); - -extern char *optarg; /* getopt(3) external variables */ -extern int optind, opterr, optopt; - -__END_DECLS - -#endif diff --git a/headers/bits/glibc-syscalls.h b/headers/bits/glibc-syscalls.h deleted file mode 100644 index 3191a23c4..000000000 --- a/headers/bits/glibc-syscalls.h +++ /dev/null @@ -1,1243 +0,0 @@ -/* Generated by gensyscalls.py. Do not edit. */ -#ifndef _BIONIC_BITS_GLIBC_SYSCALLS_H_ -#define _BIONIC_BITS_GLIBC_SYSCALLS_H_ -#if defined(__NR_accept) - #define SYS_accept __NR_accept -#endif -#if defined(__NR_accept4) - #define SYS_accept4 __NR_accept4 -#endif -#if defined(__NR_access) - #define SYS_access __NR_access -#endif -#if defined(__NR_acct) - #define SYS_acct __NR_acct -#endif -#if defined(__NR_add_key) - #define SYS_add_key __NR_add_key -#endif -#if defined(__NR_adjtimex) - #define SYS_adjtimex __NR_adjtimex -#endif -#if defined(__NR_afs_syscall) - #define SYS_afs_syscall __NR_afs_syscall -#endif -#if defined(__NR_alarm) - #define SYS_alarm __NR_alarm -#endif -#if defined(__NR_arch_prctl) - #define SYS_arch_prctl __NR_arch_prctl -#endif -#if defined(__NR_arch_specific_syscall) - #define SYS_arch_specific_syscall __NR_arch_specific_syscall -#endif -#if defined(__NR_arm_fadvise64_64) - #define SYS_arm_fadvise64_64 __NR_arm_fadvise64_64 -#endif -#if defined(__NR_arm_sync_file_range) - #define SYS_arm_sync_file_range __NR_arm_sync_file_range -#endif -#if defined(__NR_bdflush) - #define SYS_bdflush __NR_bdflush -#endif -#if defined(__NR_bind) - #define SYS_bind __NR_bind -#endif -#if defined(__NR_bpf) - #define SYS_bpf __NR_bpf -#endif -#if defined(__NR_break) - #define SYS_break __NR_break -#endif -#if defined(__NR_brk) - #define SYS_brk __NR_brk -#endif -#if defined(__NR_cachectl) - #define SYS_cachectl __NR_cachectl -#endif -#if defined(__NR_cacheflush) - #define SYS_cacheflush __NR_cacheflush -#endif -#if defined(__NR_capget) - #define SYS_capget __NR_capget -#endif -#if defined(__NR_capset) - #define SYS_capset __NR_capset -#endif -#if defined(__NR_chdir) - #define SYS_chdir __NR_chdir -#endif -#if defined(__NR_chmod) - #define SYS_chmod __NR_chmod -#endif -#if defined(__NR_chown) - #define SYS_chown __NR_chown -#endif -#if defined(__NR_chown32) - #define SYS_chown32 __NR_chown32 -#endif -#if defined(__NR_chroot) - #define SYS_chroot __NR_chroot -#endif -#if defined(__NR_clock_adjtime) - #define SYS_clock_adjtime __NR_clock_adjtime -#endif -#if defined(__NR_clock_getres) - #define SYS_clock_getres __NR_clock_getres -#endif -#if defined(__NR_clock_gettime) - #define SYS_clock_gettime __NR_clock_gettime -#endif -#if defined(__NR_clock_nanosleep) - #define SYS_clock_nanosleep __NR_clock_nanosleep -#endif -#if defined(__NR_clock_settime) - #define SYS_clock_settime __NR_clock_settime -#endif -#if defined(__NR_clone) - #define SYS_clone __NR_clone -#endif -#if defined(__NR_close) - #define SYS_close __NR_close -#endif -#if defined(__NR_connect) - #define SYS_connect __NR_connect -#endif -#if defined(__NR_copy_file_range) - #define SYS_copy_file_range __NR_copy_file_range -#endif -#if defined(__NR_creat) - #define SYS_creat __NR_creat -#endif -#if defined(__NR_create_module) - #define SYS_create_module __NR_create_module -#endif -#if defined(__NR_delete_module) - #define SYS_delete_module __NR_delete_module -#endif -#if defined(__NR_dup) - #define SYS_dup __NR_dup -#endif -#if defined(__NR_dup2) - #define SYS_dup2 __NR_dup2 -#endif -#if defined(__NR_dup3) - #define SYS_dup3 __NR_dup3 -#endif -#if defined(__NR_epoll_create) - #define SYS_epoll_create __NR_epoll_create -#endif -#if defined(__NR_epoll_create1) - #define SYS_epoll_create1 __NR_epoll_create1 -#endif -#if defined(__NR_epoll_ctl) - #define SYS_epoll_ctl __NR_epoll_ctl -#endif -#if defined(__NR_epoll_ctl_old) - #define SYS_epoll_ctl_old __NR_epoll_ctl_old -#endif -#if defined(__NR_epoll_pwait) - #define SYS_epoll_pwait __NR_epoll_pwait -#endif -#if defined(__NR_epoll_wait) - #define SYS_epoll_wait __NR_epoll_wait -#endif -#if defined(__NR_epoll_wait_old) - #define SYS_epoll_wait_old __NR_epoll_wait_old -#endif -#if defined(__NR_eventfd) - #define SYS_eventfd __NR_eventfd -#endif -#if defined(__NR_eventfd2) - #define SYS_eventfd2 __NR_eventfd2 -#endif -#if defined(__NR_execve) - #define SYS_execve __NR_execve -#endif -#if defined(__NR_execveat) - #define SYS_execveat __NR_execveat -#endif -#if defined(__NR_exit) - #define SYS_exit __NR_exit -#endif -#if defined(__NR_exit_group) - #define SYS_exit_group __NR_exit_group -#endif -#if defined(__NR_faccessat) - #define SYS_faccessat __NR_faccessat -#endif -#if defined(__NR_fadvise64) - #define SYS_fadvise64 __NR_fadvise64 -#endif -#if defined(__NR_fadvise64_64) - #define SYS_fadvise64_64 __NR_fadvise64_64 -#endif -#if defined(__NR_fallocate) - #define SYS_fallocate __NR_fallocate -#endif -#if defined(__NR_fanotify_init) - #define SYS_fanotify_init __NR_fanotify_init -#endif -#if defined(__NR_fanotify_mark) - #define SYS_fanotify_mark __NR_fanotify_mark -#endif -#if defined(__NR_fchdir) - #define SYS_fchdir __NR_fchdir -#endif -#if defined(__NR_fchmod) - #define SYS_fchmod __NR_fchmod -#endif -#if defined(__NR_fchmodat) - #define SYS_fchmodat __NR_fchmodat -#endif -#if defined(__NR_fchown) - #define SYS_fchown __NR_fchown -#endif -#if defined(__NR_fchown32) - #define SYS_fchown32 __NR_fchown32 -#endif -#if defined(__NR_fchownat) - #define SYS_fchownat __NR_fchownat -#endif -#if defined(__NR_fcntl) - #define SYS_fcntl __NR_fcntl -#endif -#if defined(__NR_fcntl64) - #define SYS_fcntl64 __NR_fcntl64 -#endif -#if defined(__NR_fdatasync) - #define SYS_fdatasync __NR_fdatasync -#endif -#if defined(__NR_fgetxattr) - #define SYS_fgetxattr __NR_fgetxattr -#endif -#if defined(__NR_finit_module) - #define SYS_finit_module __NR_finit_module -#endif -#if defined(__NR_flistxattr) - #define SYS_flistxattr __NR_flistxattr -#endif -#if defined(__NR_flock) - #define SYS_flock __NR_flock -#endif -#if defined(__NR_fork) - #define SYS_fork __NR_fork -#endif -#if defined(__NR_fremovexattr) - #define SYS_fremovexattr __NR_fremovexattr -#endif -#if defined(__NR_fsetxattr) - #define SYS_fsetxattr __NR_fsetxattr -#endif -#if defined(__NR_fstat) - #define SYS_fstat __NR_fstat -#endif -#if defined(__NR_fstat64) - #define SYS_fstat64 __NR_fstat64 -#endif -#if defined(__NR_fstatat64) - #define SYS_fstatat64 __NR_fstatat64 -#endif -#if defined(__NR_fstatfs) - #define SYS_fstatfs __NR_fstatfs -#endif -#if defined(__NR_fstatfs64) - #define SYS_fstatfs64 __NR_fstatfs64 -#endif -#if defined(__NR_fsync) - #define SYS_fsync __NR_fsync -#endif -#if defined(__NR_ftime) - #define SYS_ftime __NR_ftime -#endif -#if defined(__NR_ftruncate) - #define SYS_ftruncate __NR_ftruncate -#endif -#if defined(__NR_ftruncate64) - #define SYS_ftruncate64 __NR_ftruncate64 -#endif -#if defined(__NR_futex) - #define SYS_futex __NR_futex -#endif -#if defined(__NR_futimesat) - #define SYS_futimesat __NR_futimesat -#endif -#if defined(__NR_get_kernel_syms) - #define SYS_get_kernel_syms __NR_get_kernel_syms -#endif -#if defined(__NR_get_mempolicy) - #define SYS_get_mempolicy __NR_get_mempolicy -#endif -#if defined(__NR_get_robust_list) - #define SYS_get_robust_list __NR_get_robust_list -#endif -#if defined(__NR_get_thread_area) - #define SYS_get_thread_area __NR_get_thread_area -#endif -#if defined(__NR_getcpu) - #define SYS_getcpu __NR_getcpu -#endif -#if defined(__NR_getcwd) - #define SYS_getcwd __NR_getcwd -#endif -#if defined(__NR_getdents) - #define SYS_getdents __NR_getdents -#endif -#if defined(__NR_getdents64) - #define SYS_getdents64 __NR_getdents64 -#endif -#if defined(__NR_getegid) - #define SYS_getegid __NR_getegid -#endif -#if defined(__NR_getegid32) - #define SYS_getegid32 __NR_getegid32 -#endif -#if defined(__NR_geteuid) - #define SYS_geteuid __NR_geteuid -#endif -#if defined(__NR_geteuid32) - #define SYS_geteuid32 __NR_geteuid32 -#endif -#if defined(__NR_getgid) - #define SYS_getgid __NR_getgid -#endif -#if defined(__NR_getgid32) - #define SYS_getgid32 __NR_getgid32 -#endif -#if defined(__NR_getgroups) - #define SYS_getgroups __NR_getgroups -#endif -#if defined(__NR_getgroups32) - #define SYS_getgroups32 __NR_getgroups32 -#endif -#if defined(__NR_getitimer) - #define SYS_getitimer __NR_getitimer -#endif -#if defined(__NR_getpeername) - #define SYS_getpeername __NR_getpeername -#endif -#if defined(__NR_getpgid) - #define SYS_getpgid __NR_getpgid -#endif -#if defined(__NR_getpgrp) - #define SYS_getpgrp __NR_getpgrp -#endif -#if defined(__NR_getpid) - #define SYS_getpid __NR_getpid -#endif -#if defined(__NR_getpmsg) - #define SYS_getpmsg __NR_getpmsg -#endif -#if defined(__NR_getppid) - #define SYS_getppid __NR_getppid -#endif -#if defined(__NR_getpriority) - #define SYS_getpriority __NR_getpriority -#endif -#if defined(__NR_getrandom) - #define SYS_getrandom __NR_getrandom -#endif -#if defined(__NR_getresgid) - #define SYS_getresgid __NR_getresgid -#endif -#if defined(__NR_getresgid32) - #define SYS_getresgid32 __NR_getresgid32 -#endif -#if defined(__NR_getresuid) - #define SYS_getresuid __NR_getresuid -#endif -#if defined(__NR_getresuid32) - #define SYS_getresuid32 __NR_getresuid32 -#endif -#if defined(__NR_getrlimit) - #define SYS_getrlimit __NR_getrlimit -#endif -#if defined(__NR_getrusage) - #define SYS_getrusage __NR_getrusage -#endif -#if defined(__NR_getsid) - #define SYS_getsid __NR_getsid -#endif -#if defined(__NR_getsockname) - #define SYS_getsockname __NR_getsockname -#endif -#if defined(__NR_getsockopt) - #define SYS_getsockopt __NR_getsockopt -#endif -#if defined(__NR_gettid) - #define SYS_gettid __NR_gettid -#endif -#if defined(__NR_gettimeofday) - #define SYS_gettimeofday __NR_gettimeofday -#endif -#if defined(__NR_getuid) - #define SYS_getuid __NR_getuid -#endif -#if defined(__NR_getuid32) - #define SYS_getuid32 __NR_getuid32 -#endif -#if defined(__NR_getxattr) - #define SYS_getxattr __NR_getxattr -#endif -#if defined(__NR_gtty) - #define SYS_gtty __NR_gtty -#endif -#if defined(__NR_idle) - #define SYS_idle __NR_idle -#endif -#if defined(__NR_init_module) - #define SYS_init_module __NR_init_module -#endif -#if defined(__NR_inotify_add_watch) - #define SYS_inotify_add_watch __NR_inotify_add_watch -#endif -#if defined(__NR_inotify_init) - #define SYS_inotify_init __NR_inotify_init -#endif -#if defined(__NR_inotify_init1) - #define SYS_inotify_init1 __NR_inotify_init1 -#endif -#if defined(__NR_inotify_rm_watch) - #define SYS_inotify_rm_watch __NR_inotify_rm_watch -#endif -#if defined(__NR_io_cancel) - #define SYS_io_cancel __NR_io_cancel -#endif -#if defined(__NR_io_destroy) - #define SYS_io_destroy __NR_io_destroy -#endif -#if defined(__NR_io_getevents) - #define SYS_io_getevents __NR_io_getevents -#endif -#if defined(__NR_io_setup) - #define SYS_io_setup __NR_io_setup -#endif -#if defined(__NR_io_submit) - #define SYS_io_submit __NR_io_submit -#endif -#if defined(__NR_ioctl) - #define SYS_ioctl __NR_ioctl -#endif -#if defined(__NR_ioperm) - #define SYS_ioperm __NR_ioperm -#endif -#if defined(__NR_iopl) - #define SYS_iopl __NR_iopl -#endif -#if defined(__NR_ioprio_get) - #define SYS_ioprio_get __NR_ioprio_get -#endif -#if defined(__NR_ioprio_set) - #define SYS_ioprio_set __NR_ioprio_set -#endif -#if defined(__NR_ipc) - #define SYS_ipc __NR_ipc -#endif -#if defined(__NR_kcmp) - #define SYS_kcmp __NR_kcmp -#endif -#if defined(__NR_kexec_file_load) - #define SYS_kexec_file_load __NR_kexec_file_load -#endif -#if defined(__NR_kexec_load) - #define SYS_kexec_load __NR_kexec_load -#endif -#if defined(__NR_keyctl) - #define SYS_keyctl __NR_keyctl -#endif -#if defined(__NR_kill) - #define SYS_kill __NR_kill -#endif -#if defined(__NR_lchown) - #define SYS_lchown __NR_lchown -#endif -#if defined(__NR_lchown32) - #define SYS_lchown32 __NR_lchown32 -#endif -#if defined(__NR_lgetxattr) - #define SYS_lgetxattr __NR_lgetxattr -#endif -#if defined(__NR_link) - #define SYS_link __NR_link -#endif -#if defined(__NR_linkat) - #define SYS_linkat __NR_linkat -#endif -#if defined(__NR_listen) - #define SYS_listen __NR_listen -#endif -#if defined(__NR_listxattr) - #define SYS_listxattr __NR_listxattr -#endif -#if defined(__NR_llistxattr) - #define SYS_llistxattr __NR_llistxattr -#endif -#if defined(__NR_llseek) - #define SYS_llseek __NR_llseek -#endif -#if defined(__NR_lock) - #define SYS_lock __NR_lock -#endif -#if defined(__NR_lookup_dcookie) - #define SYS_lookup_dcookie __NR_lookup_dcookie -#endif -#if defined(__NR_lremovexattr) - #define SYS_lremovexattr __NR_lremovexattr -#endif -#if defined(__NR_lseek) - #define SYS_lseek __NR_lseek -#endif -#if defined(__NR_lsetxattr) - #define SYS_lsetxattr __NR_lsetxattr -#endif -#if defined(__NR_lstat) - #define SYS_lstat __NR_lstat -#endif -#if defined(__NR_lstat64) - #define SYS_lstat64 __NR_lstat64 -#endif -#if defined(__NR_madvise) - #define SYS_madvise __NR_madvise -#endif -#if defined(__NR_mbind) - #define SYS_mbind __NR_mbind -#endif -#if defined(__NR_membarrier) - #define SYS_membarrier __NR_membarrier -#endif -#if defined(__NR_memfd_create) - #define SYS_memfd_create __NR_memfd_create -#endif -#if defined(__NR_migrate_pages) - #define SYS_migrate_pages __NR_migrate_pages -#endif -#if defined(__NR_mincore) - #define SYS_mincore __NR_mincore -#endif -#if defined(__NR_mkdir) - #define SYS_mkdir __NR_mkdir -#endif -#if defined(__NR_mkdirat) - #define SYS_mkdirat __NR_mkdirat -#endif -#if defined(__NR_mknod) - #define SYS_mknod __NR_mknod -#endif -#if defined(__NR_mknodat) - #define SYS_mknodat __NR_mknodat -#endif -#if defined(__NR_mlock) - #define SYS_mlock __NR_mlock -#endif -#if defined(__NR_mlock2) - #define SYS_mlock2 __NR_mlock2 -#endif -#if defined(__NR_mlockall) - #define SYS_mlockall __NR_mlockall -#endif -#if defined(__NR_mmap) - #define SYS_mmap __NR_mmap -#endif -#if defined(__NR_mmap2) - #define SYS_mmap2 __NR_mmap2 -#endif -#if defined(__NR_modify_ldt) - #define SYS_modify_ldt __NR_modify_ldt -#endif -#if defined(__NR_mount) - #define SYS_mount __NR_mount -#endif -#if defined(__NR_move_pages) - #define SYS_move_pages __NR_move_pages -#endif -#if defined(__NR_mprotect) - #define SYS_mprotect __NR_mprotect -#endif -#if defined(__NR_mpx) - #define SYS_mpx __NR_mpx -#endif -#if defined(__NR_mq_getsetattr) - #define SYS_mq_getsetattr __NR_mq_getsetattr -#endif -#if defined(__NR_mq_notify) - #define SYS_mq_notify __NR_mq_notify -#endif -#if defined(__NR_mq_open) - #define SYS_mq_open __NR_mq_open -#endif -#if defined(__NR_mq_timedreceive) - #define SYS_mq_timedreceive __NR_mq_timedreceive -#endif -#if defined(__NR_mq_timedsend) - #define SYS_mq_timedsend __NR_mq_timedsend -#endif -#if defined(__NR_mq_unlink) - #define SYS_mq_unlink __NR_mq_unlink -#endif -#if defined(__NR_mremap) - #define SYS_mremap __NR_mremap -#endif -#if defined(__NR_msgctl) - #define SYS_msgctl __NR_msgctl -#endif -#if defined(__NR_msgget) - #define SYS_msgget __NR_msgget -#endif -#if defined(__NR_msgrcv) - #define SYS_msgrcv __NR_msgrcv -#endif -#if defined(__NR_msgsnd) - #define SYS_msgsnd __NR_msgsnd -#endif -#if defined(__NR_msync) - #define SYS_msync __NR_msync -#endif -#if defined(__NR_munlock) - #define SYS_munlock __NR_munlock -#endif -#if defined(__NR_munlockall) - #define SYS_munlockall __NR_munlockall -#endif -#if defined(__NR_munmap) - #define SYS_munmap __NR_munmap -#endif -#if defined(__NR_name_to_handle_at) - #define SYS_name_to_handle_at __NR_name_to_handle_at -#endif -#if defined(__NR_nanosleep) - #define SYS_nanosleep __NR_nanosleep -#endif -#if defined(__NR_newfstatat) - #define SYS_newfstatat __NR_newfstatat -#endif -#if defined(__NR_nfsservctl) - #define SYS_nfsservctl __NR_nfsservctl -#endif -#if defined(__NR_nice) - #define SYS_nice __NR_nice -#endif -#if defined(__NR_oldfstat) - #define SYS_oldfstat __NR_oldfstat -#endif -#if defined(__NR_oldlstat) - #define SYS_oldlstat __NR_oldlstat -#endif -#if defined(__NR_oldolduname) - #define SYS_oldolduname __NR_oldolduname -#endif -#if defined(__NR_oldstat) - #define SYS_oldstat __NR_oldstat -#endif -#if defined(__NR_olduname) - #define SYS_olduname __NR_olduname -#endif -#if defined(__NR_oldwait4) - #define SYS_oldwait4 __NR_oldwait4 -#endif -#if defined(__NR_open) - #define SYS_open __NR_open -#endif -#if defined(__NR_open_by_handle_at) - #define SYS_open_by_handle_at __NR_open_by_handle_at -#endif -#if defined(__NR_openat) - #define SYS_openat __NR_openat -#endif -#if defined(__NR_pause) - #define SYS_pause __NR_pause -#endif -#if defined(__NR_pciconfig_iobase) - #define SYS_pciconfig_iobase __NR_pciconfig_iobase -#endif -#if defined(__NR_pciconfig_read) - #define SYS_pciconfig_read __NR_pciconfig_read -#endif -#if defined(__NR_pciconfig_write) - #define SYS_pciconfig_write __NR_pciconfig_write -#endif -#if defined(__NR_perf_event_open) - #define SYS_perf_event_open __NR_perf_event_open -#endif -#if defined(__NR_personality) - #define SYS_personality __NR_personality -#endif -#if defined(__NR_pipe) - #define SYS_pipe __NR_pipe -#endif -#if defined(__NR_pipe2) - #define SYS_pipe2 __NR_pipe2 -#endif -#if defined(__NR_pivot_root) - #define SYS_pivot_root __NR_pivot_root -#endif -#if defined(__NR_pkey_alloc) - #define SYS_pkey_alloc __NR_pkey_alloc -#endif -#if defined(__NR_pkey_free) - #define SYS_pkey_free __NR_pkey_free -#endif -#if defined(__NR_pkey_mprotect) - #define SYS_pkey_mprotect __NR_pkey_mprotect -#endif -#if defined(__NR_poll) - #define SYS_poll __NR_poll -#endif -#if defined(__NR_ppoll) - #define SYS_ppoll __NR_ppoll -#endif -#if defined(__NR_prctl) - #define SYS_prctl __NR_prctl -#endif -#if defined(__NR_pread64) - #define SYS_pread64 __NR_pread64 -#endif -#if defined(__NR_preadv) - #define SYS_preadv __NR_preadv -#endif -#if defined(__NR_preadv2) - #define SYS_preadv2 __NR_preadv2 -#endif -#if defined(__NR_prlimit64) - #define SYS_prlimit64 __NR_prlimit64 -#endif -#if defined(__NR_process_vm_readv) - #define SYS_process_vm_readv __NR_process_vm_readv -#endif -#if defined(__NR_process_vm_writev) - #define SYS_process_vm_writev __NR_process_vm_writev -#endif -#if defined(__NR_prof) - #define SYS_prof __NR_prof -#endif -#if defined(__NR_profil) - #define SYS_profil __NR_profil -#endif -#if defined(__NR_pselect6) - #define SYS_pselect6 __NR_pselect6 -#endif -#if defined(__NR_ptrace) - #define SYS_ptrace __NR_ptrace -#endif -#if defined(__NR_putpmsg) - #define SYS_putpmsg __NR_putpmsg -#endif -#if defined(__NR_pwrite64) - #define SYS_pwrite64 __NR_pwrite64 -#endif -#if defined(__NR_pwritev) - #define SYS_pwritev __NR_pwritev -#endif -#if defined(__NR_pwritev2) - #define SYS_pwritev2 __NR_pwritev2 -#endif -#if defined(__NR_query_module) - #define SYS_query_module __NR_query_module -#endif -#if defined(__NR_quotactl) - #define SYS_quotactl __NR_quotactl -#endif -#if defined(__NR_read) - #define SYS_read __NR_read -#endif -#if defined(__NR_readahead) - #define SYS_readahead __NR_readahead -#endif -#if defined(__NR_readdir) - #define SYS_readdir __NR_readdir -#endif -#if defined(__NR_readlink) - #define SYS_readlink __NR_readlink -#endif -#if defined(__NR_readlinkat) - #define SYS_readlinkat __NR_readlinkat -#endif -#if defined(__NR_readv) - #define SYS_readv __NR_readv -#endif -#if defined(__NR_reboot) - #define SYS_reboot __NR_reboot -#endif -#if defined(__NR_recv) - #define SYS_recv __NR_recv -#endif -#if defined(__NR_recvfrom) - #define SYS_recvfrom __NR_recvfrom -#endif -#if defined(__NR_recvmmsg) - #define SYS_recvmmsg __NR_recvmmsg -#endif -#if defined(__NR_recvmsg) - #define SYS_recvmsg __NR_recvmsg -#endif -#if defined(__NR_remap_file_pages) - #define SYS_remap_file_pages __NR_remap_file_pages -#endif -#if defined(__NR_removexattr) - #define SYS_removexattr __NR_removexattr -#endif -#if defined(__NR_rename) - #define SYS_rename __NR_rename -#endif -#if defined(__NR_renameat) - #define SYS_renameat __NR_renameat -#endif -#if defined(__NR_renameat2) - #define SYS_renameat2 __NR_renameat2 -#endif -#if defined(__NR_request_key) - #define SYS_request_key __NR_request_key -#endif -#if defined(__NR_restart_syscall) - #define SYS_restart_syscall __NR_restart_syscall -#endif -#if defined(__NR_rmdir) - #define SYS_rmdir __NR_rmdir -#endif -#if defined(__NR_rt_sigaction) - #define SYS_rt_sigaction __NR_rt_sigaction -#endif -#if defined(__NR_rt_sigpending) - #define SYS_rt_sigpending __NR_rt_sigpending -#endif -#if defined(__NR_rt_sigprocmask) - #define SYS_rt_sigprocmask __NR_rt_sigprocmask -#endif -#if defined(__NR_rt_sigqueueinfo) - #define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo -#endif -#if defined(__NR_rt_sigreturn) - #define SYS_rt_sigreturn __NR_rt_sigreturn -#endif -#if defined(__NR_rt_sigsuspend) - #define SYS_rt_sigsuspend __NR_rt_sigsuspend -#endif -#if defined(__NR_rt_sigtimedwait) - #define SYS_rt_sigtimedwait __NR_rt_sigtimedwait -#endif -#if defined(__NR_rt_tgsigqueueinfo) - #define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo -#endif -#if defined(__NR_sched_get_priority_max) - #define SYS_sched_get_priority_max __NR_sched_get_priority_max -#endif -#if defined(__NR_sched_get_priority_min) - #define SYS_sched_get_priority_min __NR_sched_get_priority_min -#endif -#if defined(__NR_sched_getaffinity) - #define SYS_sched_getaffinity __NR_sched_getaffinity -#endif -#if defined(__NR_sched_getattr) - #define SYS_sched_getattr __NR_sched_getattr -#endif -#if defined(__NR_sched_getparam) - #define SYS_sched_getparam __NR_sched_getparam -#endif -#if defined(__NR_sched_getscheduler) - #define SYS_sched_getscheduler __NR_sched_getscheduler -#endif -#if defined(__NR_sched_rr_get_interval) - #define SYS_sched_rr_get_interval __NR_sched_rr_get_interval -#endif -#if defined(__NR_sched_setaffinity) - #define SYS_sched_setaffinity __NR_sched_setaffinity -#endif -#if defined(__NR_sched_setattr) - #define SYS_sched_setattr __NR_sched_setattr -#endif -#if defined(__NR_sched_setparam) - #define SYS_sched_setparam __NR_sched_setparam -#endif -#if defined(__NR_sched_setscheduler) - #define SYS_sched_setscheduler __NR_sched_setscheduler -#endif -#if defined(__NR_sched_yield) - #define SYS_sched_yield __NR_sched_yield -#endif -#if defined(__NR_seccomp) - #define SYS_seccomp __NR_seccomp -#endif -#if defined(__NR_security) - #define SYS_security __NR_security -#endif -#if defined(__NR_select) - #define SYS_select __NR_select -#endif -#if defined(__NR_semctl) - #define SYS_semctl __NR_semctl -#endif -#if defined(__NR_semget) - #define SYS_semget __NR_semget -#endif -#if defined(__NR_semop) - #define SYS_semop __NR_semop -#endif -#if defined(__NR_semtimedop) - #define SYS_semtimedop __NR_semtimedop -#endif -#if defined(__NR_send) - #define SYS_send __NR_send -#endif -#if defined(__NR_sendfile) - #define SYS_sendfile __NR_sendfile -#endif -#if defined(__NR_sendfile64) - #define SYS_sendfile64 __NR_sendfile64 -#endif -#if defined(__NR_sendmmsg) - #define SYS_sendmmsg __NR_sendmmsg -#endif -#if defined(__NR_sendmsg) - #define SYS_sendmsg __NR_sendmsg -#endif -#if defined(__NR_sendto) - #define SYS_sendto __NR_sendto -#endif -#if defined(__NR_set_mempolicy) - #define SYS_set_mempolicy __NR_set_mempolicy -#endif -#if defined(__NR_set_robust_list) - #define SYS_set_robust_list __NR_set_robust_list -#endif -#if defined(__NR_set_thread_area) - #define SYS_set_thread_area __NR_set_thread_area -#endif -#if defined(__NR_set_tid_address) - #define SYS_set_tid_address __NR_set_tid_address -#endif -#if defined(__NR_setdomainname) - #define SYS_setdomainname __NR_setdomainname -#endif -#if defined(__NR_setfsgid) - #define SYS_setfsgid __NR_setfsgid -#endif -#if defined(__NR_setfsgid32) - #define SYS_setfsgid32 __NR_setfsgid32 -#endif -#if defined(__NR_setfsuid) - #define SYS_setfsuid __NR_setfsuid -#endif -#if defined(__NR_setfsuid32) - #define SYS_setfsuid32 __NR_setfsuid32 -#endif -#if defined(__NR_setgid) - #define SYS_setgid __NR_setgid -#endif -#if defined(__NR_setgid32) - #define SYS_setgid32 __NR_setgid32 -#endif -#if defined(__NR_setgroups) - #define SYS_setgroups __NR_setgroups -#endif -#if defined(__NR_setgroups32) - #define SYS_setgroups32 __NR_setgroups32 -#endif -#if defined(__NR_sethostname) - #define SYS_sethostname __NR_sethostname -#endif -#if defined(__NR_setitimer) - #define SYS_setitimer __NR_setitimer -#endif -#if defined(__NR_setns) - #define SYS_setns __NR_setns -#endif -#if defined(__NR_setpgid) - #define SYS_setpgid __NR_setpgid -#endif -#if defined(__NR_setpriority) - #define SYS_setpriority __NR_setpriority -#endif -#if defined(__NR_setregid) - #define SYS_setregid __NR_setregid -#endif -#if defined(__NR_setregid32) - #define SYS_setregid32 __NR_setregid32 -#endif -#if defined(__NR_setresgid) - #define SYS_setresgid __NR_setresgid -#endif -#if defined(__NR_setresgid32) - #define SYS_setresgid32 __NR_setresgid32 -#endif -#if defined(__NR_setresuid) - #define SYS_setresuid __NR_setresuid -#endif -#if defined(__NR_setresuid32) - #define SYS_setresuid32 __NR_setresuid32 -#endif -#if defined(__NR_setreuid) - #define SYS_setreuid __NR_setreuid -#endif -#if defined(__NR_setreuid32) - #define SYS_setreuid32 __NR_setreuid32 -#endif -#if defined(__NR_setrlimit) - #define SYS_setrlimit __NR_setrlimit -#endif -#if defined(__NR_setsid) - #define SYS_setsid __NR_setsid -#endif -#if defined(__NR_setsockopt) - #define SYS_setsockopt __NR_setsockopt -#endif -#if defined(__NR_settimeofday) - #define SYS_settimeofday __NR_settimeofday -#endif -#if defined(__NR_setuid) - #define SYS_setuid __NR_setuid -#endif -#if defined(__NR_setuid32) - #define SYS_setuid32 __NR_setuid32 -#endif -#if defined(__NR_setxattr) - #define SYS_setxattr __NR_setxattr -#endif -#if defined(__NR_sgetmask) - #define SYS_sgetmask __NR_sgetmask -#endif -#if defined(__NR_shmat) - #define SYS_shmat __NR_shmat -#endif -#if defined(__NR_shmctl) - #define SYS_shmctl __NR_shmctl -#endif -#if defined(__NR_shmdt) - #define SYS_shmdt __NR_shmdt -#endif -#if defined(__NR_shmget) - #define SYS_shmget __NR_shmget -#endif -#if defined(__NR_shutdown) - #define SYS_shutdown __NR_shutdown -#endif -#if defined(__NR_sigaction) - #define SYS_sigaction __NR_sigaction -#endif -#if defined(__NR_sigaltstack) - #define SYS_sigaltstack __NR_sigaltstack -#endif -#if defined(__NR_signal) - #define SYS_signal __NR_signal -#endif -#if defined(__NR_signalfd) - #define SYS_signalfd __NR_signalfd -#endif -#if defined(__NR_signalfd4) - #define SYS_signalfd4 __NR_signalfd4 -#endif -#if defined(__NR_sigpending) - #define SYS_sigpending __NR_sigpending -#endif -#if defined(__NR_sigprocmask) - #define SYS_sigprocmask __NR_sigprocmask -#endif -#if defined(__NR_sigreturn) - #define SYS_sigreturn __NR_sigreturn -#endif -#if defined(__NR_sigsuspend) - #define SYS_sigsuspend __NR_sigsuspend -#endif -#if defined(__NR_socket) - #define SYS_socket __NR_socket -#endif -#if defined(__NR_socketcall) - #define SYS_socketcall __NR_socketcall -#endif -#if defined(__NR_socketpair) - #define SYS_socketpair __NR_socketpair -#endif -#if defined(__NR_splice) - #define SYS_splice __NR_splice -#endif -#if defined(__NR_ssetmask) - #define SYS_ssetmask __NR_ssetmask -#endif -#if defined(__NR_stat) - #define SYS_stat __NR_stat -#endif -#if defined(__NR_stat64) - #define SYS_stat64 __NR_stat64 -#endif -#if defined(__NR_statfs) - #define SYS_statfs __NR_statfs -#endif -#if defined(__NR_statfs64) - #define SYS_statfs64 __NR_statfs64 -#endif -#if defined(__NR_stime) - #define SYS_stime __NR_stime -#endif -#if defined(__NR_stty) - #define SYS_stty __NR_stty -#endif -#if defined(__NR_swapoff) - #define SYS_swapoff __NR_swapoff -#endif -#if defined(__NR_swapon) - #define SYS_swapon __NR_swapon -#endif -#if defined(__NR_symlink) - #define SYS_symlink __NR_symlink -#endif -#if defined(__NR_symlinkat) - #define SYS_symlinkat __NR_symlinkat -#endif -#if defined(__NR_sync) - #define SYS_sync __NR_sync -#endif -#if defined(__NR_sync_file_range) - #define SYS_sync_file_range __NR_sync_file_range -#endif -#if defined(__NR_sync_file_range2) - #define SYS_sync_file_range2 __NR_sync_file_range2 -#endif -#if defined(__NR_syncfs) - #define SYS_syncfs __NR_syncfs -#endif -#if defined(__NR_syscall) - #define SYS_syscall __NR_syscall -#endif -#if defined(__NR_syscalls) - #define SYS_syscalls __NR_syscalls -#endif -#if defined(__NR_sysfs) - #define SYS_sysfs __NR_sysfs -#endif -#if defined(__NR_sysinfo) - #define SYS_sysinfo __NR_sysinfo -#endif -#if defined(__NR_syslog) - #define SYS_syslog __NR_syslog -#endif -#if defined(__NR_sysmips) - #define SYS_sysmips __NR_sysmips -#endif -#if defined(__NR_tee) - #define SYS_tee __NR_tee -#endif -#if defined(__NR_tgkill) - #define SYS_tgkill __NR_tgkill -#endif -#if defined(__NR_time) - #define SYS_time __NR_time -#endif -#if defined(__NR_timer_create) - #define SYS_timer_create __NR_timer_create -#endif -#if defined(__NR_timer_delete) - #define SYS_timer_delete __NR_timer_delete -#endif -#if defined(__NR_timer_getoverrun) - #define SYS_timer_getoverrun __NR_timer_getoverrun -#endif -#if defined(__NR_timer_gettime) - #define SYS_timer_gettime __NR_timer_gettime -#endif -#if defined(__NR_timer_settime) - #define SYS_timer_settime __NR_timer_settime -#endif -#if defined(__NR_timerfd) - #define SYS_timerfd __NR_timerfd -#endif -#if defined(__NR_timerfd_create) - #define SYS_timerfd_create __NR_timerfd_create -#endif -#if defined(__NR_timerfd_gettime) - #define SYS_timerfd_gettime __NR_timerfd_gettime -#endif -#if defined(__NR_timerfd_settime) - #define SYS_timerfd_settime __NR_timerfd_settime -#endif -#if defined(__NR_times) - #define SYS_times __NR_times -#endif -#if defined(__NR_tkill) - #define SYS_tkill __NR_tkill -#endif -#if defined(__NR_truncate) - #define SYS_truncate __NR_truncate -#endif -#if defined(__NR_truncate64) - #define SYS_truncate64 __NR_truncate64 -#endif -#if defined(__NR_tuxcall) - #define SYS_tuxcall __NR_tuxcall -#endif -#if defined(__NR_ugetrlimit) - #define SYS_ugetrlimit __NR_ugetrlimit -#endif -#if defined(__NR_ulimit) - #define SYS_ulimit __NR_ulimit -#endif -#if defined(__NR_umask) - #define SYS_umask __NR_umask -#endif -#if defined(__NR_umount) - #define SYS_umount __NR_umount -#endif -#if defined(__NR_umount2) - #define SYS_umount2 __NR_umount2 -#endif -#if defined(__NR_uname) - #define SYS_uname __NR_uname -#endif -#if defined(__NR_unlink) - #define SYS_unlink __NR_unlink -#endif -#if defined(__NR_unlinkat) - #define SYS_unlinkat __NR_unlinkat -#endif -#if defined(__NR_unshare) - #define SYS_unshare __NR_unshare -#endif -#if defined(__NR_uselib) - #define SYS_uselib __NR_uselib -#endif -#if defined(__NR_userfaultfd) - #define SYS_userfaultfd __NR_userfaultfd -#endif -#if defined(__NR_ustat) - #define SYS_ustat __NR_ustat -#endif -#if defined(__NR_utime) - #define SYS_utime __NR_utime -#endif -#if defined(__NR_utimensat) - #define SYS_utimensat __NR_utimensat -#endif -#if defined(__NR_utimes) - #define SYS_utimes __NR_utimes -#endif -#if defined(__NR_vfork) - #define SYS_vfork __NR_vfork -#endif -#if defined(__NR_vhangup) - #define SYS_vhangup __NR_vhangup -#endif -#if defined(__NR_vm86) - #define SYS_vm86 __NR_vm86 -#endif -#if defined(__NR_vm86old) - #define SYS_vm86old __NR_vm86old -#endif -#if defined(__NR_vmsplice) - #define SYS_vmsplice __NR_vmsplice -#endif -#if defined(__NR_vserver) - #define SYS_vserver __NR_vserver -#endif -#if defined(__NR_wait4) - #define SYS_wait4 __NR_wait4 -#endif -#if defined(__NR_waitid) - #define SYS_waitid __NR_waitid -#endif -#if defined(__NR_waitpid) - #define SYS_waitpid __NR_waitpid -#endif -#if defined(__NR_write) - #define SYS_write __NR_write -#endif -#if defined(__NR_writev) - #define SYS_writev __NR_writev -#endif -#endif /* _BIONIC_BITS_GLIBC_SYSCALLS_H_ */ diff --git a/headers/bits/ioctl.h b/headers/bits/ioctl.h deleted file mode 100644 index 53116cae6..000000000 --- a/headers/bits/ioctl.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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_IOCTL_H_ -#define _BITS_IOCTL_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -int ioctl(int, int, ...); - -__END_DECLS - -#endif diff --git a/headers/bits/lockf.h b/headers/bits/lockf.h deleted file mode 100644 index 522291047..000000000 --- a/headers/bits/lockf.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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_LOCKF_H_ -#define _BITS_LOCKF_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#define F_ULOCK 0 -#define F_LOCK 1 -#define F_TLOCK 2 -#define F_TEST 3 - -__BEGIN_DECLS - -#if defined(__USE_FILE_OFFSET64) -int lockf(int, int, off_t) __RENAME(lockf64); -#else - -#if __ANDROID_API__ >= 24 -int lockf(int, int, off_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif - -#if __ANDROID_API__ >= 24 -int lockf64(int, int, off64_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -__END_DECLS - -#endif diff --git a/headers/bits/mbstate_t.h b/headers/bits/mbstate_t.h deleted file mode 100644 index 057a2c99c..000000000 --- a/headers/bits/mbstate_t.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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_MBSTATE_T_H_ -#define _BITS_MBSTATE_T_H_ - -#include <sys/cdefs.h> - -typedef struct { - unsigned char __seq[4]; -#ifdef __LP64__ - unsigned char __reserved[4]; -#endif -} mbstate_t; - -#endif diff --git a/headers/bits/posix_limits.h b/headers/bits/posix_limits.h deleted file mode 100644 index c498c6919..000000000 --- a/headers/bits/posix_limits.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> - -/* 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 200809L -#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 200809L -#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 /* fdatasync() supported */ -#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 200809L -#define _POSIX_MEMLOCK_RANGE 200809L -#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 200809L -#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 200809L -#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 -#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 - -#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 diff --git a/headers/bits/pthread_types.h b/headers/bits/pthread_types.h deleted file mode 100644 index 7fc379b6a..000000000 --- a/headers/bits/pthread_types.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -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 -} pthread_attr_t; - -typedef struct { -#if defined(__LP64__) - int64_t __private[4]; -#else - int32_t __private[8]; -#endif -} pthread_barrier_t; - -typedef int pthread_barrierattr_t; - -typedef struct { -#if defined(__LP64__) - int32_t __private[12]; -#else - int32_t __private[1]; -#endif -} pthread_cond_t; - -typedef long pthread_condattr_t; - -typedef int pthread_key_t; - -typedef struct { -#if defined(__LP64__) - int32_t __private[10]; -#else - int32_t __private[1]; -#endif -} pthread_mutex_t; - -typedef long pthread_mutexattr_t; - -typedef int pthread_once_t; - -typedef struct { -#if defined(__LP64__) - int32_t __private[14]; -#else - int32_t __private[10]; -#endif -} pthread_rwlock_t; - -typedef long pthread_rwlockattr_t; - -typedef struct { -#if defined(__LP64__) - int64_t __private; -#else - int32_t __private[2]; -#endif -} pthread_spinlock_t; - -typedef long pthread_t; - -#endif diff --git a/headers/bits/sa_family_t.h b/headers/bits/sa_family_t.h deleted file mode 100644 index 98ca27f18..000000000 --- a/headers/bits/sa_family_t.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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_SA_FAMILY_T_H_ -#define _BITS_SA_FAMILY_T_H_ - -#include <sys/cdefs.h> - -typedef unsigned short sa_family_t; - -#endif diff --git a/headers/bits/seek_constants.h b/headers/bits/seek_constants.h deleted file mode 100644 index 34c5866c6..000000000 --- a/headers/bits/seek_constants.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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_SEEK_CONSTANTS_H_ -#define _BITS_SEEK_CONSTANTS_H_ - -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -#endif diff --git a/headers/bits/strcasecmp.h b/headers/bits/strcasecmp.h deleted file mode 100644 index f5e98a0c7..000000000 --- a/headers/bits/strcasecmp.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <xlocale.h> - -__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 */ - -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 */ - - -__END_DECLS - -#endif diff --git a/headers/bits/struct_file.h b/headers/bits/struct_file.h deleted file mode 100644 index 08e18a13a..000000000 --- a/headers/bits/struct_file.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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_FILE_H -#define BITS_FILE_H - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -struct __sFILE { -#if defined(__LP64__) - char __private[152]; -#else - char __private[84]; -#endif -} __attribute__((aligned(sizeof(void*)))); - -__END_DECLS - -#endif /* BITS_FILE_H */ diff --git a/headers/bits/sysconf.h b/headers/bits/sysconf.h deleted file mode 100644 index 2cbbb11e9..000000000 --- a/headers/bits/sysconf.h +++ /dev/null @@ -1,196 +0,0 @@ -/* - * 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_SYSCONF_H_ -#define _BITS_SYSCONF_H_ - -#include <sys/cdefs.h> - -/* as listed by Posix sysconf() description */ -/* most of these will return -1 and ENOSYS */ - -#define _SC_ARG_MAX 0x0000 -#define _SC_BC_BASE_MAX 0x0001 -#define _SC_BC_DIM_MAX 0x0002 -#define _SC_BC_SCALE_MAX 0x0003 -#define _SC_BC_STRING_MAX 0x0004 -#define _SC_CHILD_MAX 0x0005 -#define _SC_CLK_TCK 0x0006 -#define _SC_COLL_WEIGHTS_MAX 0x0007 -#define _SC_EXPR_NEST_MAX 0x0008 -#define _SC_LINE_MAX 0x0009 -#define _SC_NGROUPS_MAX 0x000a -#define _SC_OPEN_MAX 0x000b -#define _SC_PASS_MAX 0x000c -#define _SC_2_C_BIND 0x000d -#define _SC_2_C_DEV 0x000e -#define _SC_2_C_VERSION 0x000f /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_2_CHAR_TERM 0x0010 -#define _SC_2_FORT_DEV 0x0011 -#define _SC_2_FORT_RUN 0x0012 -#define _SC_2_LOCALEDEF 0x0013 -#define _SC_2_SW_DEV 0x0014 -#define _SC_2_UPE 0x0015 -#define _SC_2_VERSION 0x0016 -#define _SC_JOB_CONTROL 0x0017 -#define _SC_SAVED_IDS 0x0018 -#define _SC_VERSION 0x0019 -#define _SC_RE_DUP_MAX 0x001a -#define _SC_STREAM_MAX 0x001b -#define _SC_TZNAME_MAX 0x001c -#define _SC_XOPEN_CRYPT 0x001d -#define _SC_XOPEN_ENH_I18N 0x001e -#define _SC_XOPEN_SHM 0x001f -#define _SC_XOPEN_VERSION 0x0020 -#define _SC_XOPEN_XCU_VERSION 0x0021 /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_XOPEN_REALTIME 0x0022 -#define _SC_XOPEN_REALTIME_THREADS 0x0023 -#define _SC_XOPEN_LEGACY 0x0024 -#define _SC_ATEXIT_MAX 0x0025 -#define _SC_IOV_MAX 0x0026 -#define _SC_PAGESIZE 0x0027 -#define _SC_PAGE_SIZE 0x0028 -#define _SC_XOPEN_UNIX 0x0029 -#define _SC_XBS5_ILP32_OFF32 0x002a /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_XBS5_ILP32_OFFBIG 0x002b /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_XBS5_LP64_OFF64 0x002c /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_XBS5_LPBIG_OFFBIG 0x002d /* Obsolescent in POSIX.1-2008, TODO: remove it. */ -#define _SC_AIO_LISTIO_MAX 0x002e -#define _SC_AIO_MAX 0x002f -#define _SC_AIO_PRIO_DELTA_MAX 0x0030 -#define _SC_DELAYTIMER_MAX 0x0031 -#define _SC_MQ_OPEN_MAX 0x0032 -#define _SC_MQ_PRIO_MAX 0x0033 -#define _SC_RTSIG_MAX 0x0034 -#define _SC_SEM_NSEMS_MAX 0x0035 -#define _SC_SEM_VALUE_MAX 0x0036 -#define _SC_SIGQUEUE_MAX 0x0037 -#define _SC_TIMER_MAX 0x0038 -#define _SC_ASYNCHRONOUS_IO 0x0039 -#define _SC_FSYNC 0x003a -#define _SC_MAPPED_FILES 0x003b -#define _SC_MEMLOCK 0x003c -#define _SC_MEMLOCK_RANGE 0x003d -#define _SC_MEMORY_PROTECTION 0x003e -#define _SC_MESSAGE_PASSING 0x003f -#define _SC_PRIORITIZED_IO 0x0040 -#define _SC_PRIORITY_SCHEDULING 0x0041 -#define _SC_REALTIME_SIGNALS 0x0042 -#define _SC_SEMAPHORES 0x0043 -#define _SC_SHARED_MEMORY_OBJECTS 0x0044 -#define _SC_SYNCHRONIZED_IO 0x0045 -#define _SC_TIMERS 0x0046 -#define _SC_GETGR_R_SIZE_MAX 0x0047 -#define _SC_GETPW_R_SIZE_MAX 0x0048 -#define _SC_LOGIN_NAME_MAX 0x0049 -#define _SC_THREAD_DESTRUCTOR_ITERATIONS 0x004a -#define _SC_THREAD_KEYS_MAX 0x004b -#define _SC_THREAD_STACK_MIN 0x004c -#define _SC_THREAD_THREADS_MAX 0x004d -#define _SC_TTY_NAME_MAX 0x004e - -#define _SC_THREADS 0x004f -#define _SC_THREAD_ATTR_STACKADDR 0x0050 -#define _SC_THREAD_ATTR_STACKSIZE 0x0051 -#define _SC_THREAD_PRIORITY_SCHEDULING 0x0052 -#define _SC_THREAD_PRIO_INHERIT 0x0053 -#define _SC_THREAD_PRIO_PROTECT 0x0054 -#define _SC_THREAD_SAFE_FUNCTIONS 0x0055 - -#define _SC_NPROCESSORS_CONF 0x0060 -#define _SC_NPROCESSORS_ONLN 0x0061 -#define _SC_PHYS_PAGES 0x0062 -#define _SC_AVPHYS_PAGES 0x0063 -#define _SC_MONOTONIC_CLOCK 0x0064 - -#define _SC_2_PBS 0x0065 -#define _SC_2_PBS_ACCOUNTING 0x0066 -#define _SC_2_PBS_CHECKPOINT 0x0067 -#define _SC_2_PBS_LOCATE 0x0068 -#define _SC_2_PBS_MESSAGE 0x0069 -#define _SC_2_PBS_TRACK 0x006a -#define _SC_ADVISORY_INFO 0x006b -#define _SC_BARRIERS 0x006c -#define _SC_CLOCK_SELECTION 0x006d -#define _SC_CPUTIME 0x006e -#define _SC_HOST_NAME_MAX 0x006f -#define _SC_IPV6 0x0070 -#define _SC_RAW_SOCKETS 0x0071 -#define _SC_READER_WRITER_LOCKS 0x0072 -#define _SC_REGEXP 0x0073 -#define _SC_SHELL 0x0074 -#define _SC_SPAWN 0x0075 -#define _SC_SPIN_LOCKS 0x0076 -#define _SC_SPORADIC_SERVER 0x0077 -#define _SC_SS_REPL_MAX 0x0078 -#define _SC_SYMLOOP_MAX 0x0079 -#define _SC_THREAD_CPUTIME 0x007a -#define _SC_THREAD_PROCESS_SHARED 0x007b -#define _SC_THREAD_ROBUST_PRIO_INHERIT 0x007c -#define _SC_THREAD_ROBUST_PRIO_PROTECT 0x007d -#define _SC_THREAD_SPORADIC_SERVER 0x007e -#define _SC_TIMEOUTS 0x007f -#define _SC_TRACE 0x0080 -#define _SC_TRACE_EVENT_FILTER 0x0081 -#define _SC_TRACE_EVENT_NAME_MAX 0x0082 -#define _SC_TRACE_INHERIT 0x0083 -#define _SC_TRACE_LOG 0x0084 -#define _SC_TRACE_NAME_MAX 0x0085 -#define _SC_TRACE_SYS_MAX 0x0086 -#define _SC_TRACE_USER_EVENT_MAX 0x0087 -#define _SC_TYPED_MEMORY_OBJECTS 0x0088 -#define _SC_V7_ILP32_OFF32 0x0089 -#define _SC_V7_ILP32_OFFBIG 0x008a -#define _SC_V7_LP64_OFF64 0x008b -#define _SC_V7_LPBIG_OFFBIG 0x008c -#define _SC_XOPEN_STREAMS 0x008d -#define _SC_XOPEN_UUCP 0x008e - -#define _SC_LEVEL1_ICACHE_SIZE 0x008f -#define _SC_LEVEL1_ICACHE_ASSOC 0x0090 -#define _SC_LEVEL1_ICACHE_LINESIZE 0x0091 -#define _SC_LEVEL1_DCACHE_SIZE 0x0092 -#define _SC_LEVEL1_DCACHE_ASSOC 0x0093 -#define _SC_LEVEL1_DCACHE_LINESIZE 0x0094 -#define _SC_LEVEL2_CACHE_SIZE 0x0095 -#define _SC_LEVEL2_CACHE_ASSOC 0x0096 -#define _SC_LEVEL2_CACHE_LINESIZE 0x0097 -#define _SC_LEVEL3_CACHE_SIZE 0x0098 -#define _SC_LEVEL3_CACHE_ASSOC 0x0099 -#define _SC_LEVEL3_CACHE_LINESIZE 0x009a -#define _SC_LEVEL4_CACHE_SIZE 0x009b -#define _SC_LEVEL4_CACHE_ASSOC 0x009c -#define _SC_LEVEL4_CACHE_LINESIZE 0x009d - -__BEGIN_DECLS - -long sysconf(int __name); - -__END_DECLS - -#endif /* _SYS_SYSCONF_H_ */ diff --git a/headers/bits/timespec.h b/headers/bits/timespec.h deleted file mode 100644 index df7a7ce4d..000000000 --- a/headers/bits/timespec.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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_TIMESPEC_H_ -#define _BITS_TIMESPEC_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* - * This file is used to include timespec definition without introducing the whole - * <linux/time.h>, <sys/time.h> or <time.h>. - */ -#ifndef _STRUCT_TIMESPEC -#define _STRUCT_TIMESPEC -struct timespec { - time_t tv_sec; - long tv_nsec; -}; -#endif - -#endif diff --git a/headers/bits/wchar_limits.h b/headers/bits/wchar_limits.h deleted file mode 100644 index ffad6041f..000000000 --- a/headers/bits/wchar_limits.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> - -/* 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 -# define WCHAR_MIN (-(WCHAR_MAX) - 1) -#endif - -#endif diff --git a/headers/bits/wctype.h b/headers/bits/wctype.h deleted file mode 100644 index 426e5ce73..000000000 --- a/headers/bits/wctype.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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_WCTYPE_H_ -#define _BITS_WCTYPE_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -typedef __WINT_TYPE__ wint_t; - -#define WEOF __BIONIC_CAST(static_cast, wint_t, -1) - -int iswalnum(wint_t); -int iswalpha(wint_t); - -#if __ANDROID_API__ >= 21 -int iswblank(wint_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int iswcntrl(wint_t); -int iswdigit(wint_t); -int iswgraph(wint_t); -int iswlower(wint_t); -int iswprint(wint_t); -int iswpunct(wint_t); -int iswspace(wint_t); -int iswupper(wint_t); -int iswxdigit(wint_t); - -wint_t towlower(wint_t); -wint_t towupper(wint_t); - -typedef long wctype_t; -wctype_t wctype(const char*); -int iswctype(wint_t, wctype_t); - -typedef const void* wctrans_t; -wint_t towctrans(wint_t, wctrans_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD; -wctrans_t wctrans(const char*) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD; - -__END_DECLS - -#endif diff --git a/headers/byteswap.h b/headers/byteswap.h deleted file mode 100644 index 0838e6c54..000000000 --- a/headers/byteswap.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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 _BYTESWAP_H_ -#define _BYTESWAP_H_ - -#include <sys/cdefs.h> -#include <sys/endian.h> - -#define bswap_16(x) __swap16(x) -#define bswap_32(x) __swap32(x) -#define bswap_64(x) __swap64(x) - -#endif /* _BYTESWAP_H_ */ diff --git a/headers/complex.h b/headers/complex.h deleted file mode 100644 index 19cc73f2f..000000000 --- a/headers/complex.h +++ /dev/null @@ -1,296 +0,0 @@ -/*- - * Copyright (c) 2001-2011 The FreeBSD Project. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _COMPLEX_H -#define _COMPLEX_H - -#include <sys/cdefs.h> - -#ifdef __GNUC__ -#define _Complex_I ((float _Complex)1.0i) -#endif - -#ifdef __generic -_Static_assert(__generic(_Complex_I, float _Complex, 1, 0), - "_Complex_I must be of type float _Complex"); -#endif - -#define complex _Complex -#define I _Complex_I - -#if __STDC_VERSION__ >= 201112L -#ifdef __clang__ -#define CMPLX(x, y) ((double complex){ x, y }) -#define CMPLXF(x, y) ((float complex){ x, y }) -#define CMPLXL(x, y) ((long double complex){ x, y }) -#else -#define CMPLX(x, y) __builtin_complex((double)(x), (double)(y)) -#define CMPLXF(x, y) __builtin_complex((float)(x), (float)(y)) -#define CMPLXL(x, y) __builtin_complex((long double)(x), (long double)(y)) -#endif -#endif - -__BEGIN_DECLS - -/* 7.3.5 Trigonometric functions */ -/* 7.3.5.1 The cacos functions */ - -#if __ANDROID_API__ >= 23 -double complex cacos(double complex) __INTRODUCED_IN(23); -float complex cacosf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex cacosl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.5.2 The casin functions */ - -#if __ANDROID_API__ >= 23 -double complex casin(double complex) __INTRODUCED_IN(23); -float complex casinf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex casinl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.5.1 The catan functions */ - -#if __ANDROID_API__ >= 23 -double complex catan(double complex) __INTRODUCED_IN(23); -float complex catanf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex catanl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.5.1 The ccos functions */ - -#if __ANDROID_API__ >= 23 -double complex ccos(double complex) __INTRODUCED_IN(23); -float complex ccosf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex ccosl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.5.1 The csin functions */ - -#if __ANDROID_API__ >= 23 -double complex csin(double complex) __INTRODUCED_IN(23); -float complex csinf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex csinl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.5.1 The ctan functions */ - -#if __ANDROID_API__ >= 23 -double complex ctan(double complex) __INTRODUCED_IN(23); -float complex ctanf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex ctanl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -/* 7.3.6 Hyperbolic functions */ -/* 7.3.6.1 The cacosh functions */ - -#if __ANDROID_API__ >= 23 -double complex cacosh(double complex) __INTRODUCED_IN(23); -float complex cacoshf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex cacoshl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.6.2 The casinh functions */ - -#if __ANDROID_API__ >= 23 -double complex casinh(double complex) __INTRODUCED_IN(23); -float complex casinhf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex casinhl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.6.3 The catanh functions */ - -#if __ANDROID_API__ >= 23 -double complex catanh(double complex) __INTRODUCED_IN(23); -float complex catanhf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex catanhl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.6.4 The ccosh functions */ - -#if __ANDROID_API__ >= 23 -double complex ccosh(double complex) __INTRODUCED_IN(23); -float complex ccoshf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex ccoshl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.6.5 The csinh functions */ - -#if __ANDROID_API__ >= 23 -double complex csinh(double complex) __INTRODUCED_IN(23); -float complex csinhf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex csinhl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.6.6 The ctanh functions */ - -#if __ANDROID_API__ >= 23 -double complex ctanh(double complex) __INTRODUCED_IN(23); -float complex ctanhf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex ctanhl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -/* 7.3.7 Exponential and logarithmic functions */ -/* 7.3.7.1 The cexp functions */ - -#if __ANDROID_API__ >= 23 -double complex cexp(double complex) __INTRODUCED_IN(23); -float complex cexpf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -long double complex cexpl(long double complex) __INTRODUCED_IN_FUTURE; -/* 7.3.7.2 The clog functions */ -double complex clog(double complex) __INTRODUCED_IN_FUTURE; -float complex clogf(float complex) __INTRODUCED_IN_FUTURE; -long double complex clogl(long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -/* 7.3.8 Power and absolute-value functions */ -/* 7.3.8.1 The cabs functions */ - -#if __ANDROID_API__ >= 23 -double cabs(double complex) __INTRODUCED_IN(23); -float cabsf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) -long double cabsl(long double complex) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23); -#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) */ - -/* 7.3.8.2 The cpow functions */ - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -double complex cpow(double complex, double complex) __INTRODUCED_IN_FUTURE; -float complex cpowf(float complex, float complex) __INTRODUCED_IN_FUTURE; -long double complex cpowl(long double complex, long double complex) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -/* 7.3.8.3 The csqrt functions */ - -#if __ANDROID_API__ >= 23 -double complex csqrt(double complex) __INTRODUCED_IN(23); -float complex csqrtf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) -long double complex csqrtl(long double complex) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23); -#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) */ - - -/* 7.3.9 Manipulation functions */ -/* 7.3.9.1 The carg functions */ - -#if __ANDROID_API__ >= 23 -double carg(double complex) __INTRODUCED_IN(23); -float cargf(float complex) __INTRODUCED_IN(23); -long double cargl(long double complex) __INTRODUCED_IN(23); -/* 7.3.9.2 The cimag functions */ -double cimag(double complex) __INTRODUCED_IN(23); -float cimagf(float complex) __INTRODUCED_IN(23); -long double cimagl(long double complex) __INTRODUCED_IN(23); -/* 7.3.9.3 The conj functions */ -double complex conj(double complex) __INTRODUCED_IN(23); -float complex conjf(float complex) __INTRODUCED_IN(23); -long double complex conjl(long double complex) __INTRODUCED_IN(23); -/* 7.3.9.4 The cproj functions */ -double complex cproj(double complex) __INTRODUCED_IN(23); -float complex cprojf(float complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) -long double complex cprojl(long double complex) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23); -#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 21) || (defined(__LP64__) && __ANDROID_API__ >= 23) */ - -/* 7.3.9.5 The creal functions */ - -#if __ANDROID_API__ >= 23 -double creal(double complex) __INTRODUCED_IN(23); -float crealf(float complex) __INTRODUCED_IN(23); -long double creall(long double complex) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _COMPLEX_H */ diff --git a/headers/cpio.h b/headers/cpio.h deleted file mode 100644 index ceeeb8786..000000000 --- a/headers/cpio.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 _CPIO_H_ -#define _CPIO_H_ - -#include <sys/cdefs.h> - -#define C_IRUSR 0000400 -#define C_IWUSR 0000200 -#define C_IXUSR 0000100 -#define C_IRGRP 0000040 -#define C_IWGRP 0000020 -#define C_IXGRP 0000010 -#define C_IROTH 0000004 -#define C_IWOTH 0000002 -#define C_IXOTH 0000001 -#define C_ISUID 0004000 -#define C_ISGID 0002000 -#define C_ISVTX 0001000 -#define C_ISDIR 0040000 -#define C_ISFIFO 0010000 -#define C_ISREG 0100000 -#define C_ISBLK 0060000 -#define C_ISCHR 0020000 -#define C_ISCTG 0110000 -#define C_ISLNK 0120000 -#define C_ISSOCK 0140000 - -#define MAGIC "070707" - -#endif /* _CPIO_H_ */ diff --git a/headers/ctype.h b/headers/ctype.h deleted file mode 100644 index 7cae92edd..000000000 --- a/headers/ctype.h +++ /dev/null @@ -1,109 +0,0 @@ -/* $OpenBSD: ctype.h,v 1.19 2005/12/13 00:35:22 millert Exp $ */ -/* $NetBSD: ctype.h,v 1.14 1994/10/26 00:55:47 cgd Exp $ */ - -/* - * Copyright (c) 1989 The Regents of the University of California. - * All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ctype.h 5.3 (Berkeley) 4/3/91 - */ - -#ifndef _CTYPE_H_ -#define _CTYPE_H_ - -#include <sys/cdefs.h> -#include <xlocale.h> - -#define _CTYPE_U 0x01 -#define _CTYPE_L 0x02 -#define _CTYPE_D 0x04 -#define _CTYPE_S 0x08 -#define _CTYPE_P 0x10 -#define _CTYPE_C 0x20 -#define _CTYPE_X 0x40 -#define _CTYPE_B 0x80 -#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B) -#define _CTYPE_A (_CTYPE_L|_CTYPE_U) - -/* _CTYPE_N was added to NDK r10 and is expected by gnu-libstdc++ */ -#define _CTYPE_N _CTYPE_D - -__BEGIN_DECLS - -extern const char* _ctype_; - -int isalnum(int); -int isalpha(int); -int isblank(int); -int iscntrl(int); -int isdigit(int); -int isgraph(int); -int islower(int); -int isprint(int); -int ispunct(int); -int isspace(int); -int isupper(int); -int isxdigit(int); -int tolower(int); -int toupper(int); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -int isalnum_l(int, locale_t) __INTRODUCED_IN(21); -int isalpha_l(int, locale_t) __INTRODUCED_IN(21); -int isblank_l(int, locale_t) __INTRODUCED_IN(21); -int iscntrl_l(int, locale_t) __INTRODUCED_IN(21); -int isdigit_l(int, locale_t) __INTRODUCED_IN(21); -int isgraph_l(int, locale_t) __INTRODUCED_IN(21); -int islower_l(int, locale_t) __INTRODUCED_IN(21); -int isprint_l(int, locale_t) __INTRODUCED_IN(21); -int ispunct_l(int, locale_t) __INTRODUCED_IN(21); -int isspace_l(int, locale_t) __INTRODUCED_IN(21); -int isupper_l(int, locale_t) __INTRODUCED_IN(21); -int isxdigit_l(int, locale_t) __INTRODUCED_IN(21); -int tolower_l(int, locale_t) __INTRODUCED_IN(21); -int toupper_l(int, locale_t) __INTRODUCED_IN(21); -#else -// Implemented as static inlines before 21. -#endif - -int isascii(int); -int toascii(int); - -#if __ANDROID_API__ >= 21 -int _tolower(int) __INTRODUCED_IN(21); -int _toupper(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* !_CTYPE_H_ */ diff --git a/headers/dirent.h b/headers/dirent.h deleted file mode 100644 index 3823b831b..000000000 --- a/headers/dirent.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * 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 _DIRENT_H_ -#define _DIRENT_H_ - -#include <stdint.h> -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#ifndef DT_UNKNOWN -#define DT_UNKNOWN 0 -#define DT_FIFO 1 -#define DT_CHR 2 -#define DT_DIR 4 -#define DT_BLK 6 -#define DT_REG 8 -#define DT_LNK 10 -#define DT_SOCK 12 -#define DT_WHT 14 -#endif - -#define __DIRENT64_BODY \ - uint64_t d_ino; \ - int64_t d_off; \ - unsigned short d_reclen; \ - unsigned char d_type; \ - char d_name[256]; \ - -struct dirent { __DIRENT64_BODY }; -struct dirent64 { __DIRENT64_BODY }; - -#undef __DIRENT64_BODY - -/* glibc compatibility. */ -#undef _DIRENT_HAVE_D_NAMLEN /* Linux doesn't have a d_namlen field. */ -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF -#define _DIRENT_HAVE_D_TYPE - -#define d_fileno d_ino - -typedef struct DIR DIR; - -DIR* opendir(const char*); -DIR* fdopendir(int); -struct dirent* readdir(DIR*); - -#if __ANDROID_API__ >= 21 -struct dirent64* readdir64(DIR*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int readdir_r(DIR*, struct dirent*, struct dirent**); - -#if __ANDROID_API__ >= 21 -int readdir64_r(DIR*, struct dirent64*, struct dirent64**) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int closedir(DIR*); -void rewinddir(DIR*); - -#if __ANDROID_API__ >= 23 -void seekdir(DIR*, long) __INTRODUCED_IN(23); -long telldir(DIR*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -int dirfd(DIR*); -int alphasort(const struct dirent**, const struct dirent**); - -#if __ANDROID_API__ >= 21 -int alphasort64(const struct dirent64**, const struct dirent64**) __INTRODUCED_IN(21); -int scandir64(const char*, struct dirent64***, int (*)(const struct dirent64*), - int (*)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int scandir(const char*, struct dirent***, int (*)(const struct dirent*), int (*)(const struct dirent**, const struct dirent**)); - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= 24 -int scandirat64(int, const char*, struct dirent64***, int (*)(const struct dirent64*), - int (*)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(24); -int scandirat(int, const char*, struct dirent***, int (*)(const struct dirent*), - int (*)(const struct dirent**, const struct dirent**)) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif - -__END_DECLS - -#endif /* _DIRENT_H_ */ diff --git a/headers/dlfcn.h b/headers/dlfcn.h deleted file mode 100644 index d365f42ee..000000000 --- a/headers/dlfcn.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * 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 __DLFCN_H__ -#define __DLFCN_H__ - -#include <stdint.h> -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnullability-completeness" -#endif - -typedef struct { - /* Pathname of shared object that contains address. */ - const char* dli_fname; - /* Address at which shared object is loaded. */ - void* dli_fbase; - /* Name of nearest symbol with address lower than addr. */ - const char* dli_sname; - /* Exact address of symbol named in dli_sname. */ - void* dli_saddr; -} Dl_info; - -void* dlopen(const char* filename, int flag); -int dlclose(void* _Nonnull handle); -char* dlerror(void); -void* dlsym(void* handle, const char* _Nonnull symbol); - -#if __ANDROID_API__ >= 24 -void* dlvsym(void* handle, const char* _Nonnull symbol, const char* _Nonnull version) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -int dladdr(const void* addr, Dl_info* _Nonnull info); - -enum { -#if defined(__LP64__) - RTLD_NOW = 2, -#else - RTLD_NOW = 0, -#endif - RTLD_LAZY = 1, - - RTLD_LOCAL = 0, -#if defined(__LP64__) - RTLD_GLOBAL = 0x00100, -#else - RTLD_GLOBAL = 2, -#endif - RTLD_NOLOAD = 4, - RTLD_NODELETE = 0x01000, -}; - -#if defined (__LP64__) -#define RTLD_DEFAULT __BIONIC_CAST(reinterpret_cast, void*, 0) -#define RTLD_NEXT __BIONIC_CAST(reinterpret_cast, void*, -1L) -#else -#define RTLD_DEFAULT __BIONIC_CAST(reinterpret_cast, void*, 0xffffffff) -#define RTLD_NEXT __BIONIC_CAST(reinterpret_cast, void*, 0xfffffffe) -#endif - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - -__END_DECLS - -#endif /* __DLFCN_H */ diff --git a/headers/elf.h b/headers/elf.h deleted file mode 100644 index ae05d3dde..000000000 --- a/headers/elf.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * 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 _ELF_H -#define _ELF_H - -#include <sys/cdefs.h> - -#include <linux/auxvec.h> -#include <linux/elf.h> -#include <linux/elf-em.h> -#include <machine/elf_machdep.h> - -#define ELF32_R_INFO(sym, type) ((((Elf32_Word)sym) << 8) | ((type) & 0xff)) -#define ELF64_R_INFO(sym, type) ((((Elf64_Xword)sym) << 32) | ((type) & 0xffffffff)) - -typedef __s64 Elf32_Sxword; - -typedef struct { - __u32 a_type; - union { - __u32 a_val; - } a_un; -} Elf32_auxv_t; - -typedef struct { - __u64 a_type; - union { - __u64 a_val; - } a_un; -} Elf64_auxv_t; - -typedef Elf32_Half Elf32_Versym; -typedef Elf64_Half Elf64_Versym; - -typedef struct { - Elf32_Half vd_version; - Elf32_Half vd_flags; - Elf32_Half vd_ndx; - Elf32_Half vd_cnt; - Elf32_Word vd_hash; - Elf32_Word vd_aux; - Elf32_Word vd_next; -} Elf32_Verdef; - -typedef struct { - Elf32_Word vda_name; - Elf32_Word vda_next; -} Elf32_Verdaux; - -typedef struct { - Elf64_Half vd_version; - Elf64_Half vd_flags; - Elf64_Half vd_ndx; - Elf64_Half vd_cnt; - Elf64_Word vd_hash; - Elf64_Word vd_aux; - Elf64_Word vd_next; -} Elf64_Verdef; - -typedef struct { - Elf64_Word vda_name; - Elf64_Word vda_next; -} Elf64_Verdaux; - -typedef struct { - Elf32_Half vn_version; - Elf32_Half vn_cnt; - Elf32_Word vn_file; - Elf32_Word vn_aux; - Elf32_Word vn_next; -} Elf32_Verneed; - -typedef struct { - Elf32_Word vna_hash; - Elf32_Half vna_flags; - Elf32_Half vna_other; - Elf32_Word vna_name; - Elf32_Word vna_next; -} Elf32_Vernaux; - -typedef struct { - Elf64_Half vn_version; - Elf64_Half vn_cnt; - Elf64_Word vn_file; - Elf64_Word vn_aux; - Elf64_Word vn_next; -} Elf64_Verneed; - -typedef struct { - Elf64_Word vna_hash; - Elf64_Half vna_flags; - Elf64_Half vna_other; - Elf64_Word vna_name; - Elf64_Word vna_next; -} Elf64_Vernaux; - -#define DF_ORIGIN 0x00000001 -#define DF_SYMBOLIC 0x00000002 -#define DF_TEXTREL 0x00000004 -#define DF_BIND_NOW 0x00000008 -#define DF_STATIC_TLS 0x00000010 - -#define DF_1_NOW 0x00000001 /* Perform complete relocation processing. */ -#define DF_1_GLOBAL 0x00000002 /* implies RTLD_GLOBAL */ -#define DF_1_GROUP 0x00000004 -#define DF_1_NODELETE 0x00000008 /* implies RTLD_NODELETE */ -#define DF_1_LOADFLTR 0x00000010 -#define DF_1_INITFIRST 0x00000020 -#define DF_1_NOOPEN 0x00000040 /* Object can not be used with dlopen(3) */ -#define DF_1_ORIGIN 0x00000080 -#define DF_1_DIRECT 0x00000100 -#define DF_1_TRANS 0x00000200 -#define DF_1_INTERPOSE 0x00000400 -#define DF_1_NODEFLIB 0x00000800 -#define DF_1_NODUMP 0x00001000 /* Object cannot be dumped with dldump(3) */ -#define DF_1_CONFALT 0x00002000 -#define DF_1_ENDFILTEE 0x00004000 -#define DF_1_DISPRELDNE 0x00008000 -#define DF_1_DISPRELPND 0x00010000 -#define DF_1_NODIRECT 0x00020000 -#define DF_1_IGNMULDEF 0x00040000 /* Internal use */ -#define DF_1_NOKSYMS 0x00080000 /* Internal use */ -#define DF_1_NOHDR 0x00100000 /* Internal use */ -#define DF_1_EDITED 0x00200000 -#define DF_1_NORELOC 0x00400000 /* Internal use */ -#define DF_1_SYMINTPOSE 0x00800000 -#define DF_1_GLOBAUDIT 0x01000000 -#define DF_1_SINGLETON 0x02000000 -#define DF_1_STUB 0x04000000 -#define DF_1_PIE 0x08000000 - -#define DT_BIND_NOW 24 -#define DT_INIT_ARRAY 25 -#define DT_FINI_ARRAY 26 -#define DT_INIT_ARRAYSZ 27 -#define DT_FINI_ARRAYSZ 28 -#define DT_RUNPATH 29 -#define DT_FLAGS 30 -/* glibc and BSD disagree for DT_ENCODING; glibc looks wrong. */ -#define DT_PREINIT_ARRAY 32 -#define DT_PREINIT_ARRAYSZ 33 - -/* Android compressed rel/rela sections */ -#define DT_ANDROID_REL (DT_LOOS + 2) -#define DT_ANDROID_RELSZ (DT_LOOS + 3) - -#define DT_ANDROID_RELA (DT_LOOS + 4) -#define DT_ANDROID_RELASZ (DT_LOOS + 5) - -/* gnu hash entry */ -#define DT_GNU_HASH 0x6ffffef5 - -#define ELFOSABI_SYSV 0 /* Synonym for ELFOSABI_NONE used by valgrind. */ - -#define PT_GNU_RELRO 0x6474e552 - -#define STB_LOOS 10 -#define STB_HIOS 12 -#define STB_LOPROC 13 -#define STB_HIPROC 15 - -#define SHT_LOOS 0x60000000 -#define SHT_HIOS 0x6fffffff - -#define STT_GNU_IFUNC 10 -#define STT_LOOS 10 -#define STT_HIOS 12 -#define STT_LOPROC 13 -#define STT_HIPROC 15 - -#define STV_DEFAULT 0 -#define STV_INTERNAL 1 -#define STV_HIDDEN 2 -#define STV_PROTECTED 3 - -/* The kernel uses NT_PRFPREG but glibc also offers NT_FPREGSET */ -#define NT_FPREGSET NT_PRFPREG - -#define ELF_NOTE_GNU "GNU" - -#define NT_GNU_BUILD_ID 3 - -#define VER_FLG_BASE 0x1 -#define VER_FLG_WEAK 0x2 - -#define VER_NDX_LOCAL 0 -#define VER_NDX_GLOBAL 1 - -#endif /* _ELF_H */ diff --git a/headers/endian.h b/headers/endian.h deleted file mode 100644 index 65e29305c..000000000 --- a/headers/endian.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/endian.h> diff --git a/headers/err.h b/headers/err.h deleted file mode 100644 index ca62c9ec7..000000000 --- a/headers/err.h +++ /dev/null @@ -1,58 +0,0 @@ -/* $OpenBSD: err.h,v 1.10 2006/01/06 18:53:04 millert Exp $ */ -/* $NetBSD: err.h,v 1.11 1994/10/26 00:55:52 cgd Exp $ */ - -/*- - * Copyright (c) 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)err.h 8.1 (Berkeley) 6/2/93 - */ - -#ifndef _ERR_H_ -#define _ERR_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -/* printf's format string isn't nullable; the err family's one is, - * so we can't use __errlike here. */ -#define __errlike(x, y) __attribute__((__format__(printf, x, y))) - -__noreturn void err(int, const char *, ...) __errlike(2, 3); -__noreturn void verr(int, const char *, __va_list) __errlike(2, 0); -__noreturn void errx(int, const char *, ...) __errlike(2, 3); -__noreturn void verrx(int, const char *, __va_list) __errlike(2, 0); -void warn(const char *, ...) __errlike(1, 2); -void vwarn(const char *, __va_list) __errlike(1, 0); -void warnx(const char *, ...) __errlike(1, 2); -void vwarnx(const char *, __va_list) __errlike(1, 0); - -__END_DECLS - -#endif /* !_ERR_H_ */ diff --git a/headers/errno.h b/headers/errno.h deleted file mode 100644 index 3f4cff90b..000000000 --- a/headers/errno.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * 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 _ERRNO_H -#define _ERRNO_H - -#include <sys/cdefs.h> -#include <linux/errno.h> - -__BEGIN_DECLS - -/* on Linux, ENOTSUP and EOPNOTSUPP are defined as the same error code - * even if 1000.3 states that they should be different - */ -#ifndef ENOTSUP -#define ENOTSUP EOPNOTSUPP -#endif - -/* internal function returning the address of the thread-specific errno */ -volatile int* __errno(void) __attribute_const__; - -/* a macro expanding to the errno l-value */ -#define errno (*__errno()) - -__END_DECLS - -#include <android/legacy_errno_inlines.h> - -#endif /* _ERRNO_H */ diff --git a/headers/error.h b/headers/error.h deleted file mode 100644 index d6262a445..000000000 --- a/headers/error.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2015 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 _ERROR_H -#define _ERROR_H 1 - -#include <sys/cdefs.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 23 -extern void (* _Nullable error_print_progname)(void) __INTRODUCED_IN(23); -extern unsigned int error_message_count __INTRODUCED_IN(23); -extern int error_one_per_line __INTRODUCED_IN(23); - -void error(int, int, const char* _Nonnull, ...) __printflike(3, 4) __INTRODUCED_IN(23); -void error_at_line(int, int, const char* _Nullable, unsigned int, const char* _Nonnull, ...) - __printflike(5, 6) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif diff --git a/headers/fcntl.h b/headers/fcntl.h deleted file mode 100644 index 9efed0503..000000000 --- a/headers/fcntl.h +++ /dev/null @@ -1,191 +0,0 @@ -/* - * 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 _FCNTL_H -#define _FCNTL_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/fadvise.h> -#include <linux/falloc.h> -#include <linux/fcntl.h> -#include <linux/stat.h> -#include <linux/uio.h> - -#include <bits/fcntl.h> -#include <bits/seek_constants.h> - -#if defined(__USE_GNU) || defined(__USE_BSD) -#include <bits/lockf.h> -#endif - -__BEGIN_DECLS - -#ifdef __LP64__ -/* LP64 kernels don't have F_*64 defines because their flock is 64-bit. */ -#define F_GETLK64 F_GETLK -#define F_SETLK64 F_SETLK -#define F_SETLKW64 F_SETLKW -#endif - -#define O_ASYNC FASYNC -#define O_RSYNC O_SYNC - -#define SPLICE_F_MOVE 1 -#define SPLICE_F_NONBLOCK 2 -#define SPLICE_F_MORE 4 -#define SPLICE_F_GIFT 8 - -#define SYNC_FILE_RANGE_WAIT_BEFORE 1 -#define SYNC_FILE_RANGE_WRITE 2 -#define SYNC_FILE_RANGE_WAIT_AFTER 4 - -int creat(const char*, mode_t); - -#if __ANDROID_API__ >= 21 -int creat64(const char*, mode_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int openat(int, const char*, int, ...); - -#if __ANDROID_API__ >= 21 -int openat64(int, const char*, int, ...) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int open(const char*, int, ...); - -#if __ANDROID_API__ >= 21 -int open64(const char*, int, ...) __INTRODUCED_IN(21); -ssize_t splice(int, off64_t*, int, off64_t*, size_t, unsigned int) __INTRODUCED_IN(21); -ssize_t tee(int, int, size_t, unsigned int) __INTRODUCED_IN(21); -ssize_t vmsplice(int, const struct iovec*, size_t, unsigned int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if defined(__USE_FILE_OFFSET64) - -#if __ANDROID_API__ >= 21 -int fallocate(int, int, off_t, off_t) __RENAME(fallocate64) __INTRODUCED_IN(21); -int posix_fadvise(int, off_t, off_t, int) __RENAME(posix_fadvise64) __INTRODUCED_IN(21); -int posix_fallocate(int, off_t, off_t) __RENAME(posix_fallocate64) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -#else - -#if __ANDROID_API__ >= 21 -int fallocate(int, int, off_t, off_t) __INTRODUCED_IN(21); -int posix_fadvise(int, off_t, off_t, int) __INTRODUCED_IN(21); -int posix_fallocate(int, off_t, off_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -#endif - -#if __ANDROID_API__ >= 21 -int fallocate64(int, int, off64_t, off64_t) __INTRODUCED_IN(21); -int posix_fadvise64(int, off64_t, off64_t, int) __INTRODUCED_IN(21); -int posix_fallocate64(int, off64_t, off64_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= 16 -ssize_t readahead(int, off64_t, size_t) __INTRODUCED_IN(16); -#endif /* __ANDROID_API__ >= 16 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -#endif - - -#if __ANDROID_API__ >= 17 -int __open_2(const char*, int) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -int __open_real(const char*, int, ...) __RENAME(open); - -#if __ANDROID_API__ >= 17 -int __openat_2(int, const char*, int) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -int __openat_real(int, const char*, int, ...) __RENAME(openat); -__errordecl(__creat_missing_mode, "called with O_CREAT, but missing mode"); -__errordecl(__creat_too_many_args, "too many arguments"); - -#if defined(__BIONIC_FORTIFY) - -#if !defined(__clang__) - -__BIONIC_FORTIFY_INLINE -int open(const char* pathname, int flags, ...) { - if (__builtin_constant_p(flags)) { - if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) { - __creat_missing_mode(); /* Compile time error. */ - } - } - - if (__builtin_va_arg_pack_len() > 1) { - __creat_too_many_args(); /* Compile time error. */ - } - - if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) { - return __open_2(pathname, flags); - } - - return __open_real(pathname, flags, __builtin_va_arg_pack()); -} - -__BIONIC_FORTIFY_INLINE -int openat(int dirfd, const char* pathname, int flags, ...) { - if (__builtin_constant_p(flags)) { - if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) { - __creat_missing_mode(); /* Compile time error. */ - } - } - - if (__builtin_va_arg_pack_len() > 1) { - __creat_too_many_args(); /* Compile time error. */ - } - - if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) { - return __openat_2(dirfd, pathname, flags); - } - - return __openat_real(dirfd, pathname, flags, __builtin_va_arg_pack()); -} - -#endif /* !defined(__clang__) */ - -#endif /* defined(__BIONIC_FORTIFY) */ - -__END_DECLS - -#endif /* _FCNTL_H */ diff --git a/headers/features.h b/headers/features.h deleted file mode 100644 index a279c7f0e..000000000 --- a/headers/features.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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 _FEATURES_H_ -#define _FEATURES_H_ - -/* Our <features.h> macro fun is all in <sys/cdefs.h>. */ -#include <sys/cdefs.h> - -#endif /* _FEATURES_H_ */ diff --git a/headers/fenv.h b/headers/fenv.h deleted file mode 100644 index a4c37e62f..000000000 --- a/headers/fenv.h +++ /dev/null @@ -1,80 +0,0 @@ -/* $OpenBSD: fenv.h,v 1.2 2011/05/25 21:46:49 martynas Exp $ */ -/* $NetBSD: fenv.h,v 1.2.4.1 2011/02/08 16:18:55 bouyer Exp $ */ - -/* - * Copyright (c) 2010 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _FENV_H_ -#define _FENV_H_ - -#include <sys/cdefs.h> -#include <machine/fenv.h> - -__BEGIN_DECLS - -// fenv was always available on x86. -#if __ANDROID_API__ >= __ANDROID_API_L__ || defined(__i386__) -int feclearexcept(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fegetexceptflag(fexcept_t*, int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) - __INTRODUCED_IN_X86(9); -int feraiseexcept(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fesetexceptflag(const fexcept_t*, int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) - __INTRODUCED_IN_X86(9); -int fetestexcept(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); - -int fegetround(void) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fesetround(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); - -int fegetenv(fenv_t*) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int feholdexcept(fenv_t*) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fesetenv(const fenv_t*) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int feupdateenv(const fenv_t*) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) - __INTRODUCED_IN_X86(9); - -int feenableexcept(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fedisableexcept(int) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -int fegetexcept(void) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_MIPS(21) __INTRODUCED_IN_X86(9); -#else -/* Defined as inlines for pre-21 ARM and MIPS. */ -#endif - -/* - * The following constant represents the default floating-point environment - * (that is, the one installed at program startup) and has type pointer to - * const-qualified fenv_t. - * - * It can be used as an argument to the functions that manage the floating-point - * environment, namely fesetenv() and feupdateenv(). - */ -extern const fenv_t __fe_dfl_env; -#define FE_DFL_ENV (&__fe_dfl_env) - -__END_DECLS - -#include <android/legacy_fenv_inlines_arm.h> -#include <android/legacy_fenv_inlines_mips.h> - -#endif /* ! _FENV_H_ */ diff --git a/headers/fnmatch.h b/headers/fnmatch.h deleted file mode 100644 index 1a5348b93..000000000 --- a/headers/fnmatch.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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 _FNMATCH_H -#define _FNMATCH_H - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#define FNM_NOMATCH 1 /* Match failed. */ -#define FNM_NOSYS 2 /* Function not supported (unused). */ - -#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ -#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ -#define FNM_PERIOD 0x04 /* Period must be matched by period. */ -#define FNM_LEADING_DIR 0x08 /* Ignore /<tail> after Imatch. */ -#define FNM_CASEFOLD 0x10 /* Case insensitive search. */ - -#define FNM_IGNORECASE FNM_CASEFOLD -#define FNM_FILE_NAME FNM_PATHNAME - -int fnmatch(const char* pattern, const char* string, int flags); - -__END_DECLS - -#endif /* _FNMATCH_H */ diff --git a/headers/fts.h b/headers/fts.h deleted file mode 100644 index b46c19c09..000000000 --- a/headers/fts.h +++ /dev/null @@ -1,126 +0,0 @@ -/* $OpenBSD: fts.h,v 1.12 2009/08/27 16:19:27 millert Exp $ */ -/* $NetBSD: fts.h,v 1.5 1994/12/28 01:41:50 mycroft Exp $ */ - -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)fts.h 8.3 (Berkeley) 8/14/94 - */ - -#ifndef _FTS_H_ -#define _FTS_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -typedef struct { - struct _ftsent *fts_cur; /* current node */ - struct _ftsent *fts_child; /* linked list of children */ - struct _ftsent **fts_array; /* sort array */ - dev_t fts_dev; /* starting device # */ - char *fts_path; /* path for this descent */ - int fts_rfd; /* fd for root */ - size_t fts_pathlen; /* sizeof(path) */ - int fts_nitems; /* elements in the sort array */ - int (*fts_compar)(); /* compare function */ - -#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */ -#define FTS_LOGICAL 0x0002 /* logical walk */ -#define FTS_NOCHDIR 0x0004 /* don't change directories */ -#define FTS_NOSTAT 0x0008 /* don't get stat info */ -#define FTS_PHYSICAL 0x0010 /* physical walk */ -#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */ -#define FTS_XDEV 0x0040 /* don't cross devices */ -#define FTS_OPTIONMASK 0x00ff /* valid user option mask */ - -#define FTS_NAMEONLY 0x1000 /* (private) child names only */ -#define FTS_STOP 0x2000 /* (private) unrecoverable error */ - int fts_options; /* fts_open options, global flags */ -} FTS; - -typedef struct _ftsent { - struct _ftsent *fts_cycle; /* cycle node */ - struct _ftsent *fts_parent; /* parent directory */ - struct _ftsent *fts_link; /* next file in directory */ - long fts_number; /* local numeric value */ - void *fts_pointer; /* local address value */ - char *fts_accpath; /* access path */ - char *fts_path; /* root path */ - int fts_errno; /* errno for this node */ - int fts_symfd; /* fd for symlink */ - size_t fts_pathlen; /* strlen(fts_path) */ - size_t fts_namelen; /* strlen(fts_name) */ - - ino_t fts_ino; /* inode */ - dev_t fts_dev; /* device */ - nlink_t fts_nlink; /* link count */ - -#define FTS_ROOTPARENTLEVEL -1 -#define FTS_ROOTLEVEL 0 -#define FTS_MAXLEVEL 0x7fff - short fts_level; /* depth (-1 to N) */ - -#define FTS_D 1 /* preorder directory */ -#define FTS_DC 2 /* directory that causes cycles */ -#define FTS_DEFAULT 3 /* none of the above */ -#define FTS_DNR 4 /* unreadable directory */ -#define FTS_DOT 5 /* dot or dot-dot */ -#define FTS_DP 6 /* postorder directory */ -#define FTS_ERR 7 /* error; errno is set */ -#define FTS_F 8 /* regular file */ -#define FTS_INIT 9 /* initialized only */ -#define FTS_NS 10 /* stat(2) failed */ -#define FTS_NSOK 11 /* no stat(2) requested */ -#define FTS_SL 12 /* symbolic link */ -#define FTS_SLNONE 13 /* symbolic link without target */ - unsigned short fts_info; /* user flags for FTSENT structure */ - -#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ -#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ - unsigned short fts_flags; /* private flags for FTSENT structure */ - -#define FTS_AGAIN 1 /* read node again */ -#define FTS_FOLLOW 2 /* follow symbolic link */ -#define FTS_NOINSTR 3 /* no instructions */ -#define FTS_SKIP 4 /* discard node */ - unsigned short fts_instr; /* fts_set() instructions */ - - struct stat *fts_statp; /* stat(2) information */ - char fts_name[1]; /* file name */ -} FTSENT; - -__BEGIN_DECLS -FTSENT *fts_children(FTS *, int); -int fts_close(FTS *); -FTS *fts_open(char * const *, int, - int (*)(const FTSENT **, const FTSENT **)); -FTSENT *fts_read(FTS *); -int fts_set(FTS *, FTSENT *, int); -__END_DECLS - -#endif /* !_FTS_H_ */ diff --git a/headers/ftw.h b/headers/ftw.h deleted file mode 100644 index fd9c62e26..000000000 --- a/headers/ftw.h +++ /dev/null @@ -1,74 +0,0 @@ -/* $NetBSD: ftw.h,v 1.1 2005/12/30 23:07:33 agc Exp $ */ - -/* From OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp */ - -/* - * Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * Sponsored in part by the Defense Advanced Research Projects - * Agency (DARPA) and Air Force Research Laboratory, Air Force - * Materiel Command, USAF, under agreement number F39502-99-1-0512. - */ - -#ifndef _FTW_H -#define _FTW_H - -#include <sys/cdefs.h> -#include <sys/stat.h> -#include <sys/types.h> - -/* - * Valid flags for the 3rd argument to the function that is passed as the - * second argument to ftw(3) and nftw(3). Say it three times fast! - */ -#define FTW_F 0 /* File. */ -#define FTW_D 1 /* Directory. */ -#define FTW_DNR 2 /* Directory without read permission. */ -#define FTW_DP 3 /* Directory with subdirectories visited. */ -#define FTW_NS 4 /* Unknown type; stat() failed. */ -#define FTW_SL 5 /* Symbolic link. */ -#define FTW_SLN 6 /* Sym link that names a nonexistent file. */ - -/* - * Flags for use as the 4th argument to nftw(3). These may be ORed together. - */ -#define FTW_PHYS 0x01 /* Physical walk, don't follow sym links. */ -#define FTW_MOUNT 0x02 /* The walk does not cross a mount point. */ -#define FTW_DEPTH 0x04 /* Subdirs visited before the dir itself. */ -#define FTW_CHDIR 0x08 /* Change to a directory before reading it. */ - -struct FTW { - int base; - int level; -}; - -__BEGIN_DECLS - -#if __ANDROID_API__ >= 17 -int ftw(const char*, int (*)(const char*, const struct stat*, int), int) __INTRODUCED_IN(17); -int nftw(const char*, int (*)(const char*, const struct stat*, int, struct FTW*), int, int) - __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - - -#if __ANDROID_API__ >= 21 -int ftw64(const char*, int (*)(const char*, const struct stat64*, int), int) __INTRODUCED_IN(21); -int nftw64(const char*, int (*)(const char*, const struct stat64*, int, struct FTW*), int, int) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__END_DECLS - -#endif /* !_FTW_H */ diff --git a/headers/getopt.h b/headers/getopt.h deleted file mode 100644 index 46d2eb79c..000000000 --- a/headers/getopt.h +++ /dev/null @@ -1,73 +0,0 @@ -/* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */ -/* $FreeBSD$ */ - -/*- - * Copyright (c) 2000 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Dieter Baron and Thomas Klausner. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _GETOPT_H_ -#define _GETOPT_H_ - -#include <sys/cdefs.h> - -#include <bits/getopt.h> - -/* - * GNU-like getopt_long()/getopt_long_only() with 4.4BSD optreset extension. - */ -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -struct option { - /* name of long option */ - const char *name; - /* - * one of no_argument, required_argument, and optional_argument: - * whether option takes an argument - */ - int has_arg; - /* if not NULL, set *flag to val when option found */ - int *flag; - /* if flag not NULL, value to set *flag to; else return value */ - int val; -}; - -__BEGIN_DECLS -int getopt_long(int, char * const *, const char *, - const struct option *, int *); -int getopt_long_only(int, char * const *, const char *, - const struct option *, int *); - -#ifndef _OPTRESET_DECLARED -#define _OPTRESET_DECLARED -extern int optreset; /* getopt(3) external variable */ -#endif -__END_DECLS - -#endif /* !_GETOPT_H_ */ diff --git a/headers/grp.h b/headers/grp.h deleted file mode 100644 index 3dbead52f..000000000 --- a/headers/grp.h +++ /dev/null @@ -1,73 +0,0 @@ -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef _GRP_H_ -#define _GRP_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct group { - char* gr_name; /* group name */ - char* gr_passwd; /* group password */ - gid_t gr_gid; /* group id */ - char** gr_mem; /* group members */ -}; - -__BEGIN_DECLS - -struct group* getgrgid(gid_t); -struct group* getgrnam(const char*); - -/* Note: Android has thousands and thousands of ids to iterate through. */ - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -struct group* getgrent(void) __INTRODUCED_IN_FUTURE; - -void setgrent(void) __INTRODUCED_IN_FUTURE; -void endgrent(void) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -#if __ANDROID_API__ >= 24 -int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24); -int getgrnam_r(const char*, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -int getgrouplist (const char*, gid_t, gid_t*, int*); -int initgroups (const char*, gid_t); - -__END_DECLS - -#endif /* !_GRP_H_ */ diff --git a/headers/ifaddrs.h b/headers/ifaddrs.h deleted file mode 100644 index ed3c1a4f4..000000000 --- a/headers/ifaddrs.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2015 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 _IFADDRS_H_ -#define _IFADDRS_H_ - -#include <sys/cdefs.h> -#include <netinet/in.h> -#include <sys/socket.h> - -__BEGIN_DECLS - -struct ifaddrs { - struct ifaddrs* ifa_next; - char* ifa_name; - unsigned int ifa_flags; - struct sockaddr* ifa_addr; - struct sockaddr* ifa_netmask; - union { - struct sockaddr* ifu_broadaddr; - struct sockaddr* ifu_dstaddr; - } ifa_ifu; - void* ifa_data; -}; - -#define ifa_broadaddr ifa_ifu.ifu_broadaddr -#define ifa_dstaddr ifa_ifu.ifu_dstaddr - - -#if __ANDROID_API__ >= 24 -void freeifaddrs(struct ifaddrs*) __INTRODUCED_IN(24); -int getifaddrs(struct ifaddrs**) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -__END_DECLS - -#endif diff --git a/headers/inttypes.h b/headers/inttypes.h deleted file mode 100644 index f1d9c764f..000000000 --- a/headers/inttypes.h +++ /dev/null @@ -1,274 +0,0 @@ -/* $OpenBSD: inttypes.h,v 1.9 2006/01/15 00:47:51 millert Exp $ */ - -/* - * Copyright (c) 1997, 2005 Todd C. Miller <Todd.Miller@courtesan.com> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef _INTTYPES_H_ -#define _INTTYPES_H_ - -#include <stdint.h> -#include <sys/cdefs.h> - -#ifdef __LP64__ -#define __PRI_64_prefix "l" -#define __PRI_PTR_prefix "l" -#else -#define __PRI_64_prefix "ll" -#define __PRI_PTR_prefix -#endif -#define __PRI_FAST_prefix __PRI_PTR_prefix - -/* - * 7.8.1 Macros for format specifiers - * - * Each of the following object-like macros expands to a string - * literal containing a conversion specifier, possibly modified by - * a prefix such as hh, h, l, or ll, suitable for use within the - * format argument of a formatted input/output function when - * converting the corresponding integer type. These macro names - * have the general form of PRI (character string literals for the - * fprintf family) or SCN (character string literals for the fscanf - * family), followed by the conversion specifier, followed by a - * name corresponding to a similar typedef name. For example, - * PRIdFAST32 can be used in a format string to print the value of - * an integer of type int_fast32_t. - */ - -/* fprintf macros for signed integers */ -#define PRId8 "d" /* int8_t */ -#define PRId16 "d" /* int16_t */ -#define PRId32 "d" /* int32_t */ -#define PRId64 __PRI_64_prefix"d" /* int64_t */ - -#define PRIdLEAST8 "d" /* int_least8_t */ -#define PRIdLEAST16 "d" /* int_least16_t */ -#define PRIdLEAST32 "d" /* int_least32_t */ -#define PRIdLEAST64 __PRI_64_prefix"d" /* int_least64_t */ - -#define PRIdFAST8 "d" /* int_fast8_t */ -#define PRIdFAST16 __PRI_FAST_prefix"d" /* int_fast16_t */ -#define PRIdFAST32 __PRI_FAST_prefix"d" /* int_fast32_t */ -#define PRIdFAST64 __PRI_64_prefix"d" /* int_fast64_t */ - -#define PRIdMAX "jd" /* intmax_t */ -#define PRIdPTR __PRI_PTR_prefix"d" /* intptr_t */ - -#define PRIi8 "i" /* int8_t */ -#define PRIi16 "i" /* int16_t */ -#define PRIi32 "i" /* int32_t */ -#define PRIi64 __PRI_64_prefix"i" /* int64_t */ - -#define PRIiLEAST8 "i" /* int_least8_t */ -#define PRIiLEAST16 "i" /* int_least16_t */ -#define PRIiLEAST32 "i" /* int_least32_t */ -#define PRIiLEAST64 __PRI_64_prefix"i" /* int_least64_t */ - -#define PRIiFAST8 "i" /* int_fast8_t */ -#define PRIiFAST16 __PRI_FAST_prefix"i" /* int_fast16_t */ -#define PRIiFAST32 __PRI_FAST_prefix"i" /* int_fast32_t */ -#define PRIiFAST64 __PRI_64_prefix"i" /* int_fast64_t */ - -#define PRIiMAX "ji" /* intmax_t */ -#define PRIiPTR __PRI_PTR_prefix"i" /* intptr_t */ - -/* fprintf macros for unsigned integers */ -#define PRIo8 "o" /* int8_t */ -#define PRIo16 "o" /* int16_t */ -#define PRIo32 "o" /* int32_t */ -#define PRIo64 __PRI_64_prefix"o" /* int64_t */ - -#define PRIoLEAST8 "o" /* int_least8_t */ -#define PRIoLEAST16 "o" /* int_least16_t */ -#define PRIoLEAST32 "o" /* int_least32_t */ -#define PRIoLEAST64 __PRI_64_prefix"o" /* int_least64_t */ - -#define PRIoFAST8 "o" /* int_fast8_t */ -#define PRIoFAST16 __PRI_FAST_prefix"o" /* int_fast16_t */ -#define PRIoFAST32 __PRI_FAST_prefix"o" /* int_fast32_t */ -#define PRIoFAST64 __PRI_64_prefix"o" /* int_fast64_t */ - -#define PRIoMAX "jo" /* intmax_t */ -#define PRIoPTR __PRI_PTR_prefix"o" /* intptr_t */ - -#define PRIu8 "u" /* uint8_t */ -#define PRIu16 "u" /* uint16_t */ -#define PRIu32 "u" /* uint32_t */ -#define PRIu64 __PRI_64_prefix"u" /* uint64_t */ - -#define PRIuLEAST8 "u" /* uint_least8_t */ -#define PRIuLEAST16 "u" /* uint_least16_t */ -#define PRIuLEAST32 "u" /* uint_least32_t */ -#define PRIuLEAST64 __PRI_64_prefix"u" /* uint_least64_t */ - -#define PRIuFAST8 "u" /* uint_fast8_t */ -#define PRIuFAST16 __PRI_FAST_prefix"u" /* uint_fast16_t */ -#define PRIuFAST32 __PRI_FAST_prefix"u" /* uint_fast32_t */ -#define PRIuFAST64 __PRI_64_prefix"u" /* uint_fast64_t */ - -#define PRIuMAX "ju" /* uintmax_t */ -#define PRIuPTR __PRI_PTR_prefix"u" /* uintptr_t */ - -#define PRIx8 "x" /* uint8_t */ -#define PRIx16 "x" /* uint16_t */ -#define PRIx32 "x" /* uint32_t */ -#define PRIx64 __PRI_64_prefix"x" /* uint64_t */ - -#define PRIxLEAST8 "x" /* uint_least8_t */ -#define PRIxLEAST16 "x" /* uint_least16_t */ -#define PRIxLEAST32 "x" /* uint_least32_t */ -#define PRIxLEAST64 __PRI_64_prefix"x" /* uint_least64_t */ - -#define PRIxFAST8 "x" /* uint_fast8_t */ -#define PRIxFAST16 __PRI_FAST_prefix"x" /* uint_fast16_t */ -#define PRIxFAST32 __PRI_FAST_prefix"x" /* uint_fast32_t */ -#define PRIxFAST64 __PRI_64_prefix"x" /* uint_fast64_t */ - -#define PRIxMAX "jx" /* uintmax_t */ -#define PRIxPTR __PRI_PTR_prefix"x" /* uintptr_t */ - -#define PRIX8 "X" /* uint8_t */ -#define PRIX16 "X" /* uint16_t */ -#define PRIX32 "X" /* uint32_t */ -#define PRIX64 __PRI_64_prefix"X" /* uint64_t */ - -#define PRIXLEAST8 "X" /* uint_least8_t */ -#define PRIXLEAST16 "X" /* uint_least16_t */ -#define PRIXLEAST32 "X" /* uint_least32_t */ -#define PRIXLEAST64 __PRI_64_prefix"X" /* uint_least64_t */ - -#define PRIXFAST8 "X" /* uint_fast8_t */ -#define PRIXFAST16 __PRI_FAST_prefix"X" /* uint_fast16_t */ -#define PRIXFAST32 __PRI_FAST_prefix"X" /* uint_fast32_t */ -#define PRIXFAST64 __PRI_64_prefix"X" /* uint_fast64_t */ - -#define PRIXMAX "jX" /* uintmax_t */ -#define PRIXPTR __PRI_PTR_prefix"X" /* uintptr_t */ - -/* fscanf macros for signed integers */ -#define SCNd8 "hhd" /* int8_t */ -#define SCNd16 "hd" /* int16_t */ -#define SCNd32 "d" /* int32_t */ -#define SCNd64 __PRI_64_prefix"d" /* int64_t */ - -#define SCNdLEAST8 "hhd" /* int_least8_t */ -#define SCNdLEAST16 "hd" /* int_least16_t */ -#define SCNdLEAST32 "d" /* int_least32_t */ -#define SCNdLEAST64 __PRI_64_prefix"d" /* int_least64_t */ - -#define SCNdFAST8 "hhd" /* int_fast8_t */ -#define SCNdFAST16 __PRI_FAST_prefix"d" /* int_fast16_t */ -#define SCNdFAST32 __PRI_FAST_prefix"d" /* int_fast32_t */ -#define SCNdFAST64 __PRI_64_prefix"d" /* int_fast64_t */ - -#define SCNdMAX "jd" /* intmax_t */ -#define SCNdPTR __PRI_PTR_prefix"d" /* intptr_t */ - -#define SCNi8 "hhi" /* int8_t */ -#define SCNi16 "hi" /* int16_t */ -#define SCNi32 "i" /* int32_t */ -#define SCNi64 __PRI_64_prefix"i" /* int64_t */ - -#define SCNiLEAST8 "hhi" /* int_least8_t */ -#define SCNiLEAST16 "hi" /* int_least16_t */ -#define SCNiLEAST32 "i" /* int_least32_t */ -#define SCNiLEAST64 __PRI_64_prefix"i" /* int_least64_t */ - -#define SCNiFAST8 "hhi" /* int_fast8_t */ -#define SCNiFAST16 __PRI_FAST_prefix"i" /* int_fast16_t */ -#define SCNiFAST32 __PRI_FAST_prefix"i" /* int_fast32_t */ -#define SCNiFAST64 __PRI_64_prefix"i" /* int_fast64_t */ - -#define SCNiMAX "ji" /* intmax_t */ -#define SCNiPTR __PRI_PTR_prefix"i" /* intptr_t */ - -/* fscanf macros for unsigned integers */ -#define SCNo8 "hho" /* uint8_t */ -#define SCNo16 "ho" /* uint16_t */ -#define SCNo32 "o" /* uint32_t */ -#define SCNo64 __PRI_64_prefix"o" /* uint64_t */ - -#define SCNoLEAST8 "hho" /* uint_least8_t */ -#define SCNoLEAST16 "ho" /* uint_least16_t */ -#define SCNoLEAST32 "o" /* uint_least32_t */ -#define SCNoLEAST64 __PRI_64_prefix"o" /* uint_least64_t */ - -#define SCNoFAST8 "hho" /* uint_fast8_t */ -#define SCNoFAST16 __PRI_FAST_prefix"o" /* uint_fast16_t */ -#define SCNoFAST32 __PRI_FAST_prefix"o" /* uint_fast32_t */ -#define SCNoFAST64 __PRI_64_prefix"o" /* uint_fast64_t */ - -#define SCNoMAX "jo" /* uintmax_t */ -#define SCNoPTR __PRI_PTR_prefix"o" /* uintptr_t */ - -#define SCNu8 "hhu" /* uint8_t */ -#define SCNu16 "hu" /* uint16_t */ -#define SCNu32 "u" /* uint32_t */ -#define SCNu64 __PRI_64_prefix"u" /* uint64_t */ - -#define SCNuLEAST8 "hhu" /* uint_least8_t */ -#define SCNuLEAST16 "hu" /* uint_least16_t */ -#define SCNuLEAST32 "u" /* uint_least32_t */ -#define SCNuLEAST64 __PRI_64_prefix"u" /* uint_least64_t */ - -#define SCNuFAST8 "hhu" /* uint_fast8_t */ -#define SCNuFAST16 __PRI_FAST_prefix"u" /* uint_fast16_t */ -#define SCNuFAST32 __PRI_FAST_prefix"u" /* uint_fast32_t */ -#define SCNuFAST64 __PRI_64_prefix"u" /* uint_fast64_t */ - -#define SCNuMAX "ju" /* uintmax_t */ -#define SCNuPTR __PRI_PTR_prefix"u" /* uintptr_t */ - -#define SCNx8 "hhx" /* uint8_t */ -#define SCNx16 "hx" /* uint16_t */ -#define SCNx32 "x" /* uint32_t */ -#define SCNx64 __PRI_64_prefix"x" /* uint64_t */ - -#define SCNxLEAST8 "hhx" /* uint_least8_t */ -#define SCNxLEAST16 "hx" /* uint_least16_t */ -#define SCNxLEAST32 "x" /* uint_least32_t */ -#define SCNxLEAST64 __PRI_64_prefix"x" /* uint_least64_t */ - -#define SCNxFAST8 "hhx" /* uint_fast8_t */ -#define SCNxFAST16 __PRI_FAST_prefix"x" /* uint_fast16_t */ -#define SCNxFAST32 __PRI_FAST_prefix"x" /* uint_fast32_t */ -#define SCNxFAST64 __PRI_64_prefix"x" /* uint_fast64_t */ - -#define SCNxMAX "jx" /* uintmax_t */ -#define SCNxPTR __PRI_PTR_prefix"x" /* uintptr_t */ - -typedef struct { - intmax_t quot; /* quotient */ - intmax_t rem; /* remainder */ -} imaxdiv_t; - -__BEGIN_DECLS - -#if __ANDROID_API__ >= 19 -intmax_t imaxabs(intmax_t) __attribute_const__ __INTRODUCED_IN(19); -imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute_const__ __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - -intmax_t strtoimax(const char *, char **, int); -uintmax_t strtoumax(const char *, char **, int); - -#if __ANDROID_API__ >= 21 -intmax_t wcstoimax(const wchar_t* __restrict, wchar_t** __restrict, int) __INTRODUCED_IN(21); -uintmax_t wcstoumax(const wchar_t* __restrict, wchar_t** __restrict, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__END_DECLS - -#endif /* _INTTYPES_H_ */ diff --git a/headers/langinfo.h b/headers/langinfo.h deleted file mode 100644 index 17306f7d5..000000000 --- a/headers/langinfo.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 _LANGINFO_H_ -#define _LANGINFO_H_ - -#include <sys/cdefs.h> - -#include <nl_types.h> -#include <xlocale.h> - -__BEGIN_DECLS - -#define CODESET 1 -#define D_T_FMT 2 -#define D_FMT 3 -#define T_FMT 4 -#define T_FMT_AMPM 5 -#define AM_STR 6 -#define PM_STR 7 -#define DAY_1 8 -#define DAY_2 9 -#define DAY_3 10 -#define DAY_4 11 -#define DAY_5 12 -#define DAY_6 13 -#define DAY_7 14 -#define ABDAY_1 15 -#define ABDAY_2 16 -#define ABDAY_3 17 -#define ABDAY_4 18 -#define ABDAY_5 19 -#define ABDAY_6 20 -#define ABDAY_7 21 -#define MON_1 22 -#define MON_2 23 -#define MON_3 24 -#define MON_4 25 -#define MON_5 26 -#define MON_6 27 -#define MON_7 28 -#define MON_8 29 -#define MON_9 30 -#define MON_10 31 -#define MON_11 32 -#define MON_12 33 -#define ABMON_1 34 -#define ABMON_2 35 -#define ABMON_3 36 -#define ABMON_4 37 -#define ABMON_5 38 -#define ABMON_6 39 -#define ABMON_7 40 -#define ABMON_8 41 -#define ABMON_9 42 -#define ABMON_10 43 -#define ABMON_11 44 -#define ABMON_12 45 -#define ERA 46 -#define ERA_D_FMT 47 -#define ERA_D_T_FMT 48 -#define ERA_T_FMT 49 -#define ALT_DIGITS 50 -#define RADIXCHAR 51 -#define THOUSEP 52 -#define YESEXPR 53 -#define NOEXPR 54 -#define CRNCYSTR 55 - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -char* nl_langinfo(nl_item) __INTRODUCED_IN_FUTURE; -char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif diff --git a/headers/lastlog.h b/headers/lastlog.h deleted file mode 100644 index 4f461067e..000000000 --- a/headers/lastlog.h +++ /dev/null @@ -1,2 +0,0 @@ -/* This is a BSD synonym for <utmp.h> that's also provided by glibc. */ -#include <utmp.h> diff --git a/headers/libgen.h b/headers/libgen.h deleted file mode 100644 index f864ee109..000000000 --- a/headers/libgen.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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 _LIBGEN_H -#define _LIBGEN_H - -#include <sys/cdefs.h> -#include <sys/types.h> - - -__BEGIN_DECLS - -/* - * Including <string.h> will get you the GNU basename, unless <libgen.h> is - * included, either before or after including <string.h>. - * - * Note that this has the wrong argument cv-qualifiers, but doesn't modify its - * input and uses thread-local storage for the result if necessary. - */ -char* __posix_basename(const char*) __RENAME(basename); - -#define basename __posix_basename - -/* This has the wrong argument cv-qualifiers, but doesn't modify its input and uses thread-local storage for the result if necessary. */ -char* dirname(const char*); - -#if !defined(__LP64__) -/* These non-standard functions are not needed on Android; basename and dirname use thread-local storage. */ -int dirname_r(const char*, char*, size_t); -int basename_r(const char*, char*, size_t); -#endif - -__END_DECLS - -#endif /* _LIBGEN_H */ diff --git a/headers/limits.h b/headers/limits.h deleted file mode 100644 index a25eb6595..000000000 --- a/headers/limits.h +++ /dev/null @@ -1,152 +0,0 @@ -/* $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_ - -#include <sys/cdefs.h> - -/* Historically bionic exposed the content of <float.h> from <limits.h> and <sys/limits.h> too. */ -#include <float.h> - -#include <linux/limits.h> - -#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 -# define LONG_BIT 32 -#endif - -#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 -# define CHAR_MAX 0x7f -# define CHAR_MIN (-0x7f-1) -#endif - -#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 -# 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 - -# 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 - -#ifndef LONG_LONG_MAX -#define LONG_LONG_MAX LLONG_MAX -#endif - -#ifndef ULONG_LONG_MAX -#define ULONG_LONG_MAX ULLONG_MAX -#endif - -#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 -#define SIZE_T_MAX UINT_MAX -#endif -#endif - -#if defined(__LP64__) -#define SSIZE_MAX LONG_MAX -#else -#define SSIZE_MAX INT_MAX -#endif - -#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>. */ -#include <bits/posix_limits.h> - -#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_ */ diff --git a/headers/link.h b/headers/link.h deleted file mode 100644 index d284cfa0a..000000000 --- a/headers/link.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2012 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 _LINK_H_ -#define _LINK_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <elf.h> - -__BEGIN_DECLS - -#if defined(__LP64__) -#define ElfW(type) Elf64_ ## type -#else -#define ElfW(type) Elf32_ ## type -#endif - -struct dl_phdr_info { - ElfW(Addr) dlpi_addr; - const char* dlpi_name; - const ElfW(Phdr)* dlpi_phdr; - ElfW(Half) dlpi_phnum; -}; - -#if defined(__arm__) - -#if __ANDROID_API__ >= 21 -int dl_iterate_phdr(int (*)(struct dl_phdr_info*, size_t, void*), void*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -#else -int dl_iterate_phdr(int (*)(struct dl_phdr_info*, size_t, void*), void*); -#endif - -#ifdef __arm__ -typedef long unsigned int* _Unwind_Ptr; -_Unwind_Ptr dl_unwind_find_exidx(_Unwind_Ptr, int*); -#endif - -/* Used by the dynamic linker to communicate with the debugger. */ -struct link_map { - ElfW(Addr) l_addr; - char* l_name; - ElfW(Dyn)* l_ld; - struct link_map* l_next; - struct link_map* l_prev; -}; - -/* Used by the dynamic linker to communicate with the debugger. */ -struct r_debug { - int32_t r_version; - struct link_map* r_map; - ElfW(Addr) r_brk; - enum { - RT_CONSISTENT, - RT_ADD, - RT_DELETE - } r_state; - ElfW(Addr) r_ldbase; -}; - -__END_DECLS - -#endif /* _LINK_H_ */ diff --git a/headers/locale.h b/headers/locale.h deleted file mode 100644 index 16397878c..000000000 --- a/headers/locale.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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 _LOCALE_H_ -#define _LOCALE_H_ - -#include <sys/cdefs.h> -#include <xlocale.h> - -#define __need_NULL -#include <stddef.h> - -__BEGIN_DECLS - -#define LC_CTYPE 0 -#define LC_NUMERIC 1 -#define LC_TIME 2 -#define LC_COLLATE 3 -#define LC_MONETARY 4 -#define LC_MESSAGES 5 -#define LC_ALL 6 -#define LC_PAPER 7 -#define LC_NAME 8 -#define LC_ADDRESS 9 -#define LC_TELEPHONE 10 -#define LC_MEASUREMENT 11 -#define LC_IDENTIFICATION 12 - -#define LC_CTYPE_MASK (1 << LC_CTYPE) -#define LC_NUMERIC_MASK (1 << LC_NUMERIC) -#define LC_TIME_MASK (1 << LC_TIME) -#define LC_COLLATE_MASK (1 << LC_COLLATE) -#define LC_MONETARY_MASK (1 << LC_MONETARY) -#define LC_MESSAGES_MASK (1 << LC_MESSAGES) -#define LC_PAPER_MASK (1 << LC_PAPER) -#define LC_NAME_MASK (1 << LC_NAME) -#define LC_ADDRESS_MASK (1 << LC_ADDRESS) -#define LC_TELEPHONE_MASK (1 << LC_TELEPHONE) -#define LC_MEASUREMENT_MASK (1 << LC_MEASUREMENT) -#define LC_IDENTIFICATION_MASK (1 << LC_IDENTIFICATION) - -#define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | \ - LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | \ - LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | \ - LC_IDENTIFICATION_MASK) - -struct lconv { - char* decimal_point; - char* thousands_sep; - char* grouping; - char* int_curr_symbol; - char* currency_symbol; - char* mon_decimal_point; - char* mon_thousands_sep; - char* mon_grouping; - char* positive_sign; - char* negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; - char int_p_cs_precedes; - char int_p_sep_by_space; - char int_n_cs_precedes; - char int_n_sep_by_space; - char int_p_sign_posn; - char int_n_sign_posn; -}; - -struct lconv* localeconv(void) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD; - - -#if __ANDROID_API__ >= 21 -locale_t duplocale(locale_t) __INTRODUCED_IN(21); -void freelocale(locale_t) __INTRODUCED_IN(21); -locale_t newlocale(int, const char*, locale_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -char* setlocale(int, const char*); - -#if __ANDROID_API__ >= 21 -locale_t uselocale(locale_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#define LC_GLOBAL_LOCALE __BIONIC_CAST(reinterpret_cast, locale_t, -1L) - -__END_DECLS - -#endif /* _LOCALE_H_ */ diff --git a/headers/malloc.h b/headers/malloc.h deleted file mode 100644 index 12c7011fd..000000000 --- a/headers/malloc.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * 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 LIBC_INCLUDE_MALLOC_H_ -#define LIBC_INCLUDE_MALLOC_H_ - -#include <sys/cdefs.h> -#include <stddef.h> -#include <stdio.h> - -__BEGIN_DECLS - -#if defined(__clang__) -#define __BIONIC_ALLOC_SIZE(...) /* clang doesn't support attribute alloc_size. */ -#else -#define __BIONIC_ALLOC_SIZE(...) __attribute__((__alloc_size__(__VA_ARGS__))) -#endif - -void* malloc(size_t byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(1) __wur; -void* calloc(size_t item_count, size_t item_size) __mallocfunc __BIONIC_ALLOC_SIZE(1,2) __wur; -void* realloc(void* p, size_t byte_count) __BIONIC_ALLOC_SIZE(2) __wur; -void free(void* p); - -void* memalign(size_t alignment, size_t byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(2) __wur; - -#if __ANDROID_API__ >= 17 -size_t malloc_usable_size(const void* p) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - - -#ifndef STRUCT_MALLINFO_DECLARED -#define STRUCT_MALLINFO_DECLARED 1 -struct mallinfo { - size_t arena; /* Total number of non-mmapped bytes currently allocated from OS. */ - size_t ordblks; /* Number of free chunks. */ - size_t smblks; /* (Unused.) */ - size_t hblks; /* (Unused.) */ - size_t hblkhd; /* Total number of bytes in mmapped regions. */ - size_t usmblks; /* Maximum total allocated space; greater than total if trimming has occurred. */ - size_t fsmblks; /* (Unused.) */ - size_t uordblks; /* Total allocated space (normal or mmapped.) */ - size_t fordblks; /* Total free space. */ - size_t keepcost; /* Upper bound on number of bytes releasable by malloc_trim. */ -}; -#endif /* STRUCT_MALLINFO_DECLARED */ - -struct mallinfo mallinfo(void); - -/* - * XML structure for malloc_info(3) is in the following format: - * - * <malloc version="jemalloc-1"> - * <heap nr="INT"> - * <allocated-large>INT</allocated-large> - * <allocated-huge>INT</allocated-huge> - * <allocated-bins>INT</allocated-bins> - * <bins-total>INT</bins-total> - * <bin nr="INT"> - * <allocated>INT</allocated> - * <nmalloc>INT</nmalloc> - * <ndalloc>INT</ndalloc> - * </bin> - * <!-- more bins --> - * </heap> - * <!-- more heaps --> - * </malloc> - */ - -#if __ANDROID_API__ >= 23 -int malloc_info(int, FILE*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* LIBC_INCLUDE_MALLOC_H_ */ diff --git a/headers/math.h b/headers/math.h deleted file mode 100644 index 1a0719c2c..000000000 --- a/headers/math.h +++ /dev/null @@ -1,455 +0,0 @@ -/* - * ==================================================== - * 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_ - -#include <sys/cdefs.h> -#include <limits.h> - -__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 -#if defined(__FP_FAST_FMAF) -#define FP_FAST_FMAF 1 -#endif -#if defined(__FP_FAST_FMAL) -#define FP_FAST_FMAL 1 -#endif - -/* 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 - -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 */ - -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 */ - -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__)) */ - - -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 */ - -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__)) */ - - -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__)) */ - -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 */ - -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 */ - -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 */ - -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 */ - -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 */ - -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 */ - - -#if __ANDROID_API__ >= 18 -long double log2l(long double) __INTRODUCED_IN(18); -long double logbl(long double) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - - -#if __ANDROID_API__ >= 21 -long double logl(long double) __INTRODUCED_IN(21); -long lrintl(long double) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -long lroundl(long double); - -#if __ANDROID_API__ >= 21 -long double modfl(long double, long double*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - /* fundamentally !__attribute_const__ */ - -#if __ANDROID_API__ >= 13 -long double nanl(const char*) __attribute_const__ __INTRODUCED_IN(13); -#endif /* __ANDROID_API__ >= 13 */ - - -#if __ANDROID_API__ >= 21 -long double nearbyintl(long double) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -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 */ - -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 */ - -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 */ - - -#if __ANDROID_API__ >= 21 -long double significandl(long double) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -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 - -#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 - -__END_DECLS - -#endif /* !_MATH_H_ */ diff --git a/headers/memory.h b/headers/memory.h deleted file mode 100644 index 3b2f59002..000000000 --- a/headers/memory.h +++ /dev/null @@ -1 +0,0 @@ -#include <string.h> diff --git a/headers/mntent.h b/headers/mntent.h deleted file mode 100644 index e26d1711f..000000000 --- a/headers/mntent.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 _MNTENT_H_ -#define _MNTENT_H_ - -#include <stdio.h> -#include <sys/cdefs.h> -#include <paths.h> /* for _PATH_MOUNTED */ - -#define MOUNTED _PATH_MOUNTED - -#define MNTTYPE_IGNORE "ignore" -#define MNTTYPE_NFS "nfs" -#define MNTTYPE_SWAP "swap" - -#define MNTOPT_DEFAULTS "defaults" -#define MNTOPT_NOAUTO "noauto" -#define MNTOPT_NOSUID "nosuid" -#define MNTOPT_RO "ro" -#define MNTOPT_RW "rw" -#define MNTOPT_SUID "suid" - -struct mntent { - char* mnt_fsname; - char* mnt_dir; - char* mnt_type; - char* mnt_opts; - int mnt_freq; - int mnt_passno; -}; - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 21 -int endmntent(FILE*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -struct mntent* getmntent(FILE*); - -#if __ANDROID_API__ >= 21 -struct mntent* getmntent_r(FILE*, struct mntent*, char*, int) __INTRODUCED_IN(21); -FILE* setmntent(const char*, const char*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif diff --git a/headers/net/ethernet.h b/headers/net/ethernet.h deleted file mode 100644 index d5ba11f3f..000000000 --- a/headers/net/ethernet.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2011 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 _NET_ETHERNET_H_ -#define _NET_ETHERNET_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <linux/if_ether.h> - -#define ETHERTYPE_IP 0x0800 -#define ETHERTYPE_ARP 0x0806 -#define ETHERTYPE_REVARP 0x8035 -#define ETHERTYPE_VLAN 0x8100 -#define ETHERTYPE_IPX 0x8137 -#define ETHERTYPE_IPV6 0x86dd -#define ETHERTYPE_LOOPBACK 0x9000 - -#define ETHERTYPE_TRAIL 0x1000 -#define ETHERTYPE_NTRAILER 16 - -/* - * Some basic Ethernet constants. - */ -#define ETHER_ADDR_LEN 6 /* length of an Ethernet address */ -#define ETHER_TYPE_LEN 2 /* length of the Ethernet type field */ -#define ETHER_CRC_LEN 4 /* length of the Ethernet CRC */ -#define ETHER_HDR_LEN ((ETHER_ADDR_LEN * 2) + ETHER_TYPE_LEN) -#define ETHER_MIN_LEN 64 /* minimum frame length, including CRC */ -#define ETHER_MAX_LEN 1518 /* maximum frame length, including CRC */ -#define ETHER_MAX_LEN_JUMBO 9018 /* maximum jumbo frame len, including CRC */ - -/* - * Ethernet address - 6 octets - * this is only used by the ethers(3) functions. - */ -struct ether_addr { - u_int8_t ether_addr_octet[ETHER_ADDR_LEN]; -} __attribute__((__packed__)); - -/* - * Structure of a 10Mb/s Ethernet header. - */ -struct ether_header { - u_int8_t ether_dhost[ETHER_ADDR_LEN]; - u_int8_t ether_shost[ETHER_ADDR_LEN]; - u_int16_t ether_type; -} __attribute__((__packed__)); - -#define ETHERMTU_JUMBO (ETHER_MAX_LEN_JUMBO - ETHER_HDR_LEN - ETHER_CRC_LEN) -#define ETHERMTU (ETHER_MAX_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) -#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) - -#endif diff --git a/headers/net/if.h b/headers/net/if.h deleted file mode 100644 index b72105fbd..000000000 --- a/headers/net/if.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 _NET_IF_H_ -#define _NET_IF_H_ - -#include <sys/socket.h> -#include <linux/if.h> -#include <sys/cdefs.h> - -#ifndef IF_NAMESIZE -#define IF_NAMESIZE IFNAMSIZ -#endif - -__BEGIN_DECLS - -struct if_nameindex { - unsigned if_index; - char* if_name; -}; - -char* if_indextoname(unsigned, char*); -unsigned if_nametoindex(const char*); - -#if __ANDROID_API__ >= 24 -struct if_nameindex* if_nameindex(void) __INTRODUCED_IN(24); -void if_freenameindex(struct if_nameindex*) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -__END_DECLS - -#endif diff --git a/headers/net/if_arp.h b/headers/net/if_arp.h deleted file mode 100644 index 5eae82cea..000000000 --- a/headers/net/if_arp.h +++ /dev/null @@ -1,2 +0,0 @@ -#include <sys/socket.h> -#include <linux/if_arp.h> diff --git a/headers/net/if_packet.h b/headers/net/if_packet.h deleted file mode 100644 index b5e8e0e11..000000000 --- a/headers/net/if_packet.h +++ /dev/null @@ -1 +0,0 @@ -#include <linux/if_packet.h> diff --git a/headers/net/route.h b/headers/net/route.h deleted file mode 100644 index 9c53875c6..000000000 --- a/headers/net/route.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 _NET_ROUTE_H_ -#define _NET_ROUTE_H_ - -#include <sys/cdefs.h> -#include <sys/socket.h> -#include <linux/route.h> -#include <linux/in6.h> -#include <linux/ipv6_route.h> - -#endif diff --git a/headers/netdb.h b/headers/netdb.h deleted file mode 100644 index 868a34206..000000000 --- a/headers/netdb.h +++ /dev/null @@ -1,240 +0,0 @@ -/*- - * Copyright (c) 1980, 1983, 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ - -/* - * @(#)netdb.h 8.1 (Berkeley) 6/2/93 - * From: Id: netdb.h,v 8.9 1996/11/19 08:39:29 vixie Exp $ - * $FreeBSD: /repoman/r/ncvs/src/include/netdb.h,v 1.41 2006/04/15 16:20:26 ume Exp $ - */ - -#ifndef _NETDB_H_ -#define _NETDB_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/socket.h> - -#ifndef _PATH_HEQUIV -# define _PATH_HEQUIV "/system/etc/hosts.equiv" -#endif -#define _PATH_HOSTS "/system/etc/hosts" -#define _PATH_NETWORKS "/system/etc/networks" -#define _PATH_PROTOCOLS "/system/etc/protocols" -#define _PATH_SERVICES "/system/etc/services" - -/* - * Structures returned by network data base library. All addresses are - * supplied in host order, and returned in network order (suitable for - * use in system calls). - */ -struct hostent { - char *h_name; /* official name of host */ - char **h_aliases; /* alias list */ - int h_addrtype; /* host address type */ - int h_length; /* length of address */ - char **h_addr_list; /* list of addresses from name server */ -#define h_addr h_addr_list[0] /* address, for backward compatibility */ -}; - -struct netent { - char *n_name; /* official name of net */ - char **n_aliases; /* alias list */ - int n_addrtype; /* net address type */ - uint32_t n_net; /* network # */ -}; - -struct servent { - char *s_name; /* official service name */ - char **s_aliases; /* alias list */ - int s_port; /* port # */ - char *s_proto; /* protocol to use */ -}; - -struct protoent { - char *p_name; /* official protocol name */ - char **p_aliases; /* alias list */ - int p_proto; /* protocol # */ -}; - -struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - socklen_t ai_addrlen; /* length of ai_addr */ - char *ai_canonname; /* canonical name for hostname */ - struct sockaddr *ai_addr; /* binary address */ - struct addrinfo *ai_next; /* next structure in linked list */ -}; - -/* - * Error return codes from gethostbyname() and gethostbyaddr() - * (left in h_errno). - */ - -#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 /* Non-Authoritative Host not found, or SERVERFAIL */ -#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 /* Valid name, no data record of requested type */ -#define NO_ADDRESS NO_DATA /* no address, look for MX record */ - -/* - * Error return codes from getaddrinfo() - */ -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#define EAI_FAMILY 5 /* ai_family not supported */ -#define EAI_MEMORY 6 /* memory allocation failure */ -#define EAI_NODATA 7 /* no address associated with hostname */ -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#define EAI_SYSTEM 11 /* system error returned in errno */ -#define EAI_BADHINTS 12 /* invalid value for hints */ -#define EAI_PROTOCOL 13 /* resolved protocol is unknown */ -#define EAI_OVERFLOW 14 /* argument buffer overflow */ -#define EAI_MAX 15 - -/* - * Flag values for getaddrinfo() - */ -#define AI_PASSIVE 0x00000001 /* get address to use bind() */ -#define AI_CANONNAME 0x00000002 /* fill ai_canonname */ -#define AI_NUMERICHOST 0x00000004 /* prevent host name resolution */ -#define AI_NUMERICSERV 0x00000008 /* prevent service name resolution */ -/* valid flags for addrinfo (not a standard def, apps should not use it) */ -#define AI_MASK \ - (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | \ - AI_ADDRCONFIG) - -#define AI_ALL 0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */ -#define AI_V4MAPPED_CFG 0x00000200 /* accept IPv4-mapped if kernel supports */ -#define AI_ADDRCONFIG 0x00000400 /* only if any address is assigned */ -#define AI_V4MAPPED 0x00000800 /* accept IPv4-mapped IPv6 address */ -/* special recommended flags for getipnodebyname */ -#define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG) - -/* - * Constants for getnameinfo() - */ -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 - -/* - * Flag values for getnameinfo() - */ -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 -#if 0 /* obsolete */ -#define NI_WITHSCOPEID 0x00000020 -#endif - -/* - * Scope delimit character - */ -#define SCOPE_DELIMITER '%' - -#define IPPORT_RESERVED 1024 - -__BEGIN_DECLS - -/* BIONIC-BEGIN */ -#define h_errno (*__get_h_errno()) -int* __get_h_errno(void); -/* BIONIC-END */ -void endservent(void); -struct hostent* gethostbyaddr(const void*, socklen_t, int); - -#if __ANDROID_API__ >= 23 -int gethostbyaddr_r(const void*, socklen_t, int, struct hostent*, char*, size_t, struct hostent**, - int*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -struct hostent* gethostbyname(const char*); -int gethostbyname_r(const char*, struct hostent*, char*, size_t, struct hostent**, int*); -struct hostent* gethostbyname2(const char*, int); - -#if __ANDROID_API__ >= 23 -int gethostbyname2_r(const char*, int, struct hostent*, char*, size_t, struct hostent**, int*) - __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -struct hostent* gethostent(void); -struct netent* getnetbyaddr(uint32_t, int); -struct netent* getnetbyname(const char*); -struct protoent* getprotobyname(const char*); -struct protoent* getprotobynumber(int); -struct servent* getservbyname(const char*, const char*); -struct servent* getservbyport(int, const char*); -struct servent* getservent(void); -void herror(const char*); -const char* hstrerror(int); - -int getaddrinfo(const char*, const char*, const struct addrinfo*, struct addrinfo**); -/* POSIX getnameinfo uses socklen_t, not size_t, but LP64 sizeof(socklen_t) != sizeof(size_t). */ -int getnameinfo(const struct sockaddr*, socklen_t, char*, size_t, char*, size_t, int); -void freeaddrinfo(struct addrinfo*); -const char* gai_strerror(int); -void setservent(int); - -__END_DECLS - -#endif /* !_NETDB_H_ */ diff --git a/headers/netinet/ether.h b/headers/netinet/ether.h deleted file mode 100644 index a69005f88..000000000 --- a/headers/netinet/ether.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 _NETINET_ETHER_H_ -#define _NETINET_ETHER_H_ 1 - -#include <sys/cdefs.h> -#include <netinet/if_ether.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 11 -char* ether_ntoa(const struct ether_addr*) __INTRODUCED_IN(11); -char* ether_ntoa_r(const struct ether_addr*, char*) __INTRODUCED_IN(11); -struct ether_addr* ether_aton(const char*) __INTRODUCED_IN(11); -struct ether_addr* ether_aton_r(const char*, struct ether_addr*) __INTRODUCED_IN(11); -#endif /* __ANDROID_API__ >= 11 */ - - -__END_DECLS - -#endif diff --git a/headers/netinet/icmp6.h b/headers/netinet/icmp6.h deleted file mode 100644 index 43ec5215c..000000000 --- a/headers/netinet/icmp6.h +++ /dev/null @@ -1,500 +0,0 @@ -/* $NetBSD: icmp6.h,v 1.47 2013/07/01 12:43:15 christos Exp $ */ -/* $KAME: icmp6.h,v 1.84 2003/04/23 10:26:51 itojun Exp $ */ - - -/* - * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the project 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 PROJECT 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 PROJECT OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_ICMP6_H_ -#define _NETINET_ICMP6_H_ - -#include <netinet/in.h> /* android-added: glibc source compatibility. */ -#include <sys/cdefs.h> - -#define ICMPV6_PLD_MAXLEN 1232 /* IPV6_MMTU - sizeof(struct ip6_hdr) - - sizeof(struct icmp6_hdr) */ - -struct icmp6_hdr { - u_int8_t icmp6_type; /* type field */ - u_int8_t icmp6_code; /* code field */ - u_int16_t icmp6_cksum; /* checksum field */ - union { - u_int32_t icmp6_un_data32[1]; /* type-specific field */ - u_int16_t icmp6_un_data16[2]; /* type-specific field */ - u_int8_t icmp6_un_data8[4]; /* type-specific field */ - } icmp6_dataun; -} __packed; - -#define icmp6_data32 icmp6_dataun.icmp6_un_data32 -#define icmp6_data16 icmp6_dataun.icmp6_un_data16 -#define icmp6_data8 icmp6_dataun.icmp6_un_data8 -#define icmp6_pptr icmp6_data32[0] /* parameter prob */ -#define icmp6_mtu icmp6_data32[0] /* packet too big */ -#define icmp6_id icmp6_data16[0] /* echo request/reply */ -#define icmp6_seq icmp6_data16[1] /* echo request/reply */ -#define icmp6_maxdelay icmp6_data16[0] /* mcast group membership */ - -#define ICMP6_DST_UNREACH 1 /* dest unreachable, codes: */ -#define ICMP6_PACKET_TOO_BIG 2 /* packet too big */ -#define ICMP6_TIME_EXCEEDED 3 /* time exceeded, code: */ -#define ICMP6_PARAM_PROB 4 /* ip6 header bad */ - -#define ICMP6_ECHO_REQUEST 128 /* echo service */ -#define ICMP6_ECHO_REPLY 129 /* echo reply */ -#define MLD_LISTENER_QUERY 130 /* multicast listener query */ -#define MLD_LISTENER_REPORT 131 /* multicast listener report */ -#define MLD_LISTENER_DONE 132 /* multicast listener done */ -#define MLD_LISTENER_REDUCTION MLD_LISTENER_DONE /* RFC3542 definition */ - -/* RFC2292 decls */ -#define ICMP6_MEMBERSHIP_QUERY 130 /* group membership query */ -#define ICMP6_MEMBERSHIP_REPORT 131 /* group membership report */ -#define ICMP6_MEMBERSHIP_REDUCTION 132 /* group membership termination */ - -#define ND_ROUTER_SOLICIT 133 /* router solicitation */ -#define ND_ROUTER_ADVERT 134 /* router advertisement */ -#define ND_NEIGHBOR_SOLICIT 135 /* neighbor solicitation */ -#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisement */ -#define ND_REDIRECT 137 /* redirect */ - -#define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */ - -#define ICMP6_WRUREQUEST 139 /* who are you request */ -#define ICMP6_WRUREPLY 140 /* who are you reply */ -#define ICMP6_FQDN_QUERY 139 /* FQDN query */ -#define ICMP6_FQDN_REPLY 140 /* FQDN reply */ -#define ICMP6_NI_QUERY 139 /* node information request */ -#define ICMP6_NI_REPLY 140 /* node information reply */ -#define MLDV2_LISTENER_REPORT 143 /* RFC3810 listener report */ - -/* The definitions below are experimental. TBA */ -#define MLD_MTRACE_RESP 200 /* mtrace response(to sender) */ -#define MLD_MTRACE 201 /* mtrace messages */ - -#define ICMP6_MAXTYPE 201 - -#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ -#define ICMP6_DST_UNREACH_ADMIN 1 /* administratively prohibited */ -#define ICMP6_DST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor(obsolete) */ -#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */ -#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */ -#define ICMP6_DST_UNREACH_NOPORT 4 /* port unreachable */ -#define ICMP6_DST_UNREACH_POLICY 5 /* source address failed ingress/egress policy */ -#define ICMP6_DST_UNREACH_REJROUTE 6 /* reject route to destination */ -#define ICMP6_DST_UNREACH_SOURCERT 7 /* error in source routing header */ - -#define ICMP6_TIME_EXCEED_TRANSIT 0 /* ttl==0 in transit */ -#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* ttl==0 in reass */ - -#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ -#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized next header */ -#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized option */ - -#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */ - -#define ICMP6_NI_SUBJ_IPV6 0 /* Query Subject is an IPv6 address */ -#define ICMP6_NI_SUBJ_FQDN 1 /* Query Subject is a Domain name */ -#define ICMP6_NI_SUBJ_IPV4 2 /* Query Subject is an IPv4 address */ - -#define ICMP6_NI_SUCCESS 0 /* node information successful reply */ -#define ICMP6_NI_REFUSED 1 /* node information request is refused */ -#define ICMP6_NI_UNKNOWN 2 /* unknown Qtype */ - -#define ICMP6_ROUTER_RENUMBERING_COMMAND 0 /* rr command */ -#define ICMP6_ROUTER_RENUMBERING_RESULT 1 /* rr result */ -#define ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET 255 /* rr seq num reset */ - -/* Used in kernel only */ -#define ND_REDIRECT_ONLINK 0 /* redirect to an on-link node */ -#define ND_REDIRECT_ROUTER 1 /* redirect to a better router */ - -/* - * Multicast Listener Discovery - */ -struct mld_hdr { - struct icmp6_hdr mld_icmp6_hdr; - struct in6_addr mld_addr; /* multicast address */ -} __packed; - -/* shortcut macro definitions */ -#define mld_type mld_icmp6_hdr.icmp6_type -#define mld_code mld_icmp6_hdr.icmp6_code -#define mld_cksum mld_icmp6_hdr.icmp6_cksum -#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] -#define mld_reserved mld_icmp6_hdr.icmp6_data16[1] - -#define MLD_MINLEN 24 - -/* - * Neighbor Discovery - */ - -struct nd_router_solicit { /* router solicitation */ - struct icmp6_hdr nd_rs_hdr; - /* could be followed by options */ -} __packed; - -#define nd_rs_type nd_rs_hdr.icmp6_type -#define nd_rs_code nd_rs_hdr.icmp6_code -#define nd_rs_cksum nd_rs_hdr.icmp6_cksum -#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0] - -struct nd_router_advert { /* router advertisement */ - struct icmp6_hdr nd_ra_hdr; - u_int32_t nd_ra_reachable; /* reachable time */ - u_int32_t nd_ra_retransmit; /* retransmit timer */ - /* could be followed by options */ -} __packed; - -#define nd_ra_type nd_ra_hdr.icmp6_type -#define nd_ra_code nd_ra_hdr.icmp6_code -#define nd_ra_cksum nd_ra_hdr.icmp6_cksum -#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0] -#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1] -#define ND_RA_FLAG_MANAGED 0x80 -#define ND_RA_FLAG_OTHER 0x40 -#define ND_RA_FLAG_HOME_AGENT 0x20 - -/* - * Router preference values based on RFC4191. - */ -#define ND_RA_FLAG_RTPREF_MASK 0x18 /* 00011000 */ - -#define ND_RA_FLAG_RTPREF_HIGH 0x08 /* 00001000 */ -#define ND_RA_FLAG_RTPREF_MEDIUM 0x00 /* 00000000 */ -#define ND_RA_FLAG_RTPREF_LOW 0x18 /* 00011000 */ -#define ND_RA_FLAG_RTPREF_RSV 0x10 /* 00010000 */ - -#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1] - -struct nd_neighbor_solicit { /* neighbor solicitation */ - struct icmp6_hdr nd_ns_hdr; - struct in6_addr nd_ns_target; /*target address */ - /* could be followed by options */ -} __packed; - -#define nd_ns_type nd_ns_hdr.icmp6_type -#define nd_ns_code nd_ns_hdr.icmp6_code -#define nd_ns_cksum nd_ns_hdr.icmp6_cksum -#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0] - -struct nd_neighbor_advert { /* neighbor advertisement */ - struct icmp6_hdr nd_na_hdr; - struct in6_addr nd_na_target; /* target address */ - /* could be followed by options */ -} __packed; - -#define nd_na_type nd_na_hdr.icmp6_type -#define nd_na_code nd_na_hdr.icmp6_code -#define nd_na_cksum nd_na_hdr.icmp6_cksum -#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] -#define ND_NA_FLAG_ROUTER 0x80 -#define ND_NA_FLAG_SOLICITED 0x40 -#define ND_NA_FLAG_OVERRIDE 0x20 - -struct nd_redirect { /* redirect */ - struct icmp6_hdr nd_rd_hdr; - struct in6_addr nd_rd_target; /* target address */ - struct in6_addr nd_rd_dst; /* destination address */ - /* could be followed by options */ -} __packed; - -#define nd_rd_type nd_rd_hdr.icmp6_type -#define nd_rd_code nd_rd_hdr.icmp6_code -#define nd_rd_cksum nd_rd_hdr.icmp6_cksum -#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0] - -struct nd_opt_hdr { /* Neighbor discovery option header */ - u_int8_t nd_opt_type; - u_int8_t nd_opt_len; - /* followed by option specific data*/ -} __packed; - -#define ND_OPT_SOURCE_LINKADDR 1 -#define ND_OPT_TARGET_LINKADDR 2 -#define ND_OPT_PREFIX_INFORMATION 3 -#define ND_OPT_REDIRECTED_HEADER 4 -#define ND_OPT_MTU 5 -#define ND_OPT_ADVINTERVAL 7 -#define ND_OPT_HOMEAGENT_INFO 8 -#define ND_OPT_SOURCE_ADDRLIST 9 -#define ND_OPT_TARGET_ADDRLIST 10 -#define ND_OPT_MAP 23 /* RFC 5380 */ -#define ND_OPT_ROUTE_INFO 24 /* RFC 4191 */ -#define ND_OPT_RDNSS 25 /* RFC 6016 */ -#define ND_OPT_DNSSL 31 /* RFC 6016 */ - -struct nd_opt_route_info { /* route info */ - u_int8_t nd_opt_rti_type; - u_int8_t nd_opt_rti_len; - u_int8_t nd_opt_rti_prefixlen; - u_int8_t nd_opt_rti_flags; - u_int32_t nd_opt_rti_lifetime; - /* prefix follows */ -}; - -struct nd_opt_prefix_info { /* prefix information */ - u_int8_t nd_opt_pi_type; - u_int8_t nd_opt_pi_len; - u_int8_t nd_opt_pi_prefix_len; - u_int8_t nd_opt_pi_flags_reserved; - u_int32_t nd_opt_pi_valid_time; - u_int32_t nd_opt_pi_preferred_time; - u_int32_t nd_opt_pi_reserved2; - struct in6_addr nd_opt_pi_prefix; -} __packed; - -#define ND_OPT_PI_FLAG_ONLINK 0x80 -#define ND_OPT_PI_FLAG_AUTO 0x40 - -struct nd_opt_rd_hdr { /* redirected header */ - u_int8_t nd_opt_rh_type; - u_int8_t nd_opt_rh_len; - u_int16_t nd_opt_rh_reserved1; - u_int32_t nd_opt_rh_reserved2; - /* followed by IP header and data */ -} __packed; - -struct nd_opt_mtu { /* MTU option */ - u_int8_t nd_opt_mtu_type; - u_int8_t nd_opt_mtu_len; - u_int16_t nd_opt_mtu_reserved; - u_int32_t nd_opt_mtu_mtu; -} __packed; - -struct nd_opt_rdnss { /* RDNSS option RFC 6106 */ - u_int8_t nd_opt_rdnss_type; - u_int8_t nd_opt_rdnss_len; - u_int16_t nd_opt_rdnss_reserved; - u_int32_t nd_opt_rdnss_lifetime; - /* followed by list of IP prefixes */ -} __packed; - -struct nd_opt_dnssl { /* DNSSL option RFC 6106 */ - u_int8_t nd_opt_dnssl_type; - u_int8_t nd_opt_dnssl_len; - u_int16_t nd_opt_dnssl_reserved; - u_int32_t nd_opt_dnssl_lifetime; - /* followed by list of IP prefixes */ -} __packed; - -/* - * icmp6 namelookup - */ - -struct icmp6_namelookup { - struct icmp6_hdr icmp6_nl_hdr; - u_int8_t icmp6_nl_nonce[8]; - int32_t icmp6_nl_ttl; -#if 0 - u_int8_t icmp6_nl_len; - u_int8_t icmp6_nl_name[3]; -#endif - /* could be followed by options */ -} __packed; - -/* - * icmp6 node information - */ -struct icmp6_nodeinfo { - struct icmp6_hdr icmp6_ni_hdr; - u_int8_t icmp6_ni_nonce[8]; - /* could be followed by reply data */ -} __packed; - -/* - * BEGIN android-removed: glibc doesn't have these, and external/ping declares them itself. -#define ni_type icmp6_ni_hdr.icmp6_type -#define ni_code icmp6_ni_hdr.icmp6_code -#define ni_cksum icmp6_ni_hdr.icmp6_cksum -#define ni_qtype icmp6_ni_hdr.icmp6_data16[0] -#define ni_flags icmp6_ni_hdr.icmp6_data16[1] - * END android-removed - */ - -#define NI_QTYPE_NOOP 0 /* NOOP */ -#define NI_QTYPE_SUPTYPES 1 /* Supported Qtypes */ -#define NI_QTYPE_FQDN 2 /* FQDN (draft 04) */ -#define NI_QTYPE_DNSNAME 2 /* DNS Name */ -#define NI_QTYPE_NODEADDR 3 /* Node Addresses */ -#define NI_QTYPE_IPV4ADDR 4 /* IPv4 Addresses */ - -#define NI_SUPTYPE_FLAG_COMPRESS 0x0100 -#define NI_FQDN_FLAG_VALIDTTL 0x0100 - -#ifdef NAME_LOOKUPS_04 -#define NI_NODEADDR_FLAG_LINKLOCAL 0x0100 -#define NI_NODEADDR_FLAG_SITELOCAL 0x0200 -#define NI_NODEADDR_FLAG_GLOBAL 0x0400 -#define NI_NODEADDR_FLAG_ALL 0x0800 -#define NI_NODEADDR_FLAG_TRUNCATE 0x1000 -#define NI_NODEADDR_FLAG_ANYCAST 0x2000 /* just experimental. not in spec */ -#else /* draft-ietf-ipngwg-icmp-name-lookups-05 (and later?) */ -#define NI_NODEADDR_FLAG_TRUNCATE 0x0100 -#define NI_NODEADDR_FLAG_ALL 0x0200 -#define NI_NODEADDR_FLAG_COMPAT 0x0400 -#define NI_NODEADDR_FLAG_LINKLOCAL 0x0800 -#define NI_NODEADDR_FLAG_SITELOCAL 0x1000 -#define NI_NODEADDR_FLAG_GLOBAL 0x2000 -#define NI_NODEADDR_FLAG_ANYCAST 0x4000 /* just experimental. not in spec */ -#endif - -struct ni_reply_fqdn { - u_int32_t ni_fqdn_ttl; /* TTL */ - u_int8_t ni_fqdn_namelen; /* length in octets of the FQDN */ - u_int8_t ni_fqdn_name[3]; /* XXX: alignment */ -} __packed; - -/* - * Router Renumbering. as router-renum-08.txt - */ -struct icmp6_router_renum { /* router renumbering header */ - struct icmp6_hdr rr_hdr; - u_int8_t rr_segnum; - u_int8_t rr_flags; - u_int16_t rr_maxdelay; - u_int32_t rr_reserved; -} __packed; - -#define ICMP6_RR_FLAGS_TEST 0x80 -#define ICMP6_RR_FLAGS_REQRESULT 0x40 -#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20 -#define ICMP6_RR_FLAGS_SPECSITE 0x10 -#define ICMP6_RR_FLAGS_PREVDONE 0x08 - -#define rr_type rr_hdr.icmp6_type -#define rr_code rr_hdr.icmp6_code -#define rr_cksum rr_hdr.icmp6_cksum -#define rr_seqnum rr_hdr.icmp6_data32[0] - -struct rr_pco_match { /* match prefix part */ - u_int8_t rpm_code; - u_int8_t rpm_len; - u_int8_t rpm_ordinal; - u_int8_t rpm_matchlen; - u_int8_t rpm_minlen; - u_int8_t rpm_maxlen; - u_int16_t rpm_reserved; - struct in6_addr rpm_prefix; -} __packed; - -#define RPM_PCO_ADD 1 -#define RPM_PCO_CHANGE 2 -#define RPM_PCO_SETGLOBAL 3 -#define RPM_PCO_MAX 4 - -struct rr_pco_use { /* use prefix part */ - u_int8_t rpu_uselen; - u_int8_t rpu_keeplen; - u_int8_t rpu_ramask; - u_int8_t rpu_raflags; - u_int32_t rpu_vltime; - u_int32_t rpu_pltime; - u_int32_t rpu_flags; - struct in6_addr rpu_prefix; -} __packed; -#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x80 -#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x40 - -#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80 -#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40 - -struct rr_result { /* router renumbering result message */ - u_int16_t rrr_flags; - u_int8_t rrr_ordinal; - u_int8_t rrr_matchedlen; - u_int32_t rrr_ifid; - struct in6_addr rrr_prefix; -} __packed; -#define ICMP6_RR_RESULT_FLAGS_OOB 0x0200 -#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100 - -/* - * icmp6 filter structures. - */ - -struct icmp6_filter { - u_int32_t icmp6_filt[8]; -}; - -/* - * BEGIN android-changed - * Linux and *BSD kernels use opposite values to indicate pass/block in ICMPv6 - * filters, and assign a different value to the ICMP6_FILTER sockopt. - */ -#define ICMP6_FILTER 1 - -#define ICMP6_FILTER_SETPASSALL(filterp) \ - (void)memset(filterp, 0x00, sizeof(struct icmp6_filter)) -#define ICMP6_FILTER_SETBLOCKALL(filterp) \ - (void)memset(filterp, 0xff, sizeof(struct icmp6_filter)) -#define ICMP6_FILTER_SETPASS(type, filterp) \ - (((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))) -#define ICMP6_FILTER_SETBLOCK(type, filterp) \ - (((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))) -#define ICMP6_FILTER_WILLPASS(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) -#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ - ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0) -/* - * END android-changed - */ - -#endif /* !_NETINET_ICMP6_H_ */ diff --git a/headers/netinet/if_ether.h b/headers/netinet/if_ether.h deleted file mode 100644 index b1b9ed0fe..000000000 --- a/headers/netinet/if_ether.h +++ /dev/null @@ -1,110 +0,0 @@ -/* $NetBSD: if_ether.h,v 1.34 2007/12/25 18:33:46 perry Exp $ */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)if_ether.h 8.3 (Berkeley) 5/2/95 - */ - -#ifndef _NETINET_IF_ETHER_H_ -#define _NETINET_IF_ETHER_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#if defined(__USE_BSD) - -/* pull in Ethernet-specific definitions and packet structures */ - -#include <linux/if_ether.h> - -/* pull in ARP-specific definitions and packet structures */ - -#include <net/if_arp.h> - -#include <net/ethernet.h> - -/* ... and define some more which we don't need anymore: */ - -/* - * Ethernet Address Resolution Protocol. - * - * See RFC 826 for protocol description. Structure below is not - * used by our kernel!!! Only for userland programs which are externally - * maintained and need it. - */ - -struct ether_arp { - struct arphdr ea_hdr; /* fixed-size header */ - u_int8_t arp_sha[ETHER_ADDR_LEN]; /* sender hardware address */ - u_int8_t arp_spa[4]; /* sender protocol address */ - u_int8_t arp_tha[ETHER_ADDR_LEN]; /* target hardware address */ - u_int8_t arp_tpa[4]; /* target protocol address */ -} __packed; -#define arp_hrd ea_hdr.ar_hrd -#define arp_pro ea_hdr.ar_pro -#define arp_hln ea_hdr.ar_hln -#define arp_pln ea_hdr.ar_pln -#define arp_op ea_hdr.ar_op - -/* - * Macro to map an IP multicast address to an Ethernet multicast address. - * The high-order 25 bits of the Ethernet address are statically assigned, - * and the low-order 23 bits are taken from the low end of the IP address. - */ -#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ - /* struct in_addr *ipaddr; */ \ - /* u_int8_t enaddr[ETHER_ADDR_LEN]; */ \ -{ \ - (enaddr)[0] = 0x01; \ - (enaddr)[1] = 0x00; \ - (enaddr)[2] = 0x5e; \ - (enaddr)[3] = ((u_int8_t *)ipaddr)[1] & 0x7f; \ - (enaddr)[4] = ((u_int8_t *)ipaddr)[2]; \ - (enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \ -} -/* - * Macro to map an IP6 multicast address to an Ethernet multicast address. - * The high-order 16 bits of the Ethernet address are statically assigned, - * and the low-order 32 bits are taken from the low end of the IP6 address. - */ -#define ETHER_MAP_IPV6_MULTICAST(ip6addr, enaddr) \ - /* struct in6_addr *ip6addr; */ \ - /* u_int8_t enaddr[ETHER_ADDR_LEN]; */ \ -{ \ - (enaddr)[0] = 0x33; \ - (enaddr)[1] = 0x33; \ - (enaddr)[2] = ((u_int8_t *)ip6addr)[12]; \ - (enaddr)[3] = ((u_int8_t *)ip6addr)[13]; \ - (enaddr)[4] = ((u_int8_t *)ip6addr)[14]; \ - (enaddr)[5] = ((u_int8_t *)ip6addr)[15]; \ -} - -#endif /* __USE_BSD */ - -#endif /* !_NET_IF_ETHER_H_ */ diff --git a/headers/netinet/in.h b/headers/netinet/in.h deleted file mode 100644 index 10fbafa99..000000000 --- a/headers/netinet/in.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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 _NETINET_IN_H_ -#define _NETINET_IN_H_ - -#include <endian.h> -#include <netinet/in6.h> -#include <sys/cdefs.h> -#include <sys/socket.h> - -#include <linux/in.h> -#include <linux/in6.h> -#include <linux/ipv6.h> - -__BEGIN_DECLS - -#define INET_ADDRSTRLEN 16 - -typedef uint16_t in_port_t; -typedef uint32_t in_addr_t; - -int bindresvport(int, struct sockaddr_in*); - -#if __ANDROID_API__ >= __ANDROID_API_N__ -extern const struct in6_addr in6addr_any __INTRODUCED_IN(24); -extern const struct in6_addr in6addr_loopback __INTRODUCED_IN(24); -#else -static const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT; -static const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT; -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -__END_DECLS - -#endif /* _NETINET_IN_H_ */ diff --git a/headers/netinet/in6.h b/headers/netinet/in6.h deleted file mode 100644 index ae20f835c..000000000 --- a/headers/netinet/in6.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 _NETINET_IN6_H -#define _NETINET_IN6_H - -#include <sys/cdefs.h> - -#include <linux/in6.h> - -#define IN6_IS_ADDR_UNSPECIFIED(a) \ - ((((a)->s6_addr32[0]) == 0) && \ - (((a)->s6_addr32[1]) == 0) && \ - (((a)->s6_addr32[2]) == 0) && \ - (((a)->s6_addr32[3]) == 0)) - -#define IN6_IS_ADDR_LOOPBACK(a) \ - ((((a)->s6_addr32[0]) == 0) && \ - (((a)->s6_addr32[1]) == 0) && \ - (((a)->s6_addr32[2]) == 0) && \ - (((a)->s6_addr32[3]) == ntohl(1))) - -#define IN6_IS_ADDR_V4COMPAT(a) \ - ((((a)->s6_addr32[0]) == 0) && \ - (((a)->s6_addr32[1]) == 0) && \ - (((a)->s6_addr32[2]) == 0) && \ - (((a)->s6_addr32[3]) != 0) && (((a)->s6_addr32[3]) != ntohl(1))) - -#define IN6_IS_ADDR_V4MAPPED(a) \ - ((((a)->s6_addr32[0]) == 0) && \ - (((a)->s6_addr32[1]) == 0) && \ - (((a)->s6_addr32[2]) == ntohl(0x0000ffff))) - -#define __bionic_s6_addr(a) __BIONIC_CAST(reinterpret_cast, const uint8_t*, a) - -#define IN6_IS_ADDR_LINKLOCAL(a) \ - ((__bionic_s6_addr(a)[0] == 0xfe) && ((__bionic_s6_addr(a)[1] & 0xc0) == 0x80)) - -#define IN6_IS_ADDR_SITELOCAL(a) \ - ((__bionic_s6_addr(a)[0] == 0xfe) && ((__bionic_s6_addr(a)[1] & 0xc0) == 0xc0)) - -#define IN6_IS_ADDR_MULTICAST(a) (__bionic_s6_addr(a)[0] == 0xff) - -#define IN6_IS_ADDR_ULA(a) ((__bionic_s6_addr(a)[0] & 0xfe) == 0xfc) - -#define IPV6_ADDR_SCOPE_NODELOCAL 0x01 -#define IPV6_ADDR_SCOPE_INTFACELOCAL 0x01 -#define IPV6_ADDR_SCOPE_LINKLOCAL 0x02 -#define IPV6_ADDR_SCOPE_SITELOCAL 0x05 -#define IPV6_ADDR_SCOPE_ORGLOCAL 0x08 -#define IPV6_ADDR_SCOPE_GLOBAL 0x0e - -#define IPV6_ADDR_MC_SCOPE(a) (__bionic_s6_addr(a)[1] & 0x0f) - -#define IN6_IS_ADDR_MC_NODELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_NODELOCAL)) -#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_LINKLOCAL)) -#define IN6_IS_ADDR_MC_SITELOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_SITELOCAL)) -#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_ORGLOCAL)) -#define IN6_IS_ADDR_MC_GLOBAL(a) \ - (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_GLOBAL)) - -#define IN6_ARE_ADDR_EQUAL(a, b) \ - (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0) - -#define INET6_ADDRSTRLEN 46 - -#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP -#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP - -#define IN6ADDR_ANY_INIT {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}} -#define IN6ADDR_LOOPBACK_INIT {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}}} - -#define ipv6mr_interface ipv6mr_ifindex - -#endif /* _NETINET_IN6_H */ diff --git a/headers/netinet/in_systm.h b/headers/netinet/in_systm.h deleted file mode 100644 index 8da19a5d8..000000000 --- a/headers/netinet/in_systm.h +++ /dev/null @@ -1,58 +0,0 @@ -/* $NetBSD: in_systm.h,v 1.13 2005/12/10 23:36:23 elad Exp $ */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)in_systm.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_IN_SYSTM_H_ -#define _NETINET_IN_SYSTM_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* - * Miscellaneous internetwork - * definitions for kernel. - */ - -/* - * Network types. - * - * Internally the system keeps counters in the headers with the bytes - * swapped so that VAX instructions will work on them. It reverses - * the bytes before transmission at each protocol level. The n_ types - * represent the types with the bytes in ``high-ender'' order. - */ -typedef u_int16_t n_short; /* short as received from the net */ -typedef u_int32_t n_long; /* long as received from the net */ - -typedef u_int32_t n_time; /* ms since 00:00 GMT, byte rev */ - -#endif /* !_NETINET_IN_SYSTM_H_ */ diff --git a/headers/netinet/ip.h b/headers/netinet/ip.h deleted file mode 100644 index 48219334c..000000000 --- a/headers/netinet/ip.h +++ /dev/null @@ -1,263 +0,0 @@ -/* $OpenBSD: ip.h,v 1.12 2006/04/27 02:19:32 tedu Exp $ */ -/* $NetBSD: ip.h,v 1.9 1995/05/15 01:22:44 cgd Exp $ */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ip.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_IP_H_ -#define _NETINET_IP_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <endian.h> -#include <netinet/in.h> -#include <netinet/in_systm.h> - -__BEGIN_DECLS - -/* - * Definitions for internet protocol version 4. - * Per RFC 791, September 1981. - */ -#define IPVERSION 4 - -/* - * Structure of an internet header, naked of options. - */ -struct ip { - u_int32_t ip_hl:4, /* header length */ - ip_v:4; /* version */ - u_int8_t ip_tos; /* type of service */ - u_int16_t ip_len; /* total length */ - u_int16_t ip_id; /* identification */ - u_int16_t ip_off; /* fragment offset field */ -#define IP_RF 0x8000 /* reserved fragment flag */ -#define IP_DF 0x4000 /* dont fragment flag */ -#define IP_MF 0x2000 /* more fragments flag */ -#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ - u_int8_t ip_ttl; /* time to live */ - u_int8_t ip_p; /* protocol */ - u_int16_t ip_sum; /* checksum */ - struct in_addr ip_src, ip_dst; /* source and dest address */ -}; - -#define IP_MAXPACKET 65535 /* maximum packet size */ - -/* - * Definitions for IP type of service (ip_tos) - */ -#define IPTOS_LOWDELAY 0x10 -#define IPTOS_THROUGHPUT 0x08 -#define IPTOS_RELIABILITY 0x04 -#define IPTOS_MINCOST 0x02 -#if 1 -/* ECN RFC3168 obsoletes RFC2481, and these will be deprecated soon. */ -#define IPTOS_CE 0x01 /* congestion experienced */ -#define IPTOS_ECT 0x02 /* ECN-capable transport */ -#endif - -/* - * Definitions for IP precedence (also in ip_tos) (hopefully unused) - */ -#define IPTOS_PREC_NETCONTROL 0xe0 -#define IPTOS_PREC_INTERNETCONTROL 0xc0 -#define IPTOS_PREC_CRITIC_ECP 0xa0 -#define IPTOS_PREC_FLASHOVERRIDE 0x80 -#define IPTOS_PREC_FLASH 0x60 -#define IPTOS_PREC_IMMEDIATE 0x40 -#define IPTOS_PREC_PRIORITY 0x20 -#define IPTOS_PREC_ROUTINE 0x00 - -/* - * ECN (Explicit Congestion Notification) codepoints in RFC3168 - * mapped to the lower 2 bits of the TOS field. - */ -#define IPTOS_ECN_NOTECT 0x00 /* not-ECT */ -#define IPTOS_ECN_ECT1 0x01 /* ECN-capable transport (1) */ -#define IPTOS_ECN_ECT0 0x02 /* ECN-capable transport (0) */ -#define IPTOS_ECN_CE 0x03 /* congestion experienced */ -#define IPTOS_ECN_MASK 0x03 /* ECN field mask */ - -/* - * Definitions for options. - */ -#define IPOPT_COPIED(o) ((o)&0x80) -#define IPOPT_CLASS(o) ((o)&0x60) -#define IPOPT_NUMBER(o) ((o)&0x1f) - -#define IPOPT_CONTROL 0x00 -#define IPOPT_RESERVED1 0x20 -#define IPOPT_DEBMEAS 0x40 -#define IPOPT_RESERVED2 0x60 - -#define IPOPT_EOL 0 /* end of option list */ -#define IPOPT_NOP 1 /* no operation */ - -#define IPOPT_RR 7 /* record packet route */ -#define IPOPT_TS 68 /* timestamp */ -#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */ -#define IPOPT_LSRR 131 /* loose source route */ -#define IPOPT_SATID 136 /* satnet id */ -#define IPOPT_SSRR 137 /* strict source route */ - -/* - * Offsets to fields in options other than EOL and NOP. - */ -#define IPOPT_OPTVAL 0 /* option ID */ -#define IPOPT_OLEN 1 /* option length */ -#define IPOPT_OFFSET 2 /* offset within option */ -#define IPOPT_MINOFF 4 /* min value of above */ - -/* - * Time stamp option structure. - */ -struct ip_timestamp { - u_int8_t ipt_code; /* IPOPT_TS */ - u_int8_t ipt_len; /* size of structure (variable) */ - u_int8_t ipt_ptr; /* index of current entry */ - u_int32_t ipt_flg:4, /* flags, see below */ - ipt_oflw:4; /* overflow counter */ - union ipt_timestamp { - n_time ipt_time[1]; - struct ipt_ta { - struct in_addr ipt_addr; - n_time ipt_time; - } ipt_ta[1]; - } ipt_timestamp; -}; - -/* flag bits for ipt_flg */ -#define IPOPT_TS_TSONLY 0 /* timestamps only */ -#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */ -#define IPOPT_TS_PRESPEC 3 /* specified modules only */ - -/* bits for security (not byte swapped) */ -#define IPOPT_SECUR_UNCLASS 0x0000 -#define IPOPT_SECUR_CONFID 0xf135 -#define IPOPT_SECUR_EFTO 0x789a -#define IPOPT_SECUR_MMMM 0xbc4d -#define IPOPT_SECUR_RESTR 0xaf13 -#define IPOPT_SECUR_SECRET 0xd788 -#define IPOPT_SECUR_TOPSECRET 0x6bc5 - -/* - * Internet implementation parameters. - */ -#define MAXTTL 255 /* maximum time to live (seconds) */ -#define IPDEFTTL 64 /* default ttl, from RFC 1340 */ -#define IPFRAGTTL 60 /* time to live for frags, slowhz */ -#define IPTTLDEC 1 /* subtracted when forwarding */ - -#define IP_MSS 576 /* default maximum segment size */ - -/* - * This is the real IPv4 pseudo header, used for computing the TCP and UDP - * checksums. For the Internet checksum, struct ipovly can be used instead. - * For stronger checksums, the real thing must be used. - */ -struct ippseudo { - struct in_addr ippseudo_src; /* source internet address */ - struct in_addr ippseudo_dst; /* destination internet address */ - u_int8_t ippseudo_pad; /* pad, must be zero */ - u_int8_t ippseudo_p; /* protocol */ - u_int16_t ippseudo_len; /* protocol length */ -}; - -/* BIONIC addition: declarations matching the Linux kernel */ -/* some programs expect these... */ - -#define IPOPT_OPTVAL 0 -#define IPOPT_OLEN 1 -#define IPOPT_OFFSET 2 -#define IPOPT_MINOFF 4 -#define MAX_IPOPTLEN 40 - -#define IPOPT_COPY 0x80 -#define IPOPT_CLASS_MASK 0x60 -#define IPOPT_NUMBER_MASK 0x1f - -#define IPOPT_CONTROL 0x00 -#define IPOPT_RESERVED1 0x20 -#define IPOPT_MEASUREMENT 0x40 -#define IPOPT_RESERVED2 0x60 - -#define IPOPT_END (0 |IPOPT_CONTROL) -#define IPOPT_NOOP (1 |IPOPT_CONTROL) -#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT) -#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY) - -struct iphdr { -#if defined(__LITTLE_ENDIAN_BITFIELD) - uint8_t ihl :4, - version:4; -#elif defined (__BIG_ENDIAN_BITFIELD) - uint8_t version:4, - ihl :4; -#else -#error "Please fix <asm/byteorder.h>" -#endif - uint8_t tos; - uint16_t tot_len; - uint16_t id; - uint16_t frag_off; - uint8_t ttl; - uint8_t protocol; - uint16_t check; - int32_t saddr; - int32_t daddr; -}; - -struct ip_auth_hdr { - uint8_t nexthdr; - uint8_t hdrlen; - uint16_t reserved; - uint32_t spi; - uint32_t seq_no; - uint8_t auth_data[0]; -}; - -struct ip_esp_hdr { - uint32_t spi; - uint32_t seq_no; - uint8_t enc_data[0]; -}; - -struct ip_comp_hdr { - uint8_t nexthdr; - uint8_t flags; - uint16_t cpi; -}; - -__END_DECLS - -#endif /* _NETINET_IP_H_ */ diff --git a/headers/netinet/ip6.h b/headers/netinet/ip6.h deleted file mode 100644 index b4f6ce600..000000000 --- a/headers/netinet/ip6.h +++ /dev/null @@ -1,242 +0,0 @@ -/* $NetBSD: ip6.h,v 1.23 2007/12/25 18:33:46 perry Exp $ */ -/* $KAME: ip6.h,v 1.45 2003/06/05 04:46:38 keiichi Exp $ */ - -/* - * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the project 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 PROJECT 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 PROJECT OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ip.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_IP6_H_ -#define _NETINET_IP6_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <endian.h> - -#include <linux/in6.h> - -/* - * Definition for internet protocol version 6. - * RFC 2460 - */ - -struct ip6_hdr { - union { - struct ip6_hdrctl { - u_int32_t ip6_un1_flow; /* 20 bits of flow-ID */ - u_int16_t ip6_un1_plen; /* payload length */ - u_int8_t ip6_un1_nxt; /* next header */ - u_int8_t ip6_un1_hlim; /* hop limit */ - } ip6_un1; - u_int8_t ip6_un2_vfc; /* 4 bits version, top 4 bits class */ - } ip6_ctlun; - struct in6_addr ip6_src; /* source address */ - struct in6_addr ip6_dst; /* destination address */ -} __packed; - -#define ip6_vfc ip6_ctlun.ip6_un2_vfc -#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow -#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen -#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt -#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim -#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim - -#define IPV6_VERSION 0x60 -#define IPV6_VERSION_MASK 0xf0 - -#define IPV6_FLOWINFO_MASK 0xffffff0f /* flow info (28 bits) */ -#define IPV6_FLOWLABEL_MASK 0xffff0f00 /* flow label (20 bits) */ - -#if 1 -/* ECN bits proposed by Sally Floyd */ -#define IP6TOS_CE 0x01 /* congestion experienced */ -#define IP6TOS_ECT 0x02 /* ECN-capable transport */ -#endif - -/* - * Extension Headers - */ - -struct ip6_ext { - u_int8_t ip6e_nxt; - u_int8_t ip6e_len; -} __packed; - -/* Hop-by-Hop options header */ -/* XXX should we pad it to force alignment on an 8-byte boundary? */ -struct ip6_hbh { - u_int8_t ip6h_nxt; /* next header */ - u_int8_t ip6h_len; /* length in units of 8 octets */ - /* followed by options */ -} __packed; - -/* Destination options header */ -/* XXX should we pad it to force alignment on an 8-byte boundary? */ -struct ip6_dest { - u_int8_t ip6d_nxt; /* next header */ - u_int8_t ip6d_len; /* length in units of 8 octets */ - /* followed by options */ -} __packed; - -/* Option types and related macros */ -#define IP6OPT_PAD1 0x00 /* 00 0 00000 */ -#define IP6OPT_PADN 0x01 /* 00 0 00001 */ -#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */ -#define IP6OPT_NSAP_ADDR 0xC3 /* 11 0 00011 */ -#define IP6OPT_TUNNEL_LIMIT 0x04 /* 00 0 00100 */ -#define IP6OPT_RTALERT 0x05 /* 00 0 00101 (KAME definition) */ -#define IP6OPT_ROUTER_ALERT 0x05 /* (RFC3542 def, recommended) */ - -#define IP6OPT_RTALERT_LEN 4 -#define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */ -#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains an RSVP message */ -#define IP6OPT_RTALERT_ACTNET 2 /* contains an Active Networks msg */ -#define IP6OPT_MINLEN 2 - -#define IP6OPT_TYPE(o) ((o) & 0xC0) -#define IP6OPT_TYPE_SKIP 0x00 -#define IP6OPT_TYPE_DISCARD 0x40 -#define IP6OPT_TYPE_FORCEICMP 0x80 -#define IP6OPT_TYPE_ICMP 0xC0 - -#define IP6OPT_MUTABLE 0x20 - -/* IPv6 options: common part */ -struct ip6_opt { - u_int8_t ip6o_type; - u_int8_t ip6o_len; -} __packed; - -/* Jumbo Payload Option */ -struct ip6_opt_jumbo { - u_int8_t ip6oj_type; - u_int8_t ip6oj_len; - u_int8_t ip6oj_jumbo_len[4]; -} __packed; -#define IP6OPT_JUMBO_LEN 6 - -/* NSAP Address Option */ -struct ip6_opt_nsap { - u_int8_t ip6on_type; - u_int8_t ip6on_len; - u_int8_t ip6on_src_nsap_len; - u_int8_t ip6on_dst_nsap_len; - /* followed by source NSAP */ - /* followed by destination NSAP */ -} __packed; - -/* Tunnel Limit Option */ -struct ip6_opt_tunnel { - u_int8_t ip6ot_type; - u_int8_t ip6ot_len; - u_int8_t ip6ot_encap_limit; -} __packed; - -/* Router Alert Option */ -struct ip6_opt_router { - u_int8_t ip6or_type; - u_int8_t ip6or_len; - u_int8_t ip6or_value[2]; -} __packed; -/* Router alert values (in network byte order) */ -#define IP6_ALERT_MLD 0x0000 -#define IP6_ALERT_RSVP 0x0100 -#define IP6_ALERT_AN 0x0200 - -/* Routing header */ -struct ip6_rthdr { - u_int8_t ip6r_nxt; /* next header */ - u_int8_t ip6r_len; /* length in units of 8 octets */ - u_int8_t ip6r_type; /* routing type */ - u_int8_t ip6r_segleft; /* segments left */ - /* followed by routing type specific data */ -} __packed; - -/* Type 0 Routing header */ -struct ip6_rthdr0 { - u_int8_t ip6r0_nxt; /* next header */ - u_int8_t ip6r0_len; /* length in units of 8 octets */ - u_int8_t ip6r0_type; /* always zero */ - u_int8_t ip6r0_segleft; /* segments left */ - u_int32_t ip6r0_reserved; /* reserved field */ -} __packed; - -/* Fragment header */ -struct ip6_frag { - u_int8_t ip6f_nxt; /* next header */ - u_int8_t ip6f_reserved; /* reserved field */ - u_int16_t ip6f_offlg; /* offset, reserved, and flag */ - u_int32_t ip6f_ident; /* identification */ -} __packed; - -#define IP6F_OFF_MASK 0xf8ff /* mask out offset from _offlg */ -#define IP6F_RESERVED_MASK 0x0600 /* reserved bits in ip6f_offlg */ -#define IP6F_MORE_FRAG 0x0100 /* more-fragments flag */ - -/* - * Internet implementation parameters. - */ -#define IPV6_MAXHLIM 255 /* maximum hoplimit */ -#define IPV6_DEFHLIM 64 /* default hlim */ -#define IPV6_FRAGTTL 120 /* ttl for fragment packets, in slowtimo tick */ -#define IPV6_HLIMDEC 1 /* subtracted when forwarding */ - -#define IPV6_MMTU 1280 /* minimal MTU and reassembly. 1024 + 256 */ -#define IPV6_MAXPACKET 65535 /* ip6 max packet size without Jumbo payload*/ - -#endif /* !_NETINET_IP6_H_ */ diff --git a/headers/netinet/ip_icmp.h b/headers/netinet/ip_icmp.h deleted file mode 100644 index 75105927f..000000000 --- a/headers/netinet/ip_icmp.h +++ /dev/null @@ -1,214 +0,0 @@ -/* $OpenBSD: ip_icmp.h,v 1.21 2005/07/31 03:30:55 pascoe Exp $ */ -/* $NetBSD: ip_icmp.h,v 1.10 1996/02/13 23:42:28 christos Exp $ */ - -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_IP_ICMP_H_ -#define _NETINET_IP_ICMP_H_ - -#include <netinet/ip.h> -#include <sys/cdefs.h> - -__BEGIN_DECLS - -/* - * Interface Control Message Protocol Definitions. - * Per RFC 792, September 1981. - * RFC 950, August 1985. (Address Mask Request / Reply) - * RFC 1256, September 1991. (Router Advertisement and Solicitation) - * RFC 1108, November 1991. (Param Problem, Missing Req. Option) - * RFC 1393, January 1993. (Traceroute) - * RFC 1475, June 1993. (Datagram Conversion Error) - * RFC 1812, June 1995. (adm prohib, host precedence, precedence cutoff) - * RFC 2002, October 1996. (Mobility changes to Router Advertisement) - */ - -/* - * ICMP Router Advertisement data - */ -struct icmp_ra_addr { - uint32_t ira_addr; - uint32_t ira_preference; -}; - -/* - * Structure of an icmp header. - */ -struct icmp { - uint8_t icmp_type; /* type of message, see below */ - uint8_t icmp_code; /* type sub code */ - uint16_t icmp_cksum; /* ones complement cksum of struct */ - union { - uint8_t ih_pptr; /* ICMP_PARAMPROB */ - struct in_addr ih_gwaddr; /* ICMP_REDIRECT */ - struct ih_idseq { - uint16_t icd_id; - uint16_t icd_seq; - } ih_idseq; - int32_t ih_void; - - /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ - struct ih_pmtu { - uint16_t ipm_void; - uint16_t ipm_nextmtu; - } ih_pmtu; - - struct ih_rtradv { - uint8_t irt_num_addrs; - uint8_t irt_wpa; - uint16_t irt_lifetime; - } ih_rtradv; - } icmp_hun; -#define icmp_pptr icmp_hun.ih_pptr -#define icmp_gwaddr icmp_hun.ih_gwaddr -#define icmp_id icmp_hun.ih_idseq.icd_id -#define icmp_seq icmp_hun.ih_idseq.icd_seq -#define icmp_void icmp_hun.ih_void -#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void -#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu -#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs -#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa -#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime - union { - struct id_ts { - uint32_t its_otime; - uint32_t its_rtime; - uint32_t its_ttime; - } id_ts; - struct id_ip { - struct ip idi_ip; - /* options and then 64 bits of data */ - } id_ip; - uint32_t id_mask; - int8_t id_data[1]; - } icmp_dun; -#define icmp_otime icmp_dun.id_ts.its_otime -#define icmp_rtime icmp_dun.id_ts.its_rtime -#define icmp_ttime icmp_dun.id_ts.its_ttime -#define icmp_ip icmp_dun.id_ip.idi_ip -#define icmp_mask icmp_dun.id_mask -#define icmp_data icmp_dun.id_data -}; - -/* - * For IPv6 transition related ICMP errors. - */ -#define ICMP_V6ADVLENMIN (8 + sizeof(struct ip) + 40) -#define ICMP_V6ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 40) - -/* - * Lower bounds on packet lengths for various types. - * For the error advice packets must first insure that the - * packet is large enough to contain the returned ip header. - * Only then can we do the check to see if 64 bits of packet - * data have been returned, since we need to check the returned - * ip header length. - */ -#define ICMP_MINLEN 8 /* abs minimum */ -#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) /* timestamp */ -#define ICMP_MASKLEN 12 /* address mask */ -#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) /* min */ -#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8) - /* N.B.: must separately check that ip_hl >= 5 */ - -/* - * Definition of type and code field values. - * http://www.iana.org/assignments/icmp-parameters - */ -#define ICMP_ECHOREPLY 0 /* echo reply */ -#define ICMP_UNREACH 3 /* dest unreachable, codes: */ -#define ICMP_UNREACH_NET 0 /* bad net */ -#define ICMP_UNREACH_HOST 1 /* bad host */ -#define ICMP_UNREACH_PROTOCOL 2 /* bad protocol */ -#define ICMP_UNREACH_PORT 3 /* bad port */ -#define ICMP_UNREACH_NEEDFRAG 4 /* IP_DF caused drop */ -#define ICMP_UNREACH_SRCFAIL 5 /* src route failed */ -#define ICMP_UNREACH_NET_UNKNOWN 6 /* unknown net */ -#define ICMP_UNREACH_HOST_UNKNOWN 7 /* unknown host */ -#define ICMP_UNREACH_ISOLATED 8 /* src host isolated */ -#define ICMP_UNREACH_NET_PROHIB 9 /* for crypto devs */ -#define ICMP_UNREACH_HOST_PROHIB 10 /* ditto */ -#define ICMP_UNREACH_TOSNET 11 /* bad tos for net */ -#define ICMP_UNREACH_TOSHOST 12 /* bad tos for host */ -#define ICMP_UNREACH_FILTER_PROHIB 13 /* prohibited access */ -#define ICMP_UNREACH_HOST_PRECEDENCE 14 /* precedence violat'n*/ -#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 /* precedence cutoff */ -#define ICMP_SOURCEQUENCH 4 /* packet lost, slow down */ -#define ICMP_REDIRECT 5 /* shorter route, codes: */ -#define ICMP_REDIRECT_NET 0 /* for network */ -#define ICMP_REDIRECT_HOST 1 /* for host */ -#define ICMP_REDIRECT_TOSNET 2 /* for tos and net */ -#define ICMP_REDIRECT_TOSHOST 3 /* for tos and host */ -#define ICMP_ALTHOSTADDR 6 /* alternate host address */ -#define ICMP_ECHO 8 /* echo service */ -#define ICMP_ROUTERADVERT 9 /* router advertisement */ -#define ICMP_ROUTERADVERT_NORMAL 0 /* normal advertisement */ -#define ICMP_ROUTERADVERT_NOROUTE_COMMON 16 /* selective routing */ -#define ICMP_ROUTERSOLICIT 10 /* router solicitation */ -#define ICMP_TIMXCEED 11 /* time exceeded, code: */ -#define ICMP_TIMXCEED_INTRANS 0 /* ttl==0 in transit */ -#define ICMP_TIMXCEED_REASS 1 /* ttl==0 in reass */ -#define ICMP_PARAMPROB 12 /* ip header bad */ -#define ICMP_PARAMPROB_ERRATPTR 0 /* req. opt. absent */ -#define ICMP_PARAMPROB_OPTABSENT 1 /* req. opt. absent */ -#define ICMP_PARAMPROB_LENGTH 2 /* bad length */ -#define ICMP_TSTAMP 13 /* timestamp request */ -#define ICMP_TSTAMPREPLY 14 /* timestamp reply */ -#define ICMP_IREQ 15 /* information request */ -#define ICMP_IREQREPLY 16 /* information reply */ -#define ICMP_MASKREQ 17 /* address mask request */ -#define ICMP_MASKREPLY 18 /* address mask reply */ -#define ICMP_TRACEROUTE 30 /* traceroute */ -#define ICMP_DATACONVERR 31 /* data conversion error */ -#define ICMP_MOBILE_REDIRECT 32 /* mobile host redirect */ -#define ICMP_IPV6_WHEREAREYOU 33 /* IPv6 where-are-you */ -#define ICMP_IPV6_IAMHERE 34 /* IPv6 i-am-here */ -#define ICMP_MOBILE_REGREQUEST 35 /* mobile registration req */ -#define ICMP_MOBILE_REGREPLY 36 /* mobile registration reply */ -#define ICMP_SKIP 39 /* SKIP */ -#define ICMP_PHOTURIS 40 /* Photuris */ -#define ICMP_PHOTURIS_UNKNOWN_INDEX 1 /* unknown sec index */ -#define ICMP_PHOTURIS_AUTH_FAILED 2 /* auth failed */ -#define ICMP_PHOTURIS_DECRYPT_FAILED 3 /* decrypt failed */ - -#define ICMP_MAXTYPE 40 - -#define ICMP_INFOTYPE(type) \ - ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \ - (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \ - (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \ - (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \ - (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) - -__END_DECLS - -#endif /* _NETINET_IP_ICMP_H_ */ diff --git a/headers/netinet/tcp.h b/headers/netinet/tcp.h deleted file mode 100644 index 147f6f76d..000000000 --- a/headers/netinet/tcp.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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 _NETINET_TCP_H -#define _NETINET_TCP_H - -#include <sys/cdefs.h> -#include <stdint.h> - -#define tcphdr __kernel_tcphdr -#include <linux/tcp.h> -#undef tcphdr - -__BEGIN_DECLS - -struct tcphdr { - __extension__ union { - struct { - uint16_t th_sport; - uint16_t th_dport; - uint32_t th_seq; - uint32_t th_ack; - uint8_t th_x2:4; - uint8_t th_off:4; - uint8_t th_flags; - uint16_t th_win; - uint16_t th_sum; - uint16_t th_urp; - }; - struct { - uint16_t source; - uint16_t dest; - uint32_t seq; - uint32_t ack_seq; - uint16_t res1:4; - uint16_t doff:4; - uint16_t fin:1; - uint16_t syn:1; - uint16_t rst:1; - uint16_t psh:1; - uint16_t ack:1; - uint16_t urg:1; - uint16_t res2:2; - uint16_t window; - uint16_t check; - uint16_t urg_ptr; - }; - }; -}; - -#define TH_FIN 0x01 -#define TH_SYN 0x02 -#define TH_RST 0x04 -#define TH_PUSH 0x08 -#define TH_ACK 0x10 -#define TH_URG 0x20 - -enum { - TCP_ESTABLISHED = 1, - TCP_SYN_SENT, - TCP_SYN_RECV, - TCP_FIN_WAIT1, - TCP_FIN_WAIT2, - TCP_TIME_WAIT, - TCP_CLOSE, - TCP_CLOSE_WAIT, - TCP_LAST_ACK, - TCP_LISTEN, - TCP_CLOSING -}; - -#define TCPOPT_EOL 0 -#define TCPOPT_NOP 1 -#define TCPOPT_MAXSEG 2 -#define TCPOLEN_MAXSEG 4 -#define TCPOPT_WINDOW 3 -#define TCPOLEN_WINDOW 3 -#define TCPOPT_SACK_PERMITTED 4 -#define TCPOLEN_SACK_PERMITTED 2 -#define TCPOPT_SACK 5 -#define TCPOPT_TIMESTAMP 8 -#define TCPOLEN_TIMESTAMP 10 -#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) - -#define TCPOPT_TSTAMP_HDR (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) - -__END_DECLS - -#endif /* _NETINET_TCP_H */ diff --git a/headers/netinet/udp.h b/headers/netinet/udp.h deleted file mode 100644 index ef517d6c1..000000000 --- a/headers/netinet/udp.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 _NETINET_UDP_H -#define _NETINET_UDP_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <linux/udp.h> - -struct udphdr { - __extension__ union { - struct /* BSD names */ { - u_int16_t uh_sport; - u_int16_t uh_dport; - u_int16_t uh_ulen; - u_int16_t uh_sum; - }; - struct /* Linux names */ { - u_int16_t source; - u_int16_t dest; - u_int16_t len; - u_int16_t check; - }; - }; -}; - -#endif /* _NETINET_UDP_H */ diff --git a/headers/netpacket/packet.h b/headers/netpacket/packet.h deleted file mode 100644 index b5e8e0e11..000000000 --- a/headers/netpacket/packet.h +++ /dev/null @@ -1 +0,0 @@ -#include <linux/if_packet.h> diff --git a/headers/nl_types.h b/headers/nl_types.h deleted file mode 100644 index 1e837c1c2..000000000 --- a/headers/nl_types.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 _NL_TYPES_H_ -#define _NL_TYPES_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#define NL_CAT_LOCALE 1 -#define NL_SETD 1 - -typedef void* nl_catd; -typedef int nl_item; - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -nl_catd catopen(const char*, int) __INTRODUCED_IN_FUTURE; -char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN_FUTURE; -int catclose(nl_catd) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif diff --git a/headers/paths.h b/headers/paths.h deleted file mode 100644 index b76d0454a..000000000 --- a/headers/paths.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)paths.h 8.1 (Berkeley) 6/2/93 - */ - -#ifndef _PATHS_H_ -#define _PATHS_H_ - -#include <sys/cdefs.h> - -#define _PATH_BSHELL "/system/bin/sh" -#define _PATH_CONSOLE "/dev/console" -#define _PATH_DEFPATH "/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin" -#define _PATH_DEV "/dev/" -#define _PATH_DEVNULL "/dev/null" -#define _PATH_KLOG "/proc/kmsg" -#define _PATH_MOUNTED "/proc/mounts" -#define _PATH_TTY "/dev/tty" - -#endif /* !_PATHS_H_ */ diff --git a/headers/poll.h b/headers/poll.h deleted file mode 100644 index 88698469e..000000000 --- a/headers/poll.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * 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 _POLL_H_ -#define _POLL_H_ - -#include <sys/cdefs.h> -#include <linux/poll.h> -#include <signal.h> /* For sigset_t. */ -#include <time.h> /* For timespec. */ - -__BEGIN_DECLS - -typedef unsigned int nfds_t; - -int poll(struct pollfd*, nfds_t, int); - -#if __ANDROID_API__ >= 21 -int ppoll(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - - -#if __ANDROID_API__ >= 23 -int __poll_chk(struct pollfd*, nfds_t, int, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -int __poll_real(struct pollfd*, nfds_t, int) __RENAME(poll); -__errordecl(__poll_too_small_error, "poll: pollfd array smaller than fd count"); - - -#if __ANDROID_API__ >= 23 -int __ppoll_chk(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*, size_t) - __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= 21 -int __ppoll_real(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*) __RENAME(ppoll) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__errordecl(__ppoll_too_small_error, "ppoll: pollfd array smaller than fd count"); - -#if defined(__BIONIC_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_M__ -__BIONIC_FORTIFY_INLINE -int poll(struct pollfd* fds, nfds_t fd_count, int timeout) { -#if defined(__clang__) - return __poll_chk(fds, fd_count, timeout, __bos(fds)); -#else - if (__bos(fds) != __BIONIC_FORTIFY_UNKNOWN_SIZE) { - if (!__builtin_constant_p(fd_count)) { - return __poll_chk(fds, fd_count, timeout, __bos(fds)); - } else if (__bos(fds) / sizeof(*fds) < fd_count) { - __poll_too_small_error(); - } - } - return __poll_real(fds, fd_count, timeout); -#endif -} - -__BIONIC_FORTIFY_INLINE -int ppoll(struct pollfd* fds, nfds_t fd_count, const struct timespec* timeout, const sigset_t* mask) { -#if defined(__clang__) - return __ppoll_chk(fds, fd_count, timeout, mask, __bos(fds)); -#else - if (__bos(fds) != __BIONIC_FORTIFY_UNKNOWN_SIZE) { - if (!__builtin_constant_p(fd_count)) { - return __ppoll_chk(fds, fd_count, timeout, mask, __bos(fds)); - } else if (__bos(fds) / sizeof(*fds) < fd_count) { - __ppoll_too_small_error(); - } - } - return __ppoll_real(fds, fd_count, timeout, mask); -#endif -} -#endif /* __ANDROID_API__ >= __ANDROID_API_M__ */ - -#endif - -__END_DECLS - -#endif /* _POLL_H_ */ diff --git a/headers/pthread.h b/headers/pthread.h deleted file mode 100644 index 62ac774db..000000000 --- a/headers/pthread.h +++ /dev/null @@ -1,275 +0,0 @@ -/* - * 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 _PTHREAD_H_ -#define _PTHREAD_H_ - -#include <limits.h> -#include <bits/pthread_types.h> -#include <sched.h> -#include <sys/cdefs.h> -#include <sys/types.h> -#include <time.h> - -__BEGIN_DECLS - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnullability-completeness" -#endif - -enum { - PTHREAD_MUTEX_NORMAL = 0, - PTHREAD_MUTEX_RECURSIVE = 1, - PTHREAD_MUTEX_ERRORCHECK = 2, - - PTHREAD_MUTEX_ERRORCHECK_NP = PTHREAD_MUTEX_ERRORCHECK, - PTHREAD_MUTEX_RECURSIVE_NP = PTHREAD_MUTEX_RECURSIVE, - - PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL -}; - -#define PTHREAD_MUTEX_INITIALIZER { { ((PTHREAD_MUTEX_NORMAL & 3) << 14) } } -#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { ((PTHREAD_MUTEX_RECURSIVE & 3) << 14) } } -#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { ((PTHREAD_MUTEX_ERRORCHECK & 3) << 14) } } - -#define PTHREAD_COND_INITIALIZER { { 0 } } - -#define PTHREAD_RWLOCK_INITIALIZER { { 0 } } - -enum { - PTHREAD_RWLOCK_PREFER_READER_NP = 0, - PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 1, -}; - -#define PTHREAD_ONCE_INIT 0 - -#define PTHREAD_BARRIER_SERIAL_THREAD -1 - -#if defined(__LP64__) -#define PTHREAD_STACK_MIN (4 * PAGE_SIZE) -#else -#define PTHREAD_STACK_MIN (2 * PAGE_SIZE) -#endif - -#define PTHREAD_CREATE_DETACHED 0x00000001 -#define PTHREAD_CREATE_JOINABLE 0x00000000 - -#define PTHREAD_PROCESS_PRIVATE 0 -#define PTHREAD_PROCESS_SHARED 1 - -#define PTHREAD_SCOPE_SYSTEM 0 -#define PTHREAD_SCOPE_PROCESS 1 - - -#if __ANDROID_API__ >= 12 -int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -int pthread_attr_destroy(pthread_attr_t* _Nonnull); -int pthread_attr_getdetachstate(const pthread_attr_t* _Nonnull, int* _Nonnull); -int pthread_attr_getguardsize(const pthread_attr_t* _Nonnull, size_t* _Nonnull); -int pthread_attr_getschedparam(const pthread_attr_t* _Nonnull, struct sched_param* _Nonnull); -int pthread_attr_getschedpolicy(const pthread_attr_t* _Nonnull, int* _Nonnull); -int pthread_attr_getscope(const pthread_attr_t* _Nonnull, int* _Nonnull); -int pthread_attr_getstack(const pthread_attr_t* _Nonnull, void** _Nonnull, size_t* _Nonnull); -int pthread_attr_getstacksize(const pthread_attr_t* _Nonnull, size_t* _Nonnull); -int pthread_attr_init(pthread_attr_t* _Nonnull); -int pthread_attr_setdetachstate(pthread_attr_t* _Nonnull, int); -int pthread_attr_setguardsize(pthread_attr_t* _Nonnull, size_t); -int pthread_attr_setschedparam(pthread_attr_t* _Nonnull, const struct sched_param* _Nonnull); -int pthread_attr_setschedpolicy(pthread_attr_t* _Nonnull, int); -int pthread_attr_setscope(pthread_attr_t* _Nonnull, int); -int pthread_attr_setstack(pthread_attr_t* _Nonnull, void*, size_t); -int pthread_attr_setstacksize(pthread_attr_t* _Nonnull, size_t); - -int pthread_condattr_destroy(pthread_condattr_t* _Nonnull); - -#if __ANDROID_API__ >= 21 -int pthread_condattr_getclock(const pthread_condattr_t* _Nonnull, clockid_t* _Nonnull) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int pthread_condattr_getpshared(const pthread_condattr_t* _Nonnull, int* _Nonnull); -int pthread_condattr_init(pthread_condattr_t* _Nonnull); - -#if __ANDROID_API__ >= 21 -int pthread_condattr_setclock(pthread_condattr_t* _Nonnull, clockid_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int pthread_condattr_setpshared(pthread_condattr_t* _Nonnull, int); - -int pthread_cond_broadcast(pthread_cond_t* _Nonnull); -int pthread_cond_destroy(pthread_cond_t* _Nonnull); -int pthread_cond_init(pthread_cond_t* _Nonnull, const pthread_condattr_t*); -int pthread_cond_signal(pthread_cond_t* _Nonnull); -int pthread_cond_timedwait(pthread_cond_t* _Nonnull, pthread_mutex_t* _Nonnull, - const struct timespec* _Nonnull); -int pthread_cond_wait(pthread_cond_t* _Nonnull, pthread_mutex_t* _Nonnull); - -int pthread_create(pthread_t* _Nonnull, pthread_attr_t const*, - void* (* _Nonnull start_routine)(void*), void*); -int pthread_detach(pthread_t); -void pthread_exit(void*) __noreturn; - -int pthread_equal(pthread_t, pthread_t); - -int pthread_getattr_np(pthread_t, pthread_attr_t* _Nonnull); - -int pthread_getcpuclockid(pthread_t, clockid_t* _Nonnull); - -int pthread_getschedparam(pthread_t, int* _Nonnull, struct sched_param* _Nonnull); - -void* pthread_getspecific(pthread_key_t); - - -#if __ANDROID_API__ >= 21 -pid_t pthread_gettid_np(pthread_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int pthread_join(pthread_t, void**); - -int pthread_key_create(pthread_key_t* _Nonnull, void (*)(void*)); -int pthread_key_delete(pthread_key_t); - -int pthread_mutexattr_destroy(pthread_mutexattr_t* _Nonnull); -int pthread_mutexattr_getpshared(const pthread_mutexattr_t* _Nonnull, int* _Nonnull); -int pthread_mutexattr_gettype(const pthread_mutexattr_t* _Nonnull, int* _Nonnull); -int pthread_mutexattr_init(pthread_mutexattr_t* _Nonnull); -int pthread_mutexattr_setpshared(pthread_mutexattr_t* _Nonnull, int); -int pthread_mutexattr_settype(pthread_mutexattr_t* _Nonnull, int); - -int pthread_mutex_destroy(pthread_mutex_t* _Nonnull); -int pthread_mutex_init(pthread_mutex_t* _Nonnull, const pthread_mutexattr_t*); -int pthread_mutex_lock(pthread_mutex_t* _Nonnull); - -#if __ANDROID_API__ >= 21 -int pthread_mutex_timedlock(pthread_mutex_t* _Nonnull, const struct timespec* _Nonnull) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int pthread_mutex_trylock(pthread_mutex_t* _Nonnull); -int pthread_mutex_unlock(pthread_mutex_t* _Nonnull); - -int pthread_once(pthread_once_t* _Nonnull, void (* _Nonnull init_routine)(void)); - -int pthread_rwlockattr_init(pthread_rwlockattr_t* _Nonnull); -int pthread_rwlockattr_destroy(pthread_rwlockattr_t* _Nonnull); -int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t* _Nonnull, int* _Nonnull); -int pthread_rwlockattr_setpshared(pthread_rwlockattr_t* _Nonnull, int); - -#if __ANDROID_API__ >= 23 -int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t* _Nonnull, int* _Nonnull) - __INTRODUCED_IN(23); -int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t* _Nonnull, int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -int pthread_rwlock_destroy(pthread_rwlock_t* _Nonnull); -int pthread_rwlock_init(pthread_rwlock_t* _Nonnull, const pthread_rwlockattr_t*); -int pthread_rwlock_rdlock(pthread_rwlock_t* _Nonnull); -int pthread_rwlock_timedrdlock(pthread_rwlock_t* _Nonnull, const struct timespec* _Nonnull); -int pthread_rwlock_timedwrlock(pthread_rwlock_t* _Nonnull, const struct timespec* _Nonnull); -int pthread_rwlock_tryrdlock(pthread_rwlock_t* _Nonnull); -int pthread_rwlock_trywrlock(pthread_rwlock_t* _Nonnull); -int pthread_rwlock_unlock(pthread_rwlock_t* _Nonnull); -int pthread_rwlock_wrlock(pthread_rwlock_t* _Nonnull); - - -#if __ANDROID_API__ >= 24 -int pthread_barrierattr_init(pthread_barrierattr_t* _Nonnull attr) __INTRODUCED_IN(24); -int pthread_barrierattr_destroy(pthread_barrierattr_t* _Nonnull attr) __INTRODUCED_IN(24); -int pthread_barrierattr_getpshared(const pthread_barrierattr_t* _Nonnull attr, - int* _Nonnull pshared) __INTRODUCED_IN(24); -int pthread_barrierattr_setpshared(pthread_barrierattr_t* _Nonnull attr, int pshared) - __INTRODUCED_IN(24); - -int pthread_barrier_init(pthread_barrier_t* _Nonnull, const pthread_barrierattr_t*, unsigned) - __INTRODUCED_IN(24); -int pthread_barrier_destroy(pthread_barrier_t* _Nonnull) __INTRODUCED_IN(24); -int pthread_barrier_wait(pthread_barrier_t* _Nonnull) __INTRODUCED_IN(24); - -int pthread_spin_destroy(pthread_spinlock_t* _Nonnull) __INTRODUCED_IN(24); -int pthread_spin_init(pthread_spinlock_t* _Nonnull, int) __INTRODUCED_IN(24); -int pthread_spin_lock(pthread_spinlock_t* _Nonnull) __INTRODUCED_IN(24); -int pthread_spin_trylock(pthread_spinlock_t* _Nonnull) __INTRODUCED_IN(24); -int pthread_spin_unlock(pthread_spinlock_t* _Nonnull) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -pthread_t pthread_self(void) __attribute_const__; - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int pthread_getname_np(pthread_t, char* _Nonnull, size_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -#endif -/* TODO: this should be __USE_GNU too. */ -int pthread_setname_np(pthread_t, const char* _Nonnull); - -int pthread_setschedparam(pthread_t, int, const struct sched_param* _Nonnull); - -int pthread_setspecific(pthread_key_t, const void*); - -typedef void (*__pthread_cleanup_func_t)(void*); - -typedef struct __pthread_cleanup_t { - struct __pthread_cleanup_t* __cleanup_prev; - __pthread_cleanup_func_t __cleanup_routine; - void* __cleanup_arg; -} __pthread_cleanup_t; - -void __pthread_cleanup_push(__pthread_cleanup_t* c, __pthread_cleanup_func_t, void*); -void __pthread_cleanup_pop(__pthread_cleanup_t*, int); - -/* Believe or not, the definitions of pthread_cleanup_push and - * pthread_cleanup_pop below are correct. Posix states that these - * can be implemented as macros that might introduce opening and - * closing braces, and that using setjmp/longjmp/return/break/continue - * between them results in undefined behavior. - */ -#define pthread_cleanup_push(routine, arg) \ - do { \ - __pthread_cleanup_t __cleanup; \ - __pthread_cleanup_push( &__cleanup, (routine), (arg) ); \ - -#define pthread_cleanup_pop(execute) \ - __pthread_cleanup_pop( &__cleanup, (execute)); \ - } while (0); \ - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - -__END_DECLS - -#endif /* _PTHREAD_H_ */ diff --git a/headers/pty.h b/headers/pty.h deleted file mode 100644 index 6142c7c15..000000000 --- a/headers/pty.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 _PTY_H -#define _PTY_H - -#include <sys/cdefs.h> - -#include <termios.h> -#include <sys/ioctl.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 23 -int openpty(int*, int*, char*, const struct termios*, const struct winsize*) __INTRODUCED_IN(23); -int forkpty(int*, char*, const struct termios*, const struct winsize*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _PTY_H */ diff --git a/headers/pwd.h b/headers/pwd.h deleted file mode 100644 index 61c05016c..000000000 --- a/headers/pwd.h +++ /dev/null @@ -1,105 +0,0 @@ -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/*- - * Portions Copyright(C) 1995, Jason Downs. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) 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 _PWD_H_ -#define _PWD_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -struct passwd { - char* pw_name; - char* pw_passwd; - uid_t pw_uid; - gid_t pw_gid; -#ifdef __LP64__ - char* pw_gecos; -#else - /* Note: On LP32, we define pw_gecos to pw_passwd since they're both NULL. */ -# define pw_gecos pw_passwd -#endif - char* pw_dir; - char* pw_shell; -}; - -struct passwd* getpwnam(const char*); -struct passwd* getpwuid(uid_t); - -/* Note: Android has thousands and thousands of ids to iterate through */ - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -struct passwd* getpwent(void) __INTRODUCED_IN_FUTURE; - -void setpwent(void) __INTRODUCED_IN_FUTURE; -void endpwent(void) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - - -#if __ANDROID_API__ >= 12 -int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12); -int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -__END_DECLS - -#endif diff --git a/headers/regex.h b/headers/regex.h deleted file mode 100644 index b06a515b4..000000000 --- a/headers/regex.h +++ /dev/null @@ -1,106 +0,0 @@ -/* $OpenBSD: regex.h,v 1.6 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: regex.h,v 1.4.6.1 1996/06/10 18:57:07 explorer Exp $ */ - -/*- - * Copyright (c) 1992 Henry Spencer. - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Henry Spencer of the University of Toronto. - * - * 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. - * - * @(#)regex.h 8.1 (Berkeley) 6/2/93 - */ - -#ifndef _REGEX_H_ -#define _REGEX_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* POSIX says regoff_t is at least as large as the larger of ptrdiff_t and - * ssize_t. BSD uses off_t, but that interacts badly with _FILE_OFFSET_BITS. */ -typedef ssize_t regoff_t; - -typedef struct { - int re_magic; - size_t re_nsub; /* number of parenthesized subexpressions */ - const char *re_endp; /* end pointer for REG_PEND */ - struct re_guts *re_g; /* none of your business :-) */ -} regex_t; - -typedef struct { - regoff_t rm_so; /* start of match */ - regoff_t rm_eo; /* end of match */ -} regmatch_t; - -/* regcomp() flags */ -#define REG_BASIC 0000 -#define REG_EXTENDED 0001 -#define REG_ICASE 0002 -#define REG_NOSUB 0004 -#define REG_NEWLINE 0010 -#define REG_NOSPEC 0020 -#define REG_PEND 0040 -#define REG_DUMP 0200 - -/* regerror() flags */ -#define REG_NOMATCH 1 -#define REG_BADPAT 2 -#define REG_ECOLLATE 3 -#define REG_ECTYPE 4 -#define REG_EESCAPE 5 -#define REG_ESUBREG 6 -#define REG_EBRACK 7 -#define REG_EPAREN 8 -#define REG_EBRACE 9 -#define REG_BADBR 10 -#define REG_ERANGE 11 -#define REG_ESPACE 12 -#define REG_BADRPT 13 -#define REG_EMPTY 14 -#define REG_ASSERT 15 -#define REG_INVARG 16 -#define REG_ATOI 255 /* convert name to number (!) */ -#define REG_ITOA 0400 /* convert number to name (!) */ - -/* regexec() flags */ -#define REG_NOTBOL 00001 -#define REG_NOTEOL 00002 -#define REG_STARTEND 00004 -#define REG_TRACE 00400 /* tracing of execution */ -#define REG_LARGE 01000 /* force large representation */ -#define REG_BACKR 02000 /* force use of backref code */ - -__BEGIN_DECLS -int regcomp(regex_t *, const char *, int); -size_t regerror(int, const regex_t *, char *, size_t); -int regexec(const regex_t *, const char *, size_t, regmatch_t [], int); -void regfree(regex_t *); -__END_DECLS - -#endif /* !_REGEX_H_ */ diff --git a/headers/resolv.h b/headers/resolv.h deleted file mode 100644 index 2c1281949..000000000 --- a/headers/resolv.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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 _RESOLV_H_ -#define _RESOLV_H_ - -#include <sys/param.h> -#include <sys/types.h> -#include <sys/cdefs.h> -#include <sys/socket.h> -#include <stdio.h> -#include <arpa/nameser.h> -#include <netinet/in.h> - -__BEGIN_DECLS - -#define b64_ntop __b64_ntop -int b64_ntop(u_char const*, size_t, char*, size_t); -#define b64_pton __b64_pton -int b64_pton(char const*, u_char*, size_t); - -#define dn_comp __dn_comp -int dn_comp(const char*, u_char*, int, u_char**, u_char**); - -int dn_expand(const u_char*, const u_char*, const u_char*, char*, int); - -#define p_class __p_class -const char* p_class(int); -#define p_type __p_type -const char* p_type(int); - -int res_init(void); -int res_mkquery(int, const char*, int, int, const u_char*, int, const u_char*, u_char*, int); -int res_query(const char*, int, int, u_char*, int); -int res_search(const char*, int, int, u_char*, int); - -__END_DECLS - -#endif /* _RESOLV_H_ */ diff --git a/headers/sched.h b/headers/sched.h deleted file mode 100644 index fe94a7ee6..000000000 --- a/headers/sched.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * 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 _SCHED_H_ -#define _SCHED_H_ - -#include <bits/timespec.h> -#include <linux/sched.h> -#include <sys/cdefs.h> - -__BEGIN_DECLS - -/* This name is used by glibc, but not by the kernel. */ -#define SCHED_OTHER SCHED_NORMAL - -struct sched_param { - int sched_priority; -}; - -int sched_setscheduler(pid_t, int, const struct sched_param*); -int sched_getscheduler(pid_t); -int sched_yield(void); -int sched_get_priority_max(int); -int sched_get_priority_min(int); -int sched_setparam(pid_t, const struct sched_param*); -int sched_getparam(pid_t, struct sched_param*); -int sched_rr_get_interval(pid_t, struct timespec*); - -#if defined(__USE_GNU) - - -#if (defined(__LP64__)) || (defined(__arm__)) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__i386__) && __ANDROID_API__ >= 17) -int clone(int (*)(void*), void*, int, void*, ...) __INTRODUCED_IN_ARM(9) - __INTRODUCED_IN_MIPS(12) __INTRODUCED_IN_X86(17); -#endif /* (defined(__LP64__)) || (defined(__arm__)) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__i386__) && __ANDROID_API__ >= 17) */ - - -#if __ANDROID_API__ >= 17 -int unshare(int) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - - -#if __ANDROID_API__ >= 12 -int sched_getcpu(void) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -#if __ANDROID_API__ >= 21 -int setns(int, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#ifdef __LP64__ -#define CPU_SETSIZE 1024 -#else -#define CPU_SETSIZE 32 -#endif - -#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ -#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE)) -#define __CPU_ELT(x) ((x) / __CPU_BITS) -#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1))) - -typedef struct { - __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; -} cpu_set_t; - - -#if __ANDROID_API__ >= 12 -int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) __INTRODUCED_IN(12); -int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) -#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) -#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) -#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) -#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) -#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2) - -#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &) -#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |) -#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^) - -#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op) - -/* Support for dynamically-allocated cpu_set_t */ - -#define CPU_ALLOC_SIZE(count) \ - __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE) - -#define CPU_ALLOC(count) __sched_cpualloc((count)) -#define CPU_FREE(set) __sched_cpufree((set)) - - -#if __ANDROID_API__ >= 12 -cpu_set_t* __sched_cpualloc(size_t count) __INTRODUCED_IN(12); -void __sched_cpufree(cpu_set_t* set) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize) - -#define CPU_SET_S(cpu, setsize, set) \ - do { \ - size_t __cpu = (cpu); \ - if (__cpu < 8 * (setsize)) \ - (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ - } while (0) - -#define CPU_CLR_S(cpu, setsize, set) \ - do { \ - size_t __cpu = (cpu); \ - if (__cpu < 8 * (setsize)) \ - (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ - } while (0) - -#define CPU_ISSET_S(cpu, setsize, set) \ - (__extension__ ({ \ - size_t __cpu = (cpu); \ - (__cpu < 8 * (setsize)) \ - ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0) - -#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &) -#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |) -#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^) - -#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \ - do { \ - cpu_set_t* __dst = (dstset); \ - const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ - const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ - size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ - } while (0) - -#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set)) - - -#if __ANDROID_API__ >= 12 -int __sched_cpucount(size_t setsize, cpu_set_t* set) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -#endif /* __USE_GNU */ - -__END_DECLS - -#endif /* _SCHED_H_ */ diff --git a/headers/search.h b/headers/search.h deleted file mode 100644 index 985e2c46d..000000000 --- a/headers/search.h +++ /dev/null @@ -1,61 +0,0 @@ -/*- - * Written by J.T. Conklin <jtc@netbsd.org> - * Public domain. - * - * $NetBSD: search.h,v 1.12 1999/02/22 10:34:28 christos Exp $ - * $FreeBSD: release/9.0.0/include/search.h 105250 2002-10-16 14:29:23Z robert $ - */ - -#ifndef _SEARCH_H_ -#define _SEARCH_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -typedef enum { - preorder, - postorder, - endorder, - leaf -} VISIT; - -#ifdef _SEARCH_PRIVATE -typedef struct node { - char* key; - struct node* llink; - struct node* rlink; -} node_t; -#endif - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 21 -void insque(void*, void*) __INTRODUCED_IN(21); -void remque(void*) __INTRODUCED_IN(21); - -void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)) - __INTRODUCED_IN(21); -void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*)) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - - -#if __ANDROID_API__ >= 16 -void* tdelete(const void* __restrict, void** __restrict, int (*)(const void*, const void*)) - __INTRODUCED_IN(16); -void tdestroy(void*, void (*)(void*)) __INTRODUCED_IN(16); -void* tfind(const void*, void* const*, int (*)(const void*, const void*)) __INTRODUCED_IN(16); -void* tsearch(const void*, void**, int (*)(const void*, const void*)) __INTRODUCED_IN(16); -#endif /* __ANDROID_API__ >= 16 */ - - -#if __ANDROID_API__ >= 21 -void twalk(const void*, void (*)(const void*, VISIT, int)) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* !_SEARCH_H_ */ diff --git a/headers/semaphore.h b/headers/semaphore.h deleted file mode 100644 index 218f22a39..000000000 --- a/headers/semaphore.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 _SEMAPHORE_H -#define _SEMAPHORE_H - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -struct timespec; - -typedef struct { - unsigned int count; -#ifdef __LP64__ - int __reserved[3]; -#endif -} sem_t; - -#define SEM_FAILED __BIONIC_CAST(reinterpret_cast, sem_t*, 0) - -int sem_destroy(sem_t*); -int sem_getvalue(sem_t*, int*); -int sem_init(sem_t*, int, unsigned int); -int sem_post(sem_t*); -int sem_timedwait(sem_t*, const struct timespec*); -int sem_trywait(sem_t*); -int sem_wait(sem_t*); - -/* These aren't actually implemented. */ -sem_t* sem_open(const char*, int, ...); -int sem_close(sem_t*); -int sem_unlink(const char*); - -__END_DECLS - -#endif /* _SEMAPHORE_H */ diff --git a/headers/setjmp.h b/headers/setjmp.h deleted file mode 100644 index 7e38e1c96..000000000 --- a/headers/setjmp.h +++ /dev/null @@ -1,68 +0,0 @@ -/* $OpenBSD: setjmp.h,v 1.5 2005/12/13 00:35:22 millert Exp $ */ -/* $NetBSD: setjmp.h,v 1.11 1994/12/20 10:35:44 cgd Exp $ */ - -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)setjmp.h 8.2 (Berkeley) 1/21/94 - */ - -#ifndef _SETJMP_H_ -#define _SETJMP_H_ - -#include <sys/cdefs.h> -#include <machine/setjmp.h> - -typedef long sigjmp_buf[_JBLEN + 1]; -typedef long jmp_buf[_JBLEN]; - -__BEGIN_DECLS - -int _setjmp(jmp_buf); -void _longjmp(jmp_buf, int); - -int setjmp(jmp_buf); -void longjmp(jmp_buf, int); - - -#if (defined(__LP64__)) || (defined(__arm__)) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__i386__) && __ANDROID_API__ >= 12) -int sigsetjmp(sigjmp_buf, int) __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12) - __INTRODUCED_IN_X86(12); -void siglongjmp(sigjmp_buf, int) __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12) - __INTRODUCED_IN_X86(12); -#endif /* (defined(__LP64__)) || (defined(__arm__)) || (defined(__mips__) && !defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__i386__) && __ANDROID_API__ >= 12) */ - - -__END_DECLS - -#endif /* !_SETJMP_H_ */ diff --git a/headers/signal.h b/headers/signal.h deleted file mode 100644 index be65211c7..000000000 --- a/headers/signal.h +++ /dev/null @@ -1,195 +0,0 @@ -/* - * 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 _SIGNAL_H_ -#define _SIGNAL_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <asm/sigcontext.h> -#include <bits/pthread_types.h> -#include <bits/timespec.h> -#include <limits.h> - -#if defined(__LP64__) || defined(__mips__) -/* For 64-bit (and mips), the kernel's struct sigaction doesn't match the POSIX one, - * so we need to expose our own and translate behind the scenes. */ -# define sigaction __kernel_sigaction -# include <linux/signal.h> -# undef sigaction -#else -/* For 32-bit, we're stuck with the definitions we already shipped, - * even though they contain a sigset_t that's too small. */ -# include <linux/signal.h> -#endif - -#include <sys/ucontext.h> -#define __BIONIC_HAVE_UCONTEXT_T - -__BEGIN_DECLS - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnullability-completeness" -#endif - -typedef int sig_atomic_t; - -/* The arm and x86 kernel header files don't define _NSIG. */ -#ifndef _KERNEL__NSIG -#define _KERNEL__NSIG 64 -#endif - -/* Userspace's NSIG is the kernel's _NSIG + 1. */ -#define _NSIG (_KERNEL__NSIG + 1) -#define NSIG _NSIG - -/* The kernel headers define SIG_DFL (0) and SIG_IGN (1) but not SIG_HOLD, since - * SIG_HOLD is only used by the deprecated SysV signal API. - */ -#define SIG_HOLD __BIONIC_CAST(reinterpret_cast, sighandler_t, 2) - -/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */ -#define SIGRTMIN (__libc_current_sigrtmin()) -#define SIGRTMAX (__libc_current_sigrtmax()) - -#if __ANDROID_API__ >= 21 -int __libc_current_sigrtmin(void) __INTRODUCED_IN(21); -int __libc_current_sigrtmax(void) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -extern const char* const sys_siglist[_NSIG]; -extern const char* const sys_signame[_NSIG]; /* BSD compatibility. */ - -typedef __sighandler_t sig_t; /* BSD compatibility. */ -typedef __sighandler_t sighandler_t; /* glibc compatibility. */ - -#define si_timerid si_tid /* glibc compatibility. */ - -#if defined(__LP64__) - -struct sigaction { - unsigned int sa_flags; - union { - sighandler_t sa_handler; - void (*sa_sigaction)(int, struct siginfo*, void*); - }; - sigset_t sa_mask; - void (*sa_restorer)(void); -}; - -#elif defined(__mips__) - -struct sigaction { - unsigned int sa_flags; - union { - sighandler_t sa_handler; - void (*sa_sigaction) (int, struct siginfo*, void*); - }; - sigset_t sa_mask; -}; - -#endif - -int sigaction(int, const struct sigaction*, struct sigaction*); - -int siginterrupt(int, int); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -sighandler_t signal(int, sighandler_t) __INTRODUCED_IN(21); -int sigaddset(sigset_t*, int) __INTRODUCED_IN(21); -int sigdelset(sigset_t*, int) __INTRODUCED_IN(21); -int sigemptyset(sigset_t*) __INTRODUCED_IN(21); -int sigfillset(sigset_t*) __INTRODUCED_IN(21); -int sigismember(const sigset_t*, int) __INTRODUCED_IN(21); -#else -// Implemented as static inlines before 21. -#endif - -int sigpending(sigset_t* _Nonnull); -int sigprocmask(int, const sigset_t*, sigset_t*); -int sigsuspend(const sigset_t* _Nonnull); -int sigwait(const sigset_t* _Nonnull, int* _Nonnull); - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int sighold(int) - __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead"))) - __INTRODUCED_IN_FUTURE; -int sigignore(int) - __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE; -int sigpause(int) - __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN_FUTURE; -int sigrelse(int) - __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead"))) - __INTRODUCED_IN_FUTURE; -sighandler_t sigset(int, sighandler_t) - __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -int raise(int); -int kill(pid_t, int); -int killpg(int, int); - -#if (!defined(__LP64__) && __ANDROID_API__ >= 16) || (defined(__LP64__)) -int tgkill(int tgid, int tid, int sig) __INTRODUCED_IN_32(16); -#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 16) || (defined(__LP64__)) */ - - -int sigaltstack(const stack_t*, stack_t*); - - -#if __ANDROID_API__ >= 17 -void psiginfo(const siginfo_t*, const char*) __INTRODUCED_IN(17); -void psignal(int, const char*) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - - -int pthread_kill(pthread_t, int); -int pthread_sigmask(int, const sigset_t*, sigset_t*); - - -#if __ANDROID_API__ >= 23 -int sigqueue(pid_t, int, const union sigval) __INTRODUCED_IN(23); -int sigtimedwait(const sigset_t* _Nonnull, siginfo_t*, const struct timespec*) __INTRODUCED_IN(23); -int sigwaitinfo(const sigset_t* _Nonnull, siginfo_t*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - -__END_DECLS - -#include <android/legacy_signal_inlines.h> - -#endif /* _SIGNAL_H_ */ diff --git a/headers/stdatomic.h b/headers/stdatomic.h deleted file mode 100644 index 8d573b263..000000000 --- a/headers/stdatomic.h +++ /dev/null @@ -1,546 +0,0 @@ -/*- - * Copyright (c) 2011 Ed Schouten <ed@FreeBSD.org> - * David Chisnall <theraven@FreeBSD.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _STDATOMIC_H_ -#define _STDATOMIC_H_ - -#include <sys/cdefs.h> - -#if defined(__cplusplus) && __cplusplus >= 201103L && defined(_USING_LIBCXX) -# ifdef __clang__ -# if __has_feature(cxx_atomic) -# define _STDATOMIC_HAVE_ATOMIC -# endif -# else /* gcc */ -# define _STDATOMIC_HAVE_ATOMIC -# endif -#endif - -#ifdef _STDATOMIC_HAVE_ATOMIC - -/* We have a usable C++ <atomic>; use it instead. */ - -#include <atomic> - -#undef _Atomic - /* Also defined by <atomic> for gcc. But not used in macros. */ - /* Also a clang intrinsic. */ - /* Should not be used by client code before this file is */ - /* included. The definitions in <atomic> themselves see */ - /* the old definition, as they should. */ - /* Client code sees the following definition. */ - -#define _Atomic(t) std::atomic<t> - -using std::atomic_is_lock_free; -using std::atomic_init; -using std::atomic_store; -using std::atomic_store_explicit; -using std::atomic_load; -using std::atomic_load_explicit; -using std::atomic_exchange; -using std::atomic_exchange_explicit; -using std::atomic_compare_exchange_strong; -using std::atomic_compare_exchange_strong_explicit; -using std::atomic_compare_exchange_weak; -using std::atomic_compare_exchange_weak_explicit; -using std::atomic_fetch_add; -using std::atomic_fetch_add_explicit; -using std::atomic_fetch_sub; -using std::atomic_fetch_sub_explicit; -using std::atomic_fetch_or; -using std::atomic_fetch_or_explicit; -using std::atomic_fetch_xor; -using std::atomic_fetch_xor_explicit; -using std::atomic_fetch_and; -using std::atomic_fetch_and_explicit; -using std::atomic_thread_fence; -using std::atomic_signal_fence; - -using std::memory_order; -using std::memory_order_relaxed; -using std::memory_order_consume; -using std::memory_order_acquire; -using std::memory_order_release; -using std::memory_order_acq_rel; -using std::memory_order_seq_cst; - -using std::atomic_bool; -using std::atomic_char; -using std::atomic_schar; -using std::atomic_uchar; -using std::atomic_short; -using std::atomic_ushort; -using std::atomic_int; -using std::atomic_uint; -using std::atomic_long; -using std::atomic_ulong; -using std::atomic_llong; -using std::atomic_ullong; -using std::atomic_char16_t; -using std::atomic_char32_t; -using std::atomic_wchar_t; -using std::atomic_int_least8_t; -using std::atomic_uint_least8_t; -using std::atomic_int_least16_t; -using std::atomic_uint_least16_t; -using std::atomic_int_least32_t; -using std::atomic_uint_least32_t; -using std::atomic_int_least64_t; -using std::atomic_uint_least64_t; -using std::atomic_int_fast8_t; -using std::atomic_uint_fast8_t; -using std::atomic_int_fast16_t; -using std::atomic_uint_fast16_t; -using std::atomic_int_fast32_t; -using std::atomic_uint_fast32_t; -using std::atomic_int_fast64_t; -using std::atomic_uint_fast64_t; -using std::atomic_intptr_t; -using std::atomic_uintptr_t; -using std::atomic_size_t; -using std::atomic_ptrdiff_t; -using std::atomic_intmax_t; -using std::atomic_uintmax_t; - -#else /* <atomic> unavailable, possibly because this is C, not C++ */ - -#include <sys/types.h> -#include <stdbool.h> - -/* - * C: Do it ourselves. - * Note that the runtime representation defined here should be compatible - * with the C++ one, i.e. an _Atomic(T) needs to contain the same - * bits as a T. - */ - -#include <stddef.h> /* For ptrdiff_t. */ -#include <stdint.h> /* TODO: don't drag in all the macros, just the types. */ -// Include uchar.h only when needed. Bionic's stdatomic.h is also used for the -// host (via a copy in prebuilts/clang) and uchar.h is not available in the -// glibc used for the host. -#if __STDC_VERSION__ >= 201112L -# include <uchar.h> /* For char16_t and char32_t. */ -#endif - - -#ifdef __clang__ -# if __has_extension(c_atomic) || __has_extension(cxx_atomic) -# define __CLANG_ATOMICS -# else -# error "stdatomic.h does not support your compiler" -# endif -# if __has_builtin(__sync_swap) -# define __HAS_BUILTIN_SYNC_SWAP -# endif -#else -# define __GNUC_ATOMICS -#endif - -/* - * 7.17.1 Atomic lock-free macros. - */ - -#ifdef __GCC_ATOMIC_BOOL_LOCK_FREE -#define ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_CHAR_LOCK_FREE -#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_SHORT_LOCK_FREE -#define ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_INT_LOCK_FREE -#define ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_LONG_LOCK_FREE -#define ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_LLONG_LOCK_FREE -#define ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE -#endif -#ifdef __GCC_ATOMIC_POINTER_LOCK_FREE -#define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE -#endif - -/* - * 7.17.2 Initialization. - */ - -#if defined(__CLANG_ATOMICS) -#define ATOMIC_VAR_INIT(value) (value) -#define atomic_init(obj, value) __c11_atomic_init(obj, value) -#else -#define ATOMIC_VAR_INIT(value) { .__val = (value) } -#define atomic_init(obj, value) ((void)((obj)->__val = (value))) -#endif - -/* - * Clang and recent GCC both provide predefined macros for the memory - * orderings. If we are using a compiler that doesn't define them, use the - * clang values - these will be ignored in the fallback path. - */ - -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif - -/* - * 7.17.3 Order and consistency. - * - * The memory_order_* constants that denote the barrier behaviour of the - * atomic operations. - * The enum values must be identical to those used by the - * C++ <atomic> header. - */ - -typedef enum { - memory_order_relaxed = __ATOMIC_RELAXED, - memory_order_consume = __ATOMIC_CONSUME, - memory_order_acquire = __ATOMIC_ACQUIRE, - memory_order_release = __ATOMIC_RELEASE, - memory_order_acq_rel = __ATOMIC_ACQ_REL, - memory_order_seq_cst = __ATOMIC_SEQ_CST -} memory_order; - -/* - * 7.17.4 Fences. - */ - -static __inline void -atomic_thread_fence(memory_order __order __attribute__((unused))) -{ - -#ifdef __CLANG_ATOMICS - __c11_atomic_thread_fence(__order); -#elif defined(__GNUC_ATOMICS) - __atomic_thread_fence(__order); -#else - __sync_synchronize(); -#endif -} - -static __inline void -atomic_signal_fence(memory_order __order __attribute__((unused))) -{ - -#ifdef __CLANG_ATOMICS - __c11_atomic_signal_fence(__order); -#elif defined(__GNUC_ATOMICS) - __atomic_signal_fence(__order); -#else - __asm volatile ("" ::: "memory"); -#endif -} - -/* - * 7.17.5 Lock-free property. - */ - -#if defined(_KERNEL) -/* Atomics in kernelspace are always lock-free. */ -#define atomic_is_lock_free(obj) \ - ((void)(obj), (_Bool)1) -#elif defined(__CLANG_ATOMICS) -#define atomic_is_lock_free(obj) \ - __c11_atomic_is_lock_free(sizeof(*(obj))) -#elif defined(__GNUC_ATOMICS) -#define atomic_is_lock_free(obj) \ - __atomic_is_lock_free(sizeof((obj)->__val), &(obj)->__val) -#else -#define atomic_is_lock_free(obj) \ - ((void)(obj), sizeof((obj)->__val) <= sizeof(void *)) -#endif - -/* - * 7.17.6 Atomic integer types. - */ - -#ifndef __CLANG_ATOMICS -/* - * No native support for _Atomic(). Place object in structure to prevent - * most forms of direct non-atomic access. - */ -#define _Atomic(T) struct { T volatile __val; } -#endif - -typedef _Atomic(bool) atomic_bool; -typedef _Atomic(char) atomic_char; -typedef _Atomic(signed char) atomic_schar; -typedef _Atomic(unsigned char) atomic_uchar; -typedef _Atomic(short) atomic_short; -typedef _Atomic(unsigned short) atomic_ushort; -typedef _Atomic(int) atomic_int; -typedef _Atomic(unsigned int) atomic_uint; -typedef _Atomic(long) atomic_long; -typedef _Atomic(unsigned long) atomic_ulong; -typedef _Atomic(long long) atomic_llong; -typedef _Atomic(unsigned long long) atomic_ullong; -#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L - typedef _Atomic(char16_t) atomic_char16_t; - typedef _Atomic(char32_t) atomic_char32_t; -#endif -typedef _Atomic(wchar_t) atomic_wchar_t; -typedef _Atomic(int_least8_t) atomic_int_least8_t; -typedef _Atomic(uint_least8_t) atomic_uint_least8_t; -typedef _Atomic(int_least16_t) atomic_int_least16_t; -typedef _Atomic(uint_least16_t) atomic_uint_least16_t; -typedef _Atomic(int_least32_t) atomic_int_least32_t; -typedef _Atomic(uint_least32_t) atomic_uint_least32_t; -typedef _Atomic(int_least64_t) atomic_int_least64_t; -typedef _Atomic(uint_least64_t) atomic_uint_least64_t; -typedef _Atomic(int_fast8_t) atomic_int_fast8_t; -typedef _Atomic(uint_fast8_t) atomic_uint_fast8_t; -typedef _Atomic(int_fast16_t) atomic_int_fast16_t; -typedef _Atomic(uint_fast16_t) atomic_uint_fast16_t; -typedef _Atomic(int_fast32_t) atomic_int_fast32_t; -typedef _Atomic(uint_fast32_t) atomic_uint_fast32_t; -typedef _Atomic(int_fast64_t) atomic_int_fast64_t; -typedef _Atomic(uint_fast64_t) atomic_uint_fast64_t; -typedef _Atomic(intptr_t) atomic_intptr_t; -typedef _Atomic(uintptr_t) atomic_uintptr_t; -typedef _Atomic(size_t) atomic_size_t; -typedef _Atomic(ptrdiff_t) atomic_ptrdiff_t; -typedef _Atomic(intmax_t) atomic_intmax_t; -typedef _Atomic(uintmax_t) atomic_uintmax_t; - -/* - * 7.17.7 Operations on atomic types. - */ - -/* - * Compiler-specific operations. - */ - -#if defined(__CLANG_ATOMICS) -#define atomic_compare_exchange_strong_explicit(object, expected, \ - desired, success, failure) \ - __c11_atomic_compare_exchange_strong(object, expected, desired, \ - success, failure) -#define atomic_compare_exchange_weak_explicit(object, expected, \ - desired, success, failure) \ - __c11_atomic_compare_exchange_weak(object, expected, desired, \ - success, failure) -#define atomic_exchange_explicit(object, desired, order) \ - __c11_atomic_exchange(object, desired, order) -#define atomic_fetch_add_explicit(object, operand, order) \ - __c11_atomic_fetch_add(object, operand, order) -#define atomic_fetch_and_explicit(object, operand, order) \ - __c11_atomic_fetch_and(object, operand, order) -#define atomic_fetch_or_explicit(object, operand, order) \ - __c11_atomic_fetch_or(object, operand, order) -#define atomic_fetch_sub_explicit(object, operand, order) \ - __c11_atomic_fetch_sub(object, operand, order) -#define atomic_fetch_xor_explicit(object, operand, order) \ - __c11_atomic_fetch_xor(object, operand, order) -#define atomic_load_explicit(object, order) \ - __c11_atomic_load(object, order) -#define atomic_store_explicit(object, desired, order) \ - __c11_atomic_store(object, desired, order) -#elif defined(__GNUC_ATOMICS) -#define atomic_compare_exchange_strong_explicit(object, expected, \ - desired, success, failure) \ - __atomic_compare_exchange_n(&(object)->__val, expected, \ - desired, 0, success, failure) -#define atomic_compare_exchange_weak_explicit(object, expected, \ - desired, success, failure) \ - __atomic_compare_exchange_n(&(object)->__val, expected, \ - desired, 1, success, failure) -#define atomic_exchange_explicit(object, desired, order) \ - __atomic_exchange_n(&(object)->__val, desired, order) -#define atomic_fetch_add_explicit(object, operand, order) \ - __atomic_fetch_add(&(object)->__val, operand, order) -#define atomic_fetch_and_explicit(object, operand, order) \ - __atomic_fetch_and(&(object)->__val, operand, order) -#define atomic_fetch_or_explicit(object, operand, order) \ - __atomic_fetch_or(&(object)->__val, operand, order) -#define atomic_fetch_sub_explicit(object, operand, order) \ - __atomic_fetch_sub(&(object)->__val, operand, order) -#define atomic_fetch_xor_explicit(object, operand, order) \ - __atomic_fetch_xor(&(object)->__val, operand, order) -#define atomic_load_explicit(object, order) \ - __atomic_load_n(&(object)->__val, order) -#define atomic_store_explicit(object, desired, order) \ - __atomic_store_n(&(object)->__val, desired, order) -#else -#define __atomic_apply_stride(object, operand) \ - (((__typeof__((object)->__val))0) + (operand)) -#define atomic_compare_exchange_strong_explicit(object, expected, \ - desired, success, failure) __extension__ ({ \ - __typeof__(expected) __ep = (expected); \ - __typeof__(*__ep) __e = *__ep; \ - (void)(success); (void)(failure); \ - (bool)((*__ep = __sync_val_compare_and_swap(&(object)->__val, \ - __e, desired)) == __e); \ -}) -#define atomic_compare_exchange_weak_explicit(object, expected, \ - desired, success, failure) \ - atomic_compare_exchange_strong_explicit(object, expected, \ - desired, success, failure) -#ifdef __HAS_BUILTIN_SYNC_SWAP -/* Clang provides a full-barrier atomic exchange - use it if available. */ -#define atomic_exchange_explicit(object, desired, order) \ - ((void)(order), __sync_swap(&(object)->__val, desired)) -#else -/* - * __sync_lock_test_and_set() is only an acquire barrier in theory (although in - * practice it is usually a full barrier) so we need an explicit barrier before - * it. - */ -#define atomic_exchange_explicit(object, desired, order) \ -__extension__ ({ \ - __typeof__(object) __o = (object); \ - __typeof__(desired) __d = (desired); \ - (void)(order); \ - __sync_synchronize(); \ - __sync_lock_test_and_set(&(__o)->__val, __d); \ -}) -#endif -#define atomic_fetch_add_explicit(object, operand, order) \ - ((void)(order), __sync_fetch_and_add(&(object)->__val, \ - __atomic_apply_stride(object, operand))) -#define atomic_fetch_and_explicit(object, operand, order) \ - ((void)(order), __sync_fetch_and_and(&(object)->__val, operand)) -#define atomic_fetch_or_explicit(object, operand, order) \ - ((void)(order), __sync_fetch_and_or(&(object)->__val, operand)) -#define atomic_fetch_sub_explicit(object, operand, order) \ - ((void)(order), __sync_fetch_and_sub(&(object)->__val, \ - __atomic_apply_stride(object, operand))) -#define atomic_fetch_xor_explicit(object, operand, order) \ - ((void)(order), __sync_fetch_and_xor(&(object)->__val, operand)) -#define atomic_load_explicit(object, order) \ - ((void)(order), __sync_fetch_and_add(&(object)->__val, 0)) -#define atomic_store_explicit(object, desired, order) \ - ((void)atomic_exchange_explicit(object, desired, order)) -#endif - -/* - * Convenience functions. - * - * Don't provide these in kernel space. In kernel space, we should be - * disciplined enough to always provide explicit barriers. - */ - -#ifndef _KERNEL -#define atomic_compare_exchange_strong(object, expected, desired) \ - atomic_compare_exchange_strong_explicit(object, expected, \ - desired, memory_order_seq_cst, memory_order_seq_cst) -#define atomic_compare_exchange_weak(object, expected, desired) \ - atomic_compare_exchange_weak_explicit(object, expected, \ - desired, memory_order_seq_cst, memory_order_seq_cst) -#define atomic_exchange(object, desired) \ - atomic_exchange_explicit(object, desired, memory_order_seq_cst) -#define atomic_fetch_add(object, operand) \ - atomic_fetch_add_explicit(object, operand, memory_order_seq_cst) -#define atomic_fetch_and(object, operand) \ - atomic_fetch_and_explicit(object, operand, memory_order_seq_cst) -#define atomic_fetch_or(object, operand) \ - atomic_fetch_or_explicit(object, operand, memory_order_seq_cst) -#define atomic_fetch_sub(object, operand) \ - atomic_fetch_sub_explicit(object, operand, memory_order_seq_cst) -#define atomic_fetch_xor(object, operand) \ - atomic_fetch_xor_explicit(object, operand, memory_order_seq_cst) -#define atomic_load(object) \ - atomic_load_explicit(object, memory_order_seq_cst) -#define atomic_store(object, desired) \ - atomic_store_explicit(object, desired, memory_order_seq_cst) -#endif /* !_KERNEL */ - -/* - * 7.17.8 Atomic flag type and operations. - * - * XXX: Assume atomic_bool can be used as an atomic_flag. Is there some - * kind of compiler built-in type we could use? - */ - -typedef struct { - atomic_bool __flag; -} atomic_flag; - -#define ATOMIC_FLAG_INIT { ATOMIC_VAR_INIT(false) } - -static __inline bool -atomic_flag_test_and_set_explicit(volatile atomic_flag *__object, - memory_order __order) -{ - return (atomic_exchange_explicit(&__object->__flag, 1, __order)); -} - -static __inline void -atomic_flag_clear_explicit(volatile atomic_flag *__object, memory_order __order) -{ - - atomic_store_explicit(&__object->__flag, 0, __order); -} - -#ifndef _KERNEL -static __inline bool -atomic_flag_test_and_set(volatile atomic_flag *__object) -{ - - return (atomic_flag_test_and_set_explicit(__object, - memory_order_seq_cst)); -} - -static __inline void -atomic_flag_clear(volatile atomic_flag *__object) -{ - - atomic_flag_clear_explicit(__object, memory_order_seq_cst); -} -#endif /* !_KERNEL */ - -#endif /* <atomic> unavailable */ - -#endif /* !_STDATOMIC_H_ */ diff --git a/headers/stdint.h b/headers/stdint.h deleted file mode 100644 index 322a81ce1..000000000 --- a/headers/stdint.h +++ /dev/null @@ -1,229 +0,0 @@ -/* - * 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 - -#include <bits/wchar_limits.h> -#include <stddef.h> -#include <sys/cdefs.h> - -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 -typedef long long __int64_t; -typedef unsigned long long __uint64_t; -#endif - -#if defined(__LP64__) -typedef long __intptr_t; -typedef unsigned long __uintptr_t; -#else -typedef int __intptr_t; -typedef unsigned int __uintptr_t; -#endif - -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 -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 - -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 -# 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 - -#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 -# define WINT_MAX INT32_MAX -# define WINT_MIN INT32_MIN -#endif - -#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 -# 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 - -#endif /* _STDINT_H */ diff --git a/headers/stdio.h b/headers/stdio.h deleted file mode 100644 index 70b89a996..000000000 --- a/headers/stdio.h +++ /dev/null @@ -1,459 +0,0 @@ -/* $OpenBSD: stdio.h,v 1.35 2006/01/13 18:10:09 miod Exp $ */ -/* $NetBSD: stdio.h,v 1.18 1996/04/25 18:29:21 jtc Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Chris Torek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdio.h 5.17 (Berkeley) 6/3/91 - */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <stdarg.h> -#include <stddef.h> - -#define __need_NULL -#include <stddef.h> - -#include <bits/seek_constants.h> - -#if __ANDROID_API__ < __ANDROID_API_N__ -#include <bits/struct_file.h> -#endif - -__BEGIN_DECLS - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnullability-completeness" -#endif - -typedef off_t fpos_t; -typedef off64_t fpos64_t; - -struct __sFILE; -typedef struct __sFILE FILE; - -#if __ANDROID_API__ >= __ANDROID_API_M__ -extern FILE* stdin __INTRODUCED_IN(23); -extern FILE* stdout __INTRODUCED_IN(23); -extern FILE* stderr __INTRODUCED_IN(23); - -/* C99 and earlier plus current C++ standards say these must be macros. */ -#define stdin stdin -#define stdout stdout -#define stderr stderr -#else -/* Before M the actual symbols for stdin and friends had different names. */ -extern FILE __sF[] __REMOVED_IN(23); - -#define stdin (&__sF[0]) -#define stdout (&__sF[1]) -#define stderr (&__sF[2]) -#endif - -/* - * The following three definitions are for ANSI C, which took them - * from System V, which brilliantly took internal interface macros and - * made them official arguments to setvbuf(), without renaming them. - * Hence, these ugly _IOxxx names are *supposed* to appear in user code. - * - * Although numbered as their counterparts above, the implementation - * does not rely on this. - */ -#define _IOFBF 0 /* setvbuf should set fully buffered */ -#define _IOLBF 1 /* setvbuf should set line buffered */ -#define _IONBF 2 /* setvbuf should set unbuffered */ - -#define BUFSIZ 1024 /* size of buffer used by setbuf */ -#define EOF (-1) - -/* - * FOPEN_MAX is a minimum maximum, and is the number of streams that - * stdio can provide without attempting to allocate further resources - * (which could fail). Do not use this for anything. - */ - -#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */ -#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */ - -#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ -#define TMP_MAX 308915776 - -/* - * Functions defined in ANSI C standard. - */ -void clearerr(FILE *); -int fclose(FILE *); -int feof(FILE *); -int ferror(FILE *); -int fflush(FILE *); -int fgetc(FILE *); -char *fgets(char * __restrict, int, FILE * __restrict); -int fprintf(FILE * __restrict , const char * __restrict _Nonnull, ...) __printflike(2, 3); -int fputc(int, FILE *); -int fputs(const char * __restrict, FILE * __restrict); -size_t fread(void * __restrict, size_t, size_t, FILE * __restrict); -int fscanf(FILE * __restrict, const char * __restrict _Nonnull, ...) __scanflike(2, 3); -size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict); -int getc(FILE *); -int getchar(void); - -#if __ANDROID_API__ >= 18 -ssize_t getdelim(char** __restrict, size_t* __restrict, int, FILE* __restrict) __INTRODUCED_IN(18); -ssize_t getline(char** __restrict, size_t* __restrict, FILE* __restrict) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - - -void perror(const char *); -int printf(const char * __restrict _Nonnull, ...) __printflike(1, 2); -int putc(int, FILE *); -int putchar(int); -int puts(const char *); -int remove(const char *); -void rewind(FILE *); -int scanf(const char * __restrict _Nonnull, ...) __scanflike(1, 2); -void setbuf(FILE * __restrict, char * __restrict); -int setvbuf(FILE * __restrict, char * __restrict, int, size_t); -int sscanf(const char * __restrict, const char * __restrict _Nonnull, ...) __scanflike(2, 3); -int ungetc(int, FILE *); -int vfprintf(FILE * __restrict, const char * __restrict _Nonnull, __va_list) __printflike(2, 0); -int vprintf(const char * __restrict _Nonnull, __va_list) __printflike(1, 0); - - -#if __ANDROID_API__ >= 21 -int dprintf(int, const char* __restrict _Nonnull, ...) __printflike(2, 3) __INTRODUCED_IN(21); -int vdprintf(int, const char* __restrict _Nonnull, __va_list) __printflike(2, 0) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 201112L) || \ - (defined(__cplusplus) && __cplusplus <= 201103L) -char* gets(char*) __attribute__((deprecated("gets is unsafe, use fgets instead"))); -#endif -int sprintf(char* __restrict, const char* __restrict _Nonnull, ...) __printflike(2, 3); -int vsprintf(char* __restrict, const char* __restrict _Nonnull, __va_list) __printflike(2, 0); -char* tmpnam(char*) __attribute__((deprecated("tmpnam is unsafe, use mkstemp or tmpfile instead"))); -#define P_tmpdir "/tmp/" /* deprecated */ -char* tempnam(const char*, const char*) - __attribute__((deprecated("tempnam is unsafe, use mkstemp or tmpfile instead"))); - -int rename(const char*, const char*); -int renameat(int, const char*, int, const char*); - -int fseek(FILE*, long, int); -long ftell(FILE*); - -#if defined(__USE_FILE_OFFSET64) -int fgetpos(FILE*, fpos_t*) __RENAME(fgetpos64); -int fsetpos(FILE*, const fpos_t*) __RENAME(fsetpos64); -int fseeko(FILE*, off_t, int) __RENAME(fseeko64); -off_t ftello(FILE*) __RENAME(ftello64); -# if defined(__USE_BSD) -FILE* funopen(const void*, - int (*)(void*, char*, int), - int (*)(void*, const char*, int), - fpos_t (*)(void*, fpos_t, int), - int (*)(void*)) __RENAME(funopen64); -# endif -#else -int fgetpos(FILE*, fpos_t*); -int fsetpos(FILE*, const fpos_t*); -int fseeko(FILE*, off_t, int); -off_t ftello(FILE*); -# if defined(__USE_BSD) -FILE* funopen(const void*, - int (*)(void*, char*, int), - int (*)(void*, const char*, int), - fpos_t (*)(void*, fpos_t, int), - int (*)(void*)); -# endif -#endif - -#if __ANDROID_API__ >= 24 -int fgetpos64(FILE*, fpos64_t*) __INTRODUCED_IN(24); -int fsetpos64(FILE*, const fpos64_t*) __INTRODUCED_IN(24); -int fseeko64(FILE*, off64_t, int) __INTRODUCED_IN(24); -off64_t ftello64(FILE*) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#if defined(__USE_BSD) - -#if __ANDROID_API__ >= 24 -FILE* funopen64(const void*, int (*)(void*, char*, int), int (*)(void*, const char*, int), - fpos64_t (*)(void*, fpos64_t, int), int (*)(void*)) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif - -FILE* fopen(const char* __restrict, const char* __restrict); - -#if __ANDROID_API__ >= 24 -FILE* fopen64(const char* __restrict, const char* __restrict) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -FILE* freopen(const char* __restrict, const char* __restrict, FILE* __restrict); - -#if __ANDROID_API__ >= 24 -FILE* freopen64(const char* __restrict, const char* __restrict, FILE* __restrict) - __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -FILE* tmpfile(void); - -#if __ANDROID_API__ >= 24 -FILE* tmpfile64(void) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -int snprintf(char* __restrict, size_t, const char* __restrict _Nonnull, ...) __printflike(3, 4); -int vfscanf(FILE* __restrict, const char* __restrict _Nonnull, __va_list) __scanflike(2, 0); -int vscanf(const char* _Nonnull , __va_list) __scanflike(1, 0); -int vsnprintf(char* __restrict, size_t, const char* __restrict _Nonnull, __va_list) __printflike(3, 0); -int vsscanf(const char* __restrict _Nonnull, const char* __restrict _Nonnull, __va_list) __scanflike(2, 0); - -#define L_ctermid 1024 /* size for ctermid() */ - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -char* ctermid(char*) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -FILE* fdopen(int, const char*); -int fileno(FILE*); -int pclose(FILE*); -FILE* popen(const char*, const char*); -void flockfile(FILE*); -int ftrylockfile(FILE*); -void funlockfile(FILE*); -int getc_unlocked(FILE*); -int getchar_unlocked(void); -int putc_unlocked(int, FILE*); -int putchar_unlocked(int); - - -#if __ANDROID_API__ >= 23 -FILE* fmemopen(void*, size_t, const char*) __INTRODUCED_IN(23); -FILE* open_memstream(char**, size_t*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */ -int asprintf(char** __restrict, const char* __restrict _Nonnull, ...) __printflike(2, 3); -char* fgetln(FILE* __restrict, size_t* __restrict); -int fpurge(FILE*); -void setbuffer(FILE*, char*, int); -int setlinebuf(FILE*); -int vasprintf(char** __restrict, const char* __restrict _Nonnull, __va_list) __printflike(2, 0); - -#if __ANDROID_API__ >= 23 -void clearerr_unlocked(FILE*) __INTRODUCED_IN(23); -int feof_unlocked(FILE*) __INTRODUCED_IN(23); -int ferror_unlocked(FILE*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= 24 -int fileno_unlocked(FILE*) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) -#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) -#endif /* __USE_BSD */ - - -#if __ANDROID_API__ >= 17 -char* __fgets_chk(char*, int, FILE*, size_t) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -char* __fgets_real(char*, int, FILE*) __RENAME(fgets); -__errordecl(__fgets_too_big_error, "fgets called with size bigger than buffer"); -__errordecl(__fgets_too_small_error, "fgets called with size less than zero"); - - -#if __ANDROID_API__ >= 24 -size_t __fread_chk(void* __restrict, size_t, size_t, FILE* __restrict, size_t) - __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -size_t __fread_real(void * __restrict, size_t, size_t, FILE * __restrict) __RENAME(fread); -__errordecl(__fread_too_big_error, "fread called with size * count bigger than buffer"); -__errordecl(__fread_overflow, "fread called with overflowing size * count"); - - -#if __ANDROID_API__ >= 24 -size_t __fwrite_chk(const void* __restrict, size_t, size_t, FILE* __restrict, size_t) - __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -size_t __fwrite_real(const void * __restrict, size_t, size_t, FILE * __restrict) __RENAME(fwrite); -__errordecl(__fwrite_too_big_error, "fwrite called with size * count bigger than buffer"); -__errordecl(__fwrite_overflow, "fwrite called with overflowing size * count"); - -#if defined(__BIONIC_FORTIFY) && !defined(__BIONIC_NO_STDIO_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_J_MR1__ -__BIONIC_FORTIFY_INLINE -__printflike(3, 0) int vsnprintf(char* dest, size_t size, const char* _Nonnull format, __va_list ap) { - return __builtin___vsnprintf_chk(dest, size, 0, __bos(dest), format, ap); -} - -__BIONIC_FORTIFY_INLINE -__printflike(2, 0) int vsprintf(char* dest, const char* _Nonnull format, __va_list ap) { - return __builtin___vsprintf_chk(dest, 0, __bos(dest), format, ap); -} - -#if defined(__clang__) - #if !defined(snprintf) - #define __wrap_snprintf(dest, size, ...) __builtin___snprintf_chk(dest, size, 0, __bos(dest), __VA_ARGS__) - #define snprintf(...) __wrap_snprintf(__VA_ARGS__) - #endif -#else -__BIONIC_FORTIFY_INLINE -__printflike(3, 4) int snprintf(char* dest, size_t size, const char* _Nonnull format, ...) { - return __builtin___snprintf_chk(dest, size, 0, __bos(dest), format, __builtin_va_arg_pack()); -} -#endif - -#if defined(__clang__) - #if !defined(sprintf) - #define __wrap_sprintf(dest, ...) __builtin___sprintf_chk(dest, 0, __bos(dest), __VA_ARGS__) - #define sprintf(...) __wrap_sprintf(__VA_ARGS__) - #endif -#else -__BIONIC_FORTIFY_INLINE -__printflike(2, 3) int sprintf(char* dest, const char* _Nonnull format, ...) { - return __builtin___sprintf_chk(dest, 0, __bos(dest), format, __builtin_va_arg_pack()); -} -#endif -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */ - -#if __ANDROID_API__ >= __ANDROID_API_N__ -__BIONIC_FORTIFY_INLINE -size_t fread(void * __restrict buf, size_t size, size_t count, FILE * __restrict stream) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __fread_real(buf, size, count, stream); - } - - if (__builtin_constant_p(size) && __builtin_constant_p(count)) { - size_t total; - if (__size_mul_overflow(size, count, &total)) { - __fread_overflow(); - } - - if (total > bos) { - __fread_too_big_error(); - } - - return __fread_real(buf, size, count, stream); - } -#endif - - return __fread_chk(buf, size, count, stream, bos); -} - -__BIONIC_FORTIFY_INLINE -size_t fwrite(const void * __restrict buf, size_t size, size_t count, FILE * __restrict stream) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __fwrite_real(buf, size, count, stream); - } - - if (__builtin_constant_p(size) && __builtin_constant_p(count)) { - size_t total; - if (__size_mul_overflow(size, count, &total)) { - __fwrite_overflow(); - } - - if (total > bos) { - __fwrite_too_big_error(); - } - - return __fwrite_real(buf, size, count, stream); - } -#endif - - return __fwrite_chk(buf, size, count, stream, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -#if !defined(__clang__) - -__BIONIC_FORTIFY_INLINE -char *fgets(char* dest, int size, FILE* stream) { - size_t bos = __bos(dest); - - // Compiler can prove, at compile time, that the passed in size - // is always negative. Force a compiler error. - if (__builtin_constant_p(size) && (size < 0)) { - __fgets_too_small_error(); - } - - // Compiler doesn't know destination size. Don't call __fgets_chk - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __fgets_real(dest, size, stream); - } - - // Compiler can prove, at compile time, that the passed in size - // is always <= the actual object size. Don't call __fgets_chk - if (__builtin_constant_p(size) && (size <= (int) bos)) { - return __fgets_real(dest, size, stream); - } - - // Compiler can prove, at compile time, that the passed in size - // is always > the actual object size. Force a compiler error. - if (__builtin_constant_p(size) && (size > (int) bos)) { - __fgets_too_big_error(); - } - - return __fgets_chk(dest, size, stream, bos); -} - -#endif /* !defined(__clang__) */ - -#endif /* defined(__BIONIC_FORTIFY) */ - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - -__END_DECLS - -#endif /* _STDIO_H_ */ diff --git a/headers/stdio_ext.h b/headers/stdio_ext.h deleted file mode 100644 index 3f9e8b675..000000000 --- a/headers/stdio_ext.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 _STDIO_EXT_H -#define _STDIO_EXT_H - -#include <sys/cdefs.h> -#include <stdio.h> - -#define FSETLOCKING_QUERY 0 -#define FSETLOCKING_INTERNAL 1 -#define FSETLOCKING_BYCALLER 2 - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 23 -size_t __fbufsize(FILE*) __INTRODUCED_IN(23); -int __freadable(FILE*) __INTRODUCED_IN(23); -int __fwritable(FILE*) __INTRODUCED_IN(23); -int __flbf(FILE*) __INTRODUCED_IN(23); -void __fpurge(FILE*) __INTRODUCED_IN(23); -size_t __fpending(FILE*) __INTRODUCED_IN(23); -void _flushlbf(void) __INTRODUCED_IN(23); -int __fsetlocking(FILE*, int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _STDIO_EXT_H */ diff --git a/headers/stdlib.h b/headers/stdlib.h deleted file mode 100644 index 8f444093d..000000000 --- a/headers/stdlib.h +++ /dev/null @@ -1,274 +0,0 @@ -/* - * 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 _STDLIB_H -#define _STDLIB_H - -#include <sys/cdefs.h> -#include <xlocale.h> - -#include <alloca.h> -#include <malloc.h> -#include <stddef.h> - -__BEGIN_DECLS - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -__noreturn void abort(void); -__noreturn void exit(int); - -#if __ANDROID_API__ >= 21 -__noreturn void _Exit(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int atexit(void (*)(void)); - - -#if __ANDROID_API__ >= 21 -int at_quick_exit(void (*)(void)) __INTRODUCED_IN(21); -void quick_exit(int) __noreturn __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -char* getenv(const char*); -int putenv(char*); -int setenv(const char*, const char*, int); -int unsetenv(const char*); -int clearenv(void); - -char* mkdtemp(char*); -char* mktemp(char*) __attribute__((deprecated("mktemp is unsafe, use mkstemp or tmpfile instead"))); - - -#if __ANDROID_API__ >= 23 -int mkostemp64(char*, int) __INTRODUCED_IN(23); -int mkostemp(char*, int) __INTRODUCED_IN(23); -int mkostemps64(char*, int, int) __INTRODUCED_IN(23); -int mkostemps(char*, int, int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -#if __ANDROID_API__ >= 21 -int mkstemp64(char*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int mkstemp(char*); - -#if __ANDROID_API__ >= 23 -int mkstemps64(char*, int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -int mkstemps(char*, int); - -long strtol(const char *, char **, int); -long long strtoll(const char *, char **, int); -unsigned long strtoul(const char *, char **, int); -unsigned long long strtoull(const char *, char **, int); - - -#if __ANDROID_API__ >= 16 -int posix_memalign(void** memptr, size_t alignment, size_t size) __INTRODUCED_IN(16); -#endif /* __ANDROID_API__ >= 16 */ - - -double strtod(const char*, char**); - -#if __ANDROID_API__ >= 21 -long double strtold(const char*, char**) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -unsigned long strtoul_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -int atoi(const char*) __attribute_pure__; -long atol(const char*) __attribute_pure__; -long long atoll(const char*) __attribute_pure__; - -char* realpath(const char* path, char* resolved); -int system(const char* string); - -void* bsearch(const void* key, const void* base0, size_t nmemb, size_t size, - int (*compar)(const void*, const void*)); - -void qsort(void*, size_t, size_t, int (*)(const void*, const void*)); - -uint32_t arc4random(void); -uint32_t arc4random_uniform(uint32_t); -void arc4random_buf(void*, size_t); - -#define RAND_MAX 0x7fffffff - - -#if __ANDROID_API__ >= 21 -int rand_r(unsigned int*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -double drand48(void); -double erand48(unsigned short[3]); -long jrand48(unsigned short[3]); - -#if __ANDROID_API__ >= 23 -void lcong48(unsigned short[7]) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -long lrand48(void); -long mrand48(void); -long nrand48(unsigned short[3]); -unsigned short* seed48(unsigned short[3]); -void srand48(long); - - -#if __ANDROID_API__ >= 21 -char* initstate(unsigned int, char*, size_t) __INTRODUCED_IN(21); -char* setstate(char*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int getpt(void); - -#if __ANDROID_API__ >= 21 -int posix_openpt(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -char* ptsname(int); -int ptsname_r(int, char*, size_t); -int unlockpt(int); - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int getsubopt(char**, char* const*, char**) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -typedef struct { - int quot; - int rem; -} div_t; - -div_t div(int, int) __attribute_const__; - -typedef struct { - long int quot; - long int rem; -} ldiv_t; - -ldiv_t ldiv(long, long) __attribute_const__; - -typedef struct { - long long int quot; - long long int rem; -} lldiv_t; - -lldiv_t lldiv(long long, long long) __attribute_const__; - -/* BSD compatibility. */ - -#if __ANDROID_API__ >= 21 -const char* getprogname(void) __INTRODUCED_IN(21); -void setprogname(const char*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int mblen(const char*, size_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD; -size_t mbstowcs(wchar_t*, const char*, size_t); -int mbtowc(wchar_t*, const char*, size_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD; -int wctomb(char*, wchar_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD; - -size_t wcstombs(char*, const wchar_t*, size_t); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -size_t __ctype_get_mb_cur_max(void) __INTRODUCED_IN(21); -#define MB_CUR_MAX __ctype_get_mb_cur_max() -#else -/* - * 4 is only true for UTF-8 locales, but that's what we default to. We'll need - * the NDK compatibility library to fix this properly. - */ -#define MB_CUR_MAX 4 -#endif - -#if defined(__BIONIC_FORTIFY) - -char* __realpath_real(const char*, char*) __RENAME(realpath); -__errordecl(__realpath_size_error, "realpath output parameter must be NULL or a >= PATH_MAX bytes buffer"); - -#if !defined(__clang__) -__BIONIC_FORTIFY_INLINE -char* realpath(const char* path, char* resolved) { - size_t bos = __bos(resolved); - - /* PATH_MAX is unavailable without polluting the namespace, but it's always 4096 on Linux */ - if (bos != __BIONIC_FORTIFY_UNKNOWN_SIZE && bos < 4096) { - __realpath_size_error(); - } - - return __realpath_real(path, resolved); -} -#endif - -#endif /* defined(__BIONIC_FORTIFY) */ - -#if __ANDROID_API__ >= __ANDROID_API_L__ -float strtof(const char*, char**) __INTRODUCED_IN(21); -double atof(const char*) __attribute_pure__ __INTRODUCED_IN(21); -int abs(int) __attribute_const__ __INTRODUCED_IN(21); -long labs(long) __attribute_const__ __INTRODUCED_IN(21); -long long llabs(long long) __attribute_const__ __INTRODUCED_IN(21); -int rand(void) __INTRODUCED_IN(21); -void srand(unsigned int) __INTRODUCED_IN(21); -long random(void) __INTRODUCED_IN(21); -void srandom(unsigned int) __INTRODUCED_IN(21); -int grantpt(int) __INTRODUCED_IN(21); - -long long strtoll_l(const char*, char**, int, locale_t) __INTRODUCED_IN(21); -unsigned long long strtoull_l(const char*, char**, int, locale_t) __INTRODUCED_IN(21); -long double strtold_l(const char*, char**, locale_t) __INTRODUCED_IN(21); -#else -// Implemented as static inlines before 21. -#endif - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -double strtod_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE; -float strtof_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE; -long strtol_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE; -#else -// Implemented as static inlines. -#endif - -__END_DECLS - -#include <android/legacy_stdlib_inlines.h> - -#endif /* _STDLIB_H */ diff --git a/headers/string.h b/headers/string.h deleted file mode 100644 index 0b957d2b9..000000000 --- a/headers/string.h +++ /dev/null @@ -1,454 +0,0 @@ -/* - * 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 - -#include <sys/cdefs.h> -#include <stddef.h> -#include <xlocale.h> - -#include <bits/strcasecmp.h> - -__BEGIN_DECLS - -#if defined(__clang__) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnullability-completeness" -#endif - -#if defined(__USE_BSD) -#include <strings.h> -#endif - -void* memccpy(void* _Nonnull __restrict, const void* _Nonnull __restrict, int, size_t); -void* memchr(const void* _Nonnull, int, size_t) __attribute_pure__; -void* memrchr(const void* _Nonnull, int, size_t) __attribute_pure__; -int memcmp(const void* _Nonnull, const void* _Nonnull, size_t) __attribute_pure__; -void* memcpy(void* _Nonnull __restrict, const void* _Nonnull __restrict, size_t); -#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 */ - -#endif -void* memmove(void* _Nonnull, const void* _Nonnull, size_t); -void* memset(void* _Nonnull, int, size_t); -void* memmem(const void* _Nonnull, size_t, const void* _Nonnull, size_t) __attribute_pure__; - -char* strchr(const char* _Nonnull, int) __attribute_pure__; - -#if __ANDROID_API__ >= 18 -char* __strchr_chk(const char* _Nonnull, int, size_t) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - -#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 - -#if __ANDROID_API__ >= 24 -char* strchrnul(const char* _Nonnull, int) __attribute_pure__ __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif -#endif - -char* strrchr(const char* _Nonnull, int) __attribute_pure__; - -#if __ANDROID_API__ >= 18 -char* __strrchr_chk(const char* _Nonnull, int, size_t) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - - -size_t strlen(const char* _Nonnull) __attribute_pure__; - -#if __ANDROID_API__ >= 17 -size_t __strlen_chk(const char* _Nonnull, size_t) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -int strcmp(const char* _Nonnull, const char* _Nonnull) __attribute_pure__; - -#if __ANDROID_API__ >= 21 -char* stpcpy(char* _Nonnull __restrict, const char* _Nonnull__restrict) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -char* strcpy(char* _Nonnull __restrict, const char* _Nonnull __restrict); -char* strcat(char* _Nonnull __restrict, const char* _Nonnull __restrict); - -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 */ - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= 23 -char* strerror_r(int, char*, size_t) __RENAME(__gnu_strerror_r) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -#else /* POSIX */ -int strerror_r(int, char*, size_t); -#endif - -size_t strnlen(const char* _Nonnull, size_t) __attribute_pure__; -char* strncat(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t); -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) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -char* strncpy(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t); - -size_t strlcat(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t); -size_t strlcpy(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t); - -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 -// Implemented as static inlines before 21. -#endif - -#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 - -#if __ANDROID_API__ >= 23 -char* basename(const char* _Nonnull) __RENAME(__gnu_basename) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -#endif -#endif - - -#if __ANDROID_API__ >= 23 -void* __memchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__memchr_buf_size_error, "memchr called with size bigger than buffer"); - - -#if __ANDROID_API__ >= 23 -void* __memrchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__memrchr_buf_size_error, "memrchr called with size bigger than buffer"); -void* __memrchr_real(const void* _Nonnull, int, size_t) __RENAME(memrchr); - - -#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 */ - -size_t __strlcpy_real(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t) __RENAME(strlcpy); - -#if __ANDROID_API__ >= 17 -size_t __strlcpy_chk(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -size_t __strlcat_real(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t) __RENAME(strlcat); - -#if __ANDROID_API__ >= 17 -size_t __strlcat_chk(char* _Nonnull __restrict, const char* _Nonnull __restrict, size_t, size_t) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - - -#if defined(__BIONIC_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_M__ -__BIONIC_FORTIFY_INLINE -void* memchr(const void* s, int c, size_t n) { - size_t bos = __bos(s); - -#if !defined(__clang__) - 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); - } -#endif - - 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 !defined(__clang__) - 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); - } -#endif - - return __memrchr_chk(s, c, n, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_M__ */ - -#if __ANDROID_API__ >= __ANDROID_API_J_MR1__ -__BIONIC_FORTIFY_INLINE -void* memcpy(void* _Nonnull __restrict dst, const void* _Nonnull __restrict src, size_t copy_amount) { - return __builtin___memcpy_chk(dst, src, copy_amount, __bos0(dst)); -} - -__BIONIC_FORTIFY_INLINE -void* memmove(void* _Nonnull dst, const void* _Nonnull src, size_t len) { - return __builtin___memmove_chk(dst, src, len, __bos0(dst)); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */ - -#if __ANDROID_API__ >= __ANDROID_API_L__ -__BIONIC_FORTIFY_INLINE -char* stpcpy(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src) { - return __builtin___stpcpy_chk(dst, src, __bos(dst)); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_L__ */ - -#if __ANDROID_API__ >= __ANDROID_API_J_MR1__ -__BIONIC_FORTIFY_INLINE -char* strcpy(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src) { - return __builtin___strcpy_chk(dst, src, __bos(dst)); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */ - -#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 __builtin___strncpy_chk(dst, src, n, bos_dst); - } - - 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__ */ - -#if __ANDROID_API__ >= __ANDROID_API_J_MR1__ -__BIONIC_FORTIFY_INLINE -char* strcat(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src) { - return __builtin___strcat_chk(dst, src, __bos(dst)); -} - -__BIONIC_FORTIFY_INLINE -char *strncat(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src, size_t n) { - return __builtin___strncat_chk(dst, src, n, __bos(dst)); -} - -__BIONIC_FORTIFY_INLINE -void* memset(void* _Nonnull s, int c, size_t n) { - return __builtin___memset_chk(s, c, n, __bos0(s)); -} - -__BIONIC_FORTIFY_INLINE -size_t strlcpy(char* _Nonnull __restrict dst, const char* _Nonnull __restrict src, size_t size) { - size_t bos = __bos(dst); - -#if !defined(__clang__) - // 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); - } -#endif /* !defined(__clang__) */ - - 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); - -#if !defined(__clang__) - // 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); - } -#endif /* !defined(__clang__) */ - - return __strlcat_chk(dst, src, size, bos); -} - -__BIONIC_FORTIFY_INLINE -size_t strlen(const char* _Nonnull s) { - size_t bos = __bos(s); - -#if !defined(__clang__) - // 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; - } -#endif /* !defined(__clang__) */ - - return __strlen_chk(s, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR1__ */ - -#if __ANDROID_API__ >= __ANDROID_API_J_MR2__ -__BIONIC_FORTIFY_INLINE -char* strchr(const char* _Nonnull s, int c) { - size_t bos = __bos(s); - -#if !defined(__clang__) - // 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); - } -#endif /* !defined(__clang__) */ - - return __strchr_chk(s, c, bos); -} - -__BIONIC_FORTIFY_INLINE -char* strrchr(const char* _Nonnull s, int c) { - size_t bos = __bos(s); - -#if !defined(__clang__) - // 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); - } -#endif /* !defined(__clang__) */ - - return __strrchr_chk(s, c, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */ - -#endif /* defined(__BIONIC_FORTIFY) */ - -#if defined(__clang__) -#pragma clang diagnostic pop -#endif - -__END_DECLS - -#endif /* _STRING_H */ diff --git a/headers/strings.h b/headers/strings.h deleted file mode 100644 index 47070e51d..000000000 --- a/headers/strings.h +++ /dev/null @@ -1,65 +0,0 @@ -/* $NetBSD: strings.h,v 1.10 2005/02/03 04:39:32 perry Exp $ */ - -/*- - * Copyright (c) 1998 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Klaus Klein. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _STRINGS_H_ -#define _STRINGS_H_ - -#include <sys/types.h> -#include <sys/cdefs.h> -#include <xlocale.h> - -#include <bits/strcasecmp.h> - -__BEGIN_DECLS -#if defined(__BIONIC_FORTIFY) -#define bcopy(b1, b2, len) (void)(__builtin___memmove_chk((b2), (b1), (len), __bos0(b2))) -#define bzero(b, len) (void)(__builtin___memset_chk((b), '\0', (len), __bos0(b))) -#else -#define bcopy(b1, b2, len) (void)(__builtin_memmove((b2), (b1), (len))) -#define bzero(b, len) (void)(__builtin_memset((b), '\0', (len))) -#endif - - -#if (defined(__LP64__)) || (defined(__mips__)) || (defined(__arm__)) || (defined(__i386__) && __ANDROID_API__ >= 18) -int ffs(int) __INTRODUCED_IN_X86(18); -#endif /* (defined(__LP64__)) || (defined(__mips__)) || (defined(__arm__)) || (defined(__i386__) && __ANDROID_API__ >= 18) */ - - -__END_DECLS - -#endif /* !defined(_STRINGS_H_) */ diff --git a/headers/sys/_system_properties.h b/headers/sys/_system_properties.h deleted file mode 100644 index ffa6d2e73..000000000 --- a/headers/sys/_system_properties.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - * 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 _INCLUDE_SYS__SYSTEM_PROPERTIES_H -#define _INCLUDE_SYS__SYSTEM_PROPERTIES_H - -#include <sys/cdefs.h> - -#ifndef _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ -#error you should #include <sys/system_properties.h> instead -#endif - -#include <sys/system_properties.h> - -__BEGIN_DECLS - -#define PROP_SERVICE_NAME "property_service" -#define PROP_FILENAME "/dev/__properties__" - -#define PROP_MSG_SETPROP 1 -#define PROP_MSG_SETPROP2 0x00020001 - -#define PROP_SUCCESS 0 -#define PROP_ERROR_READ_CMD 0x0004 -#define PROP_ERROR_READ_DATA 0x0008 -#define PROP_ERROR_READ_ONLY_PROPERTY 0x000B -#define PROP_ERROR_INVALID_NAME 0x0010 -#define PROP_ERROR_INVALID_VALUE 0x0014 -#define PROP_ERROR_PERMISSION_DENIED 0x0018 -#define PROP_ERROR_INVALID_CMD 0x001B -#define PROP_ERROR_HANDLE_CONTROL_MESSAGE 0x0020 -#define PROP_ERROR_SET_FAILED 0x0024 - -/* -** Map the property area from the specified filename. This -** method is for testing only. -*/ -int __system_property_set_filename(const char *filename); - -/* -** Initialize the area to be used to store properties. Can -** only be done by a single process that has write access to -** the property area. -*/ -int __system_property_area_init(); - -/* Read the global serial number of the system properties -** -** Called to predict if a series of cached __system_property_find -** objects will have seen __system_property_serial values change. -** But also aids the converse, as changes in the global serial can -** also be used to predict if a failed __system_property_find -** could in-turn now find a new object; thus preventing the -** cycles of effort to poll __system_property_find. -** -** Typically called at beginning of a cache cycle to signal if _any_ possible -** changes have occurred since last. If there is, one may check each individual -** __system_property_serial to confirm dirty, or __system_property_find -** to check if the property now exists. If a call to __system_property_add -** or __system_property_update has completed between two calls to -** __system_property_area_serial then the second call will return a larger -** value than the first call. Beware of race conditions as changes to the -** properties are not atomic, the main value of this call is to determine -** whether the expensive __system_property_find is worth retrying to see if -** a property now exists. -** -** Returns the serial number on success, -1 on error. -*/ -unsigned int __system_property_area_serial(); - -/* Add a new system property. Can only be done by a single -** process that has write access to the property area, and -** that process must handle sequencing to ensure the property -** does not already exist and that only one property is added -** or updated at a time. -** -** Returns 0 on success, -1 if the property area is full. -*/ -int __system_property_add(const char *name, unsigned int namelen, const char *value, unsigned int valuelen); - -/* Update the value of a system property returned by -** __system_property_find. Can only be done by a single process -** that has write access to the property area, and that process -** must handle sequencing to ensure that only one property is -** updated at a time. -** -** Returns 0 on success, -1 if the parameters are incorrect. -*/ -int __system_property_update(prop_info *pi, const char *value, unsigned int len); - -/* Read the serial number of a system property returned by -** __system_property_find. -** -** Returns the serial number on success, -1 on error. -*/ -unsigned int __system_property_serial(const prop_info *pi); - -/* Wait for any system property to be updated. Caller must pass -** in 0 the first time, and the previous return value on each -** successive call. */ -unsigned int __system_property_wait_any(unsigned int serial); - -/* Initialize the system properties area in read only mode. - * Should be done by all processes that need to read system - * properties. - * - * Returns 0 on success, -1 otherwise. - */ -int __system_properties_init(); - -__END_DECLS - -#endif diff --git a/headers/sys/auxv.h b/headers/sys/auxv.h deleted file mode 100644 index 0d2ea9033..000000000 --- a/headers/sys/auxv.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2013 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_AUXV_H_ -#define _SYS_AUXV_H_ - -#include <linux/auxvec.h> -#include <sys/cdefs.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 18 -unsigned long int getauxval(unsigned long int type) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - - -__END_DECLS - -#endif /* _SYS_AUXV_H_ */ diff --git a/headers/sys/cachectl.h b/headers/sys/cachectl.h deleted file mode 100644 index 5b20c1918..000000000 --- a/headers/sys/cachectl.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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_CACHECTL_H -#define _SYS_CACHECTL_H 1 - -#include <sys/cdefs.h> -#ifdef __mips__ -#include <asm/cachectl.h> -#endif - -#endif /* sys/cachectl.h */ diff --git a/headers/sys/capability.h b/headers/sys/capability.h deleted file mode 100644 index b9a40b3b4..000000000 --- a/headers/sys/capability.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2013 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 _BIONIC_SYS_CAPABILITY_H -#define _BIONIC_SYS_CAPABILITY_H - -#include <sys/cdefs.h> -#include <linux/capability.h> - -__BEGIN_DECLS - -int capget(cap_user_header_t hdrp, cap_user_data_t datap); -int capset(cap_user_header_t hdrp, const cap_user_data_t datap); - -__END_DECLS - -#endif /* _BIONIC_SYS_CAPABILITY_H */ diff --git a/headers/sys/cdefs.h b/headers/sys/cdefs.h deleted file mode 100644 index 63e782efd..000000000 --- a/headers/sys/cdefs.h +++ /dev/null @@ -1,307 +0,0 @@ -/* $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 -#ifndef __has_feature -#define __has_feature(x) 0 -#endif -#ifndef __has_include -#define __has_include(x) 0 -#endif -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif - -#define __strong_alias(alias, sym) \ - __asm__(".global " #alias "\n" \ - #alias " = " #sym); - -#if defined(__cplusplus) -#define __BEGIN_DECLS extern "C" { -#define __END_DECLS } -#else -#define __BEGIN_DECLS -#define __END_DECLS -#endif - -#if defined(__cplusplus) -#define __BIONIC_CAST(_k,_t,_v) (_k<_t>(_v)) -#else -#define __BIONIC_CAST(_k,_t,_v) ((_t) (_v)) -#endif - -/* - * 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 */ - -#else /* !(__STDC__ || __cplusplus) */ -#define __P(protos) () /* traditional C preprocessor */ -#define __CONCAT(x,y) x/**/y -#define __STRING(x) "x" - -#endif /* !(__STDC__ || __cplusplus) */ - -#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 - -#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))) -#else -#define __errorattr(msg) __attribute__((__error__(msg))) -#endif - -#define __errordecl(name, msg) extern void name(void) __errorattr(msg) - -/* - * 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 - -#if defined(_BSD_SOURCE) -# define __USE_BSD 1 -#endif - -/* _FILE_OFFSET_BITS 64 support. */ -#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS) -#if _FILE_OFFSET_BITS == 64 -#define __USE_FILE_OFFSET64 1 -#endif -#endif - -#define __BIONIC__ 1 -#include <android/api-level.h> - -/* glibc compatibility. */ -#if defined(__LP64__) -#define __WORDSIZE 64 -#else -#define __WORDSIZE 32 -#endif - -/* - * 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. - */ -#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 -# define __BIONIC_FORTIFY 1 -# if _FORTIFY_SOURCE == 2 -# define __bos(s) __builtin_object_size((s), 1) -# else -# define __bos(s) __builtin_object_size((s), 0) -# endif -# define __bos0(s) __builtin_object_size((s), 0) -# if defined(__clang__) -# define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) -# else -# define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__)) -# endif -#endif -#define __BIONIC_FORTIFY_UNKNOWN_SIZE __BIONIC_CAST(static_cast, size_t, -1) - -/* 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 -#define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("default"))) -#endif - -/* 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) - -#include <android/versioning.h> - -#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 -#define __size_mul_overflow(a, b, result) __builtin_umul_overflow(a, b, result) -#endif -#else -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 - -/* - * TODO(danalbert): Remove this once we've moved entirely off prebuilts/ndk. - * - * The NDK used to have a __NDK_FPABI__ that was defined to empty for most cases - * but `__attribute__((pcs("aapcs")))` for the now defunct armeabi-v7a-hard ABI. - * - * During the transition from prebuilts/ndk to ndk_headers, we'll have some - * headers that still use __NDK_FPABI__ while the libc headers have stopped - * defining it. In the interim, just provide an empty definition to keep the - * build working. - */ -#define __NDK_FPABI__ - -#endif /* !_SYS_CDEFS_H_ */ diff --git a/headers/sys/endian.h b/headers/sys/endian.h deleted file mode 100644 index e8b7022c7..000000000 --- a/headers/sys/endian.h +++ /dev/null @@ -1,110 +0,0 @@ -/*- - * Copyright (c) 1997 Niklas Hallqvist. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _SYS_ENDIAN_H_ -#define _SYS_ENDIAN_H_ - -#include <sys/cdefs.h> - -#include <stdint.h> - -#define _LITTLE_ENDIAN 1234 -#define _BIG_ENDIAN 4321 -#define _PDP_ENDIAN 3412 -#define _BYTE_ORDER _LITTLE_ENDIAN -#define __LITTLE_ENDIAN_BITFIELD - -#ifndef __LITTLE_ENDIAN -#define __LITTLE_ENDIAN _LITTLE_ENDIAN -#endif -#ifndef __BIG_ENDIAN -#define __BIG_ENDIAN _BIG_ENDIAN -#endif -#define __BYTE_ORDER _BYTE_ORDER - -#define __swap16 __builtin_bswap16 -#define __swap32 __builtin_bswap32 -#define __swap64 __builtin_bswap64 - -/* glibc compatibility. */ -__BEGIN_DECLS - -#if __ANDROID_API__ >= 21 -uint32_t htonl(uint32_t) __attribute_const__ __INTRODUCED_IN(21); -uint16_t htons(uint16_t) __attribute_const__ __INTRODUCED_IN(21); -uint32_t ntohl(uint32_t) __attribute_const__ __INTRODUCED_IN(21); -uint16_t ntohs(uint16_t) __attribute_const__ __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__END_DECLS - -#define htonl(x) __swap32(x) -#define htons(x) __swap16(x) -#define ntohl(x) __swap32(x) -#define ntohs(x) __swap16(x) - -/* Bionic additions */ -#define htonq(x) __swap64(x) -#define ntohq(x) __swap64(x) - -#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */ -#define LITTLE_ENDIAN _LITTLE_ENDIAN -#define BIG_ENDIAN _BIG_ENDIAN -#define PDP_ENDIAN _PDP_ENDIAN -#define BYTE_ORDER _BYTE_ORDER - -#define NTOHL(x) (x) = ntohl((u_int32_t)(x)) -#define NTOHS(x) (x) = ntohs((u_int16_t)(x)) -#define HTONL(x) (x) = htonl((u_int32_t)(x)) -#define HTONS(x) (x) = htons((u_int16_t)(x)) - -#define htobe16 __swap16 -#define htobe32 __swap32 -#define htobe64 __swap64 -#define betoh16 __swap16 -#define betoh32 __swap32 -#define betoh64 __swap64 - -#define htole16(x) (x) -#define htole32(x) (x) -#define htole64(x) (x) -#define letoh16(x) (x) -#define letoh32(x) (x) -#define letoh64(x) (x) - -/* - * glibc-compatible beXXtoh/leXXtoh synonyms for htobeXX/htoleXX. - * The BSDs export both sets of names, bionic historically only - * exported the ones above (or on the rhs here), and glibc only - * exports these names (on the lhs). - */ -#define be16toh(x) htobe16(x) -#define be32toh(x) htobe32(x) -#define be64toh(x) htobe64(x) -#define le16toh(x) htole16(x) -#define le32toh(x) htole32(x) -#define le64toh(x) htole64(x) -#endif /* __USE_BSD */ - -#endif /* _SYS_ENDIAN_H_ */ diff --git a/headers/sys/epoll.h b/headers/sys/epoll.h deleted file mode 100644 index a11d286cb..000000000 --- a/headers/sys/epoll.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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_EPOLL_H_ -#define _SYS_EPOLL_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <fcntl.h> /* For O_CLOEXEC. */ -#include <signal.h> /* For sigset_t. */ - -__BEGIN_DECLS - -#define EPOLLIN 0x00000001 -#define EPOLLPRI 0x00000002 -#define EPOLLOUT 0x00000004 -#define EPOLLERR 0x00000008 -#define EPOLLHUP 0x00000010 -#define EPOLLRDNORM 0x00000040 -#define EPOLLRDBAND 0x00000080 -#define EPOLLWRNORM 0x00000100 -#define EPOLLWRBAND 0x00000200 -#define EPOLLMSG 0x00000400 -#define EPOLLRDHUP 0x00002000 -#define EPOLLWAKEUP 0x20000000 -#define EPOLLONESHOT 0x40000000 -#define EPOLLET 0x80000000 - -#define EPOLL_CTL_ADD 1 -#define EPOLL_CTL_DEL 2 -#define EPOLL_CTL_MOD 3 - -#define EPOLL_CLOEXEC O_CLOEXEC - -typedef union epoll_data { - void* ptr; - int fd; - uint32_t u32; - uint64_t u64; -} epoll_data_t; - -struct epoll_event { - uint32_t events; - epoll_data_t data; -} -#ifdef __x86_64__ -__packed -#endif -; - -int epoll_create(int); - -#if __ANDROID_API__ >= 21 -int epoll_create1(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int epoll_ctl(int, int, int, struct epoll_event*); -int epoll_wait(int, struct epoll_event*, int, int); - -#if __ANDROID_API__ >= 21 -int epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_EPOLL_H_ */ diff --git a/headers/sys/errno.h b/headers/sys/errno.h deleted file mode 100644 index 339f4fc10..000000000 --- a/headers/sys/errno.h +++ /dev/null @@ -1 +0,0 @@ -#include <errno.h> diff --git a/headers/sys/eventfd.h b/headers/sys/eventfd.h deleted file mode 100644 index 6b9749a11..000000000 --- a/headers/sys/eventfd.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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_EVENTFD_H -#define _SYS_EVENTFD_H - -#include <sys/cdefs.h> -#include <fcntl.h> - -__BEGIN_DECLS - -#define EFD_CLOEXEC O_CLOEXEC -#define EFD_NONBLOCK O_NONBLOCK - -/* type of event counter */ -typedef uint64_t eventfd_t; - -int eventfd(unsigned int initial_value, int flags); - -int eventfd_read(int fd, eventfd_t* value); -int eventfd_write(int fd, eventfd_t value); - -__END_DECLS - -#endif /* _SYS_EVENTFD_H */ diff --git a/headers/sys/fcntl.h b/headers/sys/fcntl.h deleted file mode 100644 index cd304557e..000000000 --- a/headers/sys/fcntl.h +++ /dev/null @@ -1 +0,0 @@ -#include <fcntl.h> diff --git a/headers/sys/file.h b/headers/sys/file.h deleted file mode 100644 index f414d34aa..000000000 --- a/headers/sys/file.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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_FILE_H_ -#define _SYS_FILE_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <fcntl.h> - -__BEGIN_DECLS - -int flock(int, int); - -__END_DECLS - -#endif /* _SYS_FILE_H_ */ diff --git a/headers/sys/fsuid.h b/headers/sys/fsuid.h deleted file mode 100644 index 1e6cf6cc4..000000000 --- a/headers/sys/fsuid.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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_FSUID_H_ -#define _SYS_FSUID_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 21 -int setfsuid(uid_t) __INTRODUCED_IN(21); -int setfsgid(gid_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_FSUID_H_ */ diff --git a/headers/sys/inotify.h b/headers/sys/inotify.h deleted file mode 100644 index 4a1e2691a..000000000 --- a/headers/sys/inotify.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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_INOTIFY_H_ -#define _SYS_INOTIFY_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <stdint.h> -#include <linux/inotify.h> -#include <asm/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */ - -__BEGIN_DECLS - -#define IN_CLOEXEC O_CLOEXEC -#define IN_NONBLOCK O_NONBLOCK - -int inotify_init(void); - -#if __ANDROID_API__ >= 21 -int inotify_init1(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int inotify_add_watch(int, const char*, uint32_t); -int inotify_rm_watch(int, uint32_t); - -__END_DECLS - -#endif /* _SYS_INOTIFY_H_ */ diff --git a/headers/sys/ioctl.h b/headers/sys/ioctl.h deleted file mode 100644 index efbcb0c5a..000000000 --- a/headers/sys/ioctl.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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_IOCTL_H_ -#define _SYS_IOCTL_H_ - -#include <sys/cdefs.h> -#include <linux/ioctl.h> -/* - * NetBSD and glibc's <sys/ioctl.h> provide some of the - * terminal-related ioctl data structures such as struct winsize. - */ -#include <linux/termios.h> -#include <asm/ioctls.h> -#include <asm/termbits.h> -#include <linux/tty.h> - -#include <bits/ioctl.h> - -#endif /* _SYS_IOCTL_H_ */ diff --git a/headers/sys/ipc.h b/headers/sys/ipc.h deleted file mode 100644 index 3d6c45f60..000000000 --- a/headers/sys/ipc.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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_IPC_H -#define _SYS_IPC_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/ipc.h> - -#if defined(__USE_GNU) -#define __key key -#define __seq seq -#endif - -#define ipc_perm ipc64_perm - -__BEGIN_DECLS - -key_t ftok(const char* path, int id); - -__END_DECLS - -#endif /* _SYS_IPC_H */ diff --git a/headers/sys/klog.h b/headers/sys/klog.h deleted file mode 100644 index 47eb3a4cf..000000000 --- a/headers/sys/klog.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * 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_KLOG_H_ -#define _SYS_KLOG_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -/* These correspond to the kernel's SYSLOG_ACTION_whatever constants. */ -#define KLOG_CLOSE 0 -#define KLOG_OPEN 1 -#define KLOG_READ 2 -#define KLOG_READ_ALL 3 -#define KLOG_READ_CLEAR 4 -#define KLOG_CLEAR 5 -#define KLOG_CONSOLE_OFF 6 -#define KLOG_CONSOLE_ON 7 -#define KLOG_CONSOLE_LEVEL 8 -#define KLOG_SIZE_UNREAD 9 -#define KLOG_SIZE_BUFFER 10 - -int klogctl(int, char *, int); - -__END_DECLS - -#endif /* _SYS_KLOG_H_ */ diff --git a/headers/sys/limits.h b/headers/sys/limits.h deleted file mode 100644 index 1e189a16e..000000000 --- a/headers/sys/limits.h +++ /dev/null @@ -1 +0,0 @@ -#include <limits.h> diff --git a/headers/sys/mman.h b/headers/sys/mman.h deleted file mode 100644 index 36aff7a13..000000000 --- a/headers/sys/mman.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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_MMAN_H_ -#define _SYS_MMAN_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <asm/mman.h> - -__BEGIN_DECLS - -#ifndef MAP_ANON -#define MAP_ANON MAP_ANONYMOUS -#endif - -#define MAP_FAILED __BIONIC_CAST(reinterpret_cast, void*, -1) - -#define MREMAP_MAYMOVE 1 -#define MREMAP_FIXED 2 - -#define POSIX_MADV_NORMAL MADV_NORMAL -#define POSIX_MADV_RANDOM MADV_RANDOM -#define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL -#define POSIX_MADV_WILLNEED MADV_WILLNEED -#define POSIX_MADV_DONTNEED MADV_DONTNEED - -#if defined(__USE_FILE_OFFSET64) - -#if __ANDROID_API__ >= 21 -void* mmap(void*, size_t, int, int, int, off_t) __RENAME(mmap64) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -#else -void* mmap(void*, size_t, int, int, int, off_t); -#endif - -#if __ANDROID_API__ >= 21 -void* mmap64(void*, size_t, int, int, int, off64_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int munmap(void*, size_t); -int msync(void*, size_t, int); -int mprotect(void*, size_t, int); -void* mremap(void*, size_t, size_t, int, ...); - - -#if __ANDROID_API__ >= 17 -int mlockall(int) __INTRODUCED_IN(17); -int munlockall(void) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -int mlock(const void*, size_t); -int munlock(const void*, size_t); - -int mincore(void*, size_t, unsigned char*); - -int madvise(void*, size_t, int); - -#if __ANDROID_API__ >= 23 -int posix_madvise(void*, size_t, int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _SYS_MMAN_H_ */ diff --git a/headers/sys/mount.h b/headers/sys/mount.h deleted file mode 100644 index 26c0e0f5b..000000000 --- a/headers/sys/mount.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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_MOUNT_H -#define _SYS_MOUNT_H - -#include <sys/cdefs.h> -#include <sys/ioctl.h> -#include <linux/fs.h> - -__BEGIN_DECLS - -/* umount2 flags. */ -#define MNT_FORCE 1 -#define MNT_DETACH 2 -#define MNT_EXPIRE 4 -#define UMOUNT_NOFOLLOW 8 - -int mount(const char*, const char*, const char*, unsigned long, const void*); -int umount(const char*); -int umount2(const char*, int); - -__END_DECLS - -#endif /* _SYS_MOUNT_H */ diff --git a/headers/sys/msg.h b/headers/sys/msg.h deleted file mode 100644 index 341c0b0f2..000000000 --- a/headers/sys/msg.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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 _SYS_MSG_H_ -#define _SYS_MSG_H_ - -#include <sys/cdefs.h> -#include <sys/ipc.h> - -#include <linux/msg.h> - -#define msqid_ds msqid64_ds - -__BEGIN_DECLS - -typedef __kernel_ulong_t msgqnum_t; -typedef __kernel_ulong_t msglen_t; - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN_FUTURE; -int msgget(key_t, int) __INTRODUCED_IN_FUTURE; -ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN_FUTURE; -int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif /* _SYS_MSG_H_ */ diff --git a/headers/sys/param.h b/headers/sys/param.h deleted file mode 100644 index d3686e096..000000000 --- a/headers/sys/param.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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_PARAM_H_ -#define _SYS_PARAM_H_ - -#include <limits.h> -#include <linux/param.h> -#include <sys/cdefs.h> - -#define DEV_BSIZE 512 - -#define MAXPATHLEN PATH_MAX -#define MAXSYMLINKS 8 - -/* Macros for counting and rounding. */ -#ifndef howmany -#define howmany(x, y) (((x)+((y)-1))/(y)) -#endif -#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#define powerof2(x) ((((x)-1)&(x))==0) - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -#endif /* _SYS_PARAM_H_ */ diff --git a/headers/sys/personality.h b/headers/sys/personality.h deleted file mode 100644 index 84520866d..000000000 --- a/headers/sys/personality.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2012 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_PERSONALITY_H_ -#define _SYS_PERSONALITY_H_ - -#include <sys/cdefs.h> -#include <linux/personality.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 15 -int personality(unsigned int persona) __INTRODUCED_IN(15); -#endif /* __ANDROID_API__ >= 15 */ - - -__END_DECLS - -#endif /* _SYS_PERSONALITY_H_ */ diff --git a/headers/sys/poll.h b/headers/sys/poll.h deleted file mode 100644 index 779ec774f..000000000 --- a/headers/sys/poll.h +++ /dev/null @@ -1 +0,0 @@ -#include <poll.h> diff --git a/headers/sys/prctl.h b/headers/sys/prctl.h deleted file mode 100644 index 742ed57af..000000000 --- a/headers/sys/prctl.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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_PRCTL_H -#define _SYS_PRCTL_H - -#include <sys/cdefs.h> - -#include <linux/prctl.h> - -__BEGIN_DECLS - -int prctl(int option, ...); - -__END_DECLS - -#endif /* _SYS_PRCTL_H */ diff --git a/headers/sys/procfs.h b/headers/sys/procfs.h deleted file mode 100644 index 7ef5023ab..000000000 --- a/headers/sys/procfs.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 _SYS_PROCFS_H_ -#define _SYS_PROCFS_H_ - -#include <sys/cdefs.h> -#include <sys/ucontext.h> - -__BEGIN_DECLS - -typedef unsigned long elf_greg_t; -typedef elf_greg_t elf_gregset_t[NGREG]; - -typedef fpregset_t elf_fpregset_t; - -#if defined(__i386__) -typedef struct user_fpxregs_struct elf_fpxregset_t; -#endif - -typedef elf_gregset_t prgregset_t; -typedef elf_fpregset_t prfpregset_t; - -typedef pid_t lwpid_t; -typedef void* psaddr_t; - -__END_DECLS - -#endif /* _SYS_PROCFS_H_ */ diff --git a/headers/sys/ptrace.h b/headers/sys/ptrace.h deleted file mode 100644 index 4b881e743..000000000 --- a/headers/sys/ptrace.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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_PTRACE_H_ -#define _SYS_PTRACE_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/ptrace.h> - -__BEGIN_DECLS - -/* glibc uses different PTRACE_ names from the kernel for these two... */ -#define PTRACE_POKEUSER PTRACE_POKEUSR -#define PTRACE_PEEKUSER PTRACE_PEEKUSR - -/* glibc exports a different set of PT_ names too... */ -#define PT_TRACE_ME PTRACE_TRACEME -#define PT_READ_I PTRACE_PEEKTEXT -#define PT_READ_D PTRACE_PEEKDATA -#define PT_READ_U PTRACE_PEEKUSR -#define PT_WRITE_I PTRACE_POKETEXT -#define PT_WRITE_D PTRACE_POKEDATA -#define PT_WRITE_U PTRACE_POKEUSR -#define PT_CONT PTRACE_CONT -#define PT_KILL PTRACE_KILL -#define PT_STEP PTRACE_SINGLESTEP -#define PT_GETFPREGS PTRACE_GETFPREGS -#define PT_ATTACH PTRACE_ATTACH -#define PT_DETACH PTRACE_DETACH -#define PT_SYSCALL PTRACE_SYSCALL -#define PT_SETOPTIONS PTRACE_SETOPTIONS -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG -#define PT_GETSIGINFO PTRACE_GETSIGINFO -#define PT_SETSIGINFO PTRACE_SETSIGINFO - -long ptrace(int, ...); - -__END_DECLS - -#endif /* _SYS_PTRACE_H_ */ diff --git a/headers/sys/queue.h b/headers/sys/queue.h deleted file mode 100644 index 089083850..000000000 --- a/headers/sys/queue.h +++ /dev/null @@ -1,559 +0,0 @@ -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)queue.h 8.5 (Berkeley) 8/20/94 - */ - -#ifndef _SYS_QUEUE_H_ -#define _SYS_QUEUE_H_ - -#include <sys/cdefs.h> - -/* - * This file defines five types of data structures: singly-linked lists, - * lists, simple queues, tail queues, and circular queues. - * - * A singly-linked list is headed by a single forward pointer. The - * elements are singly linked for minimum space and pointer manipulation - * overhead at the expense of O(n) removal for arbitrary elements. New - * elements can be added to the list after an existing element or at the - * head of the list. Elements being removed from the head of the list - * should use the explicit macro for this purpose for optimum - * efficiency. A singly-linked list may only be traversed in the forward - * direction. Singly-linked lists are ideal for applications with large - * datasets and few or no removals or for implementing a LIFO queue. - * - * A list is headed by a single forward pointer (or an array of forward - * pointers for a hash table header). The elements are doubly linked - * so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before - * or after an existing element or at the head of the list. A list - * may only be traversed in the forward direction. - * - * A simple queue is headed by a pair of pointers, one the head of the - * list and the other to the tail of the list. The elements are singly - * linked to save space, so elements can only be removed from the - * head of the list. New elements can be added to the list after - * an existing element, at the head of the list, or at the end of the - * list. A simple queue may only be traversed in the forward direction. - * - * A tail queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or - * after an existing element, at the head of the list, or at the end of - * the list. A tail queue may be traversed in either direction. - * - * A circle queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or after - * an existing element, at the head of the list, or at the end of the list. - * A circle queue may be traversed in either direction, but has a more - * complex end of list detection. - * - * For details on the use of these macros, see the queue(3) manual page. - */ - -/* - * List definitions. - */ -#define LIST_HEAD(name, type) \ -struct name { \ - struct type *lh_first; /* first element */ \ -} - -#define LIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define LIST_ENTRY(type) \ -struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ -} - -/* - * List functions. - */ -#define LIST_INIT(head) do { \ - (head)->lh_first = NULL; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_AFTER(listelm, elm, field) do { \ - if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ - (listelm)->field.le_next->field.le_prev = \ - &(elm)->field.le_next; \ - (listelm)->field.le_next = (elm); \ - (elm)->field.le_prev = &(listelm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.le_prev = (listelm)->field.le_prev; \ - (elm)->field.le_next = (listelm); \ - *(listelm)->field.le_prev = (elm); \ - (listelm)->field.le_prev = &(elm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.le_next = (head)->lh_first) != NULL) \ - (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ - (head)->lh_first = (elm); \ - (elm)->field.le_prev = &(head)->lh_first; \ -} while (/*CONSTCOND*/0) - -#define LIST_REMOVE(elm, field) do { \ - if ((elm)->field.le_next != NULL) \ - (elm)->field.le_next->field.le_prev = \ - (elm)->field.le_prev; \ - *(elm)->field.le_prev = (elm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_FOREACH(var, head, field) \ - for ((var) = ((head)->lh_first); \ - (var); \ - (var) = ((var)->field.le_next)) - -/* - * List access methods. - */ -#define LIST_EMPTY(head) ((head)->lh_first == NULL) -#define LIST_FIRST(head) ((head)->lh_first) -#define LIST_NEXT(elm, field) ((elm)->field.le_next) - - -/* - * Singly-linked List definitions. - */ -#define SLIST_HEAD(name, type) \ -struct name { \ - struct type *slh_first; /* first element */ \ -} - -#define SLIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define SLIST_ENTRY(type) \ -struct { \ - struct type *sle_next; /* next element */ \ -} - -/* - * Singly-linked List functions. - */ -#define SLIST_INIT(head) do { \ - (head)->slh_first = NULL; \ -} while (/*CONSTCOND*/0) - -#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ - (elm)->field.sle_next = (slistelm)->field.sle_next; \ - (slistelm)->field.sle_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define SLIST_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.sle_next = (head)->slh_first; \ - (head)->slh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define SLIST_REMOVE_HEAD(head, field) do { \ - (head)->slh_first = (head)->slh_first->field.sle_next; \ -} while (/*CONSTCOND*/0) - -#define SLIST_REMOVE(head, elm, type, field) do { \ - if ((head)->slh_first == (elm)) { \ - SLIST_REMOVE_HEAD((head), field); \ - } \ - else { \ - struct type *curelm = (head)->slh_first; \ - while(curelm->field.sle_next != (elm)) \ - curelm = curelm->field.sle_next; \ - curelm->field.sle_next = \ - curelm->field.sle_next->field.sle_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -/* - * Singly-linked List access methods. - */ -#define SLIST_EMPTY(head) ((head)->slh_first == NULL) -#define SLIST_FIRST(head) ((head)->slh_first) -#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) - - -/* - * Singly-linked Tail queue declarations. - */ -#define STAILQ_HEAD(name, type) \ -struct name { \ - struct type *stqh_first; /* first element */ \ - struct type **stqh_last; /* addr of last next element */ \ -} - -#define STAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).stqh_first } - -#define STAILQ_ENTRY(type) \ -struct { \ - struct type *stqe_next; /* next element */ \ -} - -/* - * Singly-linked Tail queue functions. - */ -#define STAILQ_INIT(head) do { \ - (head)->stqh_first = NULL; \ - (head)->stqh_last = &(head)->stqh_first; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \ - (head)->stqh_last = &(elm)->field.stqe_next; \ - (head)->stqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.stqe_next = NULL; \ - *(head)->stqh_last = (elm); \ - (head)->stqh_last = &(elm)->field.stqe_next; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ - (listelm)->field.stqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define STAILQ_REMOVE_HEAD(head, field) do { \ - if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \ - (head)->stqh_last = &(head)->stqh_first; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_REMOVE(head, elm, type, field) do { \ - if ((head)->stqh_first == (elm)) { \ - STAILQ_REMOVE_HEAD((head), field); \ - } else { \ - struct type *curelm = (head)->stqh_first; \ - while (curelm->field.stqe_next != (elm)) \ - curelm = curelm->field.stqe_next; \ - if ((curelm->field.stqe_next = \ - curelm->field.stqe_next->field.stqe_next) == NULL) \ - (head)->stqh_last = &(curelm)->field.stqe_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define STAILQ_FOREACH(var, head, field) \ - for ((var) = ((head)->stqh_first); \ - (var); \ - (var) = ((var)->field.stqe_next)) - -/* - * Singly-linked Tail queue access methods. - */ -#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) -#define STAILQ_FIRST(head) ((head)->stqh_first) -#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) - - -/* - * Simple queue definitions. - */ -#define SIMPLEQ_HEAD(name, type) \ -struct name { \ - struct type *sqh_first; /* first element */ \ - struct type **sqh_last; /* addr of last next element */ \ -} - -#define SIMPLEQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).sqh_first } - -#define SIMPLEQ_ENTRY(type) \ -struct { \ - struct type *sqe_next; /* next element */ \ -} - -/* - * Simple queue functions. - */ -#define SIMPLEQ_INIT(head) do { \ - (head)->sqh_first = NULL; \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (head)->sqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.sqe_next = NULL; \ - *(head)->sqh_last = (elm); \ - (head)->sqh_last = &(elm)->field.sqe_next; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (listelm)->field.sqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ - if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_REMOVE(head, elm, type, field) do { \ - if ((head)->sqh_first == (elm)) { \ - SIMPLEQ_REMOVE_HEAD((head), field); \ - } else { \ - struct type *curelm = (head)->sqh_first; \ - while (curelm->field.sqe_next != (elm)) \ - curelm = curelm->field.sqe_next; \ - if ((curelm->field.sqe_next = \ - curelm->field.sqe_next->field.sqe_next) == NULL) \ - (head)->sqh_last = &(curelm)->field.sqe_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_FOREACH(var, head, field) \ - for ((var) = ((head)->sqh_first); \ - (var); \ - (var) = ((var)->field.sqe_next)) - -/* - * Simple queue access methods. - */ -#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL) -#define SIMPLEQ_FIRST(head) ((head)->sqh_first) -#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) - - -/* - * Tail queue definitions. - */ -#define _TAILQ_HEAD(name, type, qual) \ -struct name { \ - qual type *tqh_first; /* first element */ \ - qual type *qual *tqh_last; /* addr of last next element */ \ -} -#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) - -#define TAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).tqh_first } - -#define _TAILQ_ENTRY(type, qual) \ -struct { \ - qual type *tqe_next; /* next element */ \ - qual type *qual *tqe_prev; /* address of previous next element */\ -} -#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) - -/* - * Tail queue functions. - */ -#define TAILQ_INIT(head) do { \ - (head)->tqh_first = NULL; \ - (head)->tqh_last = &(head)->tqh_first; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ - (head)->tqh_first->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (head)->tqh_first = (elm); \ - (elm)->field.tqe_prev = &(head)->tqh_first; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.tqe_next = NULL; \ - (elm)->field.tqe_prev = (head)->tqh_last; \ - *(head)->tqh_last = (elm); \ - (head)->tqh_last = &(elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ - (elm)->field.tqe_next->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (listelm)->field.tqe_next = (elm); \ - (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ - (elm)->field.tqe_next = (listelm); \ - *(listelm)->field.tqe_prev = (elm); \ - (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_REMOVE(head, elm, field) do { \ - if (((elm)->field.tqe_next) != NULL) \ - (elm)->field.tqe_next->field.tqe_prev = \ - (elm)->field.tqe_prev; \ - else \ - (head)->tqh_last = (elm)->field.tqe_prev; \ - *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_FOREACH(var, head, field) \ - for ((var) = ((head)->tqh_first); \ - (var); \ - (var) = ((var)->field.tqe_next)) - -#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -/* - * Tail queue access methods. - */ -#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) -#define TAILQ_FIRST(head) ((head)->tqh_first) -#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) - -#define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) -#define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) - - -/* - * Circular queue definitions. - */ -#define CIRCLEQ_HEAD(name, type) \ -struct name { \ - struct type *cqh_first; /* first element */ \ - struct type *cqh_last; /* last element */ \ -} - -#define CIRCLEQ_HEAD_INITIALIZER(head) \ - { (void *)&head, (void *)&head } - -#define CIRCLEQ_ENTRY(type) \ -struct { \ - struct type *cqe_next; /* next element */ \ - struct type *cqe_prev; /* previous element */ \ -} - -/* - * Circular queue functions. - */ -#define CIRCLEQ_INIT(head) do { \ - (head)->cqh_first = (void *)(head); \ - (head)->cqh_last = (void *)(head); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm)->field.cqe_next; \ - (elm)->field.cqe_prev = (listelm); \ - if ((listelm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (listelm)->field.cqe_next->field.cqe_prev = (elm); \ - (listelm)->field.cqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm); \ - (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ - if ((listelm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (listelm)->field.cqe_prev->field.cqe_next = (elm); \ - (listelm)->field.cqe_prev = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.cqe_next = (head)->cqh_first; \ - (elm)->field.cqe_prev = (void *)(head); \ - if ((head)->cqh_last == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (head)->cqh_first->field.cqe_prev = (elm); \ - (head)->cqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.cqe_next = (void *)(head); \ - (elm)->field.cqe_prev = (head)->cqh_last; \ - if ((head)->cqh_first == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (head)->cqh_last->field.cqe_next = (elm); \ - (head)->cqh_last = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_REMOVE(head, elm, field) do { \ - if ((elm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm)->field.cqe_prev; \ - else \ - (elm)->field.cqe_next->field.cqe_prev = \ - (elm)->field.cqe_prev; \ - if ((elm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm)->field.cqe_next; \ - else \ - (elm)->field.cqe_prev->field.cqe_next = \ - (elm)->field.cqe_next; \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_FOREACH(var, head, field) \ - for ((var) = ((head)->cqh_first); \ - (var) != (const void *)(head); \ - (var) = ((var)->field.cqe_next)) - -#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ - for ((var) = ((head)->cqh_last); \ - (var) != (const void *)(head); \ - (var) = ((var)->field.cqe_prev)) - -/* - * Circular queue access methods. - */ -#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head)) -#define CIRCLEQ_FIRST(head) ((head)->cqh_first) -#define CIRCLEQ_LAST(head) ((head)->cqh_last) -#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) -#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) - -#define CIRCLEQ_LOOP_NEXT(head, elm, field) \ - (((elm)->field.cqe_next == (void *)(head)) \ - ? ((head)->cqh_first) \ - : (elm->field.cqe_next)) -#define CIRCLEQ_LOOP_PREV(head, elm, field) \ - (((elm)->field.cqe_prev == (void *)(head)) \ - ? ((head)->cqh_last) \ - : (elm->field.cqe_prev)) - -#endif /* sys/queue.h */ diff --git a/headers/sys/quota.h b/headers/sys/quota.h deleted file mode 100644 index a20f62c14..000000000 --- a/headers/sys/quota.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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 _SYS_QUOTA_H_ -#define _SYS_QUOTA_H_ - -#include <sys/cdefs.h> - -// The uapi header uses different names from userspace, oddly. -#define if_dqblk dqblk -#define if_dqinfo dqinfo -#include <linux/quota.h> -#undef if_dqblk -#undef if_dqinfo - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int quotactl(int, const char*, int, char*) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif diff --git a/headers/sys/reboot.h b/headers/sys/reboot.h deleted file mode 100644 index df4739e56..000000000 --- a/headers/sys/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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_REBOOT_H_ -#define _SYS_REBOOT_H_ - -#include <sys/cdefs.h> -#include <linux/reboot.h> - -__BEGIN_DECLS - -/* use glibc names as well */ - -#define RB_AUTOBOOT LINUX_REBOOT_CMD_RESTART -#define RB_HALT_SYSTEM LINUX_REBOOT_CMD_HALT -#define RB_ENABLE_CAD LINUX_REBOOT_CMD_CAD_ON -#define RB_DISABLE_CAD LINUX_REBOOT_CMD_CAD_OFF -#define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF - -int reboot(int reboot_type); - -__END_DECLS - -#endif /* _SYS_REBOOT_H_ */ diff --git a/headers/sys/reg.h b/headers/sys/reg.h deleted file mode 100644 index 1066b6dc5..000000000 --- a/headers/sys/reg.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * 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 _SYS_REG_H_ -#define _SYS_REG_H_ - -#include <sys/cdefs.h> - -#if defined(__i386__) - -#define EBX 0 -#define ECX 1 -#define EDX 2 -#define ESI 3 -#define EDI 4 -#define EBP 5 -#define EAX 6 -#define DS 7 -#define ES 8 -#define FS 9 -#define GS 10 -#define ORIG_EAX 11 -#define EIP 12 -#define CS 13 -#define EFL 14 -#define UESP 15 -#define SS 16 - -#elif defined(__x86_64__) - -#define R15 0 -#define R14 1 -#define R13 2 -#define R12 3 -#define RBP 4 -#define RBX 5 -#define R11 6 -#define R10 7 -#define R9 8 -#define R8 9 -#define RAX 10 -#define RCX 11 -#define RDX 12 -#define RSI 13 -#define RDI 14 -#define ORIG_RAX 15 -#define RIP 16 -#define CS 17 -#define EFLAGS 18 -#define RSP 19 -#define SS 20 -#define FS_BASE 21 -#define GS_BASE 22 -#define DS 23 -#define ES 24 -#define FS 25 -#define GS 26 - -#endif - -#endif /* _SYS_REG_H_ */ diff --git a/headers/sys/resource.h b/headers/sys/resource.h deleted file mode 100644 index 7701d4899..000000000 --- a/headers/sys/resource.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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_RESOURCE_H_ -#define _SYS_RESOURCE_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <linux/resource.h> - -__BEGIN_DECLS - -/* The kernel header doesn't have these, but POSIX does. */ -#define RLIM_SAVED_CUR RLIM_INFINITY -#define RLIM_SAVED_MAX RLIM_INFINITY - -typedef unsigned long rlim_t; - -int getrlimit(int, struct rlimit*); -int setrlimit(int, const struct rlimit*); - - -#if __ANDROID_API__ >= 21 -int getrlimit64(int, struct rlimit64*) __INTRODUCED_IN(21); -int setrlimit64(int, const struct rlimit64*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int getpriority(int, id_t); -int setpriority(int, id_t, int); - -int getrusage(int, struct rusage*); - - -#if (!defined(__LP64__) && __ANDROID_API__ >= 24) || (defined(__LP64__)) -int prlimit(pid_t, int, const struct rlimit*, struct rlimit*) __INTRODUCED_IN_32(24) - __INTRODUCED_IN_64(21); -#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 24) || (defined(__LP64__)) */ - - -#if __ANDROID_API__ >= 21 -int prlimit64(pid_t, int, const struct rlimit64*, struct rlimit64*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_RESOURCE_H_ */ diff --git a/headers/sys/select.h b/headers/sys/select.h deleted file mode 100644 index 0c77ff0b6..000000000 --- a/headers/sys/select.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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_SELECT_H_ -#define _SYS_SELECT_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -#include <linux/time.h> -#include <signal.h> - -__BEGIN_DECLS - -#define FD_SETSIZE 1024 -#define NFDBITS (8 * sizeof(unsigned long)) -#define __FDSET_LONGS (FD_SETSIZE/NFDBITS) - -typedef struct { - unsigned long fds_bits[__FDSET_LONGS]; -} fd_set; - -#define __FDELT(fd) ((fd) / NFDBITS) -#define __FDMASK(fd) (1UL << ((fd) % NFDBITS)) -#define __FDS_BITS(set) (__BIONIC_CAST(static_cast, fd_set*, set)->fds_bits) - -/* Inline loop so we don't have to declare memset. */ -#define FD_ZERO(set) \ - do { \ - size_t __i; \ - for (__i = 0; __i < __FDSET_LONGS; ++__i) { \ - (set)->fds_bits[__i] = 0; \ - } \ - } while (0) - - -#if __ANDROID_API__ >= 21 -void __FD_CLR_chk(int, fd_set*, size_t) __INTRODUCED_IN(21); -void __FD_SET_chk(int, fd_set*, size_t) __INTRODUCED_IN(21); -int __FD_ISSET_chk(int, fd_set*, size_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if defined(__BIONIC_FORTIFY) && __ANDROID_API__ >= __ANDROID_API_L__ -#define FD_CLR(fd, set) __FD_CLR_chk(fd, set, __bos(set)) -#define FD_SET(fd, set) __FD_SET_chk(fd, set, __bos(set)) -#define FD_ISSET(fd, set) __FD_ISSET_chk(fd, set, __bos(set)) -#else -#define FD_CLR(fd, set) (__FDS_BITS(set)[__FDELT(fd)] &= ~__FDMASK(fd)) -#define FD_SET(fd, set) (__FDS_BITS(set)[__FDELT(fd)] |= __FDMASK(fd)) -#define FD_ISSET(fd, set) ((__FDS_BITS(set)[__FDELT(fd)] & __FDMASK(fd)) != 0) -#endif /* defined(__BIONIC_FORTIFY) && __ANDROID_API >= 21 */ - -int select(int, fd_set*, fd_set*, fd_set*, struct timeval*); -int pselect(int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*); - -__END_DECLS - -#endif /* _SYS_SELECT_H_ */ diff --git a/headers/sys/sem.h b/headers/sys/sem.h deleted file mode 100644 index 0b28c9af0..000000000 --- a/headers/sys/sem.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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 _SYS_SEM_H_ -#define _SYS_SEM_H_ - -#include <sys/cdefs.h> -#include <sys/ipc.h> -#include <sys/types.h> - -#if defined(__USE_GNU) -#include <bits/timespec.h> -#endif - -#include <linux/sem.h> - -#define semid_ds semid64_ds - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int semctl(int, int, int, ...) __INTRODUCED_IN_FUTURE; -int semget(key_t, int, int) __INTRODUCED_IN_FUTURE; -int semop(int, struct sembuf*, size_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -#endif - -__END_DECLS - -#endif diff --git a/headers/sys/sendfile.h b/headers/sys/sendfile.h deleted file mode 100644 index 72abdc2ec..000000000 --- a/headers/sys/sendfile.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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_SENDFILE_H_ -#define _SYS_SENDFILE_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -#if defined(__USE_FILE_OFFSET64) - -#if __ANDROID_API__ >= 21 -ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) __RENAME(sendfile64) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -#else -ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count); -#endif - -#if __ANDROID_API__ >= 21 -ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_SENDFILE_H_ */ diff --git a/headers/sys/shm.h b/headers/sys/shm.h deleted file mode 100644 index c3721d21d..000000000 --- a/headers/sys/shm.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 _SYS_SHM_H_ -#define _SYS_SHM_H_ - -#include <sys/cdefs.h> -#include <sys/ipc.h> -#include <sys/types.h> - -#include <linux/shm.h> - -#define shmid_ds shmid64_ds -#define SHMLBA 4096 - -__BEGIN_DECLS - -typedef unsigned long shmatt_t; - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -void* shmat(int, const void*, int) __INTRODUCED_IN_FUTURE; -int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN_FUTURE; -int shmdt(const void*) __INTRODUCED_IN_FUTURE; -int shmget(key_t, size_t, int) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -__END_DECLS - -#endif diff --git a/headers/sys/signal.h b/headers/sys/signal.h deleted file mode 100644 index 2e602dad8..000000000 --- a/headers/sys/signal.h +++ /dev/null @@ -1 +0,0 @@ -#include <signal.h> diff --git a/headers/sys/signalfd.h b/headers/sys/signalfd.h deleted file mode 100644 index 55299a85d..000000000 --- a/headers/sys/signalfd.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2013 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_SIGNALFD_H_ -#define _SYS_SIGNALFD_H_ - -#include <sys/cdefs.h> - -#include <linux/signalfd.h> -#include <signal.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 18 -int signalfd(int fd, const sigset_t* _Nonnull mask, int flags) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - - -__END_DECLS - -#endif /* _SYS_SIGNALFD_H */ diff --git a/headers/sys/socket.h b/headers/sys/socket.h deleted file mode 100644 index 87246260a..000000000 --- a/headers/sys/socket.h +++ /dev/null @@ -1,383 +0,0 @@ -/* - * 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_SOCKET_H_ -#define _SYS_SOCKET_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/socket.h> - -#include <asm/fcntl.h> -#include <asm/socket.h> -#include <linux/sockios.h> -#include <linux/uio.h> -#include <linux/types.h> -#include <linux/compiler.h> - -#include <bits/sa_family_t.h> - -__BEGIN_DECLS - -#define sockaddr_storage __kernel_sockaddr_storage - -struct timespec; - -#ifdef __mips__ -#define SOCK_DGRAM 1 -#define SOCK_STREAM 2 -#else -#define SOCK_STREAM 1 -#define SOCK_DGRAM 2 -#endif -#define SOCK_RAW 3 -#define SOCK_RDM 4 -#define SOCK_SEQPACKET 5 -#define SOCK_DCCP 6 -#define SOCK_PACKET 10 - -#define SOCK_CLOEXEC O_CLOEXEC -#define SOCK_NONBLOCK O_NONBLOCK - -enum { - SHUT_RD = 0, -#define SHUT_RD SHUT_RD - SHUT_WR, -#define SHUT_WR SHUT_WR - SHUT_RDWR -#define SHUT_RDWR SHUT_RDWR -}; - -struct sockaddr { - sa_family_t sa_family; - char sa_data[14]; -}; - -struct linger { - int l_onoff; - int l_linger; -}; - -struct msghdr { - void* msg_name; - socklen_t msg_namelen; - struct iovec* msg_iov; - size_t msg_iovlen; - void* msg_control; - size_t msg_controllen; - int msg_flags; -}; - -struct mmsghdr { - struct msghdr msg_hdr; - unsigned int msg_len; -}; - -struct cmsghdr { - size_t cmsg_len; - int cmsg_level; - int cmsg_type; -}; - -#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr((mhdr), (cmsg)) -#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) -#define CMSG_DATA(cmsg) (((unsigned char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) -#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) -#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) -#define CMSG_FIRSTHDR(msg) \ - ((msg)->msg_controllen >= sizeof(struct cmsghdr) \ - ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL) -#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char*)(cmsg) - (char*)(mhdr)->msg_control))) - -#if __ANDROID_API__ >= __ANDROID_API_L__ -struct cmsghdr* __cmsg_nxthdr(struct msghdr*, struct cmsghdr*) __INTRODUCED_IN(21); -#else -/* TODO(danalbert): Move this into libandroid_support. */ -static inline struct cmsghdr* __cmsg_nxthdr(struct msghdr* msg, struct cmsghdr* cmsg) { - struct cmsghdr* ptr = - __BIONIC_CAST(reinterpret_cast, struct cmsghdr*, - (__BIONIC_CAST(reinterpret_cast, char*, cmsg) + CMSG_ALIGN(cmsg->cmsg_len))); - size_t len = __BIONIC_CAST(reinterpret_cast, char*, ptr + 1) - - __BIONIC_CAST(reinterpret_cast, char*, msg->msg_control); - if (len > msg->msg_controllen) { - return NULL; - } - return ptr; -} -#endif /* __ANDROID_API__ >= __ANDROID_API_L__ */ - -#define SCM_RIGHTS 0x01 -#define SCM_CREDENTIALS 0x02 -#define SCM_SECURITY 0x03 - -struct ucred { - pid_t pid; - uid_t uid; - gid_t gid; -}; - -#define AF_UNSPEC 0 -#define AF_UNIX 1 -#define AF_LOCAL 1 -#define AF_INET 2 -#define AF_AX25 3 -#define AF_IPX 4 -#define AF_APPLETALK 5 -#define AF_NETROM 6 -#define AF_BRIDGE 7 -#define AF_ATMPVC 8 -#define AF_X25 9 -#define AF_INET6 10 -#define AF_ROSE 11 -#define AF_DECnet 12 -#define AF_NETBEUI 13 -#define AF_SECURITY 14 -#define AF_KEY 15 -#define AF_NETLINK 16 -#define AF_ROUTE AF_NETLINK -#define AF_PACKET 17 -#define AF_ASH 18 -#define AF_ECONET 19 -#define AF_ATMSVC 20 -#define AF_RDS 21 -#define AF_SNA 22 -#define AF_IRDA 23 -#define AF_PPPOX 24 -#define AF_WANPIPE 25 -#define AF_LLC 26 -#define AF_CAN 29 -#define AF_TIPC 30 -#define AF_BLUETOOTH 31 -#define AF_IUCV 32 -#define AF_RXRPC 33 -#define AF_ISDN 34 -#define AF_PHONET 35 -#define AF_IEEE802154 36 -#define AF_CAIF 37 -#define AF_ALG 38 -#define AF_NFC 39 -#define AF_VSOCK 40 -#define AF_KCM 41 -#define AF_QIPCRTR 42 -#define AF_MAX 43 - -#define PF_UNSPEC AF_UNSPEC -#define PF_UNIX AF_UNIX -#define PF_LOCAL AF_LOCAL -#define PF_INET AF_INET -#define PF_AX25 AF_AX25 -#define PF_IPX AF_IPX -#define PF_APPLETALK AF_APPLETALK -#define PF_NETROM AF_NETROM -#define PF_BRIDGE AF_BRIDGE -#define PF_ATMPVC AF_ATMPVC -#define PF_X25 AF_X25 -#define PF_INET6 AF_INET6 -#define PF_ROSE AF_ROSE -#define PF_DECnet AF_DECnet -#define PF_NETBEUI AF_NETBEUI -#define PF_SECURITY AF_SECURITY -#define PF_KEY AF_KEY -#define PF_NETLINK AF_NETLINK -#define PF_ROUTE AF_ROUTE -#define PF_PACKET AF_PACKET -#define PF_ASH AF_ASH -#define PF_ECONET AF_ECONET -#define PF_ATMSVC AF_ATMSVC -#define PF_RDS AF_RDS -#define PF_SNA AF_SNA -#define PF_IRDA AF_IRDA -#define PF_PPPOX AF_PPPOX -#define PF_WANPIPE AF_WANPIPE -#define PF_LLC AF_LLC -#define PF_CAN AF_CAN -#define PF_TIPC AF_TIPC -#define PF_BLUETOOTH AF_BLUETOOTH -#define PF_IUCV AF_IUCV -#define PF_RXRPC AF_RXRPC -#define PF_ISDN AF_ISDN -#define PF_PHONET AF_PHONET -#define PF_IEEE802154 AF_IEEE802154 -#define PF_CAIF AF_CAIF -#define PF_ALG AF_ALG -#define PF_NFC AF_NFC -#define PF_VSOCK AF_VSOCK -#define PF_KCM AF_KCM -#define PF_QIPCRTR AF_QIPCRTR -#define PF_MAX AF_MAX - -#define SOMAXCONN 128 - -#define MSG_OOB 1 -#define MSG_PEEK 2 -#define MSG_DONTROUTE 4 -#define MSG_TRYHARD 4 -#define MSG_CTRUNC 8 -#define MSG_PROBE 0x10 -#define MSG_TRUNC 0x20 -#define MSG_DONTWAIT 0x40 -#define MSG_EOR 0x80 -#define MSG_WAITALL 0x100 -#define MSG_FIN 0x200 -#define MSG_SYN 0x400 -#define MSG_CONFIRM 0x800 -#define MSG_RST 0x1000 -#define MSG_ERRQUEUE 0x2000 -#define MSG_NOSIGNAL 0x4000 -#define MSG_MORE 0x8000 -#define MSG_WAITFORONE 0x10000 -#define MSG_BATCH 0x40000 -#define MSG_FASTOPEN 0x20000000 -#define MSG_CMSG_CLOEXEC 0x40000000 -#define MSG_EOF MSG_FIN -#define MSG_CMSG_COMPAT 0 - -#define SOL_IP 0 -#define SOL_TCP 6 -#define SOL_UDP 17 -#define SOL_IPV6 41 -#define SOL_ICMPV6 58 -#define SOL_SCTP 132 -#define SOL_RAW 255 -#define SOL_IPX 256 -#define SOL_AX25 257 -#define SOL_ATALK 258 -#define SOL_NETROM 259 -#define SOL_ROSE 260 -#define SOL_DECNET 261 -#define SOL_X25 262 -#define SOL_PACKET 263 -#define SOL_ATM 264 -#define SOL_AAL 265 -#define SOL_IRDA 266 -#define SOL_NETBEUI 267 -#define SOL_LLC 268 -#define SOL_DCCP 269 -#define SOL_NETLINK 270 -#define SOL_TIPC 271 -#define SOL_RXRPC 272 -#define SOL_PPPOL2TP 273 -#define SOL_BLUETOOTH 274 -#define SOL_PNPIPE 275 -#define SOL_RDS 276 -#define SOL_IUCV 277 -#define SOL_CAIF 278 -#define SOL_ALG 279 -#define SOL_NFC 280 -#define SOL_KCM 281 - -#define IPX_TYPE 1 - -#ifdef __i386__ -# define __socketcall extern __attribute__((__cdecl__)) -#else -# define __socketcall extern -#endif - -__socketcall int accept(int, struct sockaddr*, socklen_t*); - -#if __ANDROID_API__ >= 21 -__socketcall int accept4(int, struct sockaddr*, socklen_t*, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__socketcall int bind(int, const struct sockaddr*, socklen_t); -__socketcall int connect(int, const struct sockaddr*, socklen_t); -__socketcall int getpeername(int, struct sockaddr*, socklen_t*); -__socketcall int getsockname(int, struct sockaddr*, socklen_t*); -__socketcall int getsockopt(int, int, int, void*, socklen_t*); -__socketcall int listen(int, int); - -#if __ANDROID_API__ >= 21 -__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__socketcall ssize_t recvmsg(int, struct msghdr*, int); - -#if __ANDROID_API__ >= 21 -__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__socketcall ssize_t sendmsg(int, const struct msghdr*, int); -__socketcall int setsockopt(int, int, int, const void*, socklen_t); -__socketcall int shutdown(int, int); -__socketcall int socket(int, int, int); -__socketcall int socketpair(int, int, int, int*); - -ssize_t recv(int, void*, size_t, int); -ssize_t send(int, const void*, size_t, int); - -__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t); -__socketcall ssize_t recvfrom(int, void*, size_t, int, struct sockaddr*, socklen_t*); - -__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer"); - -#if __ANDROID_API__ >= 21 -ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, struct sockaddr*, socklen_t*) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -ssize_t __recvfrom_real(int, void*, size_t, int, struct sockaddr*, socklen_t*) __RENAME(recvfrom); - -#if defined(__BIONIC_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_N__ -__BIONIC_FORTIFY_INLINE -ssize_t recvfrom(int fd, void* buf, size_t len, int flags, struct sockaddr* src_addr, socklen_t* addr_len) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len); - } - - if (__builtin_constant_p(len) && (len <= bos)) { - return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len); - } - - if (__builtin_constant_p(len) && (len > bos)) { - __recvfrom_error(); - } -#endif - - return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -__BIONIC_FORTIFY_INLINE -ssize_t recv(int socket, void* buf, size_t len, int flags) { - return recvfrom(socket, buf, len, flags, NULL, 0); -} - -#endif /* __BIONIC_FORTIFY */ - -#undef __socketcall - -__END_DECLS - -#endif /* _SYS_SOCKET_H */ diff --git a/headers/sys/stat.h b/headers/sys/stat.h deleted file mode 100644 index 753ad7f99..000000000 --- a/headers/sys/stat.h +++ /dev/null @@ -1,247 +0,0 @@ -/* - * 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_STAT_H_ -#define _SYS_STAT_H_ - -#include <bits/timespec.h> -#include <linux/stat.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -#if defined(__aarch64__) || (defined(__mips__) && defined(__LP64__)) -#define __STAT64_BODY \ - dev_t st_dev; \ - ino_t st_ino; \ - mode_t st_mode; \ - nlink_t st_nlink; \ - uid_t st_uid; \ - gid_t st_gid; \ - dev_t st_rdev; \ - unsigned long __pad1; \ - off_t st_size; \ - int st_blksize; \ - int __pad2; \ - long st_blocks; \ - struct timespec st_atim; \ - struct timespec st_mtim; \ - struct timespec st_ctim; \ - unsigned int __unused4; \ - unsigned int __unused5; \ - -#elif defined(__mips__) && !defined(__LP64__) -#define __STAT64_BODY \ - unsigned int st_dev; \ - unsigned int __pad0[3]; \ - unsigned long long st_ino; \ - mode_t st_mode; \ - nlink_t st_nlink; \ - uid_t st_uid; \ - gid_t st_gid; \ - unsigned int st_rdev; \ - unsigned int __pad1[3]; \ - long long st_size; \ - struct timespec st_atim; \ - struct timespec st_mtim; \ - struct timespec st_ctim; \ - unsigned int st_blksize; \ - unsigned int __pad2; \ - unsigned long long st_blocks; \ - -#elif defined(__x86_64__) -#define __STAT64_BODY \ - dev_t st_dev; \ - ino_t st_ino; \ - unsigned long st_nlink; \ - mode_t st_mode; \ - uid_t st_uid; \ - gid_t st_gid; \ - unsigned int __pad0; \ - dev_t st_rdev; \ - off_t st_size; \ - long st_blksize; \ - long st_blocks; \ - struct timespec st_atim; \ - struct timespec st_mtim; \ - struct timespec st_ctim; \ - long __pad3[3]; \ - -#else /* __arm__ || __i386__ */ -#define __STAT64_BODY \ - unsigned long long st_dev; \ - unsigned char __pad0[4]; \ - unsigned long __st_ino; \ - unsigned int st_mode; \ - nlink_t st_nlink; \ - uid_t st_uid; \ - gid_t st_gid; \ - unsigned long long st_rdev; \ - unsigned char __pad3[4]; \ - long long st_size; \ - unsigned long st_blksize; \ - unsigned long long st_blocks; \ - struct timespec st_atim; \ - struct timespec st_mtim; \ - struct timespec st_ctim; \ - unsigned long long st_ino; \ - -#endif - -struct stat { __STAT64_BODY }; -struct stat64 { __STAT64_BODY }; - -#undef __STAT64_BODY - -/* Compatibility with older versions of POSIX. */ -#define st_atime st_atim.tv_sec -#define st_mtime st_mtim.tv_sec -#define st_ctime st_ctim.tv_sec -/* Compatibility with glibc. */ -#define st_atimensec st_atim.tv_nsec -#define st_mtimensec st_mtim.tv_nsec -#define st_ctimensec st_ctim.tv_nsec - -#if defined(__USE_BSD) -/* Permission macros provided by glibc for compatibility with BSDs. */ -#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) /* 0777 */ -#define ALLPERMS (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) /* 07777 */ -#define DEFFILEMODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) /* 0666 */ -#endif - -#if defined(__USE_BSD) || defined(__USE_GNU) -#define S_IREAD S_IRUSR -#define S_IWRITE S_IWUSR -#define S_IEXEC S_IXUSR -#endif - -/* POSIX mandates these, but Linux doesn't implement them as distinct file types. */ -#define S_TYPEISMQ(__sb) 0 -#define S_TYPEISSEM(__sb) 0 -#define S_TYPEISSHM(__sb) 0 -#define S_TYPEISTMO(__sb) 0 - -int chmod(const char*, mode_t); -int fchmod(int, mode_t); -int mkdir(const char*, mode_t); - -int fstat(int, struct stat*); - -#if __ANDROID_API__ >= 21 -int fstat64(int, struct stat64*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int fstatat(int, const char*, struct stat*, int); - -#if __ANDROID_API__ >= 21 -int fstatat64(int, const char*, struct stat64*, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int lstat(const char*, struct stat*); - -#if __ANDROID_API__ >= 21 -int lstat64(const char*, struct stat64*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int stat(const char*, struct stat*); - -#if __ANDROID_API__ >= 21 -int stat64(const char*, struct stat64*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -int mknod(const char*, mode_t, dev_t); -mode_t umask(mode_t); - - -#if __ANDROID_API__ >= 18 -mode_t __umask_chk(mode_t) __INTRODUCED_IN(18); -#endif /* __ANDROID_API__ >= 18 */ - -mode_t __umask_real(mode_t) __RENAME(umask); -__errordecl(__umask_invalid_mode, "umask called with invalid mode"); - -#if defined(__BIONIC_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_J_MR2__ -__BIONIC_FORTIFY_INLINE -mode_t umask(mode_t mode) { -#if !defined(__clang__) - if (__builtin_constant_p(mode)) { - if ((mode & 0777) != mode) { - __umask_invalid_mode(); - } - return __umask_real(mode); - } -#endif - return __umask_chk(mode); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */ - -#endif /* defined(__BIONIC_FORTIFY) */ - -#if __ANDROID_API__ >= __ANDROID_API_L__ -int mkfifo(const char*, mode_t) __INTRODUCED_IN(21); -#else -// Implemented as a static inline before 21. -#endif - - -#if __ANDROID_API__ >= 23 -int mkfifoat(int, const char*, mode_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -int fchmodat(int, const char*, mode_t, int); -int mkdirat(int, const char*, mode_t); - -#if __ANDROID_API__ >= 21 -int mknodat(int, const char*, mode_t, dev_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#define UTIME_NOW ((1L << 30) - 1L) -#define UTIME_OMIT ((1L << 30) - 2L) - -#if __ANDROID_API__ >= 12 -int utimensat(int fd, const char* path, const struct timespec times[2], int flags) - __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -#if __ANDROID_API__ >= 19 -int futimens(int fd, const struct timespec times[2]) __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -__END_DECLS - -#include <android/legacy_sys_stat_inlines.h> - -#endif /* _SYS_STAT_H_ */ diff --git a/headers/sys/statfs.h b/headers/sys/statfs.h deleted file mode 100644 index 53b3b5e4d..000000000 --- a/headers/sys/statfs.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/vfs.h> diff --git a/headers/sys/statvfs.h b/headers/sys/statvfs.h deleted file mode 100644 index 215a25152..000000000 --- a/headers/sys/statvfs.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2013 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 _SYS_STATVFS_H_ -#define _SYS_STATVFS_H_ - -#include <stdint.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -#ifdef __LP64__ -#define __STATVFS64_RESERVED uint32_t __f_reserved[6]; -#else -#define __STATVFS64_RESERVED -#endif - -#define __STATVFS64_BODY \ - unsigned long f_bsize; \ - unsigned long f_frsize; \ - fsblkcnt_t f_blocks; \ - fsblkcnt_t f_bfree; \ - fsblkcnt_t f_bavail; \ - fsfilcnt_t f_files; \ - fsfilcnt_t f_ffree; \ - fsfilcnt_t f_favail; \ - unsigned long f_fsid; \ - unsigned long f_flag; \ - unsigned long f_namemax; \ - __STATVFS64_RESERVED - -struct statvfs { __STATVFS64_BODY }; -struct statvfs64 { __STATVFS64_BODY }; - -#undef __STATVFS64_BODY -#undef __STATVFS64_RESERVED - -#define ST_RDONLY 0x0001 -#define ST_NOSUID 0x0002 -#define ST_NODEV 0x0004 -#define ST_NOEXEC 0x0008 -#define ST_SYNCHRONOUS 0x0010 -#define ST_MANDLOCK 0x0040 -#define ST_NOATIME 0x0400 -#define ST_NODIRATIME 0x0800 -#define ST_RELATIME 0x1000 - - -#if __ANDROID_API__ >= 19 -int statvfs(const char* __restrict _Nonnull, struct statvfs* __restrict _Nonnull) - __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -#if __ANDROID_API__ >= 21 -int statvfs64(const char* __restrict _Nonnull, struct statvfs64* __restrict _Nonnull) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if __ANDROID_API__ >= 19 -int fstatvfs(int, struct statvfs* _Nonnull) __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -#if __ANDROID_API__ >= 21 -int fstatvfs64(int, struct statvfs64* _Nonnull) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_STATVFS_H_ */ diff --git a/headers/sys/swap.h b/headers/sys/swap.h deleted file mode 100644 index b936550c2..000000000 --- a/headers/sys/swap.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2013 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_SWAP_H_ -#define _SYS_SWAP_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#define SWAP_FLAG_DISCARD 0x10000 -#define SWAP_FLAG_PREFER 0x8000 -#define SWAP_FLAG_PRIO_MASK 0x7fff -#define SWAP_FLAG_PRIO_SHIFT 0 - - -#if __ANDROID_API__ >= 19 -int swapon(const char* _Nonnull, int) __INTRODUCED_IN(19); -int swapoff(const char* _Nonnull) __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -__END_DECLS - -#endif /* _SYS_SWAP_H_ */ diff --git a/headers/sys/syscall.h b/headers/sys/syscall.h deleted file mode 100644 index a49323d15..000000000 --- a/headers/sys/syscall.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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_SYSCALL_H_ -#define _SYS_SYSCALL_H_ - -#include <asm/unistd.h> /* Linux kernel __NR_* names. */ -#include <bits/glibc-syscalls.h> /* glibc-compatible SYS_* aliases. */ -#include <sys/cdefs.h> - -/* The syscall function itself is declared in <unistd.h>, not here. */ - -#endif /* _SYS_SYSCALL_H_ */ diff --git a/headers/sys/sysconf.h b/headers/sys/sysconf.h deleted file mode 100644 index eb30faf8f..000000000 --- a/headers/sys/sysconf.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * This file used to contain the declarations of sysconf and its associated constants. - * No standard mentions a <sys/sysconf.h>, but there are enough users in vendor (and potential ones - * in the NDK) to warrant not breaking source compatibility. - */ -#include <bits/sysconf.h> diff --git a/headers/sys/sysinfo.h b/headers/sys/sysinfo.h deleted file mode 100644 index 5c58bcf58..000000000 --- a/headers/sys/sysinfo.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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_SYSINFO_H_ -#define _SYS_SYSINFO_H_ - -#include <sys/cdefs.h> -#include <linux/kernel.h> - -__BEGIN_DECLS - -int sysinfo(struct sysinfo* info); - - -#if __ANDROID_API__ >= 23 -int get_nprocs_conf(void) __INTRODUCED_IN(23); - -int get_nprocs(void) __INTRODUCED_IN(23); - -long get_phys_pages(void) __INTRODUCED_IN(23); - -long get_avphys_pages(void) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _SYS_SYSINFO_H_ */ diff --git a/headers/sys/syslog.h b/headers/sys/syslog.h deleted file mode 100644 index 7761eceeb..000000000 --- a/headers/sys/syslog.h +++ /dev/null @@ -1 +0,0 @@ -#include <syslog.h> diff --git a/headers/sys/sysmacros.h b/headers/sys/sysmacros.h deleted file mode 100644 index 592cc5e0b..000000000 --- a/headers/sys/sysmacros.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> - -#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_ */ diff --git a/headers/sys/system_properties.h b/headers/sys/system_properties.h deleted file mode 100644 index b3fbc48ff..000000000 --- a/headers/sys/system_properties.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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 _INCLUDE_SYS_SYSTEM_PROPERTIES_H -#define _INCLUDE_SYS_SYSTEM_PROPERTIES_H - -#include <sys/cdefs.h> -#include <stddef.h> - -__BEGIN_DECLS - -typedef struct prop_info prop_info; - -#define PROP_NAME_MAX 32 -#define PROP_VALUE_MAX 92 - -/* Look up a system property by name, copying its value and a -** \0 terminator to the provided pointer. The total bytes -** copied will be no greater than PROP_VALUE_MAX. Returns -** the string length of the value. A property that is not -** defined is identical to a property with a length 0 value. -*/ -int __system_property_get(const char *name, char *value); - -/* Set a system property by name. -**/ - -#if __ANDROID_API__ >= 12 -int __system_property_set(const char* key, const char* value) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -/* Return a pointer to the system property named name, if it -** exists, or NULL if there is no such property. Use -** __system_property_read() to obtain the string value from -** the returned prop_info pointer. -** -** It is safe to cache the prop_info pointer to avoid future -** lookups. These returned pointers will remain valid for -** the lifetime of the system. -*/ -const prop_info *__system_property_find(const char *name); - -/* Read the value of a system property. Returns the length -** of the value. Copies the value and \0 terminator into -** the provided value pointer. Total length (including -** terminator) will be no greater that PROP_VALUE_MAX for -** __system_property_read. -** -** If name is nonzero, up to PROP_NAME_MAX bytes will be -** copied into the provided name pointer. The name will -** be \0 terminated. -*/ -int __system_property_read(const prop_info *pi, char *name, char *value); - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -void __system_property_read_callback(const prop_info *pi, - void (*)(void* cookie, const char *name, const char *value), - void* cookie) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -/* Return a prop_info for the nth system property, or NULL if -** there is no nth property. Use __system_property_read() to -** read the value of this property. -** -** Please do not call this method. It only exists to provide -** backwards compatibility to NDK apps. Its implementation -** is inefficient and order of results may change from call -** to call. -*/ -const prop_info *__system_property_find_nth(unsigned n) - __REMOVED_IN(26); - -/* Pass a prop_info for each system property to the provided -** callback. Use __system_property_read() to read the value -** of this property. -** -** This method is for inspecting and debugging the property -** system. Please use __system_property_find() instead. -** -** Order of results may change from call to call. This is -** not a bug. -*/ - -#if __ANDROID_API__ >= 19 -int __system_property_foreach(void (*propfn)(const prop_info* pi, void* cookie), void* cookie) - __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -__END_DECLS - -#endif diff --git a/headers/sys/time.h b/headers/sys/time.h deleted file mode 100644 index 85c8d15e4..000000000 --- a/headers/sys/time.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * 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_TIME_H_ -#define _SYS_TIME_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/time.h> - -/* POSIX says <sys/time.h> gets you most of <sys/select.h> and may get you all of it. */ -#include <sys/select.h> - -__BEGIN_DECLS - -int gettimeofday(struct timeval*, struct timezone*); -int settimeofday(const struct timeval*, const struct timezone*); - -int getitimer(int, struct itimerval*); -int setitimer(int, const struct itimerval*, struct itimerval*); - -int utimes(const char*, const struct timeval*); - -#if defined(__USE_BSD) - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int futimes(int, const struct timeval[2]) __INTRODUCED_IN_FUTURE; -int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -#endif - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - -#endif - -#define timerclear(a) \ - ((a)->tv_sec = (a)->tv_usec = 0) - -#define timerisset(a) \ - ((a)->tv_sec != 0 || (a)->tv_usec != 0) - -#define timercmp(a, b, op) \ - ((a)->tv_sec == (b)->tv_sec \ - ? (a)->tv_usec op (b)->tv_usec \ - : (a)->tv_sec op (b)->tv_sec) - -#define timeradd(a, b, res) \ - do { \ - (res)->tv_sec = (a)->tv_sec + (b)->tv_sec; \ - (res)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ - if ((res)->tv_usec >= 1000000) { \ - (res)->tv_usec -= 1000000; \ - (res)->tv_sec += 1; \ - } \ - } while (0) - -#define timersub(a, b, res) \ - do { \ - (res)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ - (res)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ - if ((res)->tv_usec < 0) { \ - (res)->tv_usec += 1000000; \ - (res)->tv_sec -= 1; \ - } \ - } while (0) - -#define TIMEVAL_TO_TIMESPEC(tv, ts) { \ - (ts)->tv_sec = (tv)->tv_sec; \ - (ts)->tv_nsec = (tv)->tv_usec * 1000; \ -} -#define TIMESPEC_TO_TIMEVAL(tv, ts) { \ - (tv)->tv_sec = (ts)->tv_sec; \ - (tv)->tv_usec = (ts)->tv_nsec / 1000; \ -} - -__END_DECLS - -#endif /* _SYS_TIME_H_ */ diff --git a/headers/sys/timerfd.h b/headers/sys/timerfd.h deleted file mode 100644 index 32dcec4c0..000000000 --- a/headers/sys/timerfd.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2013 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_TIMERFD_H_ -#define _SYS_TIMERFD_H_ - -#include <fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */ -#include <time.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -#define TFD_TIMER_ABSTIME (1 << 0) -#define TFD_TIMER_CANCEL_ON_SET (1 << 1) - -#define TFD_CLOEXEC O_CLOEXEC -#define TFD_NONBLOCK O_NONBLOCK - - -#if __ANDROID_API__ >= 19 -int timerfd_create(clockid_t, int) __INTRODUCED_IN(19); -int timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*) __INTRODUCED_IN(19); -int timerfd_gettime(int, struct itimerspec*) __INTRODUCED_IN(19); -#endif /* __ANDROID_API__ >= 19 */ - - -__END_DECLS - -#endif /* _SYS_TIMERFD_H */ diff --git a/headers/sys/times.h b/headers/sys/times.h deleted file mode 100644 index f52db1f99..000000000 --- a/headers/sys/times.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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_TIMES_H_ -#define _SYS_TIMES_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/times.h> - -__BEGIN_DECLS - -clock_t times(struct tms*); - -__END_DECLS - -#endif /* _SYS_TIMES_H_ */ diff --git a/headers/sys/timex.h b/headers/sys/timex.h deleted file mode 100644 index 783c49df6..000000000 --- a/headers/sys/timex.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 _SYS_TIMEX_H_ -#define _SYS_TIMEX_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/timex.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 24 -int adjtimex(struct timex*) __INTRODUCED_IN(24); -int clock_adjtime(clockid_t, struct timex*) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - - -__END_DECLS - -#endif /* _SYS_TIMEX_H_ */ diff --git a/headers/sys/ttydefaults.h b/headers/sys/ttydefaults.h deleted file mode 100644 index 62af84b10..000000000 --- a/headers/sys/ttydefaults.h +++ /dev/null @@ -1,113 +0,0 @@ -/* $NetBSD: ttydefaults.h,v 1.16 2008/05/24 14:06:39 yamt Exp $ */ - -/*- - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 - */ - -/* - * System wide defaults for terminal state. - */ -#ifndef _SYS_TTYDEFAULTS_H_ -#define _SYS_TTYDEFAULTS_H_ - -#include <sys/cdefs.h> - -/* - * Defaults on "first" open. - */ -#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY) -#define TTYDEF_OFLAG (OPOST | ONLCR | OXTABS) -#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) -#define TTYDEF_CFLAG (CREAD | CS8 | HUPCL) -#define TTYDEF_SPEED (B9600) - -/* - * Control Character Defaults - */ -#define CTRL(x) (x&037) -#define CEOF CTRL('d') -#define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ -#define CERASE 0177 -#define CINTR CTRL('c') -#define CSTATUS CTRL('t') -#define CKILL CTRL('u') -#define CMIN 1 -#define CQUIT 034 /* FS, ^\ */ -#define CSUSP CTRL('z') -#define CTIME 0 -#define CDSUSP CTRL('y') -#define CSTART CTRL('q') -#define CSTOP CTRL('s') -#define CLNEXT CTRL('v') -#define CDISCARD CTRL('o') -#define CWERASE CTRL('w') -#define CREPRINT CTRL('r') -#define CEOT CEOF -/* compat */ -#define CBRK CEOL -#define CRPRNT CREPRINT -#define CFLUSH CDISCARD - -/* PROTECTED INCLUSION ENDS HERE */ -#endif /* !_SYS_TTYDEFAULTS_H_ */ - -/* - * #define TTYDEFCHARS to include an array of default control characters. - */ -#ifdef TTYDEFCHARS -const cc_t ttydefchars[NCCS] = { - [VEOF] = CEOF, - [VEOL] = CEOL, - [VEOL2] = CEOL, - [VERASE] = CERASE, - [VWERASE] = CWERASE, - [VKILL] = CKILL, - [VREPRINT] = CREPRINT, - [7] = _POSIX_VDISABLE, /* spare */ - [VINTR] = CINTR, - [VQUIT] = CQUIT, - [VSUSP] = CSUSP, - [VDSUSP] = CDSUSP, - [VSTART] = CSTART, - [VSTOP] = CSTOP, - [VLNEXT] = CLNEXT, - [VDISCARD] = CDISCARD, - [VMIN] = CMIN, - [VTIME] = CTIME, - [VSTATUS] = CSTATUS, - [19] = _POSIX_VDISABLE, /* spare */ -}; -#undef TTYDEFCHARS -#endif diff --git a/headers/sys/types.h b/headers/sys/types.h deleted file mode 100644 index 637ef0215..000000000 --- a/headers/sys/types.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * 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_ - -#include <stddef.h> -#include <stdint.h> -#include <sys/cdefs.h> - -#include <linux/types.h> -#include <linux/posix_types.h> - -#include <bits/pthread_types.h> - -/* 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 -typedef uint64_t dev_t; -#endif - -/* 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 -/* 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 - -#if !defined(__LP64__) -/* This historical accident means that we had a signed socklen_t on 32-bit architectures. */ -typedef int32_t __socklen_t; -#else -/* LP64 still has a 32-bit socklen_t. */ -typedef uint32_t __socklen_t; -#endif -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 - -typedef unsigned int uint_t; -typedef unsigned int uint; - -#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */ -#include <sys/sysmacros.h> - -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 - -#endif diff --git a/headers/sys/ucontext.h b/headers/sys/ucontext.h deleted file mode 100644 index 4eddf233c..000000000 --- a/headers/sys/ucontext.h +++ /dev/null @@ -1,313 +0,0 @@ -/* - * 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 _SYS_UCONTEXT_H_ -#define _SYS_UCONTEXT_H_ - -#include <sys/cdefs.h> - -#include <signal.h> -#include <sys/user.h> - -__BEGIN_DECLS - -#if defined(__arm__) - -enum { - REG_R0 = 0, - REG_R1, - REG_R2, - REG_R3, - REG_R4, - REG_R5, - REG_R6, - REG_R7, - REG_R8, - REG_R9, - REG_R10, - REG_R11, - REG_R12, - REG_R13, - REG_R14, - REG_R15, -}; - -#define NGREG 18 /* Like glibc. */ - -typedef int greg_t; -typedef greg_t gregset_t[NGREG]; -typedef struct user_fpregs fpregset_t; - -#include <asm/sigcontext.h> -typedef struct sigcontext mcontext_t; - -typedef struct ucontext { - unsigned long uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - /* Android has a wrong (smaller) sigset_t on ARM. */ - uint32_t __padding_rt_sigset; - /* The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM. */ - char __padding[120]; - unsigned long uc_regspace[128] __attribute__((__aligned__(8))); -} ucontext_t; - -#elif defined(__aarch64__) - -#define NGREG 34 /* x0..x30 + sp + pc + pstate */ -typedef unsigned long greg_t; -typedef greg_t gregset_t[NGREG]; -typedef struct user_fpsimd_struct fpregset_t; - -#include <asm/sigcontext.h> -typedef struct sigcontext mcontext_t; - -typedef struct ucontext { - unsigned long uc_flags; - struct ucontext *uc_link; - stack_t uc_stack; - sigset_t uc_sigmask; - /* The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM64. */ - char __padding[128 - sizeof(sigset_t)]; - mcontext_t uc_mcontext; -} ucontext_t; - -#elif defined(__i386__) - -enum { - REG_GS = 0, - REG_FS, - REG_ES, - REG_DS, - REG_EDI, - REG_ESI, - REG_EBP, - REG_ESP, - REG_EBX, - REG_EDX, - REG_ECX, - REG_EAX, - REG_TRAPNO, - REG_ERR, - REG_EIP, - REG_CS, - REG_EFL, - REG_UESP, - REG_SS, - NGREG -}; - -typedef int greg_t; -typedef greg_t gregset_t[NGREG]; - -struct _libc_fpreg { - unsigned short significand[4]; - unsigned short exponent; -}; - -struct _libc_fpstate { - unsigned long cw; - unsigned long sw; - unsigned long tag; - unsigned long ipoff; - unsigned long cssel; - unsigned long dataoff; - unsigned long datasel; - struct _libc_fpreg _st[8]; - unsigned long status; -}; - -typedef struct _libc_fpstate* fpregset_t; - -typedef struct { - gregset_t gregs; - fpregset_t fpregs; - unsigned long oldmask; - unsigned long cr2; -} mcontext_t; - -typedef struct ucontext { - unsigned long uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - /* Android has a wrong (smaller) sigset_t on x86. */ - uint32_t __padding_rt_sigset; - struct _libc_fpstate __fpregs_mem; -} ucontext_t; - -#elif defined(__mips__) - -/* glibc doesn't have names for MIPS registers. */ - -#define NGREG 32 -#define NFPREG 32 - -typedef unsigned long long greg_t; -typedef greg_t gregset_t[NGREG]; - -typedef struct fpregset { - union { - double fp_dregs[NFPREG]; - struct { - float _fp_fregs; - unsigned _fp_pad; - } fp_fregs[NFPREG]; - } fp_r; -} fpregset_t; - -#ifdef __LP64__ -typedef struct { - gregset_t gregs; - fpregset_t fpregs; - greg_t mdhi; - greg_t hi1; - greg_t hi2; - greg_t hi3; - greg_t mdlo; - greg_t lo1; - greg_t lo2; - greg_t lo3; - greg_t pc; - uint32_t fpc_csr; - uint32_t used_math; - uint32_t dsp; - uint32_t reserved; -} mcontext_t; -#else -typedef struct { - unsigned regmask; - unsigned status; - greg_t pc; - gregset_t gregs; - fpregset_t fpregs; - unsigned fp_owned; - unsigned fpc_csr; - unsigned fpc_eir; - unsigned used_math; - unsigned dsp; - greg_t mdhi; - greg_t mdlo; - unsigned long hi1; - unsigned long lo1; - unsigned long hi2; - unsigned long lo2; - unsigned long hi3; - unsigned long lo3; -} mcontext_t; -#endif - -typedef struct ucontext { - unsigned long uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; -} ucontext_t; - -#elif defined(__x86_64__) - -enum { - REG_R8 = 0, - REG_R9, - REG_R10, - REG_R11, - REG_R12, - REG_R13, - REG_R14, - REG_R15, - REG_RDI, - REG_RSI, - REG_RBP, - REG_RBX, - REG_RDX, - REG_RAX, - REG_RCX, - REG_RSP, - REG_RIP, - REG_EFL, - REG_CSGSFS, - REG_ERR, - REG_TRAPNO, - REG_OLDMASK, - REG_CR2, - NGREG -}; - -typedef long greg_t; -typedef greg_t gregset_t[NGREG]; - -struct _libc_fpxreg { - unsigned short significand[4]; - unsigned short exponent; - unsigned short padding[3]; -}; - -struct _libc_xmmreg { - uint32_t element[4]; -}; - -struct _libc_fpstate { - uint16_t cwd; - uint16_t swd; - uint16_t ftw; - uint16_t fop; - uint64_t rip; - uint64_t rdp; - uint32_t mxcsr; - uint32_t mxcr_mask; - struct _libc_fpxreg _st[8]; - struct _libc_xmmreg _xmm[16]; - uint32_t padding[24]; -}; - -typedef struct _libc_fpstate* fpregset_t; - -typedef struct { - gregset_t gregs; - fpregset_t fpregs; - unsigned long __reserved1[8]; -} mcontext_t; - -typedef struct ucontext { - unsigned long uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - struct _libc_fpstate __fpregs_mem; -} ucontext_t; - -#endif - -__END_DECLS - -#endif /* _SYS_UCONTEXT_H_ */ diff --git a/headers/sys/uio.h b/headers/sys/uio.h deleted file mode 100644 index fb2701fc9..000000000 --- a/headers/sys/uio.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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_UIO_H_ -#define _SYS_UIO_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/uio.h> - -__BEGIN_DECLS - -ssize_t readv(int, const struct iovec*, int); -ssize_t writev(int, const struct iovec*, int); - -#if defined(__USE_GNU) -#if defined(__USE_FILE_OFFSET64) -ssize_t preadv(int, const struct iovec*, int, off_t) __RENAME(preadv64); -ssize_t pwritev(int, const struct iovec*, int, off_t) __RENAME(pwritev64); -#else - -#if __ANDROID_API__ >= 24 -ssize_t preadv(int, const struct iovec*, int, off_t) __INTRODUCED_IN(24); -ssize_t pwritev(int, const struct iovec*, int, off_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif - -#if __ANDROID_API__ >= 24 -ssize_t preadv64(int, const struct iovec*, int, off64_t) __INTRODUCED_IN(24); -ssize_t pwritev64(int, const struct iovec*, int, off64_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -#endif - -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= 23 -ssize_t process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*, - unsigned long, unsigned long) __INTRODUCED_IN(23); -ssize_t process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*, - unsigned long, unsigned long) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -#endif - -__END_DECLS - -#endif /* _SYS_UIO_H_ */ diff --git a/headers/sys/un.h b/headers/sys/un.h deleted file mode 100644 index 3e1c429d7..000000000 --- a/headers/sys/un.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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_UN_H_ -#define _SYS_UN_H_ - -#include <bits/sa_family_t.h> -#include <linux/un.h> -#include <sys/cdefs.h> - -#endif diff --git a/headers/sys/unistd.h b/headers/sys/unistd.h deleted file mode 100644 index 1e823fbd5..000000000 --- a/headers/sys/unistd.h +++ /dev/null @@ -1 +0,0 @@ -#include <unistd.h> diff --git a/headers/sys/user.h b/headers/sys/user.h deleted file mode 100644 index f9ad9563e..000000000 --- a/headers/sys/user.h +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright (C) 2013 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_USER_H_ -#define _SYS_USER_H_ - -#include <sys/cdefs.h> -#include <stddef.h> /* For size_t. */ -#include <stdint.h> - -__BEGIN_DECLS - -#define PAGE_SIZE 4096 -#define PAGE_MASK (~(PAGE_SIZE - 1)) - -#if defined(__i386__) - -struct user_fpregs_struct { - long cwd; - long swd; - long twd; - long fip; - long fcs; - long foo; - long fos; - long st_space[20]; -}; -struct user_fpxregs_struct { - unsigned short cwd; - unsigned short swd; - unsigned short twd; - unsigned short fop; - long fip; - long fcs; - long foo; - long fos; - long mxcsr; - long reserved; - long st_space[32]; - long xmm_space[32]; - long padding[56]; -}; -struct user_regs_struct { - long ebx; - long ecx; - long edx; - long esi; - long edi; - long ebp; - long eax; - long xds; - long xes; - long xfs; - long xgs; - long orig_eax; - long eip; - long xcs; - long eflags; - long esp; - long xss; -}; -struct user { - struct user_regs_struct regs; - int u_fpvalid; - struct user_fpregs_struct i387; - unsigned long int u_tsize; - unsigned long int u_dsize; - unsigned long int u_ssize; - unsigned long start_code; - unsigned long start_stack; - long int signal; - int reserved; - struct user_regs_struct* u_ar0; - struct user_fpregs_struct* u_fpstate; - unsigned long magic; - char u_comm[32]; - int u_debugreg[8]; -}; - -#elif defined(__x86_64__) - -struct user_fpregs_struct { - unsigned short cwd; - unsigned short swd; - unsigned short ftw; - unsigned short fop; - unsigned long rip; - unsigned long rdp; - unsigned int mxcsr; - unsigned int mxcr_mask; - unsigned int st_space[32]; - unsigned int xmm_space[64]; - unsigned int padding[24]; -}; -struct user_regs_struct { - unsigned long r15; - unsigned long r14; - unsigned long r13; - unsigned long r12; - unsigned long rbp; - unsigned long rbx; - unsigned long r11; - unsigned long r10; - unsigned long r9; - unsigned long r8; - unsigned long rax; - unsigned long rcx; - unsigned long rdx; - unsigned long rsi; - unsigned long rdi; - unsigned long orig_rax; - unsigned long rip; - unsigned long cs; - unsigned long eflags; - unsigned long rsp; - unsigned long ss; - unsigned long fs_base; - unsigned long gs_base; - unsigned long ds; - unsigned long es; - unsigned long fs; - unsigned long gs; -}; -struct user { - struct user_regs_struct regs; - int u_fpvalid; - int pad0; - struct user_fpregs_struct i387; - unsigned long int u_tsize; - unsigned long int u_dsize; - unsigned long int u_ssize; - unsigned long start_code; - unsigned long start_stack; - long int signal; - int reserved; - int pad1; - struct user_regs_struct* u_ar0; - struct user_fpregs_struct* u_fpstate; - unsigned long magic; - char u_comm[32]; - unsigned long u_debugreg[8]; - unsigned long error_code; - unsigned long fault_address; -}; - -#elif defined(__mips__) - -struct user { - unsigned long regs[180 / sizeof(unsigned long) + 64]; - size_t u_tsize; - size_t u_dsize; - size_t u_ssize; - unsigned long start_code; - unsigned long start_data; - unsigned long start_stack; - long int signal; - void* u_ar0; - unsigned long magic; - char u_comm[32]; -}; - -#elif defined(__arm__) - -struct user_fpregs { - struct fp_reg { - unsigned int sign1:1; - unsigned int unused:15; - unsigned int sign2:1; - unsigned int exponent:14; - unsigned int j:1; - unsigned int mantissa1:31; - unsigned int mantissa0:32; - } fpregs[8]; - unsigned int fpsr:32; - unsigned int fpcr:32; - unsigned char ftype[8]; - unsigned int init_flag; -}; -struct user_regs { - unsigned long uregs[18]; -}; -struct user_vfp { - unsigned long long fpregs[32]; - unsigned long fpscr; -}; -struct user_vfp_exc { - unsigned long fpexc; - unsigned long fpinst; - unsigned long fpinst2; -}; -struct user { - struct user_regs regs; - int u_fpvalid; - unsigned long int u_tsize; - unsigned long int u_dsize; - unsigned long int u_ssize; - unsigned long start_code; - unsigned long start_stack; - long int signal; - int reserved; - struct user_regs* u_ar0; - unsigned long magic; - char u_comm[32]; - int u_debugreg[8]; - struct user_fpregs u_fp; - struct user_fpregs* u_fp0; -}; - -#elif defined(__aarch64__) - -struct user_regs_struct { - uint64_t regs[31]; - uint64_t sp; - uint64_t pc; - uint64_t pstate; -}; -struct user_fpsimd_struct { - __uint128_t vregs[32]; - uint32_t fpsr; - uint32_t fpcr; -}; - -#else - -#error "Unsupported architecture." - -#endif - -__END_DECLS - -#endif /* _SYS_USER_H_ */ diff --git a/headers/sys/utsname.h b/headers/sys/utsname.h deleted file mode 100644 index b3856a704..000000000 --- a/headers/sys/utsname.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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_UTSNAME_H_ -#define _SYS_UTSNAME_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS - -#define SYS_NMLN 65 - -struct utsname { - char sysname [SYS_NMLN]; - char nodename [SYS_NMLN]; - char release [SYS_NMLN]; - char version [SYS_NMLN]; - char machine [SYS_NMLN]; - char domainname[SYS_NMLN]; -}; - -int uname(struct utsname*); - -__END_DECLS - -#endif /* _SYS_UTSNAME_H_ */ diff --git a/headers/sys/vfs.h b/headers/sys/vfs.h deleted file mode 100644 index 69b686337..000000000 --- a/headers/sys/vfs.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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_VFS_H_ -#define _SYS_VFS_H_ - -#include <stdint.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - -/* The kernel's __kernel_fsid_t has a 'val' member but glibc uses '__val'. */ -typedef struct { int __val[2]; } __fsid_t; -typedef __fsid_t fsid_t; - -#if defined(__aarch64__) || defined(__x86_64__) -#define __STATFS64_BODY \ - uint64_t f_type; \ - uint64_t f_bsize; \ - uint64_t f_blocks; \ - uint64_t f_bfree; \ - uint64_t f_bavail; \ - uint64_t f_files; \ - uint64_t f_ffree; \ - fsid_t f_fsid; \ - uint64_t f_namelen; \ - uint64_t f_frsize; \ - uint64_t f_flags; \ - uint64_t f_spare[4]; \ - -#elif defined(__mips__) && defined(__LP64__) -/* 64-bit MIPS. */ -#define __STATFS64_BODY \ - uint64_t f_type; \ - uint64_t f_bsize; \ - uint64_t f_frsize; /* Fragment size - unsupported. */ \ - uint64_t f_blocks; \ - uint64_t f_bfree; \ - uint64_t f_files; \ - uint64_t f_ffree; \ - uint64_t f_bavail; \ - fsid_t f_fsid; \ - uint64_t f_namelen; \ - uint64_t f_flags; \ - uint64_t f_spare[5]; \ - -#elif defined(__mips__) -/* 32-bit MIPS (corresponds to the kernel's statfs64 type). */ -#define __STATFS64_BODY \ - uint32_t f_type; \ - uint32_t f_bsize; \ - uint32_t f_frsize; \ - uint32_t __pad; \ - uint64_t f_blocks; \ - uint64_t f_bfree; \ - uint64_t f_files; \ - uint64_t f_ffree; \ - uint64_t f_bavail; \ - fsid_t f_fsid; \ - uint32_t f_namelen; \ - uint32_t f_flags; \ - uint32_t f_spare[5]; \ - -#else -/* 32-bit ARM or x86 (corresponds to the kernel's statfs64 type). */ -#define __STATFS64_BODY \ - uint32_t f_type; \ - uint32_t f_bsize; \ - uint64_t f_blocks; \ - uint64_t f_bfree; \ - uint64_t f_bavail; \ - uint64_t f_files; \ - uint64_t f_ffree; \ - fsid_t f_fsid; \ - uint32_t f_namelen; \ - uint32_t f_frsize; \ - uint32_t f_flags; \ - uint32_t f_spare[4]; \ - -#endif - -struct statfs { __STATFS64_BODY }; -struct statfs64 { __STATFS64_BODY }; - -#undef __STATFS64_BODY - -/* Declare that we have the f_namelen, f_frsize, and f_flags fields. */ -#define _STATFS_F_NAMELEN -#define _STATFS_F_FRSIZE -#define _STATFS_F_FLAGS - -/* Pull in the kernel magic numbers. */ -#include <linux/magic.h> -/* Add in ones that we had historically that aren't in the uapi header. */ -#define BEFS_SUPER_MAGIC 0x42465331 -#define BFS_MAGIC 0x1BADFACE -#define CIFS_MAGIC_NUMBER 0xFF534D42 -#define COH_SUPER_MAGIC 0x012FF7B7 -#define DEVFS_SUPER_MAGIC 0x1373 -#define EXT_SUPER_MAGIC 0x137D -#define EXT2_OLD_SUPER_MAGIC 0xEF51 -#define HFS_SUPER_MAGIC 0x4244 -#define JFS_SUPER_MAGIC 0x3153464a -#define NTFS_SB_MAGIC 0x5346544e -#define ROMFS_MAGIC 0x7275 -#define SYSV2_SUPER_MAGIC 0x012FF7B6 -#define SYSV4_SUPER_MAGIC 0x012FF7B5 -#define UDF_SUPER_MAGIC 0x15013346 -#define UFS_MAGIC 0x00011954 -#define VXFS_SUPER_MAGIC 0xa501FCF5 -#define XENIX_SUPER_MAGIC 0x012FF7B4 -#define XFS_SUPER_MAGIC 0x58465342 - -int statfs(const char* _Nonnull, struct statfs* _Nonnull); - -#if __ANDROID_API__ >= 21 -int statfs64(const char* _Nonnull, struct statfs64* _Nonnull) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int fstatfs(int, struct statfs* _Nonnull); - -#if __ANDROID_API__ >= 21 -int fstatfs64(int, struct statfs64* _Nonnull) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _SYS_VFS_H_ */ diff --git a/headers/sys/vt.h b/headers/sys/vt.h deleted file mode 100644 index 834abfbc8..000000000 --- a/headers/sys/vt.h +++ /dev/null @@ -1 +0,0 @@ -#include <linux/vt.h> diff --git a/headers/sys/wait.h b/headers/sys/wait.h deleted file mode 100644 index 0247b2bce..000000000 --- a/headers/sys/wait.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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_WAIT_H_ -#define _SYS_WAIT_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/resource.h> -#include <linux/wait.h> -#include <signal.h> - -__BEGIN_DECLS - -#define WEXITSTATUS(s) (((s) & 0xff00) >> 8) -#define WCOREDUMP(s) ((s) & 0x80) -#define WTERMSIG(s) ((s) & 0x7f) -#define WSTOPSIG(s) WEXITSTATUS(s) - -#define WIFEXITED(s) (WTERMSIG(s) == 0) -#define WIFSTOPPED(s) (WTERMSIG(s) == 0x7f) -#define WIFSIGNALED(s) (WTERMSIG((s)+1) >= 2) -#define WIFCONTINUED(s) ((s) == 0xffff) - -#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) -#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) - -pid_t wait(int*); -pid_t waitpid(pid_t, int*, int); -#if __ANDROID_API__ >= __ANDROID_API_J_MR2__ -pid_t wait4(pid_t, int*, int, struct rusage*) __INTRODUCED_IN(18); -#else -// Implemented as a static inline before 18. -#endif - -/* Posix states that idtype_t should be an enumeration type, but - * the kernel headers define P_ALL, P_PID and P_PGID as constant macros - * instead. - */ -typedef int idtype_t; - -int waitid(idtype_t which, id_t id, siginfo_t* info, int options); - -__END_DECLS - -#include <android/legacy_sys_wait_inlines.h> - -#endif /* _SYS_WAIT_H_ */ diff --git a/headers/sys/xattr.h b/headers/sys/xattr.h deleted file mode 100644 index a1ab742dc..000000000 --- a/headers/sys/xattr.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2012 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_XATTR_H_ -#define _SYS_XATTR_H_ - -#include <linux/xattr.h> -#include <sys/cdefs.h> -#include <sys/types.h> - -__BEGIN_DECLS - - -#if __ANDROID_API__ >= 16 -int fsetxattr(int fd, const char* name, const void* value, size_t size, int flags) - __INTRODUCED_IN(16); -int setxattr(const char* path, const char* name, const void* value, size_t size, int flags) - __INTRODUCED_IN(16); -int lsetxattr(const char* path, const char* name, const void* value, size_t size, int flags) - __INTRODUCED_IN(16); - -ssize_t fgetxattr(int fd, const char* name, void* value, size_t size) __INTRODUCED_IN(16); -ssize_t getxattr(const char* path, const char* name, void* value, size_t size) __INTRODUCED_IN(16); -ssize_t lgetxattr(const char* path, const char* name, void* value, size_t size) __INTRODUCED_IN(16); - -ssize_t listxattr(const char* path, char* list, size_t size) __INTRODUCED_IN(16); -ssize_t llistxattr(const char* path, char* list, size_t size) __INTRODUCED_IN(16); -ssize_t flistxattr(int fd, char* list, size_t size) __INTRODUCED_IN(16); - -int removexattr(const char* path, const char* name) __INTRODUCED_IN(16); -int lremovexattr(const char* path, const char* name) __INTRODUCED_IN(16); -int fremovexattr(int fd, const char* name) __INTRODUCED_IN(16); -#endif /* __ANDROID_API__ >= 16 */ - - -__END_DECLS - -#endif /* _SYS_XATTR_H_ */ diff --git a/headers/syscall.h b/headers/syscall.h deleted file mode 100644 index 4c3057844..000000000 --- a/headers/syscall.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/syscall.h> diff --git a/headers/sysexits.h b/headers/sysexits.h deleted file mode 100644 index 97f5366ca..000000000 --- a/headers/sysexits.h +++ /dev/null @@ -1,121 +0,0 @@ -/* $OpenBSD: sysexits.h,v 1.5 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: sysexits.h,v 1.4 1994/10/26 00:56:33 cgd Exp $ */ - -/* - * Copyright (c) 1987 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. - * - * @(#)sysexits.h 4.8 (Berkeley) 4/3/91 - */ - -#ifndef _SYSEXITS_H_ -#define _SYSEXITS_H_ - -#include <sys/cdefs.h> - -/* - * SYSEXITS.H -- Exit status codes for system programs. - * - * This include file attempts to categorize possible error - * exit statuses for system programs, notably delivermail - * and the Berkeley network. - * - * Error numbers begin at EX__BASE to reduce the possibility of - * clashing with other exit statuses that random programs may - * already return. The meaning of the codes is approximately - * as follows: - * - * EX_USAGE -- The command was used incorrectly, e.g., with - * the wrong number of arguments, a bad flag, a bad - * syntax in a parameter, or whatever. - * EX_DATAERR -- The input data was incorrect in some way. - * This should only be used for user's data & not - * system files. - * EX_NOINPUT -- An input file (not a system file) did not - * exist or was not readable. This could also include - * errors like "No message" to a mailer (if it cared - * to catch it). - * EX_NOUSER -- The user specified did not exist. This might - * be used for mail addresses or remote logins. - * EX_NOHOST -- The host specified did not exist. This is used - * in mail addresses or network requests. - * EX_UNAVAILABLE -- A service is unavailable. This can occur - * if a support program or file does not exist. This - * can also be used as a catchall message when something - * you wanted to do doesn't work, but you don't know - * why. - * EX_SOFTWARE -- An internal software error has been detected. - * This should be limited to non-operating system related - * errors as possible. - * EX_OSERR -- An operating system error has been detected. - * This is intended to be used for such things as "cannot - * fork", "cannot create pipe", or the like. It includes - * things like getuid returning a user that does not - * exist in the passwd file. - * EX_OSFILE -- Some system file (e.g., /etc/passwd, /var/run/utmp, - * etc.) does not exist, cannot be opened, or has some - * sort of error (e.g., syntax error). - * EX_CANTCREAT -- A (user specified) output file cannot be - * created. - * EX_IOERR -- An error occurred while doing I/O on some file. - * EX_TEMPFAIL -- temporary failure, indicating something that - * is not really an error. In sendmail, this means - * that a mailer (e.g.) could not create a connection, - * and the request should be reattempted later. - * EX_PROTOCOL -- the remote system returned something that - * was "not possible" during a protocol exchange. - * EX_NOPERM -- You did not have sufficient permission to - * perform the operation. This is not intended for - * file system problems, which should use EX_NOINPUT or - * EX_CANTCREAT, but rather for higher level permissions. - * EX_CONFIG -- Something was found in an unconfigured or - * misconfigured state. - */ - -#define EX_OK 0 /* successful termination */ - -#define EX__BASE 64 /* base value for error messages */ - -#define EX_USAGE 64 /* command line usage error */ -#define EX_DATAERR 65 /* data format error */ -#define EX_NOINPUT 66 /* cannot open input */ -#define EX_NOUSER 67 /* addressee unknown */ -#define EX_NOHOST 68 /* host name unknown */ -#define EX_UNAVAILABLE 69 /* service unavailable */ -#define EX_SOFTWARE 70 /* internal software error */ -#define EX_OSERR 71 /* system error (e.g., can't fork) */ -#define EX_OSFILE 72 /* critical OS file missing */ -#define EX_CANTCREAT 73 /* can't create (user) output file */ -#define EX_IOERR 74 /* input/output error */ -#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */ -#define EX_PROTOCOL 76 /* remote error in protocol */ -#define EX_NOPERM 77 /* permission denied */ -#define EX_CONFIG 78 /* configuration error */ - -#define EX__MAX 78 /* maximum listed value */ - -#endif /* !_SYSEXITS_H_ */ diff --git a/headers/syslog.h b/headers/syslog.h deleted file mode 100644 index 4b7eecb24..000000000 --- a/headers/syslog.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * 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 _SYSLOG_H -#define _SYSLOG_H - -#include <stdio.h> -#include <sys/cdefs.h> -#include <stdarg.h> - -__BEGIN_DECLS - -/* Priorities are translated to Android log priorities as shown. */ -#define LOG_EMERG 0 /* ERROR */ -#define LOG_ALERT 1 /* ERROR */ -#define LOG_CRIT 2 /* ERROR */ -#define LOG_ERR 3 /* ERROR */ -#define LOG_WARNING 4 /* WARN */ -#define LOG_NOTICE 5 /* INFO */ -#define LOG_INFO 6 /* INFO */ -#define LOG_DEBUG 7 /* DEBUG */ - -#define LOG_PRIMASK 7 -#define LOG_PRI(x) ((x) & LOG_PRIMASK) -#define LOG_MAKEPRI(fac, pri) ((fac) | (pri)) - -/* Facilities are currently ignored on Android. */ -#define LOG_KERN 0000 -#define LOG_USER 0010 -#define LOG_MAIL 0020 -#define LOG_DAEMON 0030 -#define LOG_AUTH 0040 -#define LOG_SYSLOG 0050 -#define LOG_LPR 0060 -#define LOG_NEWS 0070 -#define LOG_UUCP 0100 -#define LOG_CRON 0110 -#define LOG_AUTHPRIV 0120 -#define LOG_FTP 0130 -#define LOG_LOCAL0 0200 -#define LOG_LOCAL1 0210 -#define LOG_LOCAL2 0220 -#define LOG_LOCAL3 0230 -#define LOG_LOCAL4 0240 -#define LOG_LOCAL5 0250 -#define LOG_LOCAL6 0260 -#define LOG_LOCAL7 0270 - -#define LOG_FACMASK 01770 -#define LOG_FAC(x) (((x) >> 3) & (LOG_FACMASK >> 3)) - -#define LOG_MASK(pri) (1 << (pri)) -#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) - -/* openlog(3) flags are currently ignored on Android. */ -#define LOG_PID 0x01 -#define LOG_CONS 0x02 -#define LOG_ODELAY 0x04 -#define LOG_NDELAY 0x08 -#define LOG_NOWAIT 0x10 -#define LOG_PERROR 0x20 - -void closelog(void); -void openlog(const char* _Nullable, int, int); -int setlogmask(int); -void syslog(int, const char* _Nonnull, ...) __printflike(2, 3); -#if defined(__arm__) || defined(__aarch64__) || defined(__x86_64__) -void vsyslog(int, const char* _Nonnull, va_list) __printflike(2, 0); -#else /* defined(__mips__) || defined(__i386__) */ -void vsyslog(int, const char* _Nonnull, va_list _Nonnull) __printflike(2, 0); -#endif - -__END_DECLS - -#endif /* _SYSLOG_H */ diff --git a/headers/tar.h b/headers/tar.h deleted file mode 100644 index a5d7a36cd..000000000 --- a/headers/tar.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 _TAR_H_ -#define _TAR_H_ - -#include <sys/cdefs.h> - -#define TMAGIC "ustar" -#define TMAGLEN 6 -#define TVERSION "00" -#define TVERSLEN 2 - -#define REGTYPE '0' -#define AREGTYPE '\0' -#define LNKTYPE '1' -#define SYMTYPE '2' -#define CHRTYPE '3' -#define BLKTYPE '4' -#define DIRTYPE '5' -#define FIFOTYPE '6' -#define CONTTYPE '7' - -#define TSUID 04000 -#define TSGID 02000 -#define TSVTX 01000 -#define TUREAD 00400 -#define TUWRITE 00200 -#define TUEXEC 00100 -#define TGREAD 00040 -#define TGWRITE 00020 -#define TGEXEC 00010 -#define TOREAD 00004 -#define TOWRITE 00002 -#define TOEXEC 00001 - -#endif /* _TAR_H_ */ diff --git a/headers/termio.h b/headers/termio.h deleted file mode 100644 index 9e2695652..000000000 --- a/headers/termio.h +++ /dev/null @@ -1 +0,0 @@ -#include <termios.h> diff --git a/headers/termios.h b/headers/termios.h deleted file mode 100644 index ab27d9d83..000000000 --- a/headers/termios.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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 _TERMIOS_H_ -#define _TERMIOS_H_ - -#include <sys/cdefs.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <linux/termios.h> - -__BEGIN_DECLS - -#if __ANDROID_API__ >= __ANDROID_API_L__ -// Implemented as static inlines before 21. -speed_t cfgetispeed(const struct termios*) __INTRODUCED_IN(21); -speed_t cfgetospeed(const struct termios*) __INTRODUCED_IN(21); -void cfmakeraw(struct termios*) __INTRODUCED_IN(21); -int cfsetispeed(struct termios*, speed_t) __INTRODUCED_IN(21); -int cfsetospeed(struct termios*, speed_t) __INTRODUCED_IN(21); -int tcflow(int, int) __INTRODUCED_IN(21); -int tcflush(int, int) __INTRODUCED_IN(21); -int tcgetattr(int, struct termios*) __INTRODUCED_IN(21); -pid_t tcgetsid(int) __INTRODUCED_IN(21); -int tcsendbreak(int, int) __INTRODUCED_IN(21); -int tcsetattr(int, int, const struct termios*) __INTRODUCED_IN(21); -#endif - - -#if __ANDROID_API__ >= 21 -int cfsetspeed(struct termios*, speed_t) __INTRODUCED_IN(21); -int tcdrain(int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#include <android/legacy_termios_inlines.h> - -#endif /* _TERMIOS_H_ */ diff --git a/headers/time.h b/headers/time.h deleted file mode 100644 index ea8e413bd..000000000 --- a/headers/time.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * 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 _TIME_H_ -#define _TIME_H_ - -#include <sys/cdefs.h> -#include <sys/time.h> -#include <xlocale.h> - -__BEGIN_DECLS - -#define CLOCKS_PER_SEC 1000000 - -extern char* tzname[]; -extern int daylight; -extern long int timezone; - -struct sigevent; - -struct tm { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; - long int tm_gmtoff; - const char* tm_zone; -}; - -#define TM_ZONE tm_zone - -time_t time(time_t*); -int nanosleep(const struct timespec*, struct timespec*); - -char* asctime(const struct tm*); -char* asctime_r(const struct tm*, char*); - -double difftime(time_t, time_t); -time_t mktime(struct tm*); - -struct tm* localtime(const time_t*); -struct tm* localtime_r(const time_t*, struct tm*); - -struct tm* gmtime(const time_t*); -struct tm* gmtime_r(const time_t*, struct tm*); - -char* strptime(const char*, const char*, struct tm*); -size_t strftime(char*, size_t, const char*, const struct tm*); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -size_t strftime_l(char*, size_t, const char*, const struct tm*, locale_t) __INTRODUCED_IN(21); -#else -// Implemented as static inline before 21. -#endif - -char* ctime(const time_t*); -char* ctime_r(const time_t*, char*); - -void tzset(void); - -clock_t clock(void); - - -#if __ANDROID_API__ >= 23 -int clock_getcpuclockid(pid_t, clockid_t*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -int clock_getres(clockid_t, struct timespec*); -int clock_gettime(clockid_t, struct timespec*); -int clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*); -int clock_settime(clockid_t, const struct timespec*); - -int timer_create(int, struct sigevent*, timer_t*); -int timer_delete(timer_t); -int timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*); -int timer_gettime(timer_t, struct itimerspec*); -int timer_getoverrun(timer_t); - -/* Non-standard extensions that are in the BSDs and glibc. */ - -#if __ANDROID_API__ >= 12 -time_t timelocal(struct tm*) __INTRODUCED_IN(12); -time_t timegm(struct tm*) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -__END_DECLS - -#endif /* _TIME_H_ */ diff --git a/headers/time64.h b/headers/time64.h deleted file mode 100644 index 905669d98..000000000 --- a/headers/time64.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - -Copyright (c) 2007-2008 Michael G Schwern - -This software originally derived from Paul Sheer's pivotal_gmtime_r.c. - -The MIT License: - -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. - -Origin: http://code.google.com/p/y2038 -Modified for Bionic by the Android Open Source Project - -*/ -#ifndef TIME64_H -#define TIME64_H - -#if defined(__LP64__) - -#error Your time_t is already 64-bit. - -#else - -/* Legacy cruft for LP32 where time_t was 32-bit. */ - -#include <sys/cdefs.h> -#include <time.h> -#include <stdint.h> - -__BEGIN_DECLS - -typedef int64_t time64_t; - -char* asctime64(const struct tm*); -char* asctime64_r(const struct tm*, char*); -char* ctime64(const time64_t*); -char* ctime64_r(const time64_t*, char*); -struct tm* gmtime64(const time64_t*); -struct tm* gmtime64_r(const time64_t*, struct tm*); -struct tm* localtime64(const time64_t*); -struct tm* localtime64_r(const time64_t*, struct tm*); -time64_t mktime64(const struct tm*); -time64_t timegm64(const struct tm*); -time64_t timelocal64(const struct tm*); - -__END_DECLS - -#endif - -#endif /* TIME64_H */ diff --git a/headers/uchar.h b/headers/uchar.h deleted file mode 100644 index b523dc598..000000000 --- a/headers/uchar.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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 _UCHAR_H_ -#define _UCHAR_H_ - -#include <stddef.h> -#include <sys/cdefs.h> -#include <bits/mbstate_t.h> - -__BEGIN_DECLS - -#if !defined(__cplusplus) -typedef __CHAR16_TYPE__ char16_t; -typedef __CHAR32_TYPE__ char32_t; -#endif - -#define __STD_UTF_16__ 1 -#define __STD_UTF_32__ 1 - - -#if __ANDROID_API__ >= 21 -size_t c16rtomb(char* __restrict, char16_t, mbstate_t* __restrict) __INTRODUCED_IN(21); -size_t c32rtomb(char* __restrict, char32_t, mbstate_t* __restrict) __INTRODUCED_IN(21); -size_t mbrtoc16(char16_t* __restrict, const char* __restrict, size_t, mbstate_t* __restrict) - __INTRODUCED_IN(21); -size_t mbrtoc32(char32_t* __restrict, const char* __restrict, size_t, mbstate_t* __restrict) - __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _UCHAR_H_ */ diff --git a/headers/ucontext.h b/headers/ucontext.h deleted file mode 100644 index 73c2166c8..000000000 --- a/headers/ucontext.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/ucontext.h> diff --git a/headers/unistd.h b/headers/unistd.h deleted file mode 100644 index a1e23fcdc..000000000 --- a/headers/unistd.h +++ /dev/null @@ -1,640 +0,0 @@ -/* - * 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 _UNISTD_H_ -#define _UNISTD_H_ - -#include <stddef.h> -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/select.h> - -#include <bits/fcntl.h> -#include <bits/getopt.h> -#include <bits/ioctl.h> -#include <bits/lockf.h> -#include <bits/posix_limits.h> -#include <bits/seek_constants.h> -#include <bits/sysconf.h> - -__BEGIN_DECLS - -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -#define F_OK 0 -#define X_OK 1 -#define W_OK 2 -#define R_OK 4 - -#define _PC_FILESIZEBITS 0 -#define _PC_LINK_MAX 1 -#define _PC_MAX_CANON 2 -#define _PC_MAX_INPUT 3 -#define _PC_NAME_MAX 4 -#define _PC_PATH_MAX 5 -#define _PC_PIPE_BUF 6 -#define _PC_2_SYMLINKS 7 -#define _PC_ALLOC_SIZE_MIN 8 -#define _PC_REC_INCR_XFER_SIZE 9 -#define _PC_REC_MAX_XFER_SIZE 10 -#define _PC_REC_MIN_XFER_SIZE 11 -#define _PC_REC_XFER_ALIGN 12 -#define _PC_SYMLINK_MAX 13 -#define _PC_CHOWN_RESTRICTED 14 -#define _PC_NO_TRUNC 15 -#define _PC_VDISABLE 16 -#define _PC_ASYNC_IO 17 -#define _PC_PRIO_IO 18 -#define _PC_SYNC_IO 19 - -extern char** environ; - -__noreturn void _exit(int __status); - -pid_t fork(void); -pid_t vfork(void); -pid_t getpid(void); -pid_t gettid(void) __attribute_const__; -pid_t getpgid(pid_t __pid); -int setpgid(pid_t __pid, pid_t __pgid); -pid_t getppid(void); -pid_t getpgrp(void); -int setpgrp(void); - -#if __ANDROID_API__ >= 17 -pid_t getsid(pid_t __pid) __INTRODUCED_IN(17); -#endif /* __ANDROID_API__ >= 17 */ - -pid_t setsid(void); - -int execv(const char* __path, char* const* __argv); -int execvp(const char* __file, char* const* __argv); - -#if __ANDROID_API__ >= 21 -int execvpe(const char* __file, char* const* __argv, char* const* __envp) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int execve(const char* __file, char* const* __argv, char* const* __envp); -int execl(const char* __path, const char* __arg0, ...) __attribute__((__sentinel__)); -int execlp(const char* __file, const char* __arg0, ...) __attribute__((__sentinel__)); -int execle(const char* __path, const char* __arg0, ... /*, char* const* __envp */) - __attribute__((__sentinel__(1))); - -int nice(int __incr); - -int setuid(uid_t __uid); -uid_t getuid(void); -int seteuid(uid_t __uid); -uid_t geteuid(void); -int setgid(gid_t __gid); -gid_t getgid(void); -int setegid(gid_t __gid); -gid_t getegid(void); -int getgroups(int __size, gid_t* __list); -int setgroups(size_t __size, const gid_t* __list); -int setreuid(uid_t __ruid, uid_t __euid); -int setregid(gid_t __rgid, gid_t __egid); -int setresuid(uid_t __ruid, uid_t __euid, uid_t __suid); -int setresgid(gid_t __rgid, gid_t __egid, gid_t __sgid); -int getresuid(uid_t* __ruid, uid_t* __euid, uid_t* __suid); -int getresgid(gid_t* __rgid, gid_t* __egid, gid_t* __sgid); -char* getlogin(void); - -long fpathconf(int __fd, int __name); -long pathconf(const char* __path, int __name); - -int access(const char* __path, int __mode); - -#if __ANDROID_API__ >= 16 -int faccessat(int __dirfd, const char* __path, int __mode, int __flags) __INTRODUCED_IN(16); -#endif /* __ANDROID_API__ >= 16 */ - -int link(const char* __oldpath, const char* __newpath); - -#if __ANDROID_API__ >= 21 -int linkat(int __olddirfd, const char* __oldpath, int __newdirfd, - const char* __newpath, int __flags) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int unlink(const char* __path); -int unlinkat(int __dirfd, const char* __path, int __flags); -int chdir(const char* __path); -int fchdir(int __fd); -int rmdir(const char* __path); -int pipe(int* __pipefd); -#if defined(__USE_GNU) -int pipe2(int* __pipefd, int __flags) __INTRODUCED_IN(9); -#endif -int chroot(const char* __path); -int symlink(const char* __oldpath, const char* __newpath); - -#if __ANDROID_API__ >= 21 -int symlinkat(const char* __oldpath, int __newdirfd, const char* __newpath) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -ssize_t readlink(const char* __path, char* __buf, size_t __bufsiz); - -#if __ANDROID_API__ >= 21 -ssize_t readlinkat(int __dirfd, const char* __path, char* __buf, - size_t __bufsiz) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int chown(const char* __path, uid_t __owner, gid_t __group); -int fchown(int __fd, uid_t __owner, gid_t __group); -int fchownat(int __dirfd, const char* __path, uid_t __owner, gid_t __group, int __flags); -int lchown(const char* __path, uid_t __owner, gid_t __group); -char* getcwd(char* __buf, size_t __size); - -void sync(void); - -int close(int __fd); - -ssize_t read(int __fd, void* __buf, size_t __count); -ssize_t write(int __fd, const void* __buf, size_t __count); - -int dup(int __oldfd); -int dup2(int __oldfd, int __newfd); - -#if __ANDROID_API__ >= 21 -int dup3(int __oldfd, int __newfd, int __flags) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int fsync(int __fd); -int fdatasync(int __fd) __INTRODUCED_IN(9); - -#if defined(__USE_FILE_OFFSET64) -off_t lseek(int __fd, off_t __offset, int __whence) __RENAME(lseek64); -#else -off_t lseek(int __fd, off_t __offset, int __whence); -#endif - -off64_t lseek64(int __fd, off64_t __offset, int __whence); - -#if defined(__USE_FILE_OFFSET64) && __ANDROID_API__ >= __ANDROID_API_L__ -int truncate(const char* __path, off_t __length) __RENAME(truncate64) __INTRODUCED_IN(21); -ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset) __RENAME(pread64) - __INTRODUCED_IN(12); -ssize_t pwrite(int __fd, const void* __buf, size_t __count, off_t __offset) - __RENAME(pwrite64) __INTRODUCED_IN(12); -int ftruncate(int __fd, off_t __length) __RENAME(ftruncate64) __INTRODUCED_IN(12); -#else -int truncate(const char* __path, off_t __length); -ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset); -ssize_t pwrite(int __fd, const void* __buf, size_t __count, off_t __offset); -int ftruncate(int __fd, off_t __length); -#endif - - -#if __ANDROID_API__ >= 21 -int truncate64(const char* __path, off64_t __length) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -#if __ANDROID_API__ >= 12 -ssize_t pread64(int __fd, void* __buf, size_t __count, off64_t __offset) __INTRODUCED_IN(12); -ssize_t pwrite64(int __fd, const void* __buf, size_t __count, off64_t __offset) - __INTRODUCED_IN(12); -int ftruncate64(int __fd, off64_t __length) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - -int pause(void); -unsigned int alarm(unsigned int __seconds); -unsigned int sleep(unsigned int __seconds); -int usleep(useconds_t __usec); - -int gethostname(char* __name, size_t __len); - -#if __ANDROID_API__ >= 23 -int sethostname(const char* __name, size_t __len) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -int brk(void* __addr); -void* sbrk(ptrdiff_t __increment); - -int isatty(int __fd); -char* ttyname(int __fd); -int ttyname_r(int __fd, char* __buf, size_t __buflen) __INTRODUCED_IN(8); - -int acct(const char* __filepath); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -int getpagesize(void) __INTRODUCED_IN(21); -#else -static __inline__ int getpagesize(void) { - return sysconf(_SC_PAGESIZE); -} -#endif - -long syscall(long __number, ...); - -int daemon(int __nochdir, int __noclose); - -#if defined(__arm__) || (defined(__mips__) && !defined(__LP64__)) -int cacheflush(long __addr, long __nbytes, long __cache); - /* __attribute__((deprecated("use __builtin___clear_cache instead"))); */ -#endif - -pid_t tcgetpgrp(int __fd); -int tcsetpgrp(int __fd, pid_t __pid); - -/* Used to retry syscalls that can return EINTR. */ -#define TEMP_FAILURE_RETRY(exp) ({ \ - __typeof__(exp) _rc; \ - do { \ - _rc = (exp); \ - } while (_rc == -1 && errno == EINTR); \ - _rc; }) - -/* TODO(unified-headers): Factor out all the FORTIFY features. */ - -#if __ANDROID_API__ >= 24 -char* __getcwd_chk(char*, size_t, size_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -__errordecl(__getcwd_dest_size_error, "getcwd called with size bigger than destination"); -char* __getcwd_real(char*, size_t) __RENAME(getcwd); - - -#if __ANDROID_API__ >= 23 -ssize_t __pread_chk(int, void*, size_t, off_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__pread_dest_size_error, "pread called with size bigger than destination"); -__errordecl(__pread_count_toobig_error, "pread called with count > SSIZE_MAX"); -ssize_t __pread_real(int, void*, size_t, off_t) __RENAME(pread); - - -#if __ANDROID_API__ >= 23 -ssize_t __pread64_chk(int, void*, size_t, off64_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__pread64_dest_size_error, "pread64 called with size bigger than destination"); -__errordecl(__pread64_count_toobig_error, "pread64 called with count > SSIZE_MAX"); - -#if __ANDROID_API__ >= 12 -ssize_t __pread64_real(int, void*, size_t, off64_t) __RENAME(pread64) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - - -#if __ANDROID_API__ >= 24 -ssize_t __pwrite_chk(int, const void*, size_t, off_t, size_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -__errordecl(__pwrite_dest_size_error, "pwrite called with size bigger than destination"); -__errordecl(__pwrite_count_toobig_error, "pwrite called with count > SSIZE_MAX"); -ssize_t __pwrite_real(int, const void*, size_t, off_t) __RENAME(pwrite); - - -#if __ANDROID_API__ >= 24 -ssize_t __pwrite64_chk(int, const void*, size_t, off64_t, size_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -__errordecl(__pwrite64_dest_size_error, "pwrite64 called with size bigger than destination"); -__errordecl(__pwrite64_count_toobig_error, "pwrite64 called with count > SSIZE_MAX"); - -#if __ANDROID_API__ >= 12 -ssize_t __pwrite64_real(int, const void*, size_t, off64_t) __RENAME(pwrite64) __INTRODUCED_IN(12); -#endif /* __ANDROID_API__ >= 12 */ - - - -#if __ANDROID_API__ >= 21 -ssize_t __read_chk(int, void*, size_t, size_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -__errordecl(__read_dest_size_error, "read called with size bigger than destination"); -__errordecl(__read_count_toobig_error, "read called with count > SSIZE_MAX"); -ssize_t __read_real(int, void*, size_t) __RENAME(read); - - -#if __ANDROID_API__ >= 24 -ssize_t __write_chk(int, const void*, size_t, size_t) __INTRODUCED_IN(24); -#endif /* __ANDROID_API__ >= 24 */ - -__errordecl(__write_dest_size_error, "write called with size bigger than destination"); -__errordecl(__write_count_toobig_error, "write called with count > SSIZE_MAX"); -ssize_t __write_real(int, const void*, size_t) __RENAME(write); - - -#if __ANDROID_API__ >= 23 -ssize_t __readlink_chk(const char*, char*, size_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__readlink_dest_size_error, "readlink called with size bigger than destination"); -__errordecl(__readlink_size_toobig_error, "readlink called with size > SSIZE_MAX"); -ssize_t __readlink_real(const char*, char*, size_t) __RENAME(readlink); - - -#if __ANDROID_API__ >= 23 -ssize_t __readlinkat_chk(int dirfd, const char*, char*, size_t, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -__errordecl(__readlinkat_dest_size_error, "readlinkat called with size bigger than destination"); -__errordecl(__readlinkat_size_toobig_error, "readlinkat called with size > SSIZE_MAX"); - -#if __ANDROID_API__ >= 21 -ssize_t __readlinkat_real(int dirfd, const char*, char*, size_t) __RENAME(readlinkat) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -int getdomainname(char*, size_t) __INTRODUCED_IN_FUTURE; -int setdomainname(const char*, size_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - -#if defined(__BIONIC_FORTIFY) - -#if __ANDROID_API__ >= __ANDROID_API_N__ -__BIONIC_FORTIFY_INLINE -char* getcwd(char* buf, size_t size) { - size_t bos = __bos(buf); - -#if defined(__clang__) - /* - * Work around LLVM's incorrect __builtin_object_size implementation here - * to avoid needing the workaround in the __getcwd_chk ABI forever. - * - * https://llvm.org/bugs/show_bug.cgi?id=23277 - */ - if (buf == NULL) { - bos = __BIONIC_FORTIFY_UNKNOWN_SIZE; - } -#else - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __getcwd_real(buf, size); - } - - if (__builtin_constant_p(size) && (size > bos)) { - __getcwd_dest_size_error(); - } - - if (__builtin_constant_p(size) && (size <= bos)) { - return __getcwd_real(buf, size); - } -#endif - - return __getcwd_chk(buf, size, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -#if defined(__USE_FILE_OFFSET64) -#define __PREAD_PREFIX(x) __pread64_ ## x -#else -#define __PREAD_PREFIX(x) __pread_ ## x -#endif - -#if __ANDROID_API__ >= __ANDROID_API_M__ -__BIONIC_FORTIFY_INLINE -ssize_t pread(int fd, void* buf, size_t count, off_t offset) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __PREAD_PREFIX(count_toobig_error)(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __PREAD_PREFIX(real)(fd, buf, count, offset); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __PREAD_PREFIX(dest_size_error)(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __PREAD_PREFIX(real)(fd, buf, count, offset); - } -#endif - - return __PREAD_PREFIX(chk)(fd, buf, count, offset, bos); -} - -__BIONIC_FORTIFY_INLINE -ssize_t pread64(int fd, void* buf, size_t count, off64_t offset) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __pread64_count_toobig_error(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __pread64_real(fd, buf, count, offset); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __pread64_dest_size_error(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __pread64_real(fd, buf, count, offset); - } -#endif - - return __pread64_chk(fd, buf, count, offset, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_M__ */ - -#if defined(__USE_FILE_OFFSET64) -#define __PWRITE_PREFIX(x) __pwrite64_ ## x -#else -#define __PWRITE_PREFIX(x) __pwrite_ ## x -#endif - -#if __ANDROID_API__ >= __ANDROID_API_N__ -__BIONIC_FORTIFY_INLINE -ssize_t pwrite(int fd, const void* buf, size_t count, off_t offset) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __PWRITE_PREFIX(count_toobig_error)(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __PWRITE_PREFIX(real)(fd, buf, count, offset); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __PWRITE_PREFIX(dest_size_error)(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __PWRITE_PREFIX(real)(fd, buf, count, offset); - } -#endif - - return __PWRITE_PREFIX(chk)(fd, buf, count, offset, bos); -} - -__BIONIC_FORTIFY_INLINE -ssize_t pwrite64(int fd, const void* buf, size_t count, off64_t offset) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __pwrite64_count_toobig_error(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __pwrite64_real(fd, buf, count, offset); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __pwrite64_dest_size_error(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __pwrite64_real(fd, buf, count, offset); - } -#endif - - return __pwrite64_chk(fd, buf, count, offset, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -#if __ANDROID_API__ >= __ANDROID_API_L__ -__BIONIC_FORTIFY_INLINE -ssize_t read(int fd, void* buf, size_t count) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __read_count_toobig_error(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __read_real(fd, buf, count); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __read_dest_size_error(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __read_real(fd, buf, count); - } -#endif - - return __read_chk(fd, buf, count, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_L__ */ - -#if __ANDROID_API__ >= __ANDROID_API_N__ -__BIONIC_FORTIFY_INLINE -ssize_t write(int fd, const void* buf, size_t count) { - size_t bos = __bos0(buf); - -#if !defined(__clang__) -#if 0 /* work around a false positive due to a missed optimization */ - if (__builtin_constant_p(count) && (count > SSIZE_MAX)) { - __write_count_toobig_error(); - } -#endif - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __write_real(fd, buf, count); - } - - if (__builtin_constant_p(count) && (count > bos)) { - __write_dest_size_error(); - } - - if (__builtin_constant_p(count) && (count <= bos)) { - return __write_real(fd, buf, count); - } -#endif - - return __write_chk(fd, buf, count, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_N__ */ - -#if __ANDROID_API__ >= __ANDROID_API_M__ -__BIONIC_FORTIFY_INLINE -ssize_t readlink(const char* path, char* buf, size_t size) { - size_t bos = __bos(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(size) && (size > SSIZE_MAX)) { - __readlink_size_toobig_error(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __readlink_real(path, buf, size); - } - - if (__builtin_constant_p(size) && (size > bos)) { - __readlink_dest_size_error(); - } - - if (__builtin_constant_p(size) && (size <= bos)) { - return __readlink_real(path, buf, size); - } -#endif - - return __readlink_chk(path, buf, size, bos); -} - -__BIONIC_FORTIFY_INLINE -ssize_t readlinkat(int dirfd, const char* path, char* buf, size_t size) { - size_t bos = __bos(buf); - -#if !defined(__clang__) - if (__builtin_constant_p(size) && (size > SSIZE_MAX)) { - __readlinkat_size_toobig_error(); - } - - if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) { - return __readlinkat_real(dirfd, path, buf, size); - } - - if (__builtin_constant_p(size) && (size > bos)) { - __readlinkat_dest_size_error(); - } - - if (__builtin_constant_p(size) && (size <= bos)) { - return __readlinkat_real(dirfd, path, buf, size); - } -#endif - - return __readlinkat_chk(dirfd, path, buf, size, bos); -} -#endif /* __ANDROID_API__ >= __ANDROID_API_M__ */ - -#endif /* defined(__BIONIC_FORTIFY) */ - -__END_DECLS - -#endif /* _UNISTD_H_ */ diff --git a/headers/utime.h b/headers/utime.h deleted file mode 100644 index 978385994..000000000 --- a/headers/utime.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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 _UTIME_H_ -#define _UTIME_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/utime.h> - -__BEGIN_DECLS - -int utime(const char*, const struct utimbuf*); - -__END_DECLS - -#endif /* _UTIME_H_ */ diff --git a/headers/utmp.h b/headers/utmp.h deleted file mode 100644 index 90433e3af..000000000 --- a/headers/utmp.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * 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 _UTMP_H_ -#define _UTMP_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <time.h> - -#define _PATH_UTMP "/var/run/utmp" -#define _PATH_WTMP "/var/log/wtmp" -#define _PATH_LASTLOG "/var/log/lastlog" - -#ifdef __LP64__ -#define UT_NAMESIZE 32 -#define UT_LINESIZE 32 -#define UT_HOSTSIZE 256 -#else -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 -#endif - -#define EMPTY 0 -#define RUN_LVL 1 -#define BOOT_TIME 2 -#define NEW_TIME 3 -#define OLD_TIME 4 -#define INIT_PROCESS 5 -#define LOGIN_PROCESS 6 -#define USER_PROCESS 7 -#define DEAD_PROCESS 8 -#define ACCOUNTING 9 - -struct lastlog -{ - time_t ll_time; - char ll_line[UT_LINESIZE]; - char ll_host[UT_HOSTSIZE]; -}; - -struct exit_status -{ - short int e_termination; - short int e_exit; -}; - - -struct utmp -{ - short int ut_type; - pid_t ut_pid; - char ut_line[UT_LINESIZE]; - char ut_id[4]; - char ut_user[UT_NAMESIZE]; - char ut_host[UT_HOSTSIZE]; - - struct exit_status ut_exit; - - long int ut_session; - struct timeval ut_tv; - - int32_t ut_addr_v6[4]; - char unsed[20]; -}; - - -#define ut_name ut_user -#define ut_time ut_tv.tv_sec -#define ut_addr ut_addr_v6[0] - -__BEGIN_DECLS - -int utmpname(const char*); -void setutent(void); -struct utmp* getutent(void); -void endutent(void); - - -#if __ANDROID_API__ >= 23 -int login_tty(int) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - - -__END_DECLS - -#endif /* _UTMP_H_ */ diff --git a/headers/wait.h b/headers/wait.h deleted file mode 100644 index d01b81125..000000000 --- a/headers/wait.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/wait.h> diff --git a/headers/wchar.h b/headers/wchar.h deleted file mode 100644 index 2197e70c6..000000000 --- a/headers/wchar.h +++ /dev/null @@ -1,204 +0,0 @@ -/* - * 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 _WCHAR_H_ -#define _WCHAR_H_ - -#include <sys/cdefs.h> -#include <stdio.h> - -#include <stdarg.h> -#include <stddef.h> -#include <time.h> -#include <xlocale.h> - -#include <bits/mbstate_t.h> -#include <bits/wchar_limits.h> -#include <bits/wctype.h> - -__BEGIN_DECLS - -enum { - WC_TYPE_INVALID = 0, - WC_TYPE_ALNUM, - WC_TYPE_ALPHA, - WC_TYPE_BLANK, - WC_TYPE_CNTRL, - WC_TYPE_DIGIT, - WC_TYPE_GRAPH, - WC_TYPE_LOWER, - WC_TYPE_PRINT, - WC_TYPE_PUNCT, - WC_TYPE_SPACE, - WC_TYPE_UPPER, - WC_TYPE_XDIGIT, - WC_TYPE_MAX -}; - -wint_t btowc(int); -int fwprintf(FILE *, const wchar_t *, ...); -int fwscanf(FILE *, const wchar_t *, ...); -wint_t fgetwc(FILE *); -wchar_t *fgetws(wchar_t *, int, FILE *); -wint_t fputwc(wchar_t, FILE *); -int fputws(const wchar_t *, FILE *); -int fwide(FILE *, int); -wint_t getwc(FILE *); -wint_t getwchar(void); -int mbsinit(const mbstate_t *); -size_t mbrlen(const char *, size_t, mbstate_t *); -size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); -size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*); - -#if __ANDROID_API__ >= 21 -size_t mbsnrtowcs(wchar_t*, const char**, size_t, size_t, mbstate_t*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -wint_t putwc(wchar_t, FILE *); -wint_t putwchar(wchar_t); -int swprintf(wchar_t *, size_t, const wchar_t *, ...); -int swscanf(const wchar_t *, const wchar_t *, ...); -wint_t ungetwc(wint_t, FILE *); -int vfwprintf(FILE*, const wchar_t*, va_list); - -#if __ANDROID_API__ >= 21 -int vfwscanf(FILE*, const wchar_t*, va_list) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int vswprintf(wchar_t*, size_t, const wchar_t*, va_list); - -#if __ANDROID_API__ >= 21 -int vswscanf(const wchar_t*, const wchar_t*, va_list) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int vwprintf(const wchar_t*, va_list); - -#if __ANDROID_API__ >= 21 -int vwscanf(const wchar_t*, va_list) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -wchar_t* wcpcpy (wchar_t*, const wchar_t *); -wchar_t* wcpncpy (wchar_t*, const wchar_t *, size_t); -size_t wcrtomb(char *, wchar_t, mbstate_t *); -int wcscasecmp(const wchar_t *, const wchar_t *); - -#if __ANDROID_API__ >= 23 -int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -wchar_t *wcscat(wchar_t *, const wchar_t *); -wchar_t *wcschr(const wchar_t *, wchar_t); -int wcscmp(const wchar_t *, const wchar_t *); -int wcscoll(const wchar_t *, const wchar_t *); -wchar_t *wcscpy(wchar_t *, const wchar_t *); -size_t wcscspn(const wchar_t *, const wchar_t *); -size_t wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *); -size_t wcslen(const wchar_t *); -int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); - -#if __ANDROID_API__ >= 23 -int wcsncasecmp_l(const wchar_t*, const wchar_t*, size_t, locale_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t); -int wcsncmp(const wchar_t *, const wchar_t *, size_t); -wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t); - -#if __ANDROID_API__ >= 21 -size_t wcsnrtombs(char*, const wchar_t**, size_t, size_t, mbstate_t*) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -wchar_t *wcspbrk(const wchar_t *, const wchar_t *); -wchar_t *wcsrchr(const wchar_t *, wchar_t); -size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*); -size_t wcsspn(const wchar_t *, const wchar_t *); -wchar_t *wcsstr(const wchar_t *, const wchar_t *); -double wcstod(const wchar_t*, wchar_t**); - -#if __ANDROID_API__ >= 21 -float wcstof(const wchar_t*, wchar_t**) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**); -long wcstol(const wchar_t*, wchar_t**, int); - -#if __ANDROID_API__ >= 21 -long long wcstoll(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21); -long double wcstold(const wchar_t*, wchar_t**) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -unsigned long wcstoul(const wchar_t*, wchar_t**, int); - -#if __ANDROID_API__ >= 21 -unsigned long long wcstoull(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - -int wcswidth(const wchar_t *, size_t); -size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); -int wctob(wint_t); -int wcwidth(wchar_t); -wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); -int wmemcmp(const wchar_t *, const wchar_t *, size_t); -wchar_t *wmemcpy(wchar_t *, const wchar_t *, size_t); -#if defined(__USE_GNU) - -#if __ANDROID_API__ >= 23 -wchar_t* wmempcpy(wchar_t*, const wchar_t*, size_t) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -#endif -wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); -wchar_t *wmemset(wchar_t *, wchar_t, size_t); -int wprintf(const wchar_t *, ...); -int wscanf(const wchar_t *, ...); - -#if __ANDROID_API__ >= __ANDROID_API_L__ -long long wcstoll_l(const wchar_t*, wchar_t**, int, locale_t) __INTRODUCED_IN(21); -unsigned long long wcstoull_l(const wchar_t*, wchar_t**, int, locale_t) __INTRODUCED_IN(21); -long double wcstold_l(const wchar_t*, wchar_t**, locale_t) __INTRODUCED_IN(21); - -int wcscoll_l(const wchar_t* _Nonnull, const wchar_t* _Nonnull, locale_t) __attribute_pure__ - __INTRODUCED_IN(21); -size_t wcsxfrm_l(wchar_t*, const wchar_t* _Nonnull, size_t, locale_t) __INTRODUCED_IN(21); -#else -// Implemented as static inlines before 21. -#endif - -size_t wcslcat(wchar_t*, const wchar_t*, size_t); -size_t wcslcpy(wchar_t*, const wchar_t*, size_t); - - -#if __ANDROID_API__ >= 23 -FILE* open_wmemstream(wchar_t**, size_t*) __INTRODUCED_IN(23); -#endif /* __ANDROID_API__ >= 23 */ - -wchar_t* wcsdup(const wchar_t*); -size_t wcsnlen(const wchar_t*, size_t); - -__END_DECLS - -#endif /* _WCHAR_H_ */ diff --git a/headers/wctype.h b/headers/wctype.h deleted file mode 100644 index 5f53153ec..000000000 --- a/headers/wctype.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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 _WCTYPE_H_ -#define _WCTYPE_H_ - -#include <bits/wctype.h> -#include <sys/cdefs.h> -#include <xlocale.h> - -__BEGIN_DECLS - -#if __ANDROID_API__ >= __ANDROID_API_L__ -int iswalnum_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswalpha_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswblank_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswcntrl_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswdigit_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswgraph_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswlower_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswprint_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswpunct_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswspace_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswupper_l(wint_t, locale_t) __INTRODUCED_IN(21); -int iswxdigit_l(wint_t, locale_t) __INTRODUCED_IN(21); - -wint_t towlower_l(wint_t, locale_t) __INTRODUCED_IN(21); -wint_t towupper_l(wint_t, locale_t) __INTRODUCED_IN(21); -#else -// Implemented as static inlines before 21. -#endif - - -#if __ANDROID_API__ >= __ANDROID_API_FUTURE__ -wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN_FUTURE; -wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN_FUTURE; -#endif /* __ANDROID_API__ >= __ANDROID_API_FUTURE__ */ - - - -#if __ANDROID_API__ >= 21 -wctype_t wctype_l(const char*, locale_t) __INTRODUCED_IN(21); -int iswctype_l(wint_t, wctype_t, locale_t) __INTRODUCED_IN(21); -#endif /* __ANDROID_API__ >= 21 */ - - -__END_DECLS - -#endif /* _WCTYPE_H_ */ diff --git a/headers/xlocale.h b/headers/xlocale.h deleted file mode 100644 index 559d24d68..000000000 --- a/headers/xlocale.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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_ - -#include <sys/cdefs.h> - -/* If we just use void* here, GCC exposes that in error messages. */ -struct __locale_t; -typedef struct __locale_t* locale_t; - -#endif /* _XLOCALE_H_ */ |