Rename android-L to android-21
Change-Id: I1e781b15a867cf6283756f35f2b5955c96637c39
This commit is contained in:
40
ndk/platforms/android-21/include/sys/auxv.h
Normal file
40
ndk/platforms/android-21/include/sys/auxv.h
Normal file
@@ -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_ */
|
||||
36
ndk/platforms/android-21/include/sys/cachectl.h
Normal file
36
ndk/platforms/android-21/include/sys/cachectl.h
Normal file
@@ -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 */
|
||||
42
ndk/platforms/android-21/include/sys/capability.h
Normal file
42
ndk/platforms/android-21/include/sys/capability.h
Normal file
@@ -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 */
|
||||
593
ndk/platforms/android-21/include/sys/cdefs.h
Normal file
593
ndk/platforms/android-21/include/sys/cdefs.h
Normal file
@@ -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_ */
|
||||
131
ndk/platforms/android-21/include/sys/cdefs_elf.h
Normal file
131
ndk/platforms/android-21/include/sys/cdefs_elf.h
Normal file
@@ -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_ */
|
||||
283
ndk/platforms/android-21/include/sys/endian.h
Normal file
283
ndk/platforms/android-21/include/sys/endian.h
Normal file
@@ -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_ */
|
||||
84
ndk/platforms/android-21/include/sys/epoll.h
Normal file
84
ndk/platforms/android-21/include/sys/epoll.h
Normal file
@@ -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_ */
|
||||
1
ndk/platforms/android-21/include/sys/errno.h
Normal file
1
ndk/platforms/android-21/include/sys/errno.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <errno.h>
|
||||
50
ndk/platforms/android-21/include/sys/eventfd.h
Normal file
50
ndk/platforms/android-21/include/sys/eventfd.h
Normal file
@@ -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 */
|
||||
38
ndk/platforms/android-21/include/sys/file.h
Normal file
38
ndk/platforms/android-21/include/sys/file.h
Normal file
@@ -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_ */
|
||||
42
ndk/platforms/android-21/include/sys/fsuid.h
Normal file
42
ndk/platforms/android-21/include/sys/fsuid.h
Normal file
@@ -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_ */
|
||||
1698
ndk/platforms/android-21/include/sys/glibc-syscalls.h
Normal file
1698
ndk/platforms/android-21/include/sys/glibc-syscalls.h
Normal file
File diff suppressed because it is too large
Load Diff
50
ndk/platforms/android-21/include/sys/inotify.h
Normal file
50
ndk/platforms/android-21/include/sys/inotify.h
Normal file
@@ -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_ */
|
||||
49
ndk/platforms/android-21/include/sys/ioctl.h
Normal file
49
ndk/platforms/android-21/include/sys/ioctl.h
Normal file
@@ -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_ */
|
||||
174
ndk/platforms/android-21/include/sys/ioctl_compat.h
Normal file
174
ndk/platforms/android-21/include/sys/ioctl_compat.h
Normal file
@@ -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_ */
|
||||
41
ndk/platforms/android-21/include/sys/ipc.h
Normal file
41
ndk/platforms/android-21/include/sys/ipc.h
Normal file
@@ -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 */
|
||||
53
ndk/platforms/android-21/include/sys/klog.h
Normal file
53
ndk/platforms/android-21/include/sys/klog.h
Normal file
@@ -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_ */
|
||||
171
ndk/platforms/android-21/include/sys/limits.h
Normal file
171
ndk/platforms/android-21/include/sys/limits.h
Normal file
@@ -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
|
||||
66
ndk/platforms/android-21/include/sys/mman.h
Normal file
66
ndk/platforms/android-21/include/sys/mman.h
Normal file
@@ -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_ */
|
||||
48
ndk/platforms/android-21/include/sys/mount.h
Normal file
48
ndk/platforms/android-21/include/sys/mount.h
Normal file
@@ -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 */
|
||||
34
ndk/platforms/android-21/include/sys/msg.h
Normal file
34
ndk/platforms/android-21/include/sys/msg.h
Normal file
@@ -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_ */
|
||||
48
ndk/platforms/android-21/include/sys/param.h
Normal file
48
ndk/platforms/android-21/include/sys/param.h
Normal file
@@ -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_ */
|
||||
41
ndk/platforms/android-21/include/sys/personality.h
Normal file
41
ndk/platforms/android-21/include/sys/personality.h
Normal file
@@ -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_ */
|
||||
1
ndk/platforms/android-21/include/sys/poll.h
Normal file
1
ndk/platforms/android-21/include/sys/poll.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <poll.h>
|
||||
42
ndk/platforms/android-21/include/sys/prctl.h
Normal file
42
ndk/platforms/android-21/include/sys/prctl.h
Normal file
@@ -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 */
|
||||
45
ndk/platforms/android-21/include/sys/ptrace.h
Normal file
45
ndk/platforms/android-21/include/sys/ptrace.h
Normal file
@@ -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_ */
|
||||
557
ndk/platforms/android-21/include/sys/queue.h
Normal file
557
ndk/platforms/android-21/include/sys/queue.h
Normal file
@@ -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 */
|
||||
48
ndk/platforms/android-21/include/sys/reboot.h
Normal file
48
ndk/platforms/android-21/include/sys/reboot.h
Normal file
@@ -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_ */
|
||||
84
ndk/platforms/android-21/include/sys/reg.h
Normal file
84
ndk/platforms/android-21/include/sys/reg.h
Normal file
@@ -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_ */
|
||||
60
ndk/platforms/android-21/include/sys/resource.h
Normal file
60
ndk/platforms/android-21/include/sys/resource.h
Normal file
@@ -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_ */
|
||||
72
ndk/platforms/android-21/include/sys/select.h
Normal file
72
ndk/platforms/android-21/include/sys/select.h
Normal file
@@ -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_ */
|
||||
34
ndk/platforms/android-21/include/sys/sem.h
Normal file
34
ndk/platforms/android-21/include/sys/sem.h
Normal file
@@ -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_ */
|
||||
42
ndk/platforms/android-21/include/sys/sendfile.h
Normal file
42
ndk/platforms/android-21/include/sys/sendfile.h
Normal file
@@ -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_ */
|
||||
34
ndk/platforms/android-21/include/sys/shm.h
Normal file
34
ndk/platforms/android-21/include/sys/shm.h
Normal file
@@ -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_ */
|
||||
1
ndk/platforms/android-21/include/sys/signal.h
Normal file
1
ndk/platforms/android-21/include/sys/signal.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <signal.h>
|
||||
42
ndk/platforms/android-21/include/sys/signalfd.h
Normal file
42
ndk/platforms/android-21/include/sys/signalfd.h
Normal file
@@ -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 */
|
||||
332
ndk/platforms/android-21/include/sys/socket.h
Normal file
332
ndk/platforms/android-21/include/sys/socket.h
Normal file
@@ -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 */
|
||||
54
ndk/platforms/android-21/include/sys/socketcalls.h
Normal file
54
ndk/platforms/android-21/include/sys/socketcalls.h
Normal file
@@ -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_ */
|
||||
195
ndk/platforms/android-21/include/sys/stat.h
Normal file
195
ndk/platforms/android-21/include/sys/stat.h
Normal file
@@ -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_ */
|
||||
1
ndk/platforms/android-21/include/sys/statfs.h
Normal file
1
ndk/platforms/android-21/include/sys/statfs.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <sys/vfs.h>
|
||||
69
ndk/platforms/android-21/include/sys/statvfs.h
Normal file
69
ndk/platforms/android-21/include/sys/statvfs.h
Normal file
@@ -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_ */
|
||||
46
ndk/platforms/android-21/include/sys/swap.h
Normal file
46
ndk/platforms/android-21/include/sys/swap.h
Normal file
@@ -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_ */
|
||||
44
ndk/platforms/android-21/include/sys/syscall.h
Normal file
44
ndk/platforms/android-21/include/sys/syscall.h
Normal file
@@ -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_ */
|
||||
136
ndk/platforms/android-21/include/sys/sysconf.h
Normal file
136
ndk/platforms/android-21/include/sys/sysconf.h
Normal file
@@ -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_ */
|
||||
40
ndk/platforms/android-21/include/sys/sysinfo.h
Normal file
40
ndk/platforms/android-21/include/sys/sysinfo.h
Normal file
@@ -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_ */
|
||||
0
ndk/platforms/android-21/include/sys/syslimits.h
Normal file
0
ndk/platforms/android-21/include/sys/syslimits.h
Normal file
52
ndk/platforms/android-21/include/sys/sysmacros.h
Normal file
52
ndk/platforms/android-21/include/sys/sysmacros.h
Normal file
@@ -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_ */
|
||||
|
||||
102
ndk/platforms/android-21/include/sys/system_properties.h
Normal file
102
ndk/platforms/android-21/include/sys/system_properties.h
Normal file
@@ -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
|
||||
78
ndk/platforms/android-21/include/sys/time.h
Normal file
78
ndk/platforms/android-21/include/sys/time.h
Normal file
@@ -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_ */
|
||||
51
ndk/platforms/android-21/include/sys/timerfd.h
Normal file
51
ndk/platforms/android-21/include/sys/timerfd.h
Normal file
@@ -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 */
|
||||
42
ndk/platforms/android-21/include/sys/times.h
Normal file
42
ndk/platforms/android-21/include/sys/times.h
Normal file
@@ -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_ */
|
||||
34
ndk/platforms/android-21/include/sys/timex.h
Normal file
34
ndk/platforms/android-21/include/sys/timex.h
Normal file
@@ -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_ */
|
||||
0
ndk/platforms/android-21/include/sys/ttychars.h
Normal file
0
ndk/platforms/android-21/include/sys/ttychars.h
Normal file
115
ndk/platforms/android-21/include/sys/ttydefaults.h
Normal file
115
ndk/platforms/android-21/include/sys/ttydefaults.h
Normal file
@@ -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 */
|
||||
0
ndk/platforms/android-21/include/sys/ttydev.h
Normal file
0
ndk/platforms/android-21/include/sys/ttydev.h
Normal file
159
ndk/platforms/android-21/include/sys/types.h
Normal file
159
ndk/platforms/android-21/include/sys/types.h
Normal file
@@ -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
|
||||
293
ndk/platforms/android-21/include/sys/ucontext.h
Normal file
293
ndk/platforms/android-21/include/sys/ucontext.h
Normal file
@@ -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_ */
|
||||
42
ndk/platforms/android-21/include/sys/uio.h
Normal file
42
ndk/platforms/android-21/include/sys/uio.h
Normal file
@@ -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_ */
|
||||
35
ndk/platforms/android-21/include/sys/un.h
Normal file
35
ndk/platforms/android-21/include/sys/un.h
Normal file
@@ -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_ */
|
||||
246
ndk/platforms/android-21/include/sys/user.h
Normal file
246
ndk/platforms/android-21/include/sys/user.h
Normal file
@@ -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_ */
|
||||
33
ndk/platforms/android-21/include/sys/utime.h
Normal file
33
ndk/platforms/android-21/include/sys/utime.h
Normal file
@@ -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_ */
|
||||
50
ndk/platforms/android-21/include/sys/utsname.h
Normal file
50
ndk/platforms/android-21/include/sys/utsname.h
Normal file
@@ -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_ */
|
||||
169
ndk/platforms/android-21/include/sys/vfs.h
Normal file
169
ndk/platforms/android-21/include/sys/vfs.h
Normal file
@@ -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_ */
|
||||
28
ndk/platforms/android-21/include/sys/vt.h
Normal file
28
ndk/platforms/android-21/include/sys/vt.h
Normal file
@@ -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>
|
||||
62
ndk/platforms/android-21/include/sys/wait.h
Normal file
62
ndk/platforms/android-21/include/sys/wait.h
Normal file
@@ -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_ */
|
||||
56
ndk/platforms/android-21/include/sys/xattr.h
Normal file
56
ndk/platforms/android-21/include/sys/xattr.h
Normal file
@@ -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_ */
|
||||
Reference in New Issue
Block a user