diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2014-10-22 16:31:48 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-10-22 16:31:49 +0000 |
commit | 74db65e4eb138d90293b80dd274203462f8387bf (patch) | |
tree | 3645a107c5557215e74fa95418fc4b54e1f67b81 /9/platforms/android-21/arch-mips/usr/include/sys | |
parent | 713b0d6c13e57295bb85f89e16da550bd2a99abe (diff) | |
parent | 0fbc29f4cd89425f9d7d181ce88bc2d09e377180 (diff) | |
download | prebuilts_ndk-74db65e4eb138d90293b80dd274203462f8387bf.zip prebuilts_ndk-74db65e4eb138d90293b80dd274203462f8387bf.tar.gz prebuilts_ndk-74db65e4eb138d90293b80dd274203462f8387bf.tar.bz2 |
Merge "Add real android-21 32-bit headers/libs"
Diffstat (limited to '9/platforms/android-21/arch-mips/usr/include/sys')
66 files changed, 7439 insertions, 0 deletions
diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/auxv.h b/9/platforms/android-21/arch-mips/usr/include/sys/auxv.h new file mode 100644 index 0000000..0d753c3 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/auxv.h @@ -0,0 +1,40 @@ +/* + * 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 + +unsigned long int getauxval(unsigned long int type); + +__END_DECLS + +#endif /* _SYS_AUXV_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/cachectl.h b/9/platforms/android-21/arch-mips/usr/include/sys/cachectl.h new file mode 100644 index 0000000..57e6ae7 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/cachectl.h @@ -0,0 +1,36 @@ +/* + * 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 + +#ifdef __mips__ +#include <asm/cachectl.h> +extern int __cachectl (void *addr, __const int nbytes, __const int op); +extern int _flush_cache (char *addr, __const int nbytes, __const int op); +#endif +#endif /* sys/cachectl.h */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/capability.h b/9/platforms/android-21/arch-mips/usr/include/sys/capability.h new file mode 100644 index 0000000..7718a6c --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/capability.h @@ -0,0 +1,42 @@ +/* + * 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 + +extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); +extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap); + +__END_DECLS + +#endif /* _BIONIC_SYS_CAPABILITY_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/cdefs.h b/9/platforms/android-21/arch-mips/usr/include/sys/cdefs.h new file mode 100644 index 0000000..8ee34f7 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/cdefs.h @@ -0,0 +1,593 @@ +/* $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 + + +/* + * Macro to test if we're using a GNU C compiler of a specific vintage + * or later, for e.g. features that appeared in a particular version + * of GNU C. Usage: + * + * #if __GNUC_PREREQ(major, minor) + * ...cool feature... + * #else + * ...delete feature... + * #endif + */ +#ifdef __GNUC__ +#define __GNUC_PREREQ(x, y) \ + ((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || \ + (__GNUC__ > (x))) +#else +#define __GNUC_PREREQ(x, y) 0 +#endif + +#include <sys/cdefs_elf.h> + +#if defined(__cplusplus) +#define __BEGIN_DECLS extern "C" { +#define __END_DECLS } +#define __static_cast(x,y) static_cast<x>(y) +#else +#define __BEGIN_DECLS +#define __END_DECLS +#define __static_cast(x,y) (x)y +#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 + +#define __const const /* define reserved names to standard */ +#define __signed signed +#define __volatile volatile +#if defined(__cplusplus) +#define __inline inline /* convert to C++ keyword */ +#else +#if !defined(__GNUC__) && !defined(__lint__) +#define __inline /* delete GCC keyword */ +#endif /* !__GNUC__ && !__lint__ */ +#endif /* !__cplusplus */ + +#else /* !(__STDC__ || __cplusplus) */ +#define __P(protos) () /* traditional C preprocessor */ +#define __CONCAT(x,y) x/**/y +#define __STRING(x) "x" + +#ifndef __GNUC__ +#define __const /* delete pseudo-ANSI C keywords */ +#define __inline +#define __signed +#define __volatile +#endif /* !__GNUC__ */ + +/* + * In non-ANSI C environments, new programs will want ANSI-only C keywords + * deleted from the program and old programs will want them left alone. + * Programs using the ANSI C keywords const, inline etc. as normal + * identifiers should define -DNO_ANSI_KEYWORDS. + */ +#ifndef NO_ANSI_KEYWORDS +#define const __const /* convert ANSI C keywords */ +#define inline __inline +#define signed __signed +#define volatile __volatile +#endif /* !NO_ANSI_KEYWORDS */ +#endif /* !(__STDC__ || __cplusplus) */ + +/* + * Used for internal auditing of the NetBSD source tree. + */ +#ifdef __AUDIT__ +#define __aconst __const +#else +#define __aconst +#endif + +/* + * The following macro is used to remove const cast-away warnings + * from gcc -Wcast-qual; it should be used with caution because it + * can hide valid errors; in particular most valid uses are in + * situations where the API requires it, not to cast away string + * constants. We don't use *intptr_t on purpose here and we are + * explicit about unsigned long so that we don't have additional + * dependencies. + */ +#define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) + +/* + * GCC2 provides __extension__ to suppress warnings for various GNU C + * language extensions under "-ansi -pedantic". + */ +#if !__GNUC_PREREQ(2, 0) +#define __extension__ /* delete __extension__ if non-gcc or gcc1 */ +#endif + +/* + * GCC1 and some versions of GCC2 declare dead (non-returning) and + * pure (no side effects) functions using "volatile" and "const"; + * unfortunately, these then cause warnings under "-ansi -pedantic". + * GCC2 uses a new, peculiar __attribute__((attrs)) style. All of + * these work for GNU C++ (modulo a slight glitch in the C++ grammar + * in the distribution version of 2.5.5). + */ +#if !__GNUC_PREREQ(2, 5) +#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */ +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +#define __dead __volatile +#define __pure __const +#endif +#endif + +/* Delete pseudo-keywords wherever they are not available or needed. */ +#ifndef __dead +#define __dead +#define __pure +#endif + +#if __GNUC_PREREQ(2, 7) +#define __unused __attribute__((__unused__)) +#else +#define __unused /* delete */ +#endif + +#define __pure2 __attribute__((__const__)) /* Android-added: used by FreeBSD libm */ + +#if __GNUC_PREREQ(3, 1) +#define __used __attribute__((__used__)) +#else +#define __used /* delete */ +#endif + +#if __GNUC_PREREQ(2, 7) +#define __packed __attribute__((__packed__)) +#define __aligned(x) __attribute__((__aligned__(x))) +#define __section(x) __attribute__((__section__(x))) +#elif defined(__lint__) +#define __packed /* delete */ +#define __aligned(x) /* delete */ +#define __section(x) /* delete */ +#else +#define __packed error: no __packed for this compiler +#define __aligned(x) error: no __aligned for this compiler +#define __section(x) error: no __section for this compiler +#endif + +#if !__GNUC_PREREQ(2, 8) +#define __extension__ +#endif + +#if __GNUC_PREREQ(2, 8) +#define __statement(x) __extension__(x) +#elif defined(lint) +#define __statement(x) (0) +#else +#define __statement(x) (x) +#endif + +#define __nonnull(args) __attribute__((__nonnull__ args)) + +#define __printflike(x, y) __attribute__((__format__(printf, x, y))) __nonnull((x)) +#define __scanflike(x, y) __attribute__((__format__(scanf, x, y))) __nonnull((x)) + +/* + * C99 defines the restrict type qualifier keyword, which was made available + * in GCC 2.92. + */ +#if defined(__STDC__VERSION__) && __STDC_VERSION__ >= 199901L +#define __restrict restrict +#else +#if !__GNUC_PREREQ(2, 92) +#define __restrict /* delete __restrict when not supported */ +#endif +#endif + +/* + * C99 defines __func__ predefined identifier, which was made available + * in GCC 2.95. + */ +#if !defined(__STDC_VERSION__) || !(__STDC_VERSION__ >= 199901L) +#if __GNUC_PREREQ(2, 6) +#define __func__ __PRETTY_FUNCTION__ +#elif __GNUC_PREREQ(2, 4) +#define __func__ __FUNCTION__ +#else +#define __func__ "" +#endif +#endif /* !(__STDC_VERSION__ >= 199901L) */ + +#if defined(_KERNEL) +#if defined(NO_KERNEL_RCSIDS) +#undef __KERNEL_RCSID +#define __KERNEL_RCSID(_n, _s) /* nothing */ +#endif /* NO_KERNEL_RCSIDS */ +#endif /* _KERNEL */ + +#if !defined(_STANDALONE) && !defined(_KERNEL) +#ifdef __GNUC__ +#define __RENAME(x) ___RENAME(x) +#else +#ifdef __lint__ +#define __RENAME(x) __symbolrename(x) +#else +#error "No function renaming possible" +#endif /* __lint__ */ +#endif /* __GNUC__ */ +#else /* _STANDALONE || _KERNEL */ +#define __RENAME(x) no renaming in kernel or standalone environment +#endif + +/* + * A barrier to stop the optimizer from moving code or assume live + * register values. This is gcc specific, the version is more or less + * arbitrary, might work with older compilers. + */ +#if __GNUC_PREREQ(2, 95) +#define __insn_barrier() __asm __volatile("":::"memory") +#else +#define __insn_barrier() /* */ +#endif + +/* + * GNU C version 2.96 adds explicit branch prediction so that + * the CPU back-end can hint the processor and also so that + * code blocks can be reordered such that the predicted path + * sees a more linear flow, thus improving cache behavior, etc. + * + * The following two macros provide us with a way to 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. + */ +#if __GNUC_PREREQ(2, 96) +#define __predict_true(exp) __builtin_expect((exp) != 0, 1) +#define __predict_false(exp) __builtin_expect((exp) != 0, 0) +#else +#define __predict_true(exp) (exp) +#define __predict_false(exp) (exp) +#endif + +#if __GNUC_PREREQ(2, 96) +#define __noreturn __attribute__((__noreturn__)) +#define __mallocfunc __attribute__((malloc)) +#define __purefunc __attribute__((pure)) +#else +#define __noreturn +#define __mallocfunc +#define __purefunc +#endif + +#if __GNUC_PREREQ(3, 1) +#define __always_inline __attribute__((__always_inline__)) +#else +#define __always_inline +#endif + +#if __GNUC_PREREQ(3, 4) +#define __wur __attribute__((__warn_unused_result__)) +#else +#define __wur +#endif + +#if __GNUC_PREREQ(4, 3) +#define __errordecl(name, msg) extern void name(void) __attribute__((__error__(msg))) +#define __warnattr(msg) __attribute__((__warning__(msg))) +#else +#define __errordecl(name, msg) extern void name(void) +#define __warnattr(msg) +#endif + +/* + * Macros for manipulating "link sets". Link sets are arrays of pointers + * to objects, which are gathered up by the linker. + * + * Object format-specific code has provided us with the following macros: + * + * __link_set_add_text(set, sym) + * Add a reference to the .text symbol `sym' to `set'. + * + * __link_set_add_rodata(set, sym) + * Add a reference to the .rodata symbol `sym' to `set'. + * + * __link_set_add_data(set, sym) + * Add a reference to the .data symbol `sym' to `set'. + * + * __link_set_add_bss(set, sym) + * Add a reference to the .bss symbol `sym' to `set'. + * + * __link_set_decl(set, ptype) + * Provide an extern declaration of the set `set', which + * contains an array of the pointer type `ptype'. This + * macro must be used by any code which wishes to reference + * the elements of a link set. + * + * __link_set_start(set) + * This points to the first slot in the link set. + * + * __link_set_end(set) + * This points to the (non-existent) slot after the last + * entry in the link set. + * + * __link_set_count(set) + * Count the number of entries in link set `set'. + * + * In addition, we provide the following macros for accessing link sets: + * + * __link_set_foreach(pvar, set) + * Iterate over the link set `set'. Because a link set is + * an array of pointers, pvar must be declared as "type **pvar", + * and the actual entry accessed as "*pvar". + * + * __link_set_entry(set, idx) + * Access the link set entry at index `idx' from set `set'. + */ +#define __link_set_foreach(pvar, set) \ + for (pvar = __link_set_start(set); pvar < __link_set_end(set); pvar++) + +#define __link_set_entry(set, idx) (__link_set_begin(set)[idx]) + +/* + * Some of the FreeBSD sources used in Bionic need this. + * Originally, this is used to embed the rcs versions of each source file + * in the generated binary. We certainly don't want this in Bionic. + */ +#define __FBSDID(s) /* nothing */ + +/*- + * The following definitions are an extension of the behavior originally + * implemented in <sys/_posix.h>, but with a different level of granularity. + * POSIX.1 requires that the macros we test be defined before any standard + * header file is included. + * + * Here's a quick run-down of the versions: + * defined(_POSIX_SOURCE) 1003.1-1988 + * _POSIX_C_SOURCE == 1 1003.1-1990 + * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option + * _POSIX_C_SOURCE == 199309 1003.1b-1993 + * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, + * and the omnibus ISO/IEC 9945-1: 1996 + * _POSIX_C_SOURCE == 200112 1003.1-2001 + * _POSIX_C_SOURCE == 200809 1003.1-2008 + * + * In addition, the X/Open Portability Guide, which is now the Single UNIX + * Specification, defines a feature-test macro which indicates the version of + * that specification, and which subsumes _POSIX_C_SOURCE. + * + * Our macros begin with two underscores to avoid namespace screwage. + */ + +/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ +#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 +#undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ +#define _POSIX_C_SOURCE 199009 +#endif + +/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ +#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 199209 +#endif + +/* Deal with various X/Open Portability Guides and Single UNIX Spec. */ +#ifdef _XOPEN_SOURCE +#if _XOPEN_SOURCE - 0 >= 700 +#define __XSI_VISIBLE 700 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200809 +#elif _XOPEN_SOURCE - 0 >= 600 +#define __XSI_VISIBLE 600 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200112 +#elif _XOPEN_SOURCE - 0 >= 500 +#define __XSI_VISIBLE 500 +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 199506 +#endif +#endif + +/* + * Deal with all versions of POSIX. The ordering relative to the tests above is + * important. + */ +#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) +#define _POSIX_C_SOURCE 198808 +#endif +#ifdef _POSIX_C_SOURCE +#if _POSIX_C_SOURCE >= 200809 +#define __POSIX_VISIBLE 200809 +#define __ISO_C_VISIBLE 1999 +#elif _POSIX_C_SOURCE >= 200112 +#define __POSIX_VISIBLE 200112 +#define __ISO_C_VISIBLE 1999 +#elif _POSIX_C_SOURCE >= 199506 +#define __POSIX_VISIBLE 199506 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199309 +#define __POSIX_VISIBLE 199309 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199209 +#define __POSIX_VISIBLE 199209 +#define __ISO_C_VISIBLE 1990 +#elif _POSIX_C_SOURCE >= 199009 +#define __POSIX_VISIBLE 199009 +#define __ISO_C_VISIBLE 1990 +#else +#define __POSIX_VISIBLE 198808 +#define __ISO_C_VISIBLE 0 +#endif /* _POSIX_C_SOURCE */ +#else +/*- + * Deal with _ANSI_SOURCE: + * If it is defined, and no other compilation environment is explicitly + * requested, then define our internal feature-test macros to zero. This + * makes no difference to the preprocessor (undefined symbols in preprocessing + * expressions are defined to have value zero), but makes it more convenient for + * a test program to print out the values. + * + * If a program mistakenly defines _ANSI_SOURCE and some other macro such as + * _POSIX_C_SOURCE, we will assume that it wants the broader compilation + * environment (and in fact we will never get here). + */ +#if defined(_ANSI_SOURCE) /* Hide almost everything. */ +#define __POSIX_VISIBLE 0 +#define __XSI_VISIBLE 0 +#define __BSD_VISIBLE 0 +#define __ISO_C_VISIBLE 1990 +#elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */ +#define __POSIX_VISIBLE 0 +#define __XSI_VISIBLE 0 +#define __BSD_VISIBLE 0 +#define __ISO_C_VISIBLE 1999 +#else /* Default environment: show everything. */ +#define __POSIX_VISIBLE 200809 +#define __XSI_VISIBLE 700 +#define __BSD_VISIBLE 1 +#define __ISO_C_VISIBLE 1999 +#endif +#endif + +/* + * Default values. + */ +#ifndef __XPG_VISIBLE +# define __XPG_VISIBLE 700 +#endif +#ifndef __POSIX_VISIBLE +# define __POSIX_VISIBLE 200809 +#endif +#ifndef __ISO_C_VISIBLE +# define __ISO_C_VISIBLE 1999 +#endif +#ifndef __BSD_VISIBLE +# define __BSD_VISIBLE 1 +#endif + +#define __BIONIC__ 1 +#include <android/api-level.h> + +/* glibc compatibility. */ +#if __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) + +#define __BIONIC_FORTIFY_INLINE \ + extern __inline__ \ + __attribute__ ((always_inline)) \ + __attribute__ ((gnu_inline)) +#endif +#define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1) + + +#if defined(__ANDROID__) && !defined(__LP64__) && defined( __arm__) +#define __NDK_FPABI__ __attribute__((pcs("aapcs"))) +#else +#define __NDK_FPABI__ +#endif + +#if (!defined(_NDK_MATH_NO_SOFTFP) || _NDK_MATH_NO_SOFTFP != 1) && !defined(__clang__) +#define __NDK_FPABI_MATH__ __NDK_FPABI__ +#else +#define __NDK_FPABI_MATH__ /* nothing */ +#endif + +#endif /* !_SYS_CDEFS_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/cdefs_elf.h b/9/platforms/android-21/arch-mips/usr/include/sys/cdefs_elf.h new file mode 100644 index 0000000..a5fa7fb --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/cdefs_elf.h @@ -0,0 +1,131 @@ +/* $NetBSD: cdefs_elf.h,v 1.22 2005/02/26 22:25:34 perry Exp $ */ + +/* + * Copyright (c) 1995, 1996 Carnegie-Mellon University. + * All rights reserved. + * + * Author: Chris G. Demetriou + * + * Permission to use, copy, modify and distribute this software and + * its documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND + * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie the + * rights to redistribute these changes. + */ + +#ifndef _SYS_CDEFS_ELF_H_ +#define _SYS_CDEFS_ELF_H_ + +#ifdef __LEADING_UNDERSCORE +#define _C_LABEL(x) __CONCAT(_,x) +#define _C_LABEL_STRING(x) "_" x +#else +#define _C_LABEL(x) x +#define _C_LABEL_STRING(x) x +#endif + +#define ___RENAME(x) __asm__(___STRING(_C_LABEL(x))) + +#define __indr_reference(sym,alias) /* nada, since we do weak refs */ + +#define __strong_alias(alias,sym) \ + __asm__(".global " _C_LABEL_STRING(#alias) "\n" \ + _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); + +#define __weak_alias(alias,sym) \ + __asm__(".weak " _C_LABEL_STRING(#alias) "\n" \ + _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym)); +#define __weak_extern(sym) \ + __asm__(".weak " _C_LABEL_STRING(#sym)); + +/* We use __warnattr instead of __warn_references. + * TODO: remove this and put an empty definition in one of the upstream-* compatibility headers. + */ +#define __warn_references(sym,msg) \ + /*__asm__(".section .gnu.warning." #sym "\n\t.ascii \"" msg "\"\n\t.text");*/ + +#define __SECTIONSTRING(_sec, _str) \ + __asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous") + +/* Used to tag non-static symbols that are private and never exposed by the shared library. */ +#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) + +/* Like __LIBC_HIDDEN__, but preserves binary compatibility for LP32. */ +#ifdef __LP64__ +#define __LIBC64_HIDDEN__ __LIBC_HIDDEN__ +#else +#define __LIBC64_HIDDEN__ __LIBC_ABI_PUBLIC__ +#endif + +/* Used to tag non-static symbols that are public and exposed by the shared library. */ +#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) + +#define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s) + +#define __RCSID(_s) __IDSTRING(rcsid,_s) +#define __SCCSID(_s) +#define __SCCSID2(_s) +#if 0 /* XXX userland __COPYRIGHTs have \ns in them */ +#define __COPYRIGHT(_s) __SECTIONSTRING(.copyright,_s) +#else +#define __COPYRIGHT(_s) \ + static const char copyright[] \ + __attribute__((__unused__,__section__(".copyright"))) = _s +#endif + +#define __KERNEL_RCSID(_n, _s) __RCSID(_s) +#define __KERNEL_SCCSID(_n, _s) +#if 0 /* XXX see above */ +#define __KERNEL_COPYRIGHT(_n, _s) __COPYRIGHT(_s) +#else +#define __KERNEL_COPYRIGHT(_n, _s) __SECTIONSTRING(.copyright, _s) +#endif + +#ifndef __lint__ +#define __link_set_make_entry(set, sym) \ + static void const * const __link_set_##set##_sym_##sym \ + __section("link_set_" #set) __used = &sym +#define __link_set_make_entry2(set, sym, n) \ + static void const * const __link_set_##set##_sym_##sym##_##n \ + __section("link_set_" #set) __used = &sym[n] +#else +#define __link_set_make_entry(set, sym) \ + extern void const * const __link_set_##set##_sym_##sym +#define __link_set_make_entry2(set, sym, n) \ + extern void const * const __link_set_##set##_sym_##sym##_##n +#endif /* __lint__ */ + +#define __link_set_add_text(set, sym) __link_set_make_entry(set, sym) +#define __link_set_add_rodata(set, sym) __link_set_make_entry(set, sym) +#define __link_set_add_data(set, sym) __link_set_make_entry(set, sym) +#define __link_set_add_bss(set, sym) __link_set_make_entry(set, sym) +#define __link_set_add_text2(set, sym, n) __link_set_make_entry2(set, sym, n) +#define __link_set_add_rodata2(set, sym, n) __link_set_make_entry2(set, sym, n) +#define __link_set_add_data2(set, sym, n) __link_set_make_entry2(set, sym, n) +#define __link_set_add_bss2(set, sym, n) __link_set_make_entry2(set, sym, n) + +#define __link_set_decl(set, ptype) \ + extern ptype * const __start_link_set_##set[]; \ + extern ptype * const __stop_link_set_##set[] \ + +#define __link_set_start(set) (__start_link_set_##set) +#define __link_set_end(set) (__stop_link_set_##set) + +#define __link_set_count(set) \ + (__link_set_end(set) - __link_set_start(set)) + +#endif /* !_SYS_CDEFS_ELF_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/endian.h b/9/platforms/android-21/arch-mips/usr/include/sys/endian.h new file mode 100644 index 0000000..be4c905 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/endian.h @@ -0,0 +1,283 @@ +/* $OpenBSD: endian.h,v 1.17 2006/01/06 18:53:05 millert Exp $ */ + +/*- + * 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. + */ + +/* + * Generic definitions for little- and big-endian systems. Other endianesses + * has to be dealt with in the specific machine/endian.h file for that port. + * + * This file is meant to be included from a little- or big-endian port's + * machine/endian.h after setting _BYTE_ORDER to either 1234 for little endian + * or 4321 for big.. + */ + +#ifndef _SYS_ENDIAN_H_ +#define _SYS_ENDIAN_H_ + +#include <sys/cdefs.h> +#include <machine/endian.h> + +#include <stdint.h> + +#define _LITTLE_ENDIAN 1234 +#define _BIG_ENDIAN 4321 +#define _PDP_ENDIAN 3412 + +#if __BSD_VISIBLE +#define LITTLE_ENDIAN _LITTLE_ENDIAN +#define BIG_ENDIAN _BIG_ENDIAN +#define PDP_ENDIAN _PDP_ENDIAN +#define BYTE_ORDER _BYTE_ORDER +#endif + +#ifdef __GNUC__ + +#define __swap16gen(x) __statement({ \ + __uint16_t __swap16gen_x = (x); \ + \ + (__uint16_t)((__swap16gen_x & 0xff) << 8 | \ + (__swap16gen_x & 0xff00) >> 8); \ +}) + +#define __swap32gen(x) __statement({ \ + __uint32_t __swap32gen_x = (x); \ + \ + (__uint32_t)((__swap32gen_x & 0xff) << 24 | \ + (__swap32gen_x & 0xff00) << 8 | \ + (__swap32gen_x & 0xff0000) >> 8 | \ + (__swap32gen_x & 0xff000000) >> 24); \ +}) + +#define __swap64gen(x) __statement({ \ + __uint64_t __swap64gen_x = (x); \ + \ + (__uint64_t)((__swap64gen_x & 0xff) << 56 | \ + (__swap64gen_x & 0xff00ULL) << 40 | \ + (__swap64gen_x & 0xff0000ULL) << 24 | \ + (__swap64gen_x & 0xff000000ULL) << 8 | \ + (__swap64gen_x & 0xff00000000ULL) >> 8 | \ + (__swap64gen_x & 0xff0000000000ULL) >> 24 | \ + (__swap64gen_x & 0xff000000000000ULL) >> 40 | \ + (__swap64gen_x & 0xff00000000000000ULL) >> 56); \ +}) + +#else /* __GNUC__ */ + +/* Note that these macros evaluate their arguments several times. */ +#define __swap16gen(x) \ + (__uint16_t)(((__uint16_t)(x) & 0xff) << 8 | ((__uint16_t)(x) & 0xff00) >> 8) + +#define __swap32gen(x) \ + (__uint32_t)(((__uint32_t)(x) & 0xff) << 24 | \ + ((__uint32_t)(x) & 0xff00) << 8 | ((__uint32_t)(x) & 0xff0000) >> 8 |\ + ((__uint32_t)(x) & 0xff000000) >> 24) + +#define __swap64gen(x) \ + (__uint64_t)((((__uint64_t)(x) & 0xff) << 56) | \ + ((__uint64_t)(x) & 0xff00ULL) << 40 | \ + ((__uint64_t)(x) & 0xff0000ULL) << 24 | \ + ((__uint64_t)(x) & 0xff000000ULL) << 8 | \ + ((__uint64_t)(x) & 0xff00000000ULL) >> 8 | \ + ((__uint64_t)(x) & 0xff0000000000ULL) >> 24 | \ + ((__uint64_t)(x) & 0xff000000000000ULL) >> 40 | \ + ((__uint64_t)(x) & 0xff00000000000000ULL) >> 56) + +#endif /* __GNUC__ */ + +/* + * Define MD_SWAP if you provide swap{16,32}md functions/macros that are + * optimized for your architecture, These will be used for swap{16,32} + * unless the argument is a constant and we are using GCC, where we can + * take advantage of the CSE phase much better by using the generic version. + */ +#ifdef MD_SWAP +#if __GNUC__ + +#define __swap16(x) __statement({ \ + __uint16_t __swap16_x = (x); \ + \ + __builtin_constant_p(x) ? __swap16gen(__swap16_x) : \ + __swap16md(__swap16_x); \ +}) + +#define __swap32(x) __statement({ \ + __uint32_t __swap32_x = (x); \ + \ + __builtin_constant_p(x) ? __swap32gen(__swap32_x) : \ + __swap32md(__swap32_x); \ +}) + +#define __swap64(x) __statement({ \ + __uint64_t __swap64_x = (x); \ + \ + __builtin_constant_p(x) ? __swap64gen(__swap64_x) : \ + __swap64md(__swap64_x); \ +}) + +#endif /* __GNUC__ */ + +#else /* MD_SWAP */ +#define __swap16 __swap16gen +#define __swap32 __swap32gen +#define __swap64 __swap64gen +#endif /* MD_SWAP */ + +#define __swap16_multi(v, n) do { \ + __size_t __swap16_multi_n = (n); \ + __uint16_t *__swap16_multi_v = (v); \ + \ + while (__swap16_multi_n) { \ + *__swap16_multi_v = swap16(*__swap16_multi_v); \ + __swap16_multi_v++; \ + __swap16_multi_n--; \ + } \ +} while (0) + +#if __BSD_VISIBLE +#define swap16 __swap16 +#define swap32 __swap32 +#define swap64 __swap64 +#define swap16_multi __swap16_multi +#endif /* __BSD_VISIBLE */ + +#if _BYTE_ORDER == _LITTLE_ENDIAN + +/* Can be overridden by machine/endian.h before inclusion of this file. */ +#ifndef _QUAD_HIGHWORD +#define _QUAD_HIGHWORD 1 +#endif +#ifndef _QUAD_LOWWORD +#define _QUAD_LOWWORD 0 +#endif + +#if __BSD_VISIBLE +#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) +#endif /* __BSD_VISIBLE */ + +/* glibc compatibility. */ +__BEGIN_DECLS +uint32_t htonl(uint32_t) __pure2; +uint16_t htons(uint16_t) __pure2; +uint32_t ntohl(uint32_t) __pure2; +uint16_t ntohs(uint16_t) __pure2; +__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) + +#define __LITTLE_ENDIAN_BITFIELD + +#endif /* _BYTE_ORDER */ + +#if _BYTE_ORDER == _BIG_ENDIAN + +/* Can be overridden by machine/endian.h before inclusion of this file. */ +#ifndef _QUAD_HIGHWORD +#define _QUAD_HIGHWORD 0 +#endif +#ifndef _QUAD_LOWWORD +#define _QUAD_LOWWORD 1 +#endif + +#if __BSD_VISIBLE +#define htole16 __swap16 +#define htole32 __swap32 +#define htole64 __swap64 +#define letoh16 __swap16 +#define letoh32 __swap32 +#define letoh64 __swap64 + +#define htobe16(x) (x) +#define htobe32(x) (x) +#define htobe64(x) (x) +#define betoh16(x) (x) +#define betoh32(x) (x) +#define betoh64(x) (x) +#endif /* __BSD_VISIBLE */ + +#define htons(x) (x) +#define htonl(x) (x) +#define ntohs(x) (x) +#define ntohl(x) (x) + +/* Bionic additions */ +#define ntohq(x) (x) +#define htonq(x) (x) + +#define __BIG_ENDIAN_BITFIELD + +#endif /* _BYTE_ORDER */ + +#if __BSD_VISIBLE +#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)) +#endif + + +#define __BYTE_ORDER _BYTE_ORDER +#ifndef __LITTLE_ENDIAN +#define __LITTLE_ENDIAN _LITTLE_ENDIAN +#endif +#ifndef __BIG_ENDIAN +#define __BIG_ENDIAN _BIG_ENDIAN +#endif + + +#ifdef __BSD_VISIBLE +/* + * 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 + +#endif /* _SYS_ENDIAN_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/epoll.h b/9/platforms/android-21/arch-mips/usr/include/sys/epoll.h new file mode 100644 index 0000000..4a5a37c --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/epoll.h @@ -0,0 +1,84 @@ +/* + * 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); +int epoll_create1(int); +int epoll_ctl(int, int, int, struct epoll_event*); +int epoll_wait(int, struct epoll_event*, int, int); +int epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*); + +__END_DECLS + +#endif /* _SYS_EPOLL_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/errno.h b/9/platforms/android-21/arch-mips/usr/include/sys/errno.h new file mode 100644 index 0000000..339f4fc --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/errno.h @@ -0,0 +1 @@ +#include <errno.h> diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/eventfd.h b/9/platforms/android-21/arch-mips/usr/include/sys/eventfd.h new file mode 100644 index 0000000..4c8da0c --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/eventfd.h @@ -0,0 +1,50 @@ +/* + * 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; + +extern int eventfd(unsigned int initial_value, int flags); + +extern int eventfd_read(int fd, eventfd_t* value); +extern int eventfd_write(int fd, eventfd_t value); + +__END_DECLS + +#endif /* _SYS_EVENTFD_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/file.h b/9/platforms/android-21/arch-mips/usr/include/sys/file.h new file mode 100644 index 0000000..cf2f4b1 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/file.h @@ -0,0 +1,38 @@ +/* + * 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> + +/* ANDROID: needed for flock() */ +#include <unistd.h> +#include <fcntl.h> + +#endif /* _SYS_FILE_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/fsuid.h b/9/platforms/android-21/arch-mips/usr/include/sys/fsuid.h new file mode 100644 index 0000000..03355b7 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/fsuid.h @@ -0,0 +1,42 @@ +/* + * 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 + +extern int setfsuid(uid_t); +extern int setfsgid(gid_t); + +__END_DECLS + +#endif /* _SYS_FSUID_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/glibc-syscalls.h b/9/platforms/android-21/arch-mips/usr/include/sys/glibc-syscalls.h new file mode 100644 index 0000000..459ee78 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/glibc-syscalls.h @@ -0,0 +1,1698 @@ +/* Generated by gensyscalls.py. Do not edit. */ +#ifndef _BIONIC_GLIBC_SYSCALLS_H_ +#define _BIONIC_GLIBC_SYSCALLS_H_ +#if defined(__aarch64__) +#define SYS_accept __NR_accept +#define SYS_accept4 __NR_accept4 +#define SYS_access __NR_access +#define SYS_acct __NR_acct +#define SYS_add_key __NR_add_key +#define SYS_adjtimex __NR_adjtimex +#define SYS_alarm __NR_alarm +#define SYS_arch_specific_syscall __NR_arch_specific_syscall +#define SYS_bdflush __NR_bdflush +#define SYS_bind __NR_bind +#define SYS_brk __NR_brk +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_chdir __NR_chdir +#define SYS_chmod __NR_chmod +#define SYS_chown __NR_chown +#define SYS_chroot __NR_chroot +#define SYS_clock_adjtime __NR_clock_adjtime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_clock_settime __NR_clock_settime +#define SYS_clone __NR_clone +#define SYS_close __NR_close +#define SYS_connect __NR_connect +#define SYS_creat __NR_creat +#define SYS_delete_module __NR_delete_module +#define SYS_dup __NR_dup +#define SYS_dup2 __NR_dup2 +#define SYS_dup3 __NR_dup3 +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_create1 __NR_epoll_create1 +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_pwait __NR_epoll_pwait +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_eventfd __NR_eventfd +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_execve __NR_execve +#define SYS_exit __NR_exit +#define SYS_exit_group __NR_exit_group +#define SYS_faccessat __NR_faccessat +#define SYS_fadvise64 __NR_fadvise64 +#define SYS_fadvise64_64 __NR_fadvise64_64 +#define SYS_fallocate __NR_fallocate +#define SYS_fanotify_init __NR_fanotify_init +#define SYS_fanotify_mark __NR_fanotify_mark +#define SYS_fchdir __NR_fchdir +#define SYS_fchmod __NR_fchmod +#define SYS_fchmodat __NR_fchmodat +#define SYS_fchown __NR_fchown +#define SYS_fchownat __NR_fchownat +#define SYS_fcntl __NR_fcntl +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_fdatasync __NR_fdatasync +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_finit_module __NR_finit_module +#define SYS_flistxattr __NR_flistxattr +#define SYS_flock __NR_flock +#define SYS_fork __NR_fork +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fstat __NR_fstat +#define SYS_fstat64 __NR_fstat64 +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_fstatfs __NR_fstatfs +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_fsync __NR_fsync +#define SYS_ftruncate __NR_ftruncate +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_futex __NR_futex +#define SYS_futimesat __NR_futimesat +#define SYS_get_mempolicy __NR_get_mempolicy +#define SYS_get_robust_list __NR_get_robust_list +#define SYS_getcpu __NR_getcpu +#define SYS_getcwd __NR_getcwd +#define SYS_getdents __NR_getdents +#define SYS_getdents64 __NR_getdents64 +#define SYS_getegid __NR_getegid +#define SYS_geteuid __NR_geteuid +#define SYS_getgid __NR_getgid +#define SYS_getgroups __NR_getgroups +#define SYS_getitimer __NR_getitimer +#define SYS_getpeername __NR_getpeername +#define SYS_getpgid __NR_getpgid +#define SYS_getpgrp __NR_getpgrp +#define SYS_getpid __NR_getpid +#define SYS_getppid __NR_getppid +#define SYS_getpriority __NR_getpriority +#define SYS_getresgid __NR_getresgid +#define SYS_getresuid __NR_getresuid +#define SYS_getrlimit __NR_getrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_getsid __NR_getsid +#define SYS_getsockname __NR_getsockname +#define SYS_getsockopt __NR_getsockopt +#define SYS_gettid __NR_gettid +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_getuid __NR_getuid +#define SYS_getxattr __NR_getxattr +#define SYS_init_module __NR_init_module +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_init1 __NR_inotify_init1 +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_io_cancel __NR_io_cancel +#define SYS_io_destroy __NR_io_destroy +#define SYS_io_getevents __NR_io_getevents +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_ioctl __NR_ioctl +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_kcmp __NR_kcmp +#define SYS_kexec_load __NR_kexec_load +#define SYS_keyctl __NR_keyctl +#define SYS_kill __NR_kill +#define SYS_lchown __NR_lchown +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_link __NR_link +#define SYS_linkat __NR_linkat +#define SYS_listen __NR_listen +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_llseek __NR_llseek +#define SYS_lookup_dcookie __NR_lookup_dcookie +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_lseek __NR_lseek +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_lstat __NR_lstat +#define SYS_lstat64 __NR_lstat64 +#define SYS_madvise __NR_madvise +#define SYS_mbind __NR_mbind +#define SYS_migrate_pages __NR_migrate_pages +#define SYS_mincore __NR_mincore +#define SYS_mkdir __NR_mkdir +#define SYS_mkdirat __NR_mkdirat +#define SYS_mknod __NR_mknod +#define SYS_mknodat __NR_mknodat +#define SYS_mlock __NR_mlock +#define SYS_mlockall __NR_mlockall +#define SYS_mmap __NR_mmap +#define SYS_mmap2 __NR_mmap2 +#define SYS_mount __NR_mount +#define SYS_move_pages __NR_move_pages +#define SYS_mprotect __NR_mprotect +#define SYS_mq_getsetattr __NR_mq_getsetattr +#define SYS_mq_notify __NR_mq_notify +#define SYS_mq_open __NR_mq_open +#define SYS_mq_timedreceive __NR_mq_timedreceive +#define SYS_mq_timedsend __NR_mq_timedsend +#define SYS_mq_unlink __NR_mq_unlink +#define SYS_mremap __NR_mremap +#define SYS_msgctl __NR_msgctl +#define SYS_msgget __NR_msgget +#define SYS_msgrcv __NR_msgrcv +#define SYS_msgsnd __NR_msgsnd +#define SYS_msync __NR_msync +#define SYS_munlock __NR_munlock +#define SYS_munlockall __NR_munlockall +#define SYS_munmap __NR_munmap +#define SYS_name_to_handle_at __NR_name_to_handle_at +#define SYS_nanosleep __NR_nanosleep +#define SYS_newfstatat __NR_newfstatat +#define SYS_nfsservctl __NR_nfsservctl +#define SYS_oldwait4 __NR_oldwait4 +#define SYS_open __NR_open +#define SYS_open_by_handle_at __NR_open_by_handle_at +#define SYS_openat __NR_openat +#define SYS_pause __NR_pause +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_personality __NR_personality +#define SYS_pipe __NR_pipe +#define SYS_pipe2 __NR_pipe2 +#define SYS_pivot_root __NR_pivot_root +#define SYS_poll __NR_poll +#define SYS_ppoll __NR_ppoll +#define SYS_prctl __NR_prctl +#define SYS_pread64 __NR_pread64 +#define SYS_preadv __NR_preadv +#define SYS_prlimit64 __NR_prlimit64 +#define SYS_process_vm_readv __NR_process_vm_readv +#define SYS_process_vm_writev __NR_process_vm_writev +#define SYS_pselect6 __NR_pselect6 +#define SYS_ptrace __NR_ptrace +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_pwritev __NR_pwritev +#define SYS_quotactl __NR_quotactl +#define SYS_read __NR_read +#define SYS_readahead __NR_readahead +#define SYS_readlink __NR_readlink +#define SYS_readlinkat __NR_readlinkat +#define SYS_readv __NR_readv +#define SYS_reboot __NR_reboot +#define SYS_recv __NR_recv +#define SYS_recvfrom __NR_recvfrom +#define SYS_recvmmsg __NR_recvmmsg +#define SYS_recvmsg __NR_recvmsg +#define SYS_remap_file_pages __NR_remap_file_pages +#define SYS_removexattr __NR_removexattr +#define SYS_rename __NR_rename +#define SYS_renameat __NR_renameat +#define SYS_request_key __NR_request_key +#define SYS_restart_syscall __NR_restart_syscall +#define SYS_rmdir __NR_rmdir +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigpending __NR_rt_sigpending +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#define SYS_rt_sigreturn __NR_rt_sigreturn +#define SYS_rt_sigsuspend __NR_rt_sigsuspend +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_sched_getattr __NR_sched_getattr +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_select __NR_select +#define SYS_semctl __NR_semctl +#define SYS_semget __NR_semget +#define SYS_semop __NR_semop +#define SYS_semtimedop __NR_semtimedop +#define SYS_send __NR_send +#define SYS_sendfile __NR_sendfile +#define SYS_sendfile64 __NR_sendfile64 +#define SYS_sendmmsg __NR_sendmmsg +#define SYS_sendmsg __NR_sendmsg +#define SYS_sendto __NR_sendto +#define SYS_set_mempolicy __NR_set_mempolicy +#define SYS_set_robust_list __NR_set_robust_list +#define SYS_set_tid_address __NR_set_tid_address +#define SYS_setdomainname __NR_setdomainname +#define SYS_setfsgid __NR_setfsgid +#define SYS_setfsuid __NR_setfsuid +#define SYS_setgid __NR_setgid +#define SYS_setgroups __NR_setgroups +#define SYS_sethostname __NR_sethostname +#define SYS_setitimer __NR_setitimer +#define SYS_setns __NR_setns +#define SYS_setpgid __NR_setpgid +#define SYS_setpriority __NR_setpriority +#define SYS_setregid __NR_setregid +#define SYS_setresgid __NR_setresgid +#define SYS_setresuid __NR_setresuid +#define SYS_setreuid __NR_setreuid +#define SYS_setrlimit __NR_setrlimit +#define SYS_setsid __NR_setsid +#define SYS_setsockopt __NR_setsockopt +#define SYS_settimeofday __NR_settimeofday +#define SYS_setuid __NR_setuid +#define SYS_setxattr __NR_setxattr +#define SYS_shmat __NR_shmat +#define SYS_shmctl __NR_shmctl +#define SYS_shmdt __NR_shmdt +#define SYS_shmget __NR_shmget +#define SYS_shutdown __NR_shutdown +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_signalfd __NR_signalfd +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_socket __NR_socket +#define SYS_socketpair __NR_socketpair +#define SYS_splice __NR_splice +#define SYS_stat __NR_stat +#define SYS_stat64 __NR_stat64 +#define SYS_statfs __NR_statfs +#define SYS_statfs64 __NR_statfs64 +#define SYS_swapoff __NR_swapoff +#define SYS_swapon __NR_swapon +#define SYS_symlink __NR_symlink +#define SYS_symlinkat __NR_symlinkat +#define SYS_sync __NR_sync +#define SYS_sync_file_range __NR_sync_file_range +#define SYS_sync_file_range2 __NR_sync_file_range2 +#define SYS_syncfs __NR_syncfs +#define SYS_syscalls __NR_syscalls +#define SYS_sysinfo __NR_sysinfo +#define SYS_syslog __NR_syslog +#define SYS_tee __NR_tee +#define SYS_tgkill __NR_tgkill +#define SYS_time __NR_time +#define SYS_timer_create __NR_timer_create +#define SYS_timer_delete __NR_timer_delete +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_settime __NR_timer_settime +#define SYS_timerfd_create __NR_timerfd_create +#define SYS_timerfd_gettime __NR_timerfd_gettime +#define SYS_timerfd_settime __NR_timerfd_settime +#define SYS_times __NR_times +#define SYS_tkill __NR_tkill +#define SYS_truncate __NR_truncate +#define SYS_truncate64 __NR_truncate64 +#define SYS_umask __NR_umask +#define SYS_umount __NR_umount +#define SYS_umount2 __NR_umount2 +#define SYS_uname __NR_uname +#define SYS_unlink __NR_unlink +#define SYS_unlinkat __NR_unlinkat +#define SYS_unshare __NR_unshare +#define SYS_uselib __NR_uselib +#define SYS_ustat __NR_ustat +#define SYS_utime __NR_utime +#define SYS_utimensat __NR_utimensat +#define SYS_utimes __NR_utimes +#define SYS_vfork __NR_vfork +#define SYS_vhangup __NR_vhangup +#define SYS_vmsplice __NR_vmsplice +#define SYS_wait4 __NR_wait4 +#define SYS_waitid __NR_waitid +#define SYS_write __NR_write +#define SYS_writev __NR_writev +#elif defined(__arm__) +#define SYS_accept __NR_accept +#define SYS_accept4 __NR_accept4 +#define SYS_access __NR_access +#define SYS_acct __NR_acct +#define SYS_add_key __NR_add_key +#define SYS_adjtimex __NR_adjtimex +#define SYS_alarm __NR_alarm +#define SYS_arm_fadvise64_64 __NR_arm_fadvise64_64 +#define SYS_arm_sync_file_range __NR_arm_sync_file_range +#define SYS_bdflush __NR_bdflush +#define SYS_bind __NR_bind +#define SYS_brk __NR_brk +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_chdir __NR_chdir +#define SYS_chmod __NR_chmod +#define SYS_chown __NR_chown +#define SYS_chown32 __NR_chown32 +#define SYS_chroot __NR_chroot +#define SYS_clock_adjtime __NR_clock_adjtime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_clock_settime __NR_clock_settime +#define SYS_clone __NR_clone +#define SYS_close __NR_close +#define SYS_connect __NR_connect +#define SYS_creat __NR_creat +#define SYS_delete_module __NR_delete_module +#define SYS_dup __NR_dup +#define SYS_dup2 __NR_dup2 +#define SYS_dup3 __NR_dup3 +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_create1 __NR_epoll_create1 +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_pwait __NR_epoll_pwait +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_eventfd __NR_eventfd +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_execve __NR_execve +#define SYS_exit __NR_exit +#define SYS_exit_group __NR_exit_group +#define SYS_faccessat __NR_faccessat +#define SYS_fallocate __NR_fallocate +#define SYS_fanotify_init __NR_fanotify_init +#define SYS_fanotify_mark __NR_fanotify_mark +#define SYS_fchdir __NR_fchdir +#define SYS_fchmod __NR_fchmod +#define SYS_fchmodat __NR_fchmodat +#define SYS_fchown __NR_fchown +#define SYS_fchown32 __NR_fchown32 +#define SYS_fchownat __NR_fchownat +#define SYS_fcntl __NR_fcntl +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_fdatasync __NR_fdatasync +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_finit_module __NR_finit_module +#define SYS_flistxattr __NR_flistxattr +#define SYS_flock __NR_flock +#define SYS_fork __NR_fork +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fstat __NR_fstat +#define SYS_fstat64 __NR_fstat64 +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_fstatfs __NR_fstatfs +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_fsync __NR_fsync +#define SYS_ftruncate __NR_ftruncate +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_futex __NR_futex +#define SYS_futimesat __NR_futimesat +#define SYS_get_mempolicy __NR_get_mempolicy +#define SYS_get_robust_list __NR_get_robust_list +#define SYS_getcpu __NR_getcpu +#define SYS_getcwd __NR_getcwd +#define SYS_getdents __NR_getdents +#define SYS_getdents64 __NR_getdents64 +#define SYS_getegid __NR_getegid +#define SYS_getegid32 __NR_getegid32 +#define SYS_geteuid __NR_geteuid +#define SYS_geteuid32 __NR_geteuid32 +#define SYS_getgid __NR_getgid +#define SYS_getgid32 __NR_getgid32 +#define SYS_getgroups __NR_getgroups +#define SYS_getgroups32 __NR_getgroups32 +#define SYS_getitimer __NR_getitimer +#define SYS_getpeername __NR_getpeername +#define SYS_getpgid __NR_getpgid +#define SYS_getpgrp __NR_getpgrp +#define SYS_getpid __NR_getpid +#define SYS_getppid __NR_getppid +#define SYS_getpriority __NR_getpriority +#define SYS_getresgid __NR_getresgid +#define SYS_getresgid32 __NR_getresgid32 +#define SYS_getresuid __NR_getresuid +#define SYS_getresuid32 __NR_getresuid32 +#define SYS_getrlimit __NR_getrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_getsid __NR_getsid +#define SYS_getsockname __NR_getsockname +#define SYS_getsockopt __NR_getsockopt +#define SYS_gettid __NR_gettid +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_getuid __NR_getuid +#define SYS_getuid32 __NR_getuid32 +#define SYS_getxattr __NR_getxattr +#define SYS_init_module __NR_init_module +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_init1 __NR_inotify_init1 +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_io_cancel __NR_io_cancel +#define SYS_io_destroy __NR_io_destroy +#define SYS_io_getevents __NR_io_getevents +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_ioctl __NR_ioctl +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ipc __NR_ipc +#define SYS_kcmp __NR_kcmp +#define SYS_kexec_load __NR_kexec_load +#define SYS_keyctl __NR_keyctl +#define SYS_kill __NR_kill +#define SYS_lchown __NR_lchown +#define SYS_lchown32 __NR_lchown32 +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_link __NR_link +#define SYS_linkat __NR_linkat +#define SYS_listen __NR_listen +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_lookup_dcookie __NR_lookup_dcookie +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_lseek __NR_lseek +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_lstat __NR_lstat +#define SYS_lstat64 __NR_lstat64 +#define SYS_madvise __NR_madvise +#define SYS_mbind __NR_mbind +#define SYS_mincore __NR_mincore +#define SYS_mkdir __NR_mkdir +#define SYS_mkdirat __NR_mkdirat +#define SYS_mknod __NR_mknod +#define SYS_mknodat __NR_mknodat +#define SYS_mlock __NR_mlock +#define SYS_mlockall __NR_mlockall +#define SYS_mmap __NR_mmap +#define SYS_mmap2 __NR_mmap2 +#define SYS_mount __NR_mount +#define SYS_move_pages __NR_move_pages +#define SYS_mprotect __NR_mprotect +#define SYS_mq_getsetattr __NR_mq_getsetattr +#define SYS_mq_notify __NR_mq_notify +#define SYS_mq_open __NR_mq_open +#define SYS_mq_timedreceive __NR_mq_timedreceive +#define SYS_mq_timedsend __NR_mq_timedsend +#define SYS_mq_unlink __NR_mq_unlink +#define SYS_mremap __NR_mremap +#define SYS_msgctl __NR_msgctl +#define SYS_msgget __NR_msgget +#define SYS_msgrcv __NR_msgrcv +#define SYS_msgsnd __NR_msgsnd +#define SYS_msync __NR_msync +#define SYS_munlock __NR_munlock +#define SYS_munlockall __NR_munlockall +#define SYS_munmap __NR_munmap +#define SYS_name_to_handle_at __NR_name_to_handle_at +#define SYS_nanosleep __NR_nanosleep +#define SYS_nfsservctl __NR_nfsservctl +#define SYS_nice __NR_nice +#define SYS_open __NR_open +#define SYS_open_by_handle_at __NR_open_by_handle_at +#define SYS_openat __NR_openat +#define SYS_pause __NR_pause +#define SYS_pciconfig_iobase __NR_pciconfig_iobase +#define SYS_pciconfig_read __NR_pciconfig_read +#define SYS_pciconfig_write __NR_pciconfig_write +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_personality __NR_personality +#define SYS_pipe __NR_pipe +#define SYS_pipe2 __NR_pipe2 +#define SYS_pivot_root __NR_pivot_root +#define SYS_poll __NR_poll +#define SYS_ppoll __NR_ppoll +#define SYS_prctl __NR_prctl +#define SYS_pread64 __NR_pread64 +#define SYS_preadv __NR_preadv +#define SYS_prlimit64 __NR_prlimit64 +#define SYS_process_vm_readv __NR_process_vm_readv +#define SYS_process_vm_writev __NR_process_vm_writev +#define SYS_pselect6 __NR_pselect6 +#define SYS_ptrace __NR_ptrace +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_pwritev __NR_pwritev +#define SYS_quotactl __NR_quotactl +#define SYS_read __NR_read +#define SYS_readahead __NR_readahead +#define SYS_readdir __NR_readdir +#define SYS_readlink __NR_readlink +#define SYS_readlinkat __NR_readlinkat +#define SYS_readv __NR_readv +#define SYS_reboot __NR_reboot +#define SYS_recv __NR_recv +#define SYS_recvfrom __NR_recvfrom +#define SYS_recvmmsg __NR_recvmmsg +#define SYS_recvmsg __NR_recvmsg +#define SYS_remap_file_pages __NR_remap_file_pages +#define SYS_removexattr __NR_removexattr +#define SYS_rename __NR_rename +#define SYS_renameat __NR_renameat +#define SYS_request_key __NR_request_key +#define SYS_restart_syscall __NR_restart_syscall +#define SYS_rmdir __NR_rmdir +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigpending __NR_rt_sigpending +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#define SYS_rt_sigreturn __NR_rt_sigreturn +#define SYS_rt_sigsuspend __NR_rt_sigsuspend +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_sched_getattr __NR_sched_getattr +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_select __NR_select +#define SYS_semctl __NR_semctl +#define SYS_semget __NR_semget +#define SYS_semop __NR_semop +#define SYS_semtimedop __NR_semtimedop +#define SYS_send __NR_send +#define SYS_sendfile __NR_sendfile +#define SYS_sendfile64 __NR_sendfile64 +#define SYS_sendmmsg __NR_sendmmsg +#define SYS_sendmsg __NR_sendmsg +#define SYS_sendto __NR_sendto +#define SYS_set_mempolicy __NR_set_mempolicy +#define SYS_set_robust_list __NR_set_robust_list +#define SYS_set_tid_address __NR_set_tid_address +#define SYS_setdomainname __NR_setdomainname +#define SYS_setfsgid __NR_setfsgid +#define SYS_setfsgid32 __NR_setfsgid32 +#define SYS_setfsuid __NR_setfsuid +#define SYS_setfsuid32 __NR_setfsuid32 +#define SYS_setgid __NR_setgid +#define SYS_setgid32 __NR_setgid32 +#define SYS_setgroups __NR_setgroups +#define SYS_setgroups32 __NR_setgroups32 +#define SYS_sethostname __NR_sethostname +#define SYS_setitimer __NR_setitimer +#define SYS_setns __NR_setns +#define SYS_setpgid __NR_setpgid +#define SYS_setpriority __NR_setpriority +#define SYS_setregid __NR_setregid +#define SYS_setregid32 __NR_setregid32 +#define SYS_setresgid __NR_setresgid +#define SYS_setresgid32 __NR_setresgid32 +#define SYS_setresuid __NR_setresuid +#define SYS_setresuid32 __NR_setresuid32 +#define SYS_setreuid __NR_setreuid +#define SYS_setreuid32 __NR_setreuid32 +#define SYS_setrlimit __NR_setrlimit +#define SYS_setsid __NR_setsid +#define SYS_setsockopt __NR_setsockopt +#define SYS_settimeofday __NR_settimeofday +#define SYS_setuid __NR_setuid +#define SYS_setuid32 __NR_setuid32 +#define SYS_setxattr __NR_setxattr +#define SYS_shmat __NR_shmat +#define SYS_shmctl __NR_shmctl +#define SYS_shmdt __NR_shmdt +#define SYS_shmget __NR_shmget +#define SYS_shutdown __NR_shutdown +#define SYS_sigaction __NR_sigaction +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_signalfd __NR_signalfd +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_sigpending __NR_sigpending +#define SYS_sigprocmask __NR_sigprocmask +#define SYS_sigreturn __NR_sigreturn +#define SYS_sigsuspend __NR_sigsuspend +#define SYS_socket __NR_socket +#define SYS_socketcall __NR_socketcall +#define SYS_socketpair __NR_socketpair +#define SYS_splice __NR_splice +#define SYS_stat __NR_stat +#define SYS_stat64 __NR_stat64 +#define SYS_statfs __NR_statfs +#define SYS_statfs64 __NR_statfs64 +#define SYS_stime __NR_stime +#define SYS_swapoff __NR_swapoff +#define SYS_swapon __NR_swapon +#define SYS_symlink __NR_symlink +#define SYS_symlinkat __NR_symlinkat +#define SYS_sync __NR_sync +#define SYS_sync_file_range2 __NR_sync_file_range2 +#define SYS_syncfs __NR_syncfs +#define SYS_syscall __NR_syscall +#define SYS_sysfs __NR_sysfs +#define SYS_sysinfo __NR_sysinfo +#define SYS_syslog __NR_syslog +#define SYS_tee __NR_tee +#define SYS_tgkill __NR_tgkill +#define SYS_time __NR_time +#define SYS_timer_create __NR_timer_create +#define SYS_timer_delete __NR_timer_delete +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_settime __NR_timer_settime +#define SYS_timerfd_create __NR_timerfd_create +#define SYS_timerfd_gettime __NR_timerfd_gettime +#define SYS_timerfd_settime __NR_timerfd_settime +#define SYS_times __NR_times +#define SYS_tkill __NR_tkill +#define SYS_truncate __NR_truncate +#define SYS_truncate64 __NR_truncate64 +#define SYS_ugetrlimit __NR_ugetrlimit +#define SYS_umask __NR_umask +#define SYS_umount __NR_umount +#define SYS_umount2 __NR_umount2 +#define SYS_uname __NR_uname +#define SYS_unlink __NR_unlink +#define SYS_unlinkat __NR_unlinkat +#define SYS_unshare __NR_unshare +#define SYS_uselib __NR_uselib +#define SYS_ustat __NR_ustat +#define SYS_utime __NR_utime +#define SYS_utimensat __NR_utimensat +#define SYS_utimes __NR_utimes +#define SYS_vfork __NR_vfork +#define SYS_vhangup __NR_vhangup +#define SYS_vmsplice __NR_vmsplice +#define SYS_vserver __NR_vserver +#define SYS_wait4 __NR_wait4 +#define SYS_waitid __NR_waitid +#define SYS_write __NR_write +#define SYS_writev __NR_writev +#elif defined(__mips__) +#define SYS_accept __NR_accept +#define SYS_accept4 __NR_accept4 +#define SYS_access __NR_access +#define SYS_acct __NR_acct +#define SYS_add_key __NR_add_key +#define SYS_adjtimex __NR_adjtimex +#define SYS_afs_syscall __NR_afs_syscall +#define SYS_alarm __NR_alarm +#define SYS_bdflush __NR_bdflush +#define SYS_bind __NR_bind +#define SYS_break __NR_break +#define SYS_brk __NR_brk +#define SYS_cachectl __NR_cachectl +#define SYS_cacheflush __NR_cacheflush +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_chdir __NR_chdir +#define SYS_chmod __NR_chmod +#define SYS_chown __NR_chown +#define SYS_chroot __NR_chroot +#define SYS_clock_adjtime __NR_clock_adjtime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_clock_settime __NR_clock_settime +#define SYS_clone __NR_clone +#define SYS_close __NR_close +#define SYS_connect __NR_connect +#define SYS_creat __NR_creat +#define SYS_create_module __NR_create_module +#define SYS_delete_module __NR_delete_module +#define SYS_dup __NR_dup +#define SYS_dup2 __NR_dup2 +#define SYS_dup3 __NR_dup3 +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_create1 __NR_epoll_create1 +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_pwait __NR_epoll_pwait +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_eventfd __NR_eventfd +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_execve __NR_execve +#define SYS_exit __NR_exit +#define SYS_exit_group __NR_exit_group +#define SYS_faccessat __NR_faccessat +#define SYS_fadvise64 __NR_fadvise64 +#define SYS_fallocate __NR_fallocate +#define SYS_fanotify_init __NR_fanotify_init +#define SYS_fanotify_mark __NR_fanotify_mark +#define SYS_fchdir __NR_fchdir +#define SYS_fchmod __NR_fchmod +#define SYS_fchmodat __NR_fchmodat +#define SYS_fchown __NR_fchown +#define SYS_fchownat __NR_fchownat +#define SYS_fcntl __NR_fcntl +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_fdatasync __NR_fdatasync +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_finit_module __NR_finit_module +#define SYS_flistxattr __NR_flistxattr +#define SYS_flock __NR_flock +#define SYS_fork __NR_fork +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fstat __NR_fstat +#define SYS_fstat64 __NR_fstat64 +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_fstatfs __NR_fstatfs +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_fsync __NR_fsync +#define SYS_ftime __NR_ftime +#define SYS_ftruncate __NR_ftruncate +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_futex __NR_futex +#define SYS_futimesat __NR_futimesat +#define SYS_get_kernel_syms __NR_get_kernel_syms +#define SYS_get_mempolicy __NR_get_mempolicy +#define SYS_get_robust_list __NR_get_robust_list +#define SYS_getcpu __NR_getcpu +#define SYS_getcwd __NR_getcwd +#define SYS_getdents __NR_getdents +#define SYS_getdents64 __NR_getdents64 +#define SYS_getegid __NR_getegid +#define SYS_geteuid __NR_geteuid +#define SYS_getgid __NR_getgid +#define SYS_getgroups __NR_getgroups +#define SYS_getitimer __NR_getitimer +#define SYS_getpeername __NR_getpeername +#define SYS_getpgid __NR_getpgid +#define SYS_getpgrp __NR_getpgrp +#define SYS_getpid __NR_getpid +#define SYS_getpmsg __NR_getpmsg +#define SYS_getppid __NR_getppid +#define SYS_getpriority __NR_getpriority +#define SYS_getresgid __NR_getresgid +#define SYS_getresuid __NR_getresuid +#define SYS_getrlimit __NR_getrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_getsid __NR_getsid +#define SYS_getsockname __NR_getsockname +#define SYS_getsockopt __NR_getsockopt +#define SYS_gettid __NR_gettid +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_getuid __NR_getuid +#define SYS_getxattr __NR_getxattr +#define SYS_gtty __NR_gtty +#define SYS_idle __NR_idle +#define SYS_init_module __NR_init_module +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_init1 __NR_inotify_init1 +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_io_cancel __NR_io_cancel +#define SYS_io_destroy __NR_io_destroy +#define SYS_io_getevents __NR_io_getevents +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_ioctl __NR_ioctl +#define SYS_ioperm __NR_ioperm +#define SYS_iopl __NR_iopl +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ipc __NR_ipc +#define SYS_kcmp __NR_kcmp +#define SYS_kexec_load __NR_kexec_load +#define SYS_keyctl __NR_keyctl +#define SYS_kill __NR_kill +#define SYS_lchown __NR_lchown +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_link __NR_link +#define SYS_linkat __NR_linkat +#define SYS_listen __NR_listen +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_lock __NR_lock +#define SYS_lookup_dcookie __NR_lookup_dcookie +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_lseek __NR_lseek +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_lstat __NR_lstat +#define SYS_lstat64 __NR_lstat64 +#define SYS_madvise __NR_madvise +#define SYS_mbind __NR_mbind +#define SYS_migrate_pages __NR_migrate_pages +#define SYS_mincore __NR_mincore +#define SYS_mkdir __NR_mkdir +#define SYS_mkdirat __NR_mkdirat +#define SYS_mknod __NR_mknod +#define SYS_mknodat __NR_mknodat +#define SYS_mlock __NR_mlock +#define SYS_mlockall __NR_mlockall +#define SYS_mmap __NR_mmap +#define SYS_mmap2 __NR_mmap2 +#define SYS_modify_ldt __NR_modify_ldt +#define SYS_mount __NR_mount +#define SYS_move_pages __NR_move_pages +#define SYS_mprotect __NR_mprotect +#define SYS_mpx __NR_mpx +#define SYS_mq_getsetattr __NR_mq_getsetattr +#define SYS_mq_notify __NR_mq_notify +#define SYS_mq_open __NR_mq_open +#define SYS_mq_timedreceive __NR_mq_timedreceive +#define SYS_mq_timedsend __NR_mq_timedsend +#define SYS_mq_unlink __NR_mq_unlink +#define SYS_mremap __NR_mremap +#define SYS_msgctl __NR_msgctl +#define SYS_msgget __NR_msgget +#define SYS_msgrcv __NR_msgrcv +#define SYS_msgsnd __NR_msgsnd +#define SYS_msync __NR_msync +#define SYS_munlock __NR_munlock +#define SYS_munlockall __NR_munlockall +#define SYS_munmap __NR_munmap +#define SYS_name_to_handle_at __NR_name_to_handle_at +#define SYS_nanosleep __NR_nanosleep +#define SYS_newfstatat __NR_newfstatat +#define SYS_nfsservctl __NR_nfsservctl +#define SYS_nice __NR_nice +#define SYS_open __NR_open +#define SYS_open_by_handle_at __NR_open_by_handle_at +#define SYS_openat __NR_openat +#define SYS_pause __NR_pause +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_personality __NR_personality +#define SYS_pipe __NR_pipe +#define SYS_pipe2 __NR_pipe2 +#define SYS_pivot_root __NR_pivot_root +#define SYS_poll __NR_poll +#define SYS_ppoll __NR_ppoll +#define SYS_prctl __NR_prctl +#define SYS_pread64 __NR_pread64 +#define SYS_preadv __NR_preadv +#define SYS_prlimit64 __NR_prlimit64 +#define SYS_process_vm_readv __NR_process_vm_readv +#define SYS_process_vm_writev __NR_process_vm_writev +#define SYS_prof __NR_prof +#define SYS_profil __NR_profil +#define SYS_pselect6 __NR_pselect6 +#define SYS_ptrace __NR_ptrace +#define SYS_putpmsg __NR_putpmsg +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_pwritev __NR_pwritev +#define SYS_query_module __NR_query_module +#define SYS_quotactl __NR_quotactl +#define SYS_read __NR_read +#define SYS_readahead __NR_readahead +#define SYS_readdir __NR_readdir +#define SYS_readlink __NR_readlink +#define SYS_readlinkat __NR_readlinkat +#define SYS_readv __NR_readv +#define SYS_reboot __NR_reboot +#define SYS_recv __NR_recv +#define SYS_recvfrom __NR_recvfrom +#define SYS_recvmmsg __NR_recvmmsg +#define SYS_recvmsg __NR_recvmsg +#define SYS_remap_file_pages __NR_remap_file_pages +#define SYS_removexattr __NR_removexattr +#define SYS_rename __NR_rename +#define SYS_renameat __NR_renameat +#define SYS_request_key __NR_request_key +#define SYS_reserved177 __NR_reserved177 +#define SYS_reserved193 __NR_reserved193 +#define SYS_reserved221 __NR_reserved221 +#define SYS_reserved82 __NR_reserved82 +#define SYS_restart_syscall __NR_restart_syscall +#define SYS_rmdir __NR_rmdir +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigpending __NR_rt_sigpending +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#define SYS_rt_sigreturn __NR_rt_sigreturn +#define SYS_rt_sigsuspend __NR_rt_sigsuspend +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_sched_getattr __NR_sched_getattr +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_semctl __NR_semctl +#define SYS_semget __NR_semget +#define SYS_semop __NR_semop +#define SYS_semtimedop __NR_semtimedop +#define SYS_send __NR_send +#define SYS_sendfile __NR_sendfile +#define SYS_sendfile64 __NR_sendfile64 +#define SYS_sendmmsg __NR_sendmmsg +#define SYS_sendmsg __NR_sendmsg +#define SYS_sendto __NR_sendto +#define SYS_set_mempolicy __NR_set_mempolicy +#define SYS_set_robust_list __NR_set_robust_list +#define SYS_set_thread_area __NR_set_thread_area +#define SYS_set_tid_address __NR_set_tid_address +#define SYS_setdomainname __NR_setdomainname +#define SYS_setfsgid __NR_setfsgid +#define SYS_setfsuid __NR_setfsuid +#define SYS_setgid __NR_setgid +#define SYS_setgroups __NR_setgroups +#define SYS_sethostname __NR_sethostname +#define SYS_setitimer __NR_setitimer +#define SYS_setns __NR_setns +#define SYS_setpgid __NR_setpgid +#define SYS_setpriority __NR_setpriority +#define SYS_setregid __NR_setregid +#define SYS_setresgid __NR_setresgid +#define SYS_setresuid __NR_setresuid +#define SYS_setreuid __NR_setreuid +#define SYS_setrlimit __NR_setrlimit +#define SYS_setsid __NR_setsid +#define SYS_setsockopt __NR_setsockopt +#define SYS_settimeofday __NR_settimeofday +#define SYS_setuid __NR_setuid +#define SYS_setxattr __NR_setxattr +#define SYS_sgetmask __NR_sgetmask +#define SYS_shmat __NR_shmat +#define SYS_shmctl __NR_shmctl +#define SYS_shmdt __NR_shmdt +#define SYS_shmget __NR_shmget +#define SYS_shutdown __NR_shutdown +#define SYS_sigaction __NR_sigaction +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_signal __NR_signal +#define SYS_signalfd __NR_signalfd +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_sigpending __NR_sigpending +#define SYS_sigprocmask __NR_sigprocmask +#define SYS_sigreturn __NR_sigreturn +#define SYS_sigsuspend __NR_sigsuspend +#define SYS_socket __NR_socket +#define SYS_socketcall __NR_socketcall +#define SYS_socketpair __NR_socketpair +#define SYS_splice __NR_splice +#define SYS_ssetmask __NR_ssetmask +#define SYS_stat __NR_stat +#define SYS_stat64 __NR_stat64 +#define SYS_statfs __NR_statfs +#define SYS_statfs64 __NR_statfs64 +#define SYS_stime __NR_stime +#define SYS_stty __NR_stty +#define SYS_swapoff __NR_swapoff +#define SYS_swapon __NR_swapon +#define SYS_symlink __NR_symlink +#define SYS_symlinkat __NR_symlinkat +#define SYS_sync __NR_sync +#define SYS_sync_file_range __NR_sync_file_range +#define SYS_syncfs __NR_syncfs +#define SYS_syscall __NR_syscall +#define SYS_sysfs __NR_sysfs +#define SYS_sysinfo __NR_sysinfo +#define SYS_syslog __NR_syslog +#define SYS_sysmips __NR_sysmips +#define SYS_tee __NR_tee +#define SYS_tgkill __NR_tgkill +#define SYS_time __NR_time +#define SYS_timer_create __NR_timer_create +#define SYS_timer_delete __NR_timer_delete +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_settime __NR_timer_settime +#define SYS_timerfd __NR_timerfd +#define SYS_timerfd_create __NR_timerfd_create +#define SYS_timerfd_gettime __NR_timerfd_gettime +#define SYS_timerfd_settime __NR_timerfd_settime +#define SYS_times __NR_times +#define SYS_tkill __NR_tkill +#define SYS_truncate __NR_truncate +#define SYS_truncate64 __NR_truncate64 +#define SYS_ulimit __NR_ulimit +#define SYS_umask __NR_umask +#define SYS_umount __NR_umount +#define SYS_umount2 __NR_umount2 +#define SYS_uname __NR_uname +#define SYS_unlink __NR_unlink +#define SYS_unlinkat __NR_unlinkat +#define SYS_unshare __NR_unshare +#define SYS_unused109 __NR_unused109 +#define SYS_unused150 __NR_unused150 +#define SYS_unused18 __NR_unused18 +#define SYS_unused28 __NR_unused28 +#define SYS_unused59 __NR_unused59 +#define SYS_unused84 __NR_unused84 +#define SYS_uselib __NR_uselib +#define SYS_ustat __NR_ustat +#define SYS_utime __NR_utime +#define SYS_utimensat __NR_utimensat +#define SYS_utimes __NR_utimes +#define SYS_vhangup __NR_vhangup +#define SYS_vm86 __NR_vm86 +#define SYS_vmsplice __NR_vmsplice +#define SYS_vserver __NR_vserver +#define SYS_wait4 __NR_wait4 +#define SYS_waitid __NR_waitid +#define SYS_waitpid __NR_waitpid +#define SYS_write __NR_write +#define SYS_writev __NR_writev +#elif defined(__i386__) +#define SYS_access __NR_access +#define SYS_acct __NR_acct +#define SYS_add_key __NR_add_key +#define SYS_adjtimex __NR_adjtimex +#define SYS_afs_syscall __NR_afs_syscall +#define SYS_alarm __NR_alarm +#define SYS_bdflush __NR_bdflush +#define SYS_break __NR_break +#define SYS_brk __NR_brk +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_chdir __NR_chdir +#define SYS_chmod __NR_chmod +#define SYS_chown __NR_chown +#define SYS_chown32 __NR_chown32 +#define SYS_chroot __NR_chroot +#define SYS_clock_adjtime __NR_clock_adjtime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_clock_settime __NR_clock_settime +#define SYS_clone __NR_clone +#define SYS_close __NR_close +#define SYS_creat __NR_creat +#define SYS_create_module __NR_create_module +#define SYS_delete_module __NR_delete_module +#define SYS_dup __NR_dup +#define SYS_dup2 __NR_dup2 +#define SYS_dup3 __NR_dup3 +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_create1 __NR_epoll_create1 +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_pwait __NR_epoll_pwait +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_eventfd __NR_eventfd +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_execve __NR_execve +#define SYS_exit __NR_exit +#define SYS_exit_group __NR_exit_group +#define SYS_faccessat __NR_faccessat +#define SYS_fadvise64 __NR_fadvise64 +#define SYS_fadvise64_64 __NR_fadvise64_64 +#define SYS_fallocate __NR_fallocate +#define SYS_fanotify_init __NR_fanotify_init +#define SYS_fanotify_mark __NR_fanotify_mark +#define SYS_fchdir __NR_fchdir +#define SYS_fchmod __NR_fchmod +#define SYS_fchmodat __NR_fchmodat +#define SYS_fchown __NR_fchown +#define SYS_fchown32 __NR_fchown32 +#define SYS_fchownat __NR_fchownat +#define SYS_fcntl __NR_fcntl +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_fdatasync __NR_fdatasync +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_finit_module __NR_finit_module +#define SYS_flistxattr __NR_flistxattr +#define SYS_flock __NR_flock +#define SYS_fork __NR_fork +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fstat __NR_fstat +#define SYS_fstat64 __NR_fstat64 +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_fstatfs __NR_fstatfs +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_fsync __NR_fsync +#define SYS_ftime __NR_ftime +#define SYS_ftruncate __NR_ftruncate +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_futex __NR_futex +#define SYS_futimesat __NR_futimesat +#define SYS_get_kernel_syms __NR_get_kernel_syms +#define SYS_get_mempolicy __NR_get_mempolicy +#define SYS_get_robust_list __NR_get_robust_list +#define SYS_get_thread_area __NR_get_thread_area +#define SYS_getcpu __NR_getcpu +#define SYS_getcwd __NR_getcwd +#define SYS_getdents __NR_getdents +#define SYS_getdents64 __NR_getdents64 +#define SYS_getegid __NR_getegid +#define SYS_getegid32 __NR_getegid32 +#define SYS_geteuid __NR_geteuid +#define SYS_geteuid32 __NR_geteuid32 +#define SYS_getgid __NR_getgid +#define SYS_getgid32 __NR_getgid32 +#define SYS_getgroups __NR_getgroups +#define SYS_getgroups32 __NR_getgroups32 +#define SYS_getitimer __NR_getitimer +#define SYS_getpgid __NR_getpgid +#define SYS_getpgrp __NR_getpgrp +#define SYS_getpid __NR_getpid +#define SYS_getpmsg __NR_getpmsg +#define SYS_getppid __NR_getppid +#define SYS_getpriority __NR_getpriority +#define SYS_getresgid __NR_getresgid +#define SYS_getresgid32 __NR_getresgid32 +#define SYS_getresuid __NR_getresuid +#define SYS_getresuid32 __NR_getresuid32 +#define SYS_getrlimit __NR_getrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_getsid __NR_getsid +#define SYS_gettid __NR_gettid +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_getuid __NR_getuid +#define SYS_getuid32 __NR_getuid32 +#define SYS_getxattr __NR_getxattr +#define SYS_gtty __NR_gtty +#define SYS_idle __NR_idle +#define SYS_init_module __NR_init_module +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_init1 __NR_inotify_init1 +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_io_cancel __NR_io_cancel +#define SYS_io_destroy __NR_io_destroy +#define SYS_io_getevents __NR_io_getevents +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_ioctl __NR_ioctl +#define SYS_ioperm __NR_ioperm +#define SYS_iopl __NR_iopl +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ipc __NR_ipc +#define SYS_kcmp __NR_kcmp +#define SYS_kexec_load __NR_kexec_load +#define SYS_keyctl __NR_keyctl +#define SYS_kill __NR_kill +#define SYS_lchown __NR_lchown +#define SYS_lchown32 __NR_lchown32 +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_link __NR_link +#define SYS_linkat __NR_linkat +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_lock __NR_lock +#define SYS_lookup_dcookie __NR_lookup_dcookie +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_lseek __NR_lseek +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_lstat __NR_lstat +#define SYS_lstat64 __NR_lstat64 +#define SYS_madvise __NR_madvise +#define SYS_mbind __NR_mbind +#define SYS_migrate_pages __NR_migrate_pages +#define SYS_mincore __NR_mincore +#define SYS_mkdir __NR_mkdir +#define SYS_mkdirat __NR_mkdirat +#define SYS_mknod __NR_mknod +#define SYS_mknodat __NR_mknodat +#define SYS_mlock __NR_mlock +#define SYS_mlockall __NR_mlockall +#define SYS_mmap __NR_mmap +#define SYS_mmap2 __NR_mmap2 +#define SYS_modify_ldt __NR_modify_ldt +#define SYS_mount __NR_mount +#define SYS_move_pages __NR_move_pages +#define SYS_mprotect __NR_mprotect +#define SYS_mpx __NR_mpx +#define SYS_mq_getsetattr __NR_mq_getsetattr +#define SYS_mq_notify __NR_mq_notify +#define SYS_mq_open __NR_mq_open +#define SYS_mq_timedreceive __NR_mq_timedreceive +#define SYS_mq_timedsend __NR_mq_timedsend +#define SYS_mq_unlink __NR_mq_unlink +#define SYS_mremap __NR_mremap +#define SYS_msync __NR_msync +#define SYS_munlock __NR_munlock +#define SYS_munlockall __NR_munlockall +#define SYS_munmap __NR_munmap +#define SYS_name_to_handle_at __NR_name_to_handle_at +#define SYS_nanosleep __NR_nanosleep +#define SYS_nfsservctl __NR_nfsservctl +#define SYS_nice __NR_nice +#define SYS_oldfstat __NR_oldfstat +#define SYS_oldlstat __NR_oldlstat +#define SYS_oldolduname __NR_oldolduname +#define SYS_oldstat __NR_oldstat +#define SYS_olduname __NR_olduname +#define SYS_open __NR_open +#define SYS_open_by_handle_at __NR_open_by_handle_at +#define SYS_openat __NR_openat +#define SYS_pause __NR_pause +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_personality __NR_personality +#define SYS_pipe __NR_pipe +#define SYS_pipe2 __NR_pipe2 +#define SYS_pivot_root __NR_pivot_root +#define SYS_poll __NR_poll +#define SYS_ppoll __NR_ppoll +#define SYS_prctl __NR_prctl +#define SYS_pread64 __NR_pread64 +#define SYS_preadv __NR_preadv +#define SYS_prlimit64 __NR_prlimit64 +#define SYS_process_vm_readv __NR_process_vm_readv +#define SYS_process_vm_writev __NR_process_vm_writev +#define SYS_prof __NR_prof +#define SYS_profil __NR_profil +#define SYS_pselect6 __NR_pselect6 +#define SYS_ptrace __NR_ptrace +#define SYS_putpmsg __NR_putpmsg +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_pwritev __NR_pwritev +#define SYS_query_module __NR_query_module +#define SYS_quotactl __NR_quotactl +#define SYS_read __NR_read +#define SYS_readahead __NR_readahead +#define SYS_readdir __NR_readdir +#define SYS_readlink __NR_readlink +#define SYS_readlinkat __NR_readlinkat +#define SYS_readv __NR_readv +#define SYS_reboot __NR_reboot +#define SYS_recvmmsg __NR_recvmmsg +#define SYS_remap_file_pages __NR_remap_file_pages +#define SYS_removexattr __NR_removexattr +#define SYS_rename __NR_rename +#define SYS_renameat __NR_renameat +#define SYS_request_key __NR_request_key +#define SYS_restart_syscall __NR_restart_syscall +#define SYS_rmdir __NR_rmdir +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigpending __NR_rt_sigpending +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#define SYS_rt_sigreturn __NR_rt_sigreturn +#define SYS_rt_sigsuspend __NR_rt_sigsuspend +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_sched_getattr __NR_sched_getattr +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_select __NR_select +#define SYS_sendfile __NR_sendfile +#define SYS_sendfile64 __NR_sendfile64 +#define SYS_sendmmsg __NR_sendmmsg +#define SYS_set_mempolicy __NR_set_mempolicy +#define SYS_set_robust_list __NR_set_robust_list +#define SYS_set_thread_area __NR_set_thread_area +#define SYS_set_tid_address __NR_set_tid_address +#define SYS_setdomainname __NR_setdomainname +#define SYS_setfsgid __NR_setfsgid +#define SYS_setfsgid32 __NR_setfsgid32 +#define SYS_setfsuid __NR_setfsuid +#define SYS_setfsuid32 __NR_setfsuid32 +#define SYS_setgid __NR_setgid +#define SYS_setgid32 __NR_setgid32 +#define SYS_setgroups __NR_setgroups +#define SYS_setgroups32 __NR_setgroups32 +#define SYS_sethostname __NR_sethostname +#define SYS_setitimer __NR_setitimer +#define SYS_setns __NR_setns +#define SYS_setpgid __NR_setpgid +#define SYS_setpriority __NR_setpriority +#define SYS_setregid __NR_setregid +#define SYS_setregid32 __NR_setregid32 +#define SYS_setresgid __NR_setresgid +#define SYS_setresgid32 __NR_setresgid32 +#define SYS_setresuid __NR_setresuid +#define SYS_setresuid32 __NR_setresuid32 +#define SYS_setreuid __NR_setreuid +#define SYS_setreuid32 __NR_setreuid32 +#define SYS_setrlimit __NR_setrlimit +#define SYS_setsid __NR_setsid +#define SYS_settimeofday __NR_settimeofday +#define SYS_setuid __NR_setuid +#define SYS_setuid32 __NR_setuid32 +#define SYS_setxattr __NR_setxattr +#define SYS_sgetmask __NR_sgetmask +#define SYS_sigaction __NR_sigaction +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_signal __NR_signal +#define SYS_signalfd __NR_signalfd +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_sigpending __NR_sigpending +#define SYS_sigprocmask __NR_sigprocmask +#define SYS_sigreturn __NR_sigreturn +#define SYS_sigsuspend __NR_sigsuspend +#define SYS_socketcall __NR_socketcall +#define SYS_splice __NR_splice +#define SYS_ssetmask __NR_ssetmask +#define SYS_stat __NR_stat +#define SYS_stat64 __NR_stat64 +#define SYS_statfs __NR_statfs +#define SYS_statfs64 __NR_statfs64 +#define SYS_stime __NR_stime +#define SYS_stty __NR_stty +#define SYS_swapoff __NR_swapoff +#define SYS_swapon __NR_swapon +#define SYS_symlink __NR_symlink +#define SYS_symlinkat __NR_symlinkat +#define SYS_sync __NR_sync +#define SYS_sync_file_range __NR_sync_file_range +#define SYS_syncfs __NR_syncfs +#define SYS_sysfs __NR_sysfs +#define SYS_sysinfo __NR_sysinfo +#define SYS_syslog __NR_syslog +#define SYS_tee __NR_tee +#define SYS_tgkill __NR_tgkill +#define SYS_time __NR_time +#define SYS_timer_create __NR_timer_create +#define SYS_timer_delete __NR_timer_delete +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_settime __NR_timer_settime +#define SYS_timerfd_create __NR_timerfd_create +#define SYS_timerfd_gettime __NR_timerfd_gettime +#define SYS_timerfd_settime __NR_timerfd_settime +#define SYS_times __NR_times +#define SYS_tkill __NR_tkill +#define SYS_truncate __NR_truncate +#define SYS_truncate64 __NR_truncate64 +#define SYS_ugetrlimit __NR_ugetrlimit +#define SYS_ulimit __NR_ulimit +#define SYS_umask __NR_umask +#define SYS_umount __NR_umount +#define SYS_umount2 __NR_umount2 +#define SYS_uname __NR_uname +#define SYS_unlink __NR_unlink +#define SYS_unlinkat __NR_unlinkat +#define SYS_unshare __NR_unshare +#define SYS_uselib __NR_uselib +#define SYS_ustat __NR_ustat +#define SYS_utime __NR_utime +#define SYS_utimensat __NR_utimensat +#define SYS_utimes __NR_utimes +#define SYS_vfork __NR_vfork +#define SYS_vhangup __NR_vhangup +#define SYS_vm86 __NR_vm86 +#define SYS_vm86old __NR_vm86old +#define SYS_vmsplice __NR_vmsplice +#define SYS_vserver __NR_vserver +#define SYS_wait4 __NR_wait4 +#define SYS_waitid __NR_waitid +#define SYS_waitpid __NR_waitpid +#define SYS_write __NR_write +#define SYS_writev __NR_writev +#elif defined(__x86_64__) +#define SYS_accept __NR_accept +#define SYS_accept4 __NR_accept4 +#define SYS_access __NR_access +#define SYS_acct __NR_acct +#define SYS_add_key __NR_add_key +#define SYS_adjtimex __NR_adjtimex +#define SYS_afs_syscall __NR_afs_syscall +#define SYS_alarm __NR_alarm +#define SYS_arch_prctl __NR_arch_prctl +#define SYS_bind __NR_bind +#define SYS_brk __NR_brk +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_chdir __NR_chdir +#define SYS_chmod __NR_chmod +#define SYS_chown __NR_chown +#define SYS_chroot __NR_chroot +#define SYS_clock_adjtime __NR_clock_adjtime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_clock_settime __NR_clock_settime +#define SYS_clone __NR_clone +#define SYS_close __NR_close +#define SYS_connect __NR_connect +#define SYS_creat __NR_creat +#define SYS_create_module __NR_create_module +#define SYS_delete_module __NR_delete_module +#define SYS_dup __NR_dup +#define SYS_dup2 __NR_dup2 +#define SYS_dup3 __NR_dup3 +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_create1 __NR_epoll_create1 +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_ctl_old __NR_epoll_ctl_old +#define SYS_epoll_pwait __NR_epoll_pwait +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_epoll_wait_old __NR_epoll_wait_old +#define SYS_eventfd __NR_eventfd +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_execve __NR_execve +#define SYS_exit __NR_exit +#define SYS_exit_group __NR_exit_group +#define SYS_faccessat __NR_faccessat +#define SYS_fadvise64 __NR_fadvise64 +#define SYS_fallocate __NR_fallocate +#define SYS_fanotify_init __NR_fanotify_init +#define SYS_fanotify_mark __NR_fanotify_mark +#define SYS_fchdir __NR_fchdir +#define SYS_fchmod __NR_fchmod +#define SYS_fchmodat __NR_fchmodat +#define SYS_fchown __NR_fchown +#define SYS_fchownat __NR_fchownat +#define SYS_fcntl __NR_fcntl +#define SYS_fdatasync __NR_fdatasync +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_finit_module __NR_finit_module +#define SYS_flistxattr __NR_flistxattr +#define SYS_flock __NR_flock +#define SYS_fork __NR_fork +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fstat __NR_fstat +#define SYS_fstatfs __NR_fstatfs +#define SYS_fsync __NR_fsync +#define SYS_ftruncate __NR_ftruncate +#define SYS_futex __NR_futex +#define SYS_futimesat __NR_futimesat +#define SYS_get_kernel_syms __NR_get_kernel_syms +#define SYS_get_mempolicy __NR_get_mempolicy +#define SYS_get_robust_list __NR_get_robust_list +#define SYS_get_thread_area __NR_get_thread_area +#define SYS_getcpu __NR_getcpu +#define SYS_getcwd __NR_getcwd +#define SYS_getdents __NR_getdents +#define SYS_getdents64 __NR_getdents64 +#define SYS_getegid __NR_getegid +#define SYS_geteuid __NR_geteuid +#define SYS_getgid __NR_getgid +#define SYS_getgroups __NR_getgroups +#define SYS_getitimer __NR_getitimer +#define SYS_getpeername __NR_getpeername +#define SYS_getpgid __NR_getpgid +#define SYS_getpgrp __NR_getpgrp +#define SYS_getpid __NR_getpid +#define SYS_getpmsg __NR_getpmsg +#define SYS_getppid __NR_getppid +#define SYS_getpriority __NR_getpriority +#define SYS_getresgid __NR_getresgid +#define SYS_getresuid __NR_getresuid +#define SYS_getrlimit __NR_getrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_getsid __NR_getsid +#define SYS_getsockname __NR_getsockname +#define SYS_getsockopt __NR_getsockopt +#define SYS_gettid __NR_gettid +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_getuid __NR_getuid +#define SYS_getxattr __NR_getxattr +#define SYS_init_module __NR_init_module +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_init1 __NR_inotify_init1 +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_io_cancel __NR_io_cancel +#define SYS_io_destroy __NR_io_destroy +#define SYS_io_getevents __NR_io_getevents +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_ioctl __NR_ioctl +#define SYS_ioperm __NR_ioperm +#define SYS_iopl __NR_iopl +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_kcmp __NR_kcmp +#define SYS_kexec_load __NR_kexec_load +#define SYS_keyctl __NR_keyctl +#define SYS_kill __NR_kill +#define SYS_lchown __NR_lchown +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_link __NR_link +#define SYS_linkat __NR_linkat +#define SYS_listen __NR_listen +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_lookup_dcookie __NR_lookup_dcookie +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_lseek __NR_lseek +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_lstat __NR_lstat +#define SYS_madvise __NR_madvise +#define SYS_mbind __NR_mbind +#define SYS_migrate_pages __NR_migrate_pages +#define SYS_mincore __NR_mincore +#define SYS_mkdir __NR_mkdir +#define SYS_mkdirat __NR_mkdirat +#define SYS_mknod __NR_mknod +#define SYS_mknodat __NR_mknodat +#define SYS_mlock __NR_mlock +#define SYS_mlockall __NR_mlockall +#define SYS_mmap __NR_mmap +#define SYS_modify_ldt __NR_modify_ldt +#define SYS_mount __NR_mount +#define SYS_move_pages __NR_move_pages +#define SYS_mprotect __NR_mprotect +#define SYS_mq_getsetattr __NR_mq_getsetattr +#define SYS_mq_notify __NR_mq_notify +#define SYS_mq_open __NR_mq_open +#define SYS_mq_timedreceive __NR_mq_timedreceive +#define SYS_mq_timedsend __NR_mq_timedsend +#define SYS_mq_unlink __NR_mq_unlink +#define SYS_mremap __NR_mremap +#define SYS_msgctl __NR_msgctl +#define SYS_msgget __NR_msgget +#define SYS_msgrcv __NR_msgrcv +#define SYS_msgsnd __NR_msgsnd +#define SYS_msync __NR_msync +#define SYS_munlock __NR_munlock +#define SYS_munlockall __NR_munlockall +#define SYS_munmap __NR_munmap +#define SYS_name_to_handle_at __NR_name_to_handle_at +#define SYS_nanosleep __NR_nanosleep +#define SYS_newfstatat __NR_newfstatat +#define SYS_nfsservctl __NR_nfsservctl +#define SYS_open __NR_open +#define SYS_open_by_handle_at __NR_open_by_handle_at +#define SYS_openat __NR_openat +#define SYS_pause __NR_pause +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_personality __NR_personality +#define SYS_pipe __NR_pipe +#define SYS_pipe2 __NR_pipe2 +#define SYS_pivot_root __NR_pivot_root +#define SYS_poll __NR_poll +#define SYS_ppoll __NR_ppoll +#define SYS_prctl __NR_prctl +#define SYS_pread64 __NR_pread64 +#define SYS_preadv __NR_preadv +#define SYS_prlimit64 __NR_prlimit64 +#define SYS_process_vm_readv __NR_process_vm_readv +#define SYS_process_vm_writev __NR_process_vm_writev +#define SYS_pselect6 __NR_pselect6 +#define SYS_ptrace __NR_ptrace +#define SYS_putpmsg __NR_putpmsg +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_pwritev __NR_pwritev +#define SYS_query_module __NR_query_module +#define SYS_quotactl __NR_quotactl +#define SYS_read __NR_read +#define SYS_readahead __NR_readahead +#define SYS_readlink __NR_readlink +#define SYS_readlinkat __NR_readlinkat +#define SYS_readv __NR_readv +#define SYS_reboot __NR_reboot +#define SYS_recvfrom __NR_recvfrom +#define SYS_recvmmsg __NR_recvmmsg +#define SYS_recvmsg __NR_recvmsg +#define SYS_remap_file_pages __NR_remap_file_pages +#define SYS_removexattr __NR_removexattr +#define SYS_rename __NR_rename +#define SYS_renameat __NR_renameat +#define SYS_request_key __NR_request_key +#define SYS_restart_syscall __NR_restart_syscall +#define SYS_rmdir __NR_rmdir +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigpending __NR_rt_sigpending +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#define SYS_rt_sigreturn __NR_rt_sigreturn +#define SYS_rt_sigsuspend __NR_rt_sigsuspend +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_sched_getattr __NR_sched_getattr +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_security __NR_security +#define SYS_select __NR_select +#define SYS_semctl __NR_semctl +#define SYS_semget __NR_semget +#define SYS_semop __NR_semop +#define SYS_semtimedop __NR_semtimedop +#define SYS_sendfile __NR_sendfile +#define SYS_sendmmsg __NR_sendmmsg +#define SYS_sendmsg __NR_sendmsg +#define SYS_sendto __NR_sendto +#define SYS_set_mempolicy __NR_set_mempolicy +#define SYS_set_robust_list __NR_set_robust_list +#define SYS_set_thread_area __NR_set_thread_area +#define SYS_set_tid_address __NR_set_tid_address +#define SYS_setdomainname __NR_setdomainname +#define SYS_setfsgid __NR_setfsgid +#define SYS_setfsuid __NR_setfsuid +#define SYS_setgid __NR_setgid +#define SYS_setgroups __NR_setgroups +#define SYS_sethostname __NR_sethostname +#define SYS_setitimer __NR_setitimer +#define SYS_setns __NR_setns +#define SYS_setpgid __NR_setpgid +#define SYS_setpriority __NR_setpriority +#define SYS_setregid __NR_setregid +#define SYS_setresgid __NR_setresgid +#define SYS_setresuid __NR_setresuid +#define SYS_setreuid __NR_setreuid +#define SYS_setrlimit __NR_setrlimit +#define SYS_setsid __NR_setsid +#define SYS_setsockopt __NR_setsockopt +#define SYS_settimeofday __NR_settimeofday +#define SYS_setuid __NR_setuid +#define SYS_setxattr __NR_setxattr +#define SYS_shmat __NR_shmat +#define SYS_shmctl __NR_shmctl +#define SYS_shmdt __NR_shmdt +#define SYS_shmget __NR_shmget +#define SYS_shutdown __NR_shutdown +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_signalfd __NR_signalfd +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_socket __NR_socket +#define SYS_socketpair __NR_socketpair +#define SYS_splice __NR_splice +#define SYS_stat __NR_stat +#define SYS_statfs __NR_statfs +#define SYS_swapoff __NR_swapoff +#define SYS_swapon __NR_swapon +#define SYS_symlink __NR_symlink +#define SYS_symlinkat __NR_symlinkat +#define SYS_sync __NR_sync +#define SYS_sync_file_range __NR_sync_file_range +#define SYS_syncfs __NR_syncfs +#define SYS_sysfs __NR_sysfs +#define SYS_sysinfo __NR_sysinfo +#define SYS_syslog __NR_syslog +#define SYS_tee __NR_tee +#define SYS_tgkill __NR_tgkill +#define SYS_time __NR_time +#define SYS_timer_create __NR_timer_create +#define SYS_timer_delete __NR_timer_delete +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_settime __NR_timer_settime +#define SYS_timerfd_create __NR_timerfd_create +#define SYS_timerfd_gettime __NR_timerfd_gettime +#define SYS_timerfd_settime __NR_timerfd_settime +#define SYS_times __NR_times +#define SYS_tkill __NR_tkill +#define SYS_truncate __NR_truncate +#define SYS_tuxcall __NR_tuxcall +#define SYS_umask __NR_umask +#define SYS_umount2 __NR_umount2 +#define SYS_uname __NR_uname +#define SYS_unlink __NR_unlink +#define SYS_unlinkat __NR_unlinkat +#define SYS_unshare __NR_unshare +#define SYS_uselib __NR_uselib +#define SYS_ustat __NR_ustat +#define SYS_utime __NR_utime +#define SYS_utimensat __NR_utimensat +#define SYS_utimes __NR_utimes +#define SYS_vfork __NR_vfork +#define SYS_vhangup __NR_vhangup +#define SYS_vmsplice __NR_vmsplice +#define SYS_vserver __NR_vserver +#define SYS_wait4 __NR_wait4 +#define SYS_waitid __NR_waitid +#define SYS_write __NR_write +#define SYS_writev __NR_writev +#endif +#endif /* _BIONIC_GLIBC_SYSCALLS_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/inotify.h b/9/platforms/android-21/arch-mips/usr/include/sys/inotify.h new file mode 100644 index 0000000..dcdd29a --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/inotify.h @@ -0,0 +1,50 @@ +/* + * 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 + +extern int inotify_init(void); +extern int inotify_init1(int); +extern int inotify_add_watch(int, const char*, uint32_t); +extern int inotify_rm_watch(int, uint32_t); + +__END_DECLS + +#endif /* _SYS_INOTIFY_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ioctl.h b/9/platforms/android-21/arch-mips/usr/include/sys/ioctl.h new file mode 100644 index 0000000..a1014dc --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ioctl.h @@ -0,0 +1,49 @@ +/* + * 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 <sys/ioctl_compat.h> +#include <linux/tty.h> + +__BEGIN_DECLS + +extern int ioctl(int, int, ...); + +__END_DECLS + +#endif /* _SYS_IOCTL_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ioctl_compat.h b/9/platforms/android-21/arch-mips/usr/include/sys/ioctl_compat.h new file mode 100644 index 0000000..d9ba4c7 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ioctl_compat.h @@ -0,0 +1,174 @@ +/* $NetBSD: ioctl_compat.h,v 1.15 2005/12/03 17:10:46 christos 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. + * + * @(#)ioctl_compat.h 8.4 (Berkeley) 1/21/94 + */ + +#ifndef _SYS_IOCTL_COMPAT_H_ +#define _SYS_IOCTL_COMPAT_H_ + +/*#include <sys/ttychars.h>*/ +/*#include <sys/ttydev.h>*/ + +#if !defined(__mips__) +struct tchars { + char t_intrc; /* interrupt */ + char t_quitc; /* quit */ + char t_startc; /* start output */ + char t_stopc; /* stop output */ + char t_eofc; /* end-of-file */ + char t_brkc; /* input delimiter (like nl) */ +}; + +struct ltchars { + char t_suspc; /* stop process signal */ + char t_dsuspc; /* delayed stop process signal */ + char t_rprntc; /* reprint line */ + char t_flushc; /* flush output (toggles) */ + char t_werasc; /* word erase */ + char t_lnextc; /* literal next character */ +}; + +/* + * Structure for TIOCGETP and TIOCSETP ioctls. + */ +#ifndef _SGTTYB_ +#define _SGTTYB_ +struct sgttyb { + char sg_ispeed; /* input speed */ + char sg_ospeed; /* output speed */ + char sg_erase; /* erase character */ + char sg_kill; /* kill character */ + short sg_flags; /* mode flags */ +}; +#endif +#endif + +#ifdef USE_OLD_TTY +# undef TIOCGETD +# define TIOCGETD _IOR('t', 0, int) /* get line discipline */ +# undef TIOCSETD +# define TIOCSETD _IOW('t', 1, int) /* set line discipline */ +#else +# define OTIOCGETD _IOR('t', 0, int) /* get line discipline */ +# define OTIOCSETD _IOW('t', 1, int) /* set line discipline */ +#endif +#define TIOCHPCL _IO('t', 2) /* hang up on last close */ +#if !defined(__mips__) +#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */ +#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */ +#define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty*/ +#endif +#define TIOCSETC _IOW('t',17,struct tchars)/* set special characters */ +#define TIOCGETC _IOR('t',18,struct tchars)/* get special characters */ +#if 0 +/* BUG: a bunch of these conflict with #defines in asm/termbits.h */ +#define TANDEM 0x00000001 /* send stopc on out q full */ +#define CBREAK 0x00000002 /* half-cooked mode */ +#define LCASE 0x00000004 /* simulate lower case */ +#define ECHO 0x00000008 /* enable echoing */ +#define CRMOD 0x00000010 /* map \r to \r\n on output */ +#define RAW 0x00000020 /* no i/o processing */ +#define ODDP 0x00000040 /* get/send odd parity */ +#define EVENP 0x00000080 /* get/send even parity */ +#define ANYP 0x000000c0 /* get any parity/send none */ +#define NLDELAY 0x00000300 /* \n delay */ +#define NL0 0x00000000 +#define NL1 0x00000100 /* tty 37 */ +#define NL2 0x00000200 /* vt05 */ +#define NL3 0x00000300 +#define TBDELAY 0x00000c00 /* horizontal tab delay */ +#define TAB0 0x00000000 +#define TAB1 0x00000400 /* tty 37 */ +#define TAB2 0x00000800 +#define XTABS 0x00000c00 /* expand tabs on output */ +#define CRDELAY 0x00003000 /* \r delay */ +#define CR0 0x00000000 +#define CR1 0x00001000 /* tn 300 */ +#define CR2 0x00002000 /* tty 37 */ +#define CR3 0x00003000 /* concept 100 */ +#define VTDELAY 0x00004000 /* vertical tab delay */ +#define FF0 0x00000000 +#define FF1 0x00004000 /* tty 37 */ +#define BSDELAY 0x00008000 /* \b delay */ +#define BS0 0x00000000 +#define BS1 0x00008000 +#define ALLDELAY (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY) +#define CRTBS 0x00010000 /* do backspacing for crt */ +#define PRTERA 0x00020000 /* \ ... / erase */ +#define CRTERA 0x00040000 /* " \b " to wipe out char */ +#define TILDE 0x00080000 /* hazeltine tilde kludge */ +#define MDMBUF 0x00100000 /* DTR/DCD hardware flow control */ +#define LITOUT 0x00200000 /* literal output */ +#define TOSTOP 0x00400000 /* stop background jobs on output */ +#define FLUSHO 0x00800000 /* output being flushed (state) */ +#define NOHANG 0x01000000 /* (no-op) was no SIGHUP on carrier drop */ +#define L001000 0x02000000 +#define CRTKIL 0x04000000 /* kill line with " \b " */ +#define PASS8 0x08000000 +#define CTLECH 0x10000000 /* echo control chars as ^X */ +#define PENDIN 0x20000000 /* re-echo input buffer at next read */ +#define DECCTQ 0x40000000 /* only ^Q starts after ^S */ +#define NOFLSH 0x80000000 /* don't flush output on signal */ +#endif +#define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */ +#define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */ +#define TIOCLSET _IOW('t', 125, int) /* set entire local mode word */ +#define TIOCLGET _IOR('t', 124, int) /* get local modes */ +#define LCRTBS (CRTBS>>16) +#define LPRTERA (PRTERA>>16) +#define LCRTERA (CRTERA>>16) +#define LTILDE (TILDE>>16) +#define LMDMBUF (MDMBUF>>16) +#define LLITOUT (LITOUT>>16) +#define LTOSTOP (TOSTOP>>16) +#define LFLUSHO (FLUSHO>>16) +#define LNOHANG (NOHANG>>16) +#define LCRTKIL (CRTKIL>>16) +#define LPASS8 (PASS8>>16) +#define LCTLECH (CTLECH>>16) +#define LPENDIN (PENDIN>>16) +#define LDECCTQ (DECCTQ>>16) +#define LNOFLSH (NOFLSH>>16) +#if !defined(__mips__) +#define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars*/ +#define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/ +#endif +#define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */ +#define OTTYDISC 0 +#define NETLDISC 1 +#define NTTYDISC 2 + +#endif /* !_SYS_IOCTL_COMPAT_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ipc.h b/9/platforms/android-21/arch-mips/usr/include/sys/ipc.h new file mode 100644 index 0000000..c0ae0ba --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ipc.h @@ -0,0 +1,41 @@ +/* + * 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> + +__BEGIN_DECLS + +extern key_t ftok(const char* path, int id); + +__END_DECLS + +#endif /* _SYS_IPC_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/klog.h b/9/platforms/android-21/arch-mips/usr/include/sys/klog.h new file mode 100644 index 0000000..acfaa20 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/klog.h @@ -0,0 +1,53 @@ +/* + * 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 + +extern int klogctl(int, char *, int); + +__END_DECLS + +#endif /* _SYS_KLOG_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/limits.h b/9/platforms/android-21/arch-mips/usr/include/sys/limits.h new file mode 100644 index 0000000..c50eb10 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/limits.h @@ -0,0 +1,171 @@ +/* $OpenBSD: limits.h,v 1.6 2005/12/13 00:35:23 millert Exp $ */ +/* + * Copyright (c) 2002 Marc Espie. + * + * 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 OPENBSD 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 OPENBSD + * 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. + */ +#ifndef _SYS_LIMITS_H_ +#define _SYS_LIMITS_H_ + +#include <sys/cdefs.h> +#include <linux/limits.h> + +/* Common definitions for limits.h. */ + +#define CHAR_BIT 8 /* number of bits in a char */ + +#define SCHAR_MAX 0x7f /* max value for a signed char */ +#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */ + +#define UCHAR_MAX 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 + +#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 +# 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 */ +#endif + +#if __BSD_VISIBLE +# define UID_MAX UINT_MAX /* max value for a uid_t */ +# define GID_MAX UINT_MAX /* max value for a gid_t */ +#endif + + +#ifdef __LP64__ +# define LONG_BIT 64 +#else +# define LONG_BIT 32 +#endif + +/* float.h defines these as well */ +# if !defined(DBL_DIG) +# if defined(__DBL_DIG) +# define DBL_DIG __DBL_DIG +# define DBL_MAX __DBL_MAX +# define DBL_MIN __DBL_MIN + +# define FLT_DIG __FLT_DIG +# define FLT_MAX __FLT_MAX +# define FLT_MIN __FLT_MIN +# else +# define DBL_DIG 15 +# define DBL_MAX 1.7976931348623157E+308 +# define DBL_MIN 2.2250738585072014E-308 + +# define FLT_DIG 6 +# define FLT_MAX 3.40282347E+38F +# define FLT_MIN 1.17549435E-38F +# endif +# endif + +/* Bionic: the following has been optimized out from our processed kernel headers */ + +#define CHILD_MAX 999 +#define OPEN_MAX 256 + +/* Bionic-specific definitions */ + +#define _POSIX_VERSION 200112L /* Posix C language bindings version */ +#define _POSIX2_VERSION -1 /* we don't support Posix command-line tools */ +#define _POSIX2_C_VERSION _POSIX_VERSION +#define _XOPEN_VERSION 500 /* by Posix definition */ +#define _XOPEN_XCU_VERSION -1 /* we don't support command-line utilities */ + +/* tell what we implement legacy stuff when appropriate */ +#if _POSIX_VERSION > 0 +#define _XOPEN_XPG2 1 +#define _XOPEN_XPG3 1 +#define _XOPEN_XPG4 1 +#define _XOPEN_UNIX 1 +#endif + +#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_LEGACY -1 /* don't claim we support these, we have some of them but not all */ +#define _XOPEN_REALTIME -1 /* we don't support all these functions */ +#define _XOPEN_REALTIME_THREADS -1 /* same here */ + +#define _POSIX_REALTIME_SIGNALS -1 /* for now, this is not supported */ +#define _POSIX_PRIORITY_SCHEDULING 1 /* priority scheduling is a Linux feature */ +#define _POSIX_TIMERS 1 /* Posix timers are supported */ +#undef _POSIX_ASYNCHRONOUS_IO /* aio_ functions are not supported */ +#define _POSIX_SYNCHRONIZED_IO 1 /* synchronized i/o supported */ +#define _POSIX_FSYNC 1 /* fdatasync() supported */ +#define _POSIX_MAPPED_FILES 1 /* mmap-ed files supported */ + +/* XXX: TODO: complete and check list here */ + + +#define _POSIX_THREADS 1 /* we support threads */ +#define _POSIX_THREAD_STACKADDR 1 /* we support thread stack address */ +#define _POSIX_THREAD_STACKSIZE 1 /* we support thread stack size */ +#define _POSIX_THREAD_PRIO_INHERIT 200112L /* linux feature */ +#define _POSIX_THREAD_PRIO_PROTECT 200112L /* linux feature */ + +#undef _POSIX_PROCESS_SHARED /* we don't support process-shared synchronization */ +#undef _POSIX_THREAD_SAFE_FUNCTIONS /* most functions are, but not everything yet */ +#define _POSIX_CHOWN_RESTRICTED 1 /* yes, chown requires appropriate privileges */ +#define _POSIX_MONOTONIC_CLOCK 0 /* the monotonic clock may be available; ask sysconf */ +#define _POSIX_NO_TRUNC 1 /* very long pathnames generate an error */ +#define _POSIX_SAVED_IDS 1 /* saved user ids is a Linux feature */ +#define _POSIX_JOB_CONTROL 1 /* job control is a Linux feature */ + +#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 /* the minimum mandated by POSIX */ +#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS +#define _POSIX_THREAD_KEYS_MAX 128 /* the minimum mandated by POSIX */ +#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX +#define _POSIX_THREAD_THREADS_MAX 64 /* the minimum mandated by POSIX */ +#define PTHREAD_THREADS_MAX /* bionic has no specific limit */ + + +#endif diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/mman.h b/9/platforms/android-21/arch-mips/usr/include/sys/mman.h new file mode 100644 index 0000000..5a8c985 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/mman.h @@ -0,0 +1,66 @@ +/* + * 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 ((void *)-1) + +#define MREMAP_MAYMOVE 1 +#define MREMAP_FIXED 2 + +extern void* mmap(void*, size_t, int, int, int, off_t); +extern void* mmap64(void*, size_t, int, int, int, off64_t); +extern int munmap(void*, size_t); +extern int msync(const void*, size_t, int); +extern int mprotect(const void*, size_t, int); +extern void* mremap(void*, size_t, size_t, unsigned long); + +extern int mlockall(int); +extern int munlockall(void); +extern int mlock(const void*, size_t); +extern int munlock(const void*, size_t); +extern int madvise(const void*, size_t, int); + +extern int mlock(const void*, size_t); +extern int munlock(const void*, size_t); + +extern int mincore(void*, size_t, unsigned char*); + +__END_DECLS + +#endif /* _SYS_MMAN_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/mount.h b/9/platforms/android-21/arch-mips/usr/include/sys/mount.h new file mode 100644 index 0000000..3c35d31 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/mount.h @@ -0,0 +1,48 @@ +/* + * 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 /* Forcibly unmount */ +#define MNT_DETACH 2 /* Detach from tree only */ +#define MNT_EXPIRE 4 /* Mark for expiry */ + +extern int mount(const char*, const char*, const char*, unsigned long, const void*); +extern int umount(const char*); +extern int umount2(const char*, int); + +__END_DECLS + +#endif /* _SYS_MOUNT_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/msg.h b/9/platforms/android-21/arch-mips/usr/include/sys/msg.h new file mode 100644 index 0000000..1a6d30d --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/msg.h @@ -0,0 +1,34 @@ +/* + * 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 <linux/msg.h> + +#endif /* _SYS_MSG_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/param.h b/9/platforms/android-21/arch-mips/usr/include/sys/param.h new file mode 100644 index 0000000..e64d6ce --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/param.h @@ -0,0 +1,48 @@ +/* + * 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> + +#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/9/platforms/android-21/arch-mips/usr/include/sys/personality.h b/9/platforms/android-21/arch-mips/usr/include/sys/personality.h new file mode 100644 index 0000000..8a023f9 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/personality.h @@ -0,0 +1,41 @@ +/* + * 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 + +extern int personality (unsigned long persona); + +__END_DECLS + +#endif /* _SYS_PERSONALITY_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/poll.h b/9/platforms/android-21/arch-mips/usr/include/sys/poll.h new file mode 100644 index 0000000..779ec77 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/poll.h @@ -0,0 +1 @@ +#include <poll.h> diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/prctl.h b/9/platforms/android-21/arch-mips/usr/include/sys/prctl.h new file mode 100644 index 0000000..d96b8b6 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/prctl.h @@ -0,0 +1,42 @@ +/* + * 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 + +extern int prctl(int option, ...); + +__END_DECLS + +#endif /* _SYS_PRCTL_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ptrace.h b/9/platforms/android-21/arch-mips/usr/include/sys/ptrace.h new file mode 100644 index 0000000..8bba9fe --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ptrace.h @@ -0,0 +1,45 @@ +/* + * 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 names from the kernel for these two... */ +#define PTRACE_POKEUSER PTRACE_POKEUSR +#define PTRACE_PEEKUSER PTRACE_PEEKUSR + +extern long ptrace(int, ...); + +__END_DECLS + +#endif /* _SYS_PTRACE_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/queue.h b/9/platforms/android-21/arch-mips/usr/include/sys/queue.h new file mode 100644 index 0000000..b0e6b38 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/queue.h @@ -0,0 +1,557 @@ +/* + * 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_ + +/* + * 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/9/platforms/android-21/arch-mips/usr/include/sys/reboot.h b/9/platforms/android-21/arch-mips/usr/include/sys/reboot.h new file mode 100644 index 0000000..7d202f7 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/reboot.h @@ -0,0 +1,48 @@ +/* + * 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 + +extern int reboot(int reboot_type); + +__END_DECLS + +#endif /* _SYS_REBOOT_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/reg.h b/9/platforms/android-21/arch-mips/usr/include/sys/reg.h new file mode 100644 index 0000000..b3d2aac --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/reg.h @@ -0,0 +1,84 @@ +/* + * 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_ + +#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/9/platforms/android-21/arch-mips/usr/include/sys/resource.h b/9/platforms/android-21/arch-mips/usr/include/sys/resource.h new file mode 100644 index 0000000..a91fa53 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/resource.h @@ -0,0 +1,60 @@ +/* + * 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 + +typedef unsigned long rlim_t; + +extern int getrlimit(int, struct rlimit*); +extern int setrlimit(int, const struct rlimit*); + +extern int getrlimit64(int, struct rlimit64*); +extern int setrlimit64(int, const struct rlimit64*); + +extern int getpriority(int, int); +extern int setpriority(int, int, int); + +extern int getrusage(int, struct rusage*); + +#if __LP64__ +/* Implementing prlimit for 32-bit isn't worth the effort. */ +extern int prlimit(pid_t, int, const struct rlimit*, struct rlimit*); +#endif +extern int prlimit64(pid_t, int, const struct rlimit64*, struct rlimit64*); + +__END_DECLS + +#endif /* _SYS_RESOURCE_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/select.h b/9/platforms/android-21/arch-mips/usr/include/sys/select.h new file mode 100644 index 0000000..4ddcb6a --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/select.h @@ -0,0 +1,72 @@ +/* + * 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/time.h> +#include <sys/types.h> +#include <signal.h> +#include <string.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) (((fd_set*)(set))->fds_bits) + +#define FD_ZERO(set) (memset(set, 0, sizeof(*(fd_set*)(set)))) + +#if defined(__BIONIC_FORTIFY) +extern void __FD_CLR_chk(int, fd_set*, size_t); +extern void __FD_SET_chk(int, fd_set*, size_t); +extern int __FD_ISSET_chk(int, fd_set*, size_t); +#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) */ + +extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval*); +extern int pselect(int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*); + +__END_DECLS + +#endif /* _SYS_SELECT_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/sem.h b/9/platforms/android-21/arch-mips/usr/include/sys/sem.h new file mode 100644 index 0000000..a1ecd1f --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/sem.h @@ -0,0 +1,34 @@ +/* + * 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 <linux/sem.h> + +#endif /* _SYS_SEM_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/sendfile.h b/9/platforms/android-21/arch-mips/usr/include/sys/sendfile.h new file mode 100644 index 0000000..81a3c44 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/sendfile.h @@ -0,0 +1,42 @@ +/* + * 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 + +extern ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count); +extern ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count); + +__END_DECLS + +#endif /* _SYS_SENDFILE_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/shm.h b/9/platforms/android-21/arch-mips/usr/include/sys/shm.h new file mode 100644 index 0000000..c691c29 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/shm.h @@ -0,0 +1,34 @@ +/* + * 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_SHM_H_ +#define _SYS_SHM_H_ + +#include <linux/shm.h> + +#endif /* _SYS_SHM_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/signal.h b/9/platforms/android-21/arch-mips/usr/include/sys/signal.h new file mode 100644 index 0000000..2e602da --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/signal.h @@ -0,0 +1 @@ +#include <signal.h> diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/signalfd.h b/9/platforms/android-21/arch-mips/usr/include/sys/signalfd.h new file mode 100644 index 0000000..2537ab9 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/signalfd.h @@ -0,0 +1,42 @@ +/* + * 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 <linux/signalfd.h> +#include <signal.h> +#include <sys/cdefs.h> + +__BEGIN_DECLS + +extern int signalfd(int fd, const sigset_t* mask, int flags) __nonnull((2)); + +__END_DECLS + +#endif /* _SYS_SIGNALFD_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/socket.h b/9/platforms/android-21/arch-mips/usr/include/sys/socket.h new file mode 100644 index 0000000..ae2f238 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/socket.h @@ -0,0 +1,332 @@ +/* + * 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> + +__BEGIN_DECLS + +#define sockaddr_storage __kernel_sockaddr_storage +typedef unsigned short sa_family_t; + +struct timespec; + +#ifdef __mips__ +#define SOCK_DGRAM 1 +#define SOCK_STREAM 2 +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 +#define SOCK_DCCP 6 +#define SOCK_PACKET 10 +#else +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 +#define SOCK_PACKET 10 +#endif + +#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) ((void*)((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))) + +struct cmsghdr* __cmsg_nxthdr(struct msghdr*, struct cmsghdr*); + +#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_MAX 39 + +#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_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_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 IPX_TYPE 1 + +#ifdef __i386__ +# define __socketcall extern __attribute__((__cdecl__)) +#else +# define __socketcall extern +#endif + +__socketcall int accept(int, struct sockaddr*, socklen_t*); +__socketcall int accept4(int, struct sockaddr*, socklen_t*, int); +__socketcall int bind(int, const struct sockaddr*, int); +__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); +__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*); +__socketcall int recvmsg(int, struct msghdr*, int); +__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int); +__socketcall int 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*); + +extern ssize_t send(int, const void*, size_t, int); +extern ssize_t recv(int, 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, const struct sockaddr*, socklen_t*); + +#if defined(__BIONIC_FORTIFY) +__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer"); +extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, const struct sockaddr*, socklen_t*); +extern ssize_t __recvfrom_real(int, void*, size_t, int, const struct sockaddr*, socklen_t*) + __asm__(__USER_LABEL_PREFIX__ "recvfrom"); + +__BIONIC_FORTIFY_INLINE +ssize_t recvfrom(int fd, void* buf, size_t len, int flags, const 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); +} + +__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/9/platforms/android-21/arch-mips/usr/include/sys/socketcalls.h b/9/platforms/android-21/arch-mips/usr/include/sys/socketcalls.h new file mode 100644 index 0000000..131e0bb --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/socketcalls.h @@ -0,0 +1,54 @@ +/* + * 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_SOCKETCALLS_H_ +#define _SYS_SOCKETCALLS_H_ + +/* socketcalls by number */ + +#define SYS_SOCKET 1 /* sys_socket(2) */ +#define SYS_BIND 2 /* sys_bind(2) */ +#define SYS_CONNECT 3 /* sys_connect(2) */ +#define SYS_LISTEN 4 /* sys_listen(2) */ +#define SYS_ACCEPT 5 /* sys_accept(2) */ +#define SYS_GETSOCKNAME 6 /* sys_getsockname(2) */ +#define SYS_GETPEERNAME 7 /* sys_getpeername(2) */ +#define SYS_SOCKETPAIR 8 /* sys_socketpair(2) */ +#define SYS_SEND 9 /* sys_send(2) */ +#define SYS_RECV 10 /* sys_recv(2) */ +#define SYS_SENDTO 11 /* sys_sendto(2) */ +#define SYS_RECVFROM 12 /* sys_recvfrom(2) */ +#define SYS_SHUTDOWN 13 /* sys_shutdown(2) */ +#define SYS_SETSOCKOPT 14 /* sys_setsockopt(2) */ +#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */ +#define SYS_SENDMSG 16 /* sys_sendmsg(2) */ +#define SYS_RECVMSG 17 /* sys_recvmsg(2) */ +#define SYS_ACCEPT4 18 /* sys_accept4(2) */ +#define SYS_RECVMMSG 19 /* sys_recvmmsg(2) */ +#define SYS_SENDMMSG 20 /* sys_sendmmsg(2) */ + +#endif /* _SYS_SOCKETCALLS_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/stat.h b/9/platforms/android-21/arch-mips/usr/include/sys/stat.h new file mode 100644 index 0000000..c0c168b --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/stat.h @@ -0,0 +1,195 @@ +/* + * 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 <sys/cdefs.h> +#include <sys/types.h> +#include <sys/time.h> +#include <linux/stat.h> + +#include <endian.h> + +__BEGIN_DECLS + +#if defined(__aarch64__) +#define __STAT64_BODY \ + unsigned long st_dev; \ + unsigned long st_ino; \ + unsigned int st_mode; \ + unsigned int st_nlink; \ + uid_t st_uid; \ + gid_t st_gid; \ + unsigned long st_rdev; \ + unsigned long __pad1; \ + long st_size; \ + int st_blksize; \ + int __pad2; \ + long st_blocks; \ + long st_atime; \ + unsigned long st_atime_nsec; \ + long st_mtime; \ + unsigned long st_mtime_nsec; \ + long st_ctime; \ + unsigned long st_ctime_nsec; \ + unsigned int __unused4; \ + unsigned int __unused5; \ + +#elif defined(__mips__) +#define __STAT64_BODY \ + unsigned int st_dev; \ + unsigned int __pad0[3]; \ + unsigned long long st_ino; \ + unsigned int st_mode; \ + unsigned int st_nlink; \ + uid_t st_uid; \ + gid_t st_gid; \ + unsigned int st_rdev; \ + unsigned int __pad1[3]; \ + long long st_size; \ + unsigned int st_atime; \ + unsigned int st_atime_nsec; \ + unsigned int st_mtime; \ + unsigned int st_mtime_nsec; \ + unsigned int st_ctime; \ + unsigned int st_ctime_nsec; \ + unsigned int st_blksize; \ + unsigned int __pad2; \ + unsigned long long st_blocks; \ + +#elif defined(__x86_64__) +#define __STAT64_BODY \ + unsigned long st_dev; \ + unsigned long st_ino; \ + unsigned long st_nlink; \ + unsigned int st_mode; \ + uid_t st_uid; \ + gid_t st_gid; \ + unsigned int __pad0; \ + unsigned long st_rdev; \ + long st_size; \ + long st_blksize; \ + long st_blocks; \ + unsigned long st_atime; \ + unsigned long st_atime_nsec; \ + unsigned long st_mtime; \ + unsigned long st_mtime_nsec; \ + unsigned long st_ctime; \ + unsigned long st_ctime_nsec; \ + long __pad3[3]; \ + +#else +#define __STAT64_BODY \ + unsigned long long st_dev; \ + unsigned char __pad0[4]; \ + unsigned long __st_ino; \ + unsigned int st_mode; \ + unsigned int 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; \ + unsigned long st_atime; \ + unsigned long st_atime_nsec; \ + unsigned long st_mtime; \ + unsigned long st_mtime_nsec; \ + unsigned long st_ctime; \ + unsigned long st_ctime_nsec; \ + unsigned long long st_ino; \ + +#endif + +struct stat { __STAT64_BODY }; +struct stat64 { __STAT64_BODY }; + +#undef __STAT64_BODY + +#define st_atimensec st_atime_nsec +#define st_mtimensec st_mtime_nsec +#define st_ctimensec st_ctime_nsec + +#ifdef __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 + +extern int chmod(const char*, mode_t); +extern int fchmod(int, mode_t); +extern int mkdir(const char*, mode_t); + +extern int fstat(int, struct stat*); +extern int fstat64(int, struct stat64*); +extern int fstatat(int, const char*, struct stat*, int); +extern int fstatat64(int, const char*, struct stat64*, int); +extern int lstat(const char*, struct stat*); +extern int lstat64(const char*, struct stat64*); +extern int stat(const char*, struct stat*); +extern int stat64(const char*, struct stat64*); + +extern int mknod(const char*, mode_t, dev_t); +extern mode_t umask(mode_t); + +#if defined(__BIONIC_FORTIFY) + +extern mode_t __umask_chk(mode_t); +extern mode_t __umask_real(mode_t) __asm__(__USER_LABEL_PREFIX__ "umask"); +__errordecl(__umask_invalid_mode, "umask called with invalid mode"); + +__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 /* defined(__BIONIC_FORTIFY) */ + +extern int mkfifo(const char*, mode_t); + +extern int fchmodat(int, const char*, mode_t, int); +extern int mkdirat(int, const char*, mode_t); +extern int mknodat(int, const char*, mode_t, dev_t); + +#define UTIME_NOW ((1L << 30) - 1L) +#define UTIME_OMIT ((1L << 30) - 2L) +extern int utimensat(int fd, const char *path, const struct timespec times[2], int flags); +extern int futimens(int fd, const struct timespec times[2]); + +__END_DECLS + +#endif /* _SYS_STAT_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/statfs.h b/9/platforms/android-21/arch-mips/usr/include/sys/statfs.h new file mode 100644 index 0000000..53b3b5e --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/statfs.h @@ -0,0 +1 @@ +#include <sys/vfs.h> diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/statvfs.h b/9/platforms/android-21/arch-mips/usr/include/sys/statvfs.h new file mode 100644 index 0000000..3495546 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/statvfs.h @@ -0,0 +1,69 @@ +/* + * 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 + +extern int statvfs(const char* __restrict, struct statvfs* __restrict) __nonnull((1, 2)); +extern int statvfs64(const char* __restrict, struct statvfs64* __restrict) __nonnull((1, 2)); +extern int fstatvfs(int, struct statvfs*) __nonnull((2)); +extern int fstatvfs64(int, struct statvfs64*) __nonnull((2)); + +__END_DECLS + +#endif /* _SYS_STATVFS_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/swap.h b/9/platforms/android-21/arch-mips/usr/include/sys/swap.h new file mode 100644 index 0000000..e4c1819 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/swap.h @@ -0,0 +1,46 @@ +/* + * 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 + +extern int swapon(const char*, int) __nonnull((1)); +extern int swapoff(const char*) __nonnull((1)); + +__END_DECLS + +#endif /* _SYS_SWAP_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/syscall.h b/9/platforms/android-21/arch-mips/usr/include/sys/syscall.h new file mode 100644 index 0000000..34a29df --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/syscall.h @@ -0,0 +1,44 @@ +/* + * 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 <errno.h> +#include <sys/cdefs.h> +#include <sys/types.h> +#include <asm/unistd.h> + +#include <sys/glibc-syscalls.h> /* glibc-compatible SYS_* aliases for our __NR_* names. */ + +__BEGIN_DECLS + +long syscall(long number, ...); + +__END_DECLS + +#endif /* _SYS_SYSCALL_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/sysconf.h b/9/platforms/android-21/arch-mips/usr/include/sys/sysconf.h new file mode 100644 index 0000000..0a46e7a --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/sysconf.h @@ -0,0 +1,136 @@ +/* + * 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_SYSCONF_H_ +#define _SYS_SYSCONF_H_ + +#include <sys/cdefs.h> + +__BEGIN_DECLS + +/* 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 +#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 +#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 +#define _SC_XBS5_ILP32_OFFBIG 0x002b +#define _SC_XBS5_LP64_OFF64 0x002c +#define _SC_XBS5_LPBIG_OFFBIG 0x002d +#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 + +extern int sysconf(int name); + +__END_DECLS + +#endif /* _SYS_SYSCONF_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/sysinfo.h b/9/platforms/android-21/arch-mips/usr/include/sys/sysinfo.h new file mode 100644 index 0000000..c7e46e6 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/sysinfo.h @@ -0,0 +1,40 @@ +/* + * 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 + +extern int sysinfo (struct sysinfo *info); + +__END_DECLS + +#endif /* _SYS_SYSINFO_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/syslimits.h b/9/platforms/android-21/arch-mips/usr/include/sys/syslimits.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/syslimits.h diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/sysmacros.h b/9/platforms/android-21/arch-mips/usr/include/sys/sysmacros.h new file mode 100644 index 0000000..6f053a8 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/sysmacros.h @@ -0,0 +1,52 @@ +/* + * 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_ + +/* some rogue code includes this file directly :-( */ +#ifndef _SYS_TYPES_H_ +# include <sys/types.h> +#endif + +static __inline__ int major(dev_t _dev) +{ + return (_dev >> 8) & 0xfff; +} + +static __inline__ int minor(dev_t _dev) +{ + return (_dev & 0xff) | ((_dev >> 12) & 0xfff00); +} + +static __inline__ dev_t makedev(int __ma, int __mi) +{ + return ((__ma & 0xfff) << 8) | (__mi & 0xff) | ((__mi & 0xfff00) << 12); +} + +#endif /* _SYS_SYSMACROS_H_ */ + diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/system_properties.h b/9/platforms/android-21/arch-mips/usr/include/sys/system_properties.h new file mode 100644 index 0000000..01c3db3 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/system_properties.h @@ -0,0 +1,102 @@ +/* + * 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> + +__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. +**/ +int __system_property_set(const char *key, const char *value); + +/* 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. +** +** 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); + +/* 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); + +/* 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. +*/ +int __system_property_foreach( + void (*propfn)(const prop_info *pi, void *cookie), + void *cookie); + +__END_DECLS + +#endif diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/time.h b/9/platforms/android-21/arch-mips/usr/include/sys/time.h new file mode 100644 index 0000000..1f010d4 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/time.h @@ -0,0 +1,78 @@ +/* + * 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> + +__BEGIN_DECLS + +extern int gettimeofday(struct timeval *, struct timezone *); +extern int settimeofday(const struct timeval *, const struct timezone *); + +extern int getitimer(int, struct itimerval *); +extern int setitimer(int, const struct itimerval *, struct itimerval *); + +extern int utimes(const char *, const struct timeval *); + +#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) + +__END_DECLS + +#endif /* _SYS_TIME_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/timerfd.h b/9/platforms/android-21/arch-mips/usr/include/sys/timerfd.h new file mode 100644 index 0000000..1aa97b4 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/timerfd.h @@ -0,0 +1,51 @@ +/* + * 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/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 + +extern int timerfd_create(clockid_t, int); +extern int timerfd_settime(int, int, const struct itimerspec*, + struct itimerspec*); +extern int timerfd_gettime(int, struct itimerspec*); + +__END_DECLS + +#endif /* _SYS_TIMERFD_H */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/times.h b/9/platforms/android-21/arch-mips/usr/include/sys/times.h new file mode 100644 index 0000000..6ce5b55 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/times.h @@ -0,0 +1,42 @@ +/* + * 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 + +extern clock_t times(struct tms*); + +__END_DECLS + +#endif /* _SYS_TIMES_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/timex.h b/9/platforms/android-21/arch-mips/usr/include/sys/timex.h new file mode 100644 index 0000000..4096e7d --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/timex.h @@ -0,0 +1,34 @@ +/* + * 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 <linux/timex.h> + +#endif /* _SYS_TIMEX_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ttychars.h b/9/platforms/android-21/arch-mips/usr/include/sys/ttychars.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ttychars.h diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ttydefaults.h b/9/platforms/android-21/arch-mips/usr/include/sys/ttydefaults.h new file mode 100644 index 0000000..405e759 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ttydefaults.h @@ -0,0 +1,115 @@ +/* $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_ + +/* + * 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 _KERNEL +#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 +#else +extern const cc_t ttydefchars[NCCS]; +#endif +#endif /* _KERNEL */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/ttydev.h b/9/platforms/android-21/arch-mips/usr/include/sys/ttydev.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ttydev.h diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/types.h b/9/platforms/android-21/arch-mips/usr/include/sys/types.h new file mode 100644 index 0000000..a5fa692 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/types.h @@ -0,0 +1,159 @@ +/* + * 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> + +/* 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 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; + +/* This historical accident means that we had a 32-bit off_t on 32-bit architectures. */ +#if !defined(__LP64__) +typedef __kernel_off_t off_t; +typedef __kernel_loff_t loff_t; +typedef loff_t off64_t; +#else +/* We could re-use the LP32 definitions, but that would mean that although off_t and loff_t/off64_t + * would be the same size, they wouldn't actually be the same type, which can lead to warnings. */ +typedef __kernel_off_t off_t; +typedef off_t loff_t; +typedef loff_t off64_t; +#endif + +/* while POSIX wants these in <sys/types.h>, we + * declare then in <pthread.h> instead */ +#if 0 +typedef .... pthread_attr_t; +typedef .... pthread_cond_t; +typedef .... pthread_condattr_t; +typedef .... pthread_key_t; +typedef .... pthread_mutex_t; +typedef .... pthread_once_t; +typedef .... pthread_rwlock_t; +typedef .... pthread_rwlock_attr_t; +typedef .... pthread_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; + +/* for some applications */ +#include <sys/sysmacros.h> + +#ifdef __BSD_VISIBLE +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/9/platforms/android-21/arch-mips/usr/include/sys/ucontext.h b/9/platforms/android-21/arch-mips/usr/include/sys/ucontext.h new file mode 100644 index 0000000..dd2a0bb --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/ucontext.h @@ -0,0 +1,293 @@ +/* + * 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 <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]; + +#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]; + +#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; + +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; + +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(__mips64__) + +#error TODO + +#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/9/platforms/android-21/arch-mips/usr/include/sys/uio.h b/9/platforms/android-21/arch-mips/usr/include/sys/uio.h new file mode 100644 index 0000000..0251716 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/uio.h @@ -0,0 +1,42 @@ +/* + * 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 + +int readv(int, const struct iovec *, int); +int writev(int, const struct iovec *, int); + +__END_DECLS + +#endif /* _SYS_UIO_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/un.h b/9/platforms/android-21/arch-mips/usr/include/sys/un.h new file mode 100644 index 0000000..65ffbdc --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/un.h @@ -0,0 +1,35 @@ +/* + * 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_ + +typedef unsigned short sa_family_t; + +#include <linux/un.h> + +#endif /* _SYS_UN_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/user.h b/9/platforms/android-21/arch-mips/usr/include/sys/user.h new file mode 100644 index 0000000..6e88d16 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/user.h @@ -0,0 +1,246 @@ +/* + * 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 <limits.h> /* For PAGE_SIZE. */ + +__BEGIN_DECLS + +#if __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_fxsr_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; + unsigned long 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; + __u64 rip; + __u64 rdp; + __u32 mxcsr; + __u32 mxcsr_mask; + __u32 st_space[32]; + __u32 xmm_space[64]; + __u32 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; + unsigned long 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_regs_struct +{ + unsigned long regs[180 / sizeof(unsigned long) + 64]; +}; + +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; + unsigned long 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__) + +// There are no user structures for 64 bit arm. + +#else + +#error "Unsupported architecture." + +#endif + +__END_DECLS + +#endif /* _SYS_USER_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/utime.h b/9/platforms/android-21/arch-mips/usr/include/sys/utime.h new file mode 100644 index 0000000..9f8810e --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/utime.h @@ -0,0 +1,33 @@ +/* + * 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_UTIME_H_ +#define _SYS_UTIME_H_ + +#include <linux/utime.h> + +#endif /* _SYS_UTIME_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/utsname.h b/9/platforms/android-21/arch-mips/usr/include/sys/utsname.h new file mode 100644 index 0000000..d54a994 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/utsname.h @@ -0,0 +1,50 @@ +/* + * 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]; +}; + +extern int uname(struct utsname *); + +__END_DECLS + +#endif /* _SYS_UTSNAME_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/vfs.h b/9/platforms/android-21/arch-mips/usr/include/sys/vfs.h new file mode 100644 index 0000000..5358ffb --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/vfs.h @@ -0,0 +1,169 @@ +/* + * 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 + +#define ADFS_SUPER_MAGIC 0xadf5 +#define AFFS_SUPER_MAGIC 0xADFF +#define BEFS_SUPER_MAGIC 0x42465331 +#define BFS_MAGIC 0x1BADFACE +#define CIFS_MAGIC_NUMBER 0xFF534D42 +#define CODA_SUPER_MAGIC 0x73757245 +#define COH_SUPER_MAGIC 0x012FF7B7 +#define CRAMFS_MAGIC 0x28cd3d45 +#define DEVFS_SUPER_MAGIC 0x1373 +#define EFS_SUPER_MAGIC 0x00414A53 +#define EXT_SUPER_MAGIC 0x137D +#define EXT2_OLD_SUPER_MAGIC 0xEF51 +#define EXT2_SUPER_MAGIC 0xEF53 +#define EXT3_SUPER_MAGIC 0xEF53 +#define HFS_SUPER_MAGIC 0x4244 +#define HPFS_SUPER_MAGIC 0xF995E849 +#define HUGETLBFS_MAGIC 0x958458f6 +#define ISOFS_SUPER_MAGIC 0x9660 +#define JFFS2_SUPER_MAGIC 0x72b6 +#define JFS_SUPER_MAGIC 0x3153464a +#define MINIX_SUPER_MAGIC 0x137F /* orig. minix */ +#define MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */ +#define MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */ +#define MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */ +#define MSDOS_SUPER_MAGIC 0x4d44 +#define NCP_SUPER_MAGIC 0x564c +#define NFS_SUPER_MAGIC 0x6969 +#define NTFS_SB_MAGIC 0x5346544e +#define OPENPROM_SUPER_MAGIC 0x9fa1 +#define PROC_SUPER_MAGIC 0x9fa0 +#define QNX4_SUPER_MAGIC 0x002f +#define REISERFS_SUPER_MAGIC 0x52654973 +#define ROMFS_MAGIC 0x7275 +#define SMB_SUPER_MAGIC 0x517B +#define SYSV2_SUPER_MAGIC 0x012FF7B6 +#define SYSV4_SUPER_MAGIC 0x012FF7B5 +#define TMPFS_MAGIC 0x01021994 +#define UDF_SUPER_MAGIC 0x15013346 +#define UFS_MAGIC 0x00011954 +#define USBDEVICE_SUPER_MAGIC 0x9fa2 +#define VXFS_SUPER_MAGIC 0xa501FCF5 +#define XENIX_SUPER_MAGIC 0x012FF7B4 +#define XFS_SUPER_MAGIC 0x58465342 +#define _XIAFS_SUPER_MAGIC 0x012FD16D + +extern int statfs(const char*, struct statfs*) __nonnull((1, 2)); +extern int statfs64(const char*, struct statfs64*) __nonnull((1, 2)); +extern int fstatfs(int, struct statfs*) __nonnull((2)); +extern int fstatfs64(int, struct statfs64*) __nonnull((2)); + +__END_DECLS + +#endif /* _SYS_VFS_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/vt.h b/9/platforms/android-21/arch-mips/usr/include/sys/vt.h new file mode 100644 index 0000000..b37a869 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/vt.h @@ -0,0 +1,28 @@ +/* + * 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. + */ +#include <linux/vt.h> diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/wait.h b/9/platforms/android-21/arch-mips/usr/include/sys/wait.h new file mode 100644 index 0000000..8d9a5f6 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/wait.h @@ -0,0 +1,62 @@ +/* + * 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) + +extern pid_t wait(int *); +extern pid_t waitpid(pid_t, int *, int); +extern pid_t wait4(pid_t, int *, int, struct rusage *); + +/* 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; + +extern int waitid(idtype_t which, id_t id, siginfo_t *info, int options); + +__END_DECLS + +#endif /* _SYS_WAIT_H_ */ diff --git a/9/platforms/android-21/arch-mips/usr/include/sys/xattr.h b/9/platforms/android-21/arch-mips/usr/include/sys/xattr.h new file mode 100644 index 0000000..39b25b1 --- /dev/null +++ b/9/platforms/android-21/arch-mips/usr/include/sys/xattr.h @@ -0,0 +1,56 @@ +/* + * 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 <sys/types.h> + +__BEGIN_DECLS + +#define XATTR_CREATE 1 +#define XATTR_REPLACE 2 + +extern int fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); +extern int setxattr(const char *path, const char *name, const void *value, size_t size, int flags); +extern int lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); + +extern ssize_t fgetxattr(int fd, const char *name, void *value, size_t size); +extern ssize_t getxattr(const char *path, const char *name, void *value, size_t size); +extern ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size); + +extern ssize_t listxattr(const char *path, char *list, size_t size); +extern ssize_t llistxattr(const char *path, char *list, size_t size); +extern ssize_t flistxattr(int fd, char *list, size_t size); + +extern int removexattr(const char *path, const char *name); +extern int lremovexattr(const char *path, const char *name); +extern int fremovexattr(int fd, const char *name); + +__END_DECLS + +#endif /* _SYS_XATTR_H_ */ |