Merge "Remove the prebuilt bionic headers."
diff --git a/Android.bp b/Android.bp
index 430836d..5984f84 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 @@
     sdk_version: "24",
 }
 
-build = ["bionic.bp", "stl.bp"]
+build = ["stl.bp"]
diff --git a/bionic.bp b/bionic.bp
deleted file mode 100644
index c14f12a..0000000
--- 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 192f4ae..8b16a2f 100755
--- a/gen-blueprints.py
+++ b/gen-blueprints.py
@@ -119,7 +119,7 @@
         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 0508d31..0000000
--- 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 c83c18d..0000000
--- 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 e5c0c6b..0000000
--- 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 8f08074..0000000
--- 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 58c49c2..0000000
--- 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 10b93c0..0000000
--- 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 afdaca8..0000000
--- 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 e211de5..0000000
--- 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 23a9f07..0000000
--- 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 1124f8e..0000000
--- 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 4424bdb..0000000
--- 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 9a68a72..0000000
--- 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 4e1a185..0000000
--- 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 413f767..0000000
--- 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 b603965..0000000
--- 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 7b92fc3..0000000
--- 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 e4e9335..0000000
--- 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 594dc7a..0000000
--- 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 8c456ef..0000000
--- 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 604d35a..0000000
--- 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 7153d48..0000000
--- 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 3191a23..0000000
--- 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 53116ca..0000000
--- 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 5222910..0000000
--- 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 057a2c9..0000000
--- 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 c498c69..0000000
--- 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 7fc379b..0000000
--- 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 98ca27f..0000000
--- 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 34c5866..0000000
--- 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 f5e98a0..0000000
--- 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 08e18a1..0000000
--- 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 2cbbb11..0000000
--- 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 df7a7ce..0000000
--- 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 ffad604..0000000
--- 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 426e5ce..0000000
--- 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 0838e6c..0000000
--- 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 19cc73f..0000000
--- 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 ceeeb87..0000000
--- 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 7cae92e..0000000
--- 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 3823b83..0000000
--- 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 d365f42..0000000
--- 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 ae05d3d..0000000
--- 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 65e2930..0000000
--- 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 ca62c9e..0000000
--- 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 3f4cff9..0000000
--- 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 d6262a4..0000000
--- 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 9efed05..0000000
--- 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 a279c7f..0000000
--- 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 a4c37e6..0000000
--- 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 1a5348b..0000000
--- 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 b46c19c..0000000
--- 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 fd9c62e..0000000
--- 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 46d2eb7..0000000
--- 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 3dbead5..0000000
--- 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 ed3c1a4..0000000
--- 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 f1d9c76..0000000
--- 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 17306f7..0000000
--- 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 4f46106..0000000
--- 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 f864ee1..0000000
--- 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 a25eb65..0000000
--- 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 d284cfa..0000000
--- 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 1639787..0000000
--- 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 12c7011..0000000
--- 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 1a0719c..0000000
--- 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 3b2f590..0000000
--- 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 e26d171..0000000
--- 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 d5ba11f..0000000
--- 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 b72105f..0000000
--- 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 5eae82c..0000000
--- 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 b5e8e0e..0000000
--- 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 9c53875..0000000
--- 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 868a342..0000000
--- 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 a69005f..0000000
--- 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 43ec521..0000000
--- 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 b1b9ed0..0000000
--- 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 10fbafa..0000000
--- 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 ae20f83..0000000
--- 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 8da19a5..0000000
--- 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 4821933..0000000
--- 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 b4f6ce6..0000000
--- 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 7510592..0000000
--- 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 147f6f7..0000000
--- 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 ef517d6..0000000
--- 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 b5e8e0e..0000000
--- 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 1e837c1..0000000
--- 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 b76d045..0000000
--- 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 8869846..0000000
--- 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 62ac774..0000000
--- 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 6142c7c..0000000
--- 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 61c0501..0000000
--- 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 b06a515..0000000
--- 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 2c12819..0000000
--- 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 fe94a7e..0000000
--- 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 985e2c4..0000000
--- 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 218f22a..0000000
--- 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 7e38e1c..0000000
--- 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 be65211..0000000
--- 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 8d573b2..0000000
--- 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 322a81c..0000000
--- 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 70b89a9..0000000
--- 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 3f9e8b6..0000000
--- 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 8f44409..0000000
--- 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 0b957d2..0000000
--- 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 47070e5..0000000
--- 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 ffa6d2e..0000000
--- 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 0d2ea90..0000000
--- 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 5b20c19..0000000
--- 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 b9a40b3..0000000
--- 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 63e782e..0000000
--- 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 e8b7022..0000000
--- 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 a11d286..0000000
--- 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 339f4fc..0000000
--- 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 6b9749a..0000000
--- 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 cd30455..0000000
--- 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 f414d34..0000000
--- 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 1e6cf6c..0000000
--- 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 4a1e269..0000000
--- 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 efbcb0c..0000000
--- 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 3d6c45f..0000000
--- 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 47eb3a4..0000000
--- 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 1e189a1..0000000
--- 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 36aff7a..0000000
--- 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 26c0e0f..0000000
--- 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 341c0b0..0000000
--- 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 d3686e0..0000000
--- 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 8452086..0000000
--- 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 779ec77..0000000
--- 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 742ed57..0000000
--- 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 7ef5023..0000000
--- 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 4b881e7..0000000
--- 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 0890838..0000000
--- 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 a20f62c..0000000
--- 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 df4739e..0000000
--- 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 1066b6d..0000000
--- 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 7701d48..0000000
--- 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 0c77ff0..0000000
--- 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 0b28c9a..0000000
--- 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 72abdc2..0000000
--- 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 c3721d2..0000000
--- 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 2e602da..0000000
--- 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 55299a8..0000000
--- 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 8724626..0000000
--- 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 753ad7f..0000000
--- 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 53b3b5e..0000000
--- 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 215a251..0000000
--- 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 b936550..0000000
--- 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 a49323d..0000000
--- 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 eb30faf..0000000
--- 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 5c58bcf..0000000
--- 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 7761ece..0000000
--- 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 592cc5e..0000000
--- 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 b3fbc48..0000000
--- 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 85c8d15..0000000
--- 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 32dcec4..0000000
--- 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 f52db1f..0000000
--- 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 783c49d..0000000
--- 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 62af84b..0000000
--- 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 637ef02..0000000
--- 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 4eddf23..0000000
--- 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 fb2701f..0000000
--- 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 3e1c429..0000000
--- 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 1e823fb..0000000
--- 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 f9ad956..0000000
--- 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 b3856a7..0000000
--- 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 69b6863..0000000
--- 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 834abfb..0000000
--- 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 0247b2b..0000000
--- 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 a1ab742..0000000
--- 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 4c30578..0000000
--- 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 97f5366..0000000
--- 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 4b7eecb..0000000
--- 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 a5d7a36..0000000
--- 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 9e26956..0000000
--- 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 ab27d9d..0000000
--- 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 ea8e413..0000000
--- 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 905669d..0000000
--- 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 b523dc5..0000000
--- 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 73c2166..0000000
--- 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 a1e23fc..0000000
--- 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 9783859..0000000
--- 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 90433e3..0000000
--- 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 d01b811..0000000
--- 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 2197e70..0000000
--- 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 5f53153..0000000
--- 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 559d24d..0000000
--- 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_ */