Merge "ndk: Remove obsolete header and library files."
This commit is contained in:
committed by
Android (Google) Code Review
commit
a9c4ae8d3a
File diff suppressed because it is too large
Load Diff
@@ -1,44 +0,0 @@
|
||||
_C_ctype_
|
||||
_C_tolower_
|
||||
_C_toupper_
|
||||
__atexit
|
||||
__atexit_invalid
|
||||
__bionic_brk
|
||||
__evOptMonoTime
|
||||
__isthreaded
|
||||
__libc_malloc_default_dispatch
|
||||
__libc_malloc_dispatch
|
||||
__p_cert_syms
|
||||
__p_class_syms
|
||||
__p_key_syms
|
||||
__p_rcode_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
__page_size
|
||||
__popcount_tab
|
||||
__progname
|
||||
__rand48_add
|
||||
__rand48_mult
|
||||
__rand48_seed
|
||||
__sF
|
||||
__sdidinit
|
||||
__sglue
|
||||
__stack_chk_guard
|
||||
__system_property_area__
|
||||
_ctype_
|
||||
_ns_flagdata
|
||||
_tolower_tab_
|
||||
_toupper_tab_
|
||||
daylight
|
||||
environ
|
||||
h_errlist
|
||||
h_nerr
|
||||
optarg
|
||||
opterr
|
||||
optind
|
||||
optopt
|
||||
optreset
|
||||
sys_siglist
|
||||
sys_signame
|
||||
timezone
|
||||
tzname
|
||||
@@ -1,211 +0,0 @@
|
||||
__aeabi_cfcmpeq
|
||||
__aeabi_cfcmple
|
||||
__aeabi_cfrcmple
|
||||
__aeabi_d2lz
|
||||
__aeabi_d2uiz
|
||||
__aeabi_d2ulz
|
||||
__aeabi_f2lz
|
||||
__aeabi_f2ulz
|
||||
__aeabi_fcmpeq
|
||||
__aeabi_fcmpge
|
||||
__aeabi_fcmpgt
|
||||
__aeabi_fcmple
|
||||
__aeabi_fcmplt
|
||||
__cmpsf2
|
||||
__eqsf2
|
||||
__exp__D
|
||||
__fixdfdi
|
||||
__fixsfdi
|
||||
__fixunsdfdi
|
||||
__fixunsdfsi
|
||||
__fixunssfdi
|
||||
__fpclassifyd
|
||||
__fpclassifyf
|
||||
__fpclassifyl
|
||||
__gesf2
|
||||
__gtsf2
|
||||
__ieee754_rem_pio2
|
||||
__ieee754_rem_pio2f
|
||||
__isfinite
|
||||
__isfinitef
|
||||
__isfinitel
|
||||
__isinf
|
||||
__isinff
|
||||
__isinfl
|
||||
__isnanl
|
||||
__isnormal
|
||||
__isnormalf
|
||||
__isnormall
|
||||
__kernel_cos
|
||||
__kernel_cosdf
|
||||
__kernel_rem_pio2
|
||||
__kernel_sin
|
||||
__kernel_sindf
|
||||
__kernel_tan
|
||||
__kernel_tandf
|
||||
__lesf2
|
||||
__log__D
|
||||
__ltsf2
|
||||
__nesf2
|
||||
__signbit
|
||||
__signbitf
|
||||
__signbitl
|
||||
_scan_nan
|
||||
acos
|
||||
acosf
|
||||
acosh
|
||||
acoshf
|
||||
asin
|
||||
asinf
|
||||
asinh
|
||||
asinhf
|
||||
atan
|
||||
atan2
|
||||
atan2f
|
||||
atanf
|
||||
atanh
|
||||
atanhf
|
||||
cbrt
|
||||
cbrtf
|
||||
ceil
|
||||
ceilf
|
||||
ceill
|
||||
copysign
|
||||
copysignf
|
||||
copysignl
|
||||
cos
|
||||
cosf
|
||||
cosh
|
||||
coshf
|
||||
drem
|
||||
dremf
|
||||
erf
|
||||
erfc
|
||||
erfcf
|
||||
erff
|
||||
exp
|
||||
exp2
|
||||
exp2f
|
||||
expf
|
||||
expm1
|
||||
expm1f
|
||||
fabs
|
||||
fabsf
|
||||
fabsl
|
||||
fdim
|
||||
fdimf
|
||||
fdiml
|
||||
finite
|
||||
finitef
|
||||
floor
|
||||
floorf
|
||||
floorl
|
||||
fma
|
||||
fmaf
|
||||
fmax
|
||||
fmaxf
|
||||
fmaxl
|
||||
fmin
|
||||
fminf
|
||||
fminl
|
||||
fmod
|
||||
fmodf
|
||||
frexp
|
||||
frexpf
|
||||
gamma
|
||||
gamma_r
|
||||
gammaf
|
||||
gammaf_r
|
||||
hypot
|
||||
hypotf
|
||||
ilogb
|
||||
ilogbf
|
||||
ilogbl
|
||||
isnan
|
||||
isnanf
|
||||
j0
|
||||
j0f
|
||||
j1
|
||||
j1f
|
||||
jn
|
||||
jnf
|
||||
ldexp
|
||||
ldexpf
|
||||
ldexpl
|
||||
lgamma
|
||||
lgamma_r
|
||||
lgammaf
|
||||
lgammaf_r
|
||||
llrint
|
||||
llrintf
|
||||
llround
|
||||
llroundf
|
||||
llroundl
|
||||
log
|
||||
log10
|
||||
log10f
|
||||
log1p
|
||||
log1pf
|
||||
logb
|
||||
logbf
|
||||
logf
|
||||
lrint
|
||||
lrintf
|
||||
lround
|
||||
lroundf
|
||||
lroundl
|
||||
modf
|
||||
modff
|
||||
nan
|
||||
nanf
|
||||
nanl
|
||||
nearbyint
|
||||
nearbyintf
|
||||
nextafter
|
||||
nextafterf
|
||||
nexttowardf
|
||||
pow
|
||||
powf
|
||||
remainder
|
||||
remainderf
|
||||
remquo
|
||||
remquof
|
||||
rint
|
||||
rintf
|
||||
round
|
||||
roundf
|
||||
roundl
|
||||
scalb
|
||||
scalbf
|
||||
scalbln
|
||||
scalblnf
|
||||
scalblnl
|
||||
scalbn
|
||||
scalbnf
|
||||
scalbnl
|
||||
significand
|
||||
significandf
|
||||
sin
|
||||
sincos
|
||||
sincosf
|
||||
sincosl
|
||||
sinf
|
||||
sinh
|
||||
sinhf
|
||||
sqrt
|
||||
sqrtf
|
||||
tan
|
||||
tanf
|
||||
tanh
|
||||
tanhf
|
||||
tgamma
|
||||
tgammaf
|
||||
trunc
|
||||
truncf
|
||||
truncl
|
||||
y0
|
||||
y0f
|
||||
y1
|
||||
y1f
|
||||
yn
|
||||
ynf
|
||||
@@ -1,2 +0,0 @@
|
||||
__fe_dfl_env
|
||||
signgam
|
||||
@@ -1,316 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _PTHREAD_H_
|
||||
#define _PTHREAD_H_
|
||||
|
||||
#include <time.h>
|
||||
#include <signal.h>
|
||||
#include <sched.h>
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/*
|
||||
* Types
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int volatile value;
|
||||
} pthread_mutex_t;
|
||||
|
||||
#define PTHREAD_MUTEX_INITIALIZER {0}
|
||||
#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {0x4000}
|
||||
#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {0x8000}
|
||||
|
||||
enum {
|
||||
PTHREAD_MUTEX_NORMAL = 0,
|
||||
PTHREAD_MUTEX_RECURSIVE = 1,
|
||||
PTHREAD_MUTEX_ERRORCHECK = 2,
|
||||
|
||||
PTHREAD_MUTEX_ERRORCHECK_NP = PTHREAD_MUTEX_ERRORCHECK,
|
||||
PTHREAD_MUTEX_RECURSIVE_NP = PTHREAD_MUTEX_RECURSIVE,
|
||||
|
||||
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
|
||||
};
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int volatile value;
|
||||
} pthread_cond_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t flags;
|
||||
void * stack_base;
|
||||
size_t stack_size;
|
||||
size_t guard_size;
|
||||
int32_t sched_policy;
|
||||
int32_t sched_priority;
|
||||
} pthread_attr_t;
|
||||
|
||||
typedef long pthread_mutexattr_t;
|
||||
typedef long pthread_condattr_t;
|
||||
|
||||
typedef int pthread_key_t;
|
||||
typedef long pthread_t;
|
||||
|
||||
typedef volatile int pthread_once_t;
|
||||
|
||||
/*
|
||||
* Defines
|
||||
*/
|
||||
#define PTHREAD_COND_INITIALIZER {0}
|
||||
|
||||
#define PTHREAD_STACK_MIN (2 * PAGE_SIZE)
|
||||
|
||||
#define PTHREAD_CREATE_DETACHED 0x00000001
|
||||
#define PTHREAD_CREATE_JOINABLE 0x00000000
|
||||
|
||||
#define PTHREAD_ONCE_INIT 0
|
||||
|
||||
#define PTHREAD_PROCESS_PRIVATE 0
|
||||
#define PTHREAD_PROCESS_SHARED 1
|
||||
|
||||
#define PTHREAD_SCOPE_SYSTEM 0
|
||||
#define PTHREAD_SCOPE_PROCESS 1
|
||||
|
||||
/*
|
||||
* Prototypes
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int pthread_attr_init(pthread_attr_t * attr);
|
||||
int pthread_attr_destroy(pthread_attr_t * attr);
|
||||
|
||||
int pthread_attr_setdetachstate(pthread_attr_t * attr, int state);
|
||||
int pthread_attr_getdetachstate(pthread_attr_t const * attr, int * state);
|
||||
|
||||
int pthread_attr_setschedpolicy(pthread_attr_t * attr, int policy);
|
||||
int pthread_attr_getschedpolicy(pthread_attr_t const * attr, int * policy);
|
||||
|
||||
int pthread_attr_setschedparam(pthread_attr_t * attr, struct sched_param const * param);
|
||||
int pthread_attr_getschedparam(pthread_attr_t const * attr, struct sched_param * param);
|
||||
|
||||
int pthread_attr_setstacksize(pthread_attr_t * attr, size_t stack_size);
|
||||
int pthread_attr_getstacksize(pthread_attr_t const * attr, size_t * stack_size);
|
||||
|
||||
int pthread_attr_setstackaddr(pthread_attr_t * attr, void * stackaddr);
|
||||
int pthread_attr_getstackaddr(pthread_attr_t const * attr, void ** stackaddr);
|
||||
|
||||
int pthread_attr_setstack(pthread_attr_t * attr, void * stackaddr, size_t stack_size);
|
||||
int pthread_attr_getstack(pthread_attr_t const * attr, void ** stackaddr, size_t * stack_size);
|
||||
|
||||
int pthread_attr_setguardsize(pthread_attr_t * attr, size_t guard_size);
|
||||
int pthread_attr_getguardsize(pthread_attr_t const * attr, size_t * guard_size);
|
||||
|
||||
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
|
||||
int pthread_attr_getscope(pthread_attr_t const *attr);
|
||||
|
||||
int pthread_getattr_np(pthread_t thid, pthread_attr_t * attr);
|
||||
|
||||
int pthread_create(pthread_t *thread, pthread_attr_t const * attr,
|
||||
void *(*start_routine)(void *), void * arg);
|
||||
void pthread_exit(void * retval);
|
||||
int pthread_join(pthread_t thid, void ** ret_val);
|
||||
int pthread_detach(pthread_t thid);
|
||||
|
||||
pthread_t pthread_self(void);
|
||||
int pthread_equal(pthread_t one, pthread_t two);
|
||||
|
||||
int pthread_getschedparam(pthread_t thid, int * policy,
|
||||
struct sched_param * param);
|
||||
int pthread_setschedparam(pthread_t thid, int poilcy,
|
||||
struct sched_param const * param);
|
||||
|
||||
int pthread_mutexattr_init(pthread_mutexattr_t *attr);
|
||||
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
|
||||
int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type);
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);
|
||||
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared);
|
||||
int pthread_mutexattr_getpshared(pthread_mutexattr_t *attr, int *pshared);
|
||||
|
||||
int pthread_mutex_init(pthread_mutex_t *mutex,
|
||||
const pthread_mutexattr_t *attr);
|
||||
int pthread_mutex_destroy(pthread_mutex_t *mutex);
|
||||
int pthread_mutex_lock(pthread_mutex_t *mutex);
|
||||
int pthread_mutex_unlock(pthread_mutex_t *mutex);
|
||||
int pthread_mutex_trylock(pthread_mutex_t *mutex);
|
||||
#if 0 /* MISSING FROM BIONIC */
|
||||
int pthread_mutex_timedlock(pthread_mutex_t *mutex, struct timespec* ts);
|
||||
#endif /* MISSING */
|
||||
|
||||
int pthread_condattr_init(pthread_condattr_t *attr);
|
||||
int pthread_condattr_getpshared(pthread_condattr_t *attr, int *pshared);
|
||||
int pthread_condattr_setpshared(pthread_condattr_t* attr, int pshared);
|
||||
int pthread_condattr_destroy(pthread_condattr_t *attr);
|
||||
|
||||
int pthread_cond_init(pthread_cond_t *cond,
|
||||
const pthread_condattr_t *attr);
|
||||
int pthread_cond_destroy(pthread_cond_t *cond);
|
||||
int pthread_cond_broadcast(pthread_cond_t *cond);
|
||||
int pthread_cond_signal(pthread_cond_t *cond);
|
||||
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
|
||||
int pthread_cond_timedwait(pthread_cond_t *cond,
|
||||
pthread_mutex_t * mutex,
|
||||
const struct timespec *abstime);
|
||||
|
||||
/* BIONIC: same as pthread_cond_timedwait, except the 'abstime' given refers
|
||||
* to the CLOCK_MONOTONIC clock instead, to avoid any problems when
|
||||
* the wall-clock time is changed brutally
|
||||
*/
|
||||
int pthread_cond_timedwait_monotonic_np(pthread_cond_t *cond,
|
||||
pthread_mutex_t *mutex,
|
||||
const struct timespec *abstime);
|
||||
|
||||
/* BIONIC: DEPRECATED. same as pthread_cond_timedwait_monotonic_np()
|
||||
* unfortunately pthread_cond_timedwait_monotonic has shipped already
|
||||
*/
|
||||
int pthread_cond_timedwait_monotonic(pthread_cond_t *cond,
|
||||
pthread_mutex_t *mutex,
|
||||
const struct timespec *abstime);
|
||||
|
||||
#define HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC 1
|
||||
|
||||
/* BIONIC: same as pthread_cond_timedwait, except the 'reltime' given refers
|
||||
* is relative to the current time.
|
||||
*/
|
||||
int pthread_cond_timedwait_relative_np(pthread_cond_t *cond,
|
||||
pthread_mutex_t *mutex,
|
||||
const struct timespec *reltime);
|
||||
|
||||
#define HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE 1
|
||||
|
||||
|
||||
|
||||
int pthread_cond_timeout_np(pthread_cond_t *cond,
|
||||
pthread_mutex_t * mutex,
|
||||
unsigned msecs);
|
||||
|
||||
/* same as pthread_mutex_lock(), but will wait up to 'msecs' milli-seconds
|
||||
* before returning. same return values than pthread_mutex_trylock though, i.e.
|
||||
* returns EBUSY if the lock could not be acquired after the timeout
|
||||
* expired.
|
||||
*/
|
||||
int pthread_mutex_lock_timeout_np(pthread_mutex_t *mutex, unsigned msecs);
|
||||
|
||||
/* read-write lock support */
|
||||
|
||||
typedef int pthread_rwlockattr_t;
|
||||
|
||||
typedef struct {
|
||||
pthread_mutex_t lock;
|
||||
pthread_cond_t cond;
|
||||
int numLocks;
|
||||
int writerThreadId;
|
||||
int pendingReaders;
|
||||
int pendingWriters;
|
||||
void* reserved[4]; /* for future extensibility */
|
||||
} pthread_rwlock_t;
|
||||
|
||||
#define PTHREAD_RWLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0, 0, 0, { NULL, NULL, NULL, NULL } }
|
||||
|
||||
int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);
|
||||
int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr);
|
||||
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, int pshared);
|
||||
int pthread_rwlockattr_getpshared(pthread_rwlockattr_t *attr, int *pshared);
|
||||
|
||||
int pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr);
|
||||
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
|
||||
|
||||
int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
|
||||
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);
|
||||
int pthread_rwlock_timedrdlock(pthread_rwlock_t *rwlock, const struct timespec *abs_timeout);
|
||||
|
||||
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
|
||||
int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
|
||||
int pthread_rwlock_timedwrlock(pthread_rwlock_t *rwlock, const struct timespec *abs_timeout);
|
||||
|
||||
int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);
|
||||
|
||||
|
||||
int pthread_key_create(pthread_key_t *key, void (*destructor_function)(void *));
|
||||
int pthread_key_delete (pthread_key_t);
|
||||
int pthread_setspecific(pthread_key_t key, const void *value);
|
||||
void *pthread_getspecific(pthread_key_t key);
|
||||
|
||||
int pthread_kill(pthread_t tid, int sig);
|
||||
int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
|
||||
|
||||
int pthread_getcpuclockid(pthread_t tid, clockid_t *clockid);
|
||||
|
||||
int pthread_once(pthread_once_t *once_control, void (*init_routine)(void));
|
||||
|
||||
int pthread_setname_np(pthread_t thid, const char *thname);
|
||||
|
||||
int pthread_atfork(void (*prepare)(void), void (*parent)(void), void(*child)(void));
|
||||
|
||||
typedef void (*__pthread_cleanup_func_t)(void*);
|
||||
|
||||
typedef struct __pthread_cleanup_t {
|
||||
struct __pthread_cleanup_t* __cleanup_prev;
|
||||
__pthread_cleanup_func_t __cleanup_routine;
|
||||
void* __cleanup_arg;
|
||||
} __pthread_cleanup_t;
|
||||
|
||||
extern void __pthread_cleanup_push(__pthread_cleanup_t* c,
|
||||
__pthread_cleanup_func_t routine,
|
||||
void* arg);
|
||||
|
||||
extern void __pthread_cleanup_pop(__pthread_cleanup_t* c,
|
||||
int execute);
|
||||
|
||||
/* Believe or not, the definitions of pthread_cleanup_push and
|
||||
* pthread_cleanup_pop below are correct. Posix states that these
|
||||
* can be implemented as macros that might introduce opening and
|
||||
* closing braces, and that using setjmp/longjmp/return/break/continue
|
||||
* between them results in undefined behaviour.
|
||||
*
|
||||
* And indeed, GLibc and other C libraries use a similar definition
|
||||
*/
|
||||
#define pthread_cleanup_push(routine, arg) \
|
||||
do { \
|
||||
__pthread_cleanup_t __cleanup; \
|
||||
__pthread_cleanup_push( &__cleanup, (routine), (arg) ); \
|
||||
|
||||
#define pthread_cleanup_pop(execute) \
|
||||
__pthread_cleanup_pop( &__cleanup, (execute)); \
|
||||
} while (0);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
/************ TO FIX ************/
|
||||
|
||||
#define LONG_LONG_MAX __LONG_LONG_MAX__
|
||||
#define LONG_LONG_MIN (-__LONG_LONG_MAX__ - 1)
|
||||
|
||||
#endif /* _PTHREAD_H_ */
|
||||
@@ -1,234 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _SCHED_H_
|
||||
#define _SCHED_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define SCHED_NORMAL 0
|
||||
#define SCHED_OTHER 0
|
||||
#define SCHED_FIFO 1
|
||||
#define SCHED_RR 2
|
||||
|
||||
struct sched_param {
|
||||
int sched_priority;
|
||||
};
|
||||
|
||||
extern int sched_setscheduler(pid_t, int, const struct sched_param *);
|
||||
extern int sched_getscheduler(pid_t);
|
||||
extern int sched_yield(void);
|
||||
extern int sched_get_priority_max(int policy);
|
||||
extern int sched_get_priority_min(int policy);
|
||||
extern int sched_setparam(pid_t, const struct sched_param *);
|
||||
extern int sched_getparam(pid_t, struct sched_param *);
|
||||
extern int sched_rr_get_interval(pid_t pid, struct timespec *tp);
|
||||
|
||||
#define CLONE_VM 0x00000100
|
||||
#define CLONE_FS 0x00000200
|
||||
#define CLONE_FILES 0x00000400
|
||||
#define CLONE_SIGHAND 0x00000800
|
||||
#define CLONE_PTRACE 0x00002000
|
||||
#define CLONE_VFORK 0x00004000
|
||||
#define CLONE_PARENT 0x00008000
|
||||
#define CLONE_THREAD 0x00010000
|
||||
#define CLONE_NEWNS 0x00020000
|
||||
#define CLONE_SYSVSEM 0x00040000
|
||||
#define CLONE_SETTLS 0x00080000
|
||||
#define CLONE_PARENT_SETTID 0x00100000
|
||||
#define CLONE_CHILD_CLEARTID 0x00200000
|
||||
#define CLONE_DETACHED 0x00400000
|
||||
#define CLONE_UNTRACED 0x00800000
|
||||
#define CLONE_CHILD_SETTID 0x01000000
|
||||
#define CLONE_STOPPED 0x02000000
|
||||
|
||||
#ifdef _GNU_SOURCE
|
||||
extern int clone(int (*fn)(void *), void *child_stack, int flags, void* arg, ...);
|
||||
#endif
|
||||
|
||||
/* Support for cpu thread affinity */
|
||||
#ifdef _GNU_SOURCE
|
||||
|
||||
extern int sched_getcpu(void);
|
||||
|
||||
|
||||
/* Our implementation supports up to 32 independent CPUs, which is also
|
||||
* the maximum supported by the kernel at the moment. GLibc uses 1024 by
|
||||
* default.
|
||||
*
|
||||
* If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE()
|
||||
* and the CPU_XXX_S() macro variants.
|
||||
*/
|
||||
#define CPU_SETSIZE 32
|
||||
|
||||
#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */
|
||||
#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */
|
||||
#define __CPU_BITS (1 << __CPU_BITSHIFT)
|
||||
#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT)
|
||||
#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1)))
|
||||
|
||||
typedef struct {
|
||||
__CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ];
|
||||
} cpu_set_t;
|
||||
|
||||
extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set);
|
||||
|
||||
extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set);
|
||||
|
||||
/* Provide optimized implementation for 32-bit cpu_set_t */
|
||||
#if CPU_SETSIZE == __CPU_BITS
|
||||
|
||||
# define CPU_ZERO(set_) \
|
||||
do{ \
|
||||
(set_)->__bits[0] = 0; \
|
||||
}while(0)
|
||||
|
||||
# define CPU_SET(cpu_,set_) \
|
||||
do {\
|
||||
size_t __cpu = (cpu_); \
|
||||
if (__cpu < CPU_SETSIZE) \
|
||||
(set_)->__bits[0] |= __CPU_MASK(__cpu); \
|
||||
}while (0)
|
||||
|
||||
# define CPU_CLR(cpu_,set_) \
|
||||
do {\
|
||||
size_t __cpu = (cpu_); \
|
||||
if (__cpu < CPU_SETSIZE) \
|
||||
(set_)->__bits[0] &= ~__CPU_MASK(__cpu); \
|
||||
}while (0)
|
||||
|
||||
# define CPU_ISSET(cpu_, set_) \
|
||||
(__extension__({\
|
||||
size_t __cpu = (cpu_); \
|
||||
(cpu_ < CPU_SETSIZE) \
|
||||
? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \
|
||||
: 0; \
|
||||
}))
|
||||
|
||||
# define CPU_EQUAL(set1_, set2_) \
|
||||
((set1_)->__bits[0] == (set2_)->__bits[0])
|
||||
|
||||
# define __CPU_OP(dst_, set1_, set2_, op_) \
|
||||
do { \
|
||||
(dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \
|
||||
} while (0)
|
||||
|
||||
# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0])
|
||||
|
||||
#else /* CPU_SETSIZE != __CPU_BITS */
|
||||
|
||||
# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_)
|
||||
# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_)
|
||||
# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_)
|
||||
# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_)
|
||||
# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_)
|
||||
# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_)
|
||||
|
||||
# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_)
|
||||
|
||||
#endif /* CPU_SETSIZE != __CPU_BITS */
|
||||
|
||||
#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&)
|
||||
#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|)
|
||||
#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^)
|
||||
|
||||
/* Support for dynamically-allocated cpu_set_t */
|
||||
|
||||
#define CPU_ALLOC_SIZE(count) \
|
||||
__CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE)
|
||||
|
||||
#define CPU_ALLOC(count) __sched_cpualloc((count));
|
||||
#define CPU_FREE(set) __sched_cpufree((set))
|
||||
|
||||
extern cpu_set_t* __sched_cpualloc(size_t count);
|
||||
extern void __sched_cpufree(cpu_set_t* set);
|
||||
|
||||
#define CPU_ZERO_S(setsize_,set_) \
|
||||
do { \
|
||||
size_t __nn = 0; \
|
||||
size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
|
||||
for (; __nn < __nn_max; __nn++) \
|
||||
(set_)->__bits[__nn] = 0; \
|
||||
} while (0)
|
||||
|
||||
#define CPU_SET_S(cpu_,setsize_,set_) \
|
||||
do { \
|
||||
size_t __cpu = (cpu_); \
|
||||
if (__cpu < 8*(setsize_)) \
|
||||
(set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \
|
||||
} while (0)
|
||||
|
||||
#define CPU_CLR_S(cpu_,setsize_,set_) \
|
||||
do { \
|
||||
size_t __cpu = (cpu_); \
|
||||
if (__cpu < 8*(setsize_)) \
|
||||
(set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \
|
||||
} while (0)
|
||||
|
||||
#define CPU_ISSET_S(cpu_, setsize_, set_) \
|
||||
(__extension__ ({ \
|
||||
size_t __cpu = (cpu_); \
|
||||
(__cpu < 8*(setsize_)) \
|
||||
? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \
|
||||
: 0; \
|
||||
}))
|
||||
|
||||
#define CPU_EQUAL_S(setsize_, set1_, set2_) \
|
||||
(__extension__ ({ \
|
||||
__const __CPU_BITTYPE* __src1 = (set1_)->__bits; \
|
||||
__const __CPU_BITTYPE* __src2 = (set2_)->__bits; \
|
||||
size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
|
||||
for (; __nn < __nn_max; __nn++) { \
|
||||
if (__src1[__nn] != __src2[__nn]) \
|
||||
break; \
|
||||
} \
|
||||
__nn == __nn_max; \
|
||||
}))
|
||||
|
||||
#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \
|
||||
do { \
|
||||
cpu_set_t* __dst = (dstset); \
|
||||
const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \
|
||||
const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \
|
||||
size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
|
||||
for (; __nn < __nn_max; __nn++) \
|
||||
(__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \
|
||||
} while (0)
|
||||
|
||||
#define CPU_COUNT_S(setsize_, set_) \
|
||||
__sched_cpucount((setsize_), (set_))
|
||||
|
||||
extern int __sched_cpucount(size_t setsize, cpu_set_t* set);
|
||||
|
||||
#endif /* _GNU_SOURCE */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _SCHED_H_ */
|
||||
@@ -1,186 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _STDLIB_H_
|
||||
#define _STDLIB_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
/* wchar_t is required in stdlib.h according to POSIX.
|
||||
* note that defining __need_wchar_t prevents stddef.h
|
||||
* to define all other symbols it does normally */
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <alloca.h>
|
||||
#include <strings.h>
|
||||
#include <memory.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define EXIT_FAILURE 1
|
||||
#define EXIT_SUCCESS 0
|
||||
|
||||
extern __noreturn void exit(int);
|
||||
extern __noreturn void abort(void);
|
||||
extern int atexit(void (*)(void));
|
||||
|
||||
extern char *getenv(const char *);
|
||||
extern int putenv(const char *);
|
||||
extern int setenv(const char *, const char *, int);
|
||||
extern int unsetenv(const char *);
|
||||
extern int clearenv(void);
|
||||
|
||||
extern char *mkdtemp(char *);
|
||||
extern char *mktemp (char *);
|
||||
extern int mkstemp (char *);
|
||||
|
||||
extern long strtol(const char *, char **, int);
|
||||
extern long long strtoll(const char *, char **, int);
|
||||
extern unsigned long strtoul(const char *, char **, int);
|
||||
extern unsigned long long strtoull(const char *, char **, int);
|
||||
extern double strtod(const char *nptr, char **endptr);
|
||||
|
||||
static __inline__ float strtof(const char *nptr, char **endptr)
|
||||
{
|
||||
return (float)strtod(nptr, endptr);
|
||||
}
|
||||
|
||||
extern int atoi(const char *);
|
||||
extern long atol(const char *);
|
||||
extern long long atoll(const char *);
|
||||
|
||||
static __inline__ double atof(const char *nptr)
|
||||
{
|
||||
return (strtod(nptr, NULL));
|
||||
}
|
||||
|
||||
static __inline__ int abs(int __n) {
|
||||
return (__n < 0) ? -__n : __n;
|
||||
}
|
||||
|
||||
static __inline__ long labs(long __n) {
|
||||
return (__n < 0L) ? -__n : __n;
|
||||
}
|
||||
|
||||
static __inline__ long long llabs(long long __n) {
|
||||
return (__n < 0LL) ? -__n : __n;
|
||||
}
|
||||
|
||||
extern char * realpath(const char *path, char *resolved);
|
||||
extern int system(const char * string);
|
||||
|
||||
extern void * bsearch(const void *key, const void *base0,
|
||||
size_t nmemb, size_t size,
|
||||
int (*compar)(const void *, const void *));
|
||||
|
||||
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
|
||||
|
||||
extern long jrand48(unsigned short *);
|
||||
extern long mrand48(void);
|
||||
extern long nrand48(unsigned short *);
|
||||
extern long lrand48(void);
|
||||
extern unsigned short *seed48(unsigned short*);
|
||||
extern double erand48(unsigned short xsubi[3]);
|
||||
extern double drand48(void);
|
||||
extern void srand48(long);
|
||||
extern unsigned int arc4random(void);
|
||||
extern void arc4random_stir(void);
|
||||
extern void arc4random_addrandom(unsigned char *, int);
|
||||
|
||||
#define RAND_MAX 0x7fffffff
|
||||
static __inline__ int rand(void) {
|
||||
return (int)lrand48();
|
||||
}
|
||||
static __inline__ void srand(unsigned int __s) {
|
||||
srand48(__s);
|
||||
}
|
||||
static __inline__ long random(void)
|
||||
{
|
||||
return lrand48();
|
||||
}
|
||||
static __inline__ void srandom(unsigned int __s)
|
||||
{
|
||||
srand48(__s);
|
||||
}
|
||||
|
||||
/* Basic PTY functions. These only work if devpts is mounted! */
|
||||
|
||||
extern int unlockpt(int);
|
||||
extern char* ptsname(int);
|
||||
extern int ptsname_r(int, char*, size_t);
|
||||
extern int getpt(void);
|
||||
|
||||
static __inline__ int grantpt(int __fd __attribute((unused)))
|
||||
{
|
||||
(void)__fd;
|
||||
return 0; /* devpts does this all for us! */
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
int quot;
|
||||
int rem;
|
||||
} div_t;
|
||||
|
||||
extern div_t div(int, int);
|
||||
|
||||
typedef struct {
|
||||
long int quot;
|
||||
long int rem;
|
||||
} ldiv_t;
|
||||
|
||||
extern ldiv_t ldiv(long, long);
|
||||
|
||||
typedef struct {
|
||||
long long int quot;
|
||||
long long int rem;
|
||||
} lldiv_t;
|
||||
|
||||
extern lldiv_t lldiv(long long, long long);
|
||||
|
||||
#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 */
|
||||
/* make STLPort happy */
|
||||
extern int mblen(const char *, size_t);
|
||||
extern size_t mbstowcs(wchar_t *, const char *, size_t);
|
||||
extern int mbtowc(wchar_t *, const char *, size_t);
|
||||
|
||||
/* Likewise, make libstdc++-v3 happy. */
|
||||
extern int wctomb(char *, wchar_t);
|
||||
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||
#endif /* MISSING */
|
||||
|
||||
#define MB_CUR_MAX 1
|
||||
|
||||
#if 0 /* MISSING FROM BIONIC */
|
||||
extern int on_exit(void (*)(int, void *), void *);
|
||||
#endif /* MISSING */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _STDLIB_H_ */
|
||||
@@ -1,120 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _TIME_H_
|
||||
#define _TIME_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#define __ARCH_SI_UID_T __kernel_uid32_t
|
||||
#include <asm/siginfo.h>
|
||||
#undef __ARCH_SI_UID_T
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern time_t time(time_t *);
|
||||
extern int nanosleep(const struct timespec *, struct timespec *);
|
||||
|
||||
extern char *strtotimeval(const char *str, struct timeval *tv);
|
||||
|
||||
struct tm {
|
||||
int tm_sec; /* seconds */
|
||||
int tm_min; /* minutes */
|
||||
int tm_hour; /* hours */
|
||||
int tm_mday; /* day of the month */
|
||||
int tm_mon; /* month */
|
||||
int tm_year; /* year */
|
||||
int tm_wday; /* day of the week */
|
||||
int tm_yday; /* day in the year */
|
||||
int tm_isdst; /* daylight saving time */
|
||||
|
||||
long int tm_gmtoff; /* Seconds east of UTC. */
|
||||
const char *tm_zone; /* Timezone abbreviation. */
|
||||
|
||||
};
|
||||
|
||||
/* defining TM_ZONE indicates that we have a "timezone abbreviation" field in
|
||||
* struct tm, the value should be the field name
|
||||
*/
|
||||
#define TM_ZONE tm_zone
|
||||
|
||||
extern char* asctime(const struct tm* a);
|
||||
extern char* asctime_r(const struct tm* a, char* buf);
|
||||
|
||||
/* Return the difference between TIME1 and TIME0. */
|
||||
extern double difftime (time_t __time1, time_t __time0);
|
||||
extern time_t mktime (struct tm *a);
|
||||
|
||||
extern struct tm* localtime(const time_t *t);
|
||||
extern struct tm* localtime_r(const time_t *timep, struct tm *result);
|
||||
|
||||
extern struct tm* gmtime(const time_t *timep);
|
||||
extern struct tm* gmtime_r(const time_t *timep, struct tm *result);
|
||||
|
||||
extern char* strptime(const char *buf, const char *fmt, struct tm *tm);
|
||||
extern size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);
|
||||
|
||||
extern char *ctime(const time_t *timep);
|
||||
extern char *ctime_r(const time_t *timep, char *buf);
|
||||
|
||||
extern void tzset(void);
|
||||
|
||||
/* global includes */
|
||||
extern char* tzname[];
|
||||
extern int daylight;
|
||||
extern long int timezone;
|
||||
|
||||
#define CLOCKS_PER_SEC 1000000
|
||||
|
||||
extern clock_t clock(void);
|
||||
|
||||
/* BIONIC: extra linux clock goodies */
|
||||
extern int clock_getres(int, struct timespec *);
|
||||
extern int clock_gettime(int, struct timespec *);
|
||||
|
||||
#define CLOCK_REALTIME 0
|
||||
#define CLOCK_MONOTONIC 1
|
||||
#define CLOCK_PROCESS_CPUTIME_ID 2
|
||||
#define CLOCK_THREAD_CPUTIME_ID 3
|
||||
#define CLOCK_REALTIME_HR 4
|
||||
#define CLOCK_MONOTONIC_HR 5
|
||||
|
||||
extern int timer_create(int, struct sigevent*, timer_t*);
|
||||
extern int timer_delete(timer_t);
|
||||
extern int timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue);
|
||||
extern int timer_gettime(timer_t timerid, struct itimerspec *value);
|
||||
extern int timer_getoverrun(timer_t timerid);
|
||||
|
||||
extern time_t timelocal(struct tm *tm);
|
||||
extern time_t timegm(struct tm* tm);
|
||||
extern time_t time2posix(time_t ti);
|
||||
extern time_t posix2time(time_t ti);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _TIME_H_ */
|
||||
@@ -1,215 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _UNISTD_H_
|
||||
#define _UNISTD_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/select.h>
|
||||
#include <sys/sysconf.h>
|
||||
#include <linux/capability.h>
|
||||
#include <pathconf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Standard file descriptor numbers. */
|
||||
#define STDIN_FILENO 0
|
||||
#define STDOUT_FILENO 1
|
||||
#define STDERR_FILENO 2
|
||||
|
||||
/* Values for whence in fseek and lseek */
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
|
||||
extern char **environ;
|
||||
extern __noreturn void _exit(int);
|
||||
|
||||
extern pid_t fork(void);
|
||||
extern pid_t vfork(void);
|
||||
extern pid_t getpid(void);
|
||||
extern pid_t gettid(void);
|
||||
extern pid_t getpgid(pid_t);
|
||||
extern int setpgid(pid_t, pid_t);
|
||||
extern pid_t getppid(void);
|
||||
extern pid_t getpgrp(void);
|
||||
extern int setpgrp(void);
|
||||
extern pid_t setsid(void);
|
||||
|
||||
extern int execv(const char *, char * const *);
|
||||
extern int execvp(const char *, char * const *);
|
||||
extern int execve(const char *, char * const *, char * const *);
|
||||
extern int execl(const char *, const char *, ...);
|
||||
extern int execlp(const char *, const char *, ...);
|
||||
extern int execle(const char *, const char *, ...);
|
||||
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);
|
||||
|
||||
/* IMPORTANT: See comment under <sys/prctl.h> about this declaration */
|
||||
extern int prctl(int option, ...);
|
||||
|
||||
extern int nice(int);
|
||||
|
||||
extern int setuid(uid_t);
|
||||
extern uid_t getuid(void);
|
||||
extern int seteuid(uid_t);
|
||||
extern uid_t geteuid(void);
|
||||
extern int setgid(gid_t);
|
||||
extern gid_t getgid(void);
|
||||
extern int setegid(gid_t);
|
||||
extern gid_t getegid(void);
|
||||
extern int getgroups(int, gid_t *);
|
||||
extern int setgroups(size_t, const gid_t *);
|
||||
extern int setreuid(uid_t, uid_t);
|
||||
extern int setregid(gid_t, gid_t);
|
||||
extern int setresuid(uid_t, uid_t, uid_t);
|
||||
extern int setresgid(gid_t, gid_t, gid_t);
|
||||
extern int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
|
||||
extern int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
|
||||
extern int issetugid(void);
|
||||
extern char* getlogin(void);
|
||||
extern char* getusershell(void);
|
||||
extern void setusershell(void);
|
||||
extern void endusershell(void);
|
||||
|
||||
|
||||
|
||||
/* Macros for access() */
|
||||
#define R_OK 4 /* Read */
|
||||
#define W_OK 2 /* Write */
|
||||
#define X_OK 1 /* Execute */
|
||||
#define F_OK 0 /* Existence */
|
||||
|
||||
extern int access(const char *, int);
|
||||
extern int link(const char *, const char *);
|
||||
extern int unlink(const char *);
|
||||
extern int chdir(const char *);
|
||||
extern int fchdir(int);
|
||||
extern int rmdir(const char *);
|
||||
extern int pipe(int *);
|
||||
#ifdef _GNU_SOURCE /* GLibc compatibility */
|
||||
extern int pipe2(int *, int);
|
||||
#endif
|
||||
extern int chroot(const char *);
|
||||
extern int symlink(const char *, const char *);
|
||||
extern int readlink(const char *, char *, size_t);
|
||||
extern int chown(const char *, uid_t, gid_t);
|
||||
extern int fchown(int, uid_t, gid_t);
|
||||
extern int lchown(const char *, uid_t, gid_t);
|
||||
extern int truncate(const char *, off_t);
|
||||
extern char *getcwd(char *, size_t);
|
||||
|
||||
extern int sync(void);
|
||||
|
||||
extern int close(int);
|
||||
extern off_t lseek(int, off_t, int);
|
||||
extern off64_t lseek64(int, off64_t, int);
|
||||
|
||||
extern ssize_t read(int, void *, size_t);
|
||||
extern ssize_t write(int, const void *, size_t);
|
||||
extern ssize_t pread(int, void *, size_t, off_t);
|
||||
extern ssize_t pread64(int, void *, size_t, off64_t);
|
||||
extern ssize_t pwrite(int, const void *, size_t, off_t);
|
||||
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
|
||||
|
||||
extern int dup(int);
|
||||
extern int dup2(int, int);
|
||||
extern int fcntl(int, int, ...);
|
||||
extern int ioctl(int, int, ...);
|
||||
extern int flock(int, int);
|
||||
extern int fsync(int);
|
||||
extern int fdatasync(int);
|
||||
extern int ftruncate(int, off_t);
|
||||
extern int ftruncate64(int, off64_t);
|
||||
|
||||
extern int pause(void);
|
||||
extern unsigned int alarm(unsigned int);
|
||||
extern unsigned int sleep(unsigned int);
|
||||
extern int usleep(unsigned long);
|
||||
|
||||
extern int gethostname(char *, size_t);
|
||||
|
||||
extern int getdtablesize(void);
|
||||
|
||||
extern void *__brk(void *);
|
||||
extern int brk(void *);
|
||||
extern void *sbrk(ptrdiff_t);
|
||||
|
||||
extern int getopt(int, char * const *, const char *);
|
||||
extern char *optarg;
|
||||
extern int optind, opterr, optopt;
|
||||
|
||||
extern int isatty(int);
|
||||
extern char* ttyname(int);
|
||||
extern int ttyname_r(int, char*, size_t);
|
||||
|
||||
extern int acct(const char* filepath);
|
||||
|
||||
static __inline__ int getpagesize(void) {
|
||||
extern unsigned int __page_size;
|
||||
return __page_size;
|
||||
}
|
||||
static __inline__ int __getpageshift(void) {
|
||||
extern unsigned int __page_shift;
|
||||
return __page_shift;
|
||||
}
|
||||
|
||||
extern int sysconf(int name);
|
||||
|
||||
extern int daemon(int, int);
|
||||
|
||||
/* A special syscall that is only available on the ARM, not x86 function. */
|
||||
extern int cacheflush(long start, long end, long flags);
|
||||
|
||||
extern pid_t tcgetpgrp(int fd);
|
||||
extern int tcsetpgrp(int fd, pid_t _pid);
|
||||
|
||||
#if 0 /* MISSING FROM BIONIC */
|
||||
extern pid_t getsid(pid_t);
|
||||
extern int execvpe(const char *, char * const *, char * const *);
|
||||
extern int execlpe(const char *, const char *, ...);
|
||||
extern int getfsuid(uid_t);
|
||||
extern int setfsuid(uid_t);
|
||||
extern int getlogin_r(char* name, size_t namesize);
|
||||
extern int sethostname(const char *, size_t);
|
||||
extern int getdomainname(char *, size_t);
|
||||
extern int setdomainname(const char *, size_t);
|
||||
#endif /* MISSING */
|
||||
|
||||
/* Used to retry syscalls that can return EINTR. */
|
||||
#define TEMP_FAILURE_RETRY(exp) ({ \
|
||||
typeof (exp) _rc; \
|
||||
do { \
|
||||
_rc = (exp); \
|
||||
} while (_rc == -1 && errno == EINTR); \
|
||||
_rc; })
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _UNISTD_H_ */
|
||||
@@ -1,159 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _WCHAR_H_
|
||||
#define _WCHAR_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* wchar_t is required in stdlib.h according to POSIX */
|
||||
#define __need___wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
#include <malloc.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/* IMPORTANT: Any code that relies on wide character support is essentially
|
||||
* non-portable and/or broken. the only reason this header exist
|
||||
* is because I'm really a nice guy. However, I'm not nice enough
|
||||
* to provide you with a real implementation. instead wchar_t == char
|
||||
* and all wc functions are stubs to their "normal" equivalent...
|
||||
*/
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
typedef int wint_t;
|
||||
typedef struct { int dummy; } mbstate_t;
|
||||
|
||||
typedef enum {
|
||||
WC_TYPE_INVALID = 0,
|
||||
WC_TYPE_ALNUM,
|
||||
WC_TYPE_ALPHA,
|
||||
WC_TYPE_BLANK,
|
||||
WC_TYPE_CNTRL,
|
||||
WC_TYPE_DIGIT,
|
||||
WC_TYPE_GRAPH,
|
||||
WC_TYPE_LOWER,
|
||||
WC_TYPE_PRINT,
|
||||
WC_TYPE_PUNCT,
|
||||
WC_TYPE_SPACE,
|
||||
WC_TYPE_UPPER,
|
||||
WC_TYPE_XDIGIT,
|
||||
WC_TYPE_MAX
|
||||
} wctype_t;
|
||||
|
||||
#define WCHAR_MAX INT_MAX
|
||||
#define WCHAR_MIN INT_MIN
|
||||
#define WEOF ((wint_t)(-1))
|
||||
|
||||
extern wint_t btowc(int);
|
||||
extern int fwprintf(FILE *, const wchar_t *, ...);
|
||||
extern int fwscanf(FILE *, const wchar_t *, ...);
|
||||
extern int iswalnum(wint_t);
|
||||
extern int iswalpha(wint_t);
|
||||
extern int iswcntrl(wint_t);
|
||||
extern int iswdigit(wint_t);
|
||||
extern int iswgraph(wint_t);
|
||||
extern int iswlower(wint_t);
|
||||
extern int iswprint(wint_t);
|
||||
extern int iswpunct(wint_t);
|
||||
extern int iswspace(wint_t);
|
||||
extern int iswupper(wint_t);
|
||||
extern int iswxdigit(wint_t);
|
||||
extern int iswctype(wint_t, wctype_t);
|
||||
extern wint_t fgetwc(FILE *);
|
||||
extern wchar_t *fgetws(wchar_t *, int, FILE *);
|
||||
extern wint_t fputwc(wchar_t, FILE *);
|
||||
extern int fputws(const wchar_t *, FILE *);
|
||||
extern int fwide(FILE *, int);
|
||||
extern wint_t getwc(FILE *);
|
||||
extern wint_t getwchar(void);
|
||||
extern int mbsinit(const mbstate_t *);
|
||||
extern size_t mbrlen(const char *, size_t, mbstate_t *);
|
||||
extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
|
||||
extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
|
||||
extern size_t mbstowcs(wchar_t *, const char *, size_t);
|
||||
extern wint_t putwc(wchar_t, FILE *);
|
||||
extern wint_t putwchar(wchar_t);
|
||||
extern int swprintf(wchar_t *, size_t, const wchar_t *, ...);
|
||||
extern int swscanf(const wchar_t *, const wchar_t *, ...);
|
||||
extern wint_t towlower(wint_t);
|
||||
extern wint_t towupper(wint_t);
|
||||
extern wint_t ungetwc(wint_t, FILE *);
|
||||
extern int vfwprintf(FILE *, const wchar_t *, va_list);
|
||||
extern int vwprintf(const wchar_t *, va_list);
|
||||
extern int vswprintf(wchar_t *, size_t, const wchar_t *, va_list);
|
||||
extern size_t wcrtomb(char *, wchar_t, mbstate_t *);
|
||||
extern int wcscasecmp(const wchar_t *, const wchar_t *);
|
||||
extern wchar_t *wcscat(wchar_t *, const wchar_t *);
|
||||
extern wchar_t *wcschr(const wchar_t *, wchar_t);
|
||||
extern int wcscmp(const wchar_t *, const wchar_t *);
|
||||
extern int wcscoll(const wchar_t *, const wchar_t *);
|
||||
extern wchar_t *wcscpy(wchar_t *, const wchar_t *);
|
||||
extern size_t wcscspn(const wchar_t *, const wchar_t *);
|
||||
extern size_t wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *);
|
||||
extern size_t wcslen(const wchar_t *);
|
||||
extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t);
|
||||
extern int wcsncmp(const wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
|
||||
extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
||||
extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
|
||||
extern size_t wcsspn(const wchar_t *, const wchar_t *);
|
||||
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
||||
extern double wcstod(const wchar_t *, wchar_t **);
|
||||
extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
|
||||
extern long int wcstol(const wchar_t *, wchar_t **, int);
|
||||
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||
extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
|
||||
extern wchar_t *wcswcs(const wchar_t *, const wchar_t *);
|
||||
extern int wcswidth(const wchar_t *, size_t);
|
||||
extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);
|
||||
extern int wctob(wint_t);
|
||||
extern wctype_t wctype(const char *);
|
||||
extern int wcwidth(wchar_t);
|
||||
extern wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
|
||||
extern int wmemcmp(const wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wmemcpy(wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
|
||||
extern wchar_t *wmemset(wchar_t *, wchar_t, size_t);
|
||||
extern int wprintf(const wchar_t *, ...);
|
||||
extern int wscanf(const wchar_t *, ...);
|
||||
|
||||
/* No really supported. These are just for making libstdc++-v3 happy. */
|
||||
typedef void *wctrans_t;
|
||||
extern wint_t towctrans(wint_t, wctrans_t);
|
||||
extern wctrans_t wctrans (const char *);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _WCHAR_H_ */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,44 +0,0 @@
|
||||
_C_ctype_
|
||||
_C_tolower_
|
||||
_C_toupper_
|
||||
__atexit
|
||||
__atexit_invalid
|
||||
__bionic_brk
|
||||
__evOptMonoTime
|
||||
__isthreaded
|
||||
__libc_malloc_default_dispatch
|
||||
__libc_malloc_dispatch
|
||||
__p_cert_syms
|
||||
__p_class_syms
|
||||
__p_key_syms
|
||||
__p_rcode_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
__page_size
|
||||
__popcount_tab
|
||||
__progname
|
||||
__rand48_add
|
||||
__rand48_mult
|
||||
__rand48_seed
|
||||
__sF
|
||||
__sdidinit
|
||||
__sglue
|
||||
__stack_chk_guard
|
||||
__system_property_area__
|
||||
_ctype_
|
||||
_ns_flagdata
|
||||
_tolower_tab_
|
||||
_toupper_tab_
|
||||
daylight
|
||||
environ
|
||||
h_errlist
|
||||
h_nerr
|
||||
optarg
|
||||
opterr
|
||||
optind
|
||||
optopt
|
||||
optreset
|
||||
sys_siglist
|
||||
sys_signame
|
||||
timezone
|
||||
tzname
|
||||
@@ -1,112 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _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
|
||||
|
||||
/* really matches stat64 in the kernel, hence the padding
|
||||
* Note: The kernel zero's the padded region because glibc might read them
|
||||
* in the hope that the kernel has stretched to using larger sizes.
|
||||
*/
|
||||
struct stat {
|
||||
unsigned long long st_dev;
|
||||
unsigned char __pad0[4];
|
||||
|
||||
unsigned long __st_ino;
|
||||
unsigned int st_mode;
|
||||
unsigned int st_nlink;
|
||||
|
||||
unsigned long st_uid;
|
||||
unsigned long 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;
|
||||
};
|
||||
|
||||
/* For compatibility with GLibc, we provide macro aliases
|
||||
* for the non-Posix nano-seconds accessors.
|
||||
*/
|
||||
#define st_atimensec st_atime_nsec
|
||||
#define st_mtimensec st_mtime_nsec
|
||||
#define st_ctimensec st_ctime_nsec
|
||||
|
||||
extern int chmod(const char *, mode_t);
|
||||
extern int fchmod(int, mode_t);
|
||||
extern int mkdir(const char *, mode_t);
|
||||
|
||||
extern int stat(const char *, struct stat *);
|
||||
extern int fstat(int, struct stat *);
|
||||
extern int lstat(const char *, struct stat *);
|
||||
extern int mknod(const char *, mode_t, dev_t);
|
||||
extern mode_t umask(mode_t);
|
||||
|
||||
#define stat64 stat
|
||||
#define fstat64 fstat
|
||||
#define lstat64 lstat
|
||||
|
||||
static __inline__ int mkfifo(const char *__p, mode_t __m)
|
||||
{
|
||||
return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t)0);
|
||||
}
|
||||
|
||||
extern int fstatat(int dirfd, const char *path, struct stat *buf, int flags);
|
||||
extern int mkdirat(int dirfd, const char *pathname, mode_t mode);
|
||||
extern int fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags);
|
||||
extern int fchmodat(int dirfd, const char *path, mode_t mode, int flags);
|
||||
extern int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
|
||||
|
||||
# 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);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _SYS_STAT_H_ */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,44 +0,0 @@
|
||||
_C_ctype_
|
||||
_C_tolower_
|
||||
_C_toupper_
|
||||
__atexit
|
||||
__atexit_invalid
|
||||
__bionic_brk
|
||||
__evOptMonoTime
|
||||
__isthreaded
|
||||
__libc_malloc_default_dispatch
|
||||
__libc_malloc_dispatch
|
||||
__p_cert_syms
|
||||
__p_class_syms
|
||||
__p_key_syms
|
||||
__p_rcode_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
__page_size
|
||||
__popcount_tab
|
||||
__progname
|
||||
__rand48_add
|
||||
__rand48_mult
|
||||
__rand48_seed
|
||||
__sF
|
||||
__sdidinit
|
||||
__sglue
|
||||
__stack_chk_guard
|
||||
__system_property_area__
|
||||
_ctype_
|
||||
_ns_flagdata
|
||||
_tolower_tab_
|
||||
_toupper_tab_
|
||||
daylight
|
||||
environ
|
||||
h_errlist
|
||||
h_nerr
|
||||
optarg
|
||||
opterr
|
||||
optind
|
||||
optopt
|
||||
optreset
|
||||
sys_siglist
|
||||
sys_signame
|
||||
timezone
|
||||
tzname
|
||||
@@ -1,958 +0,0 @@
|
||||
MD5_Final
|
||||
MD5_Init
|
||||
MD5_Update
|
||||
SHA1Final
|
||||
SHA1Init
|
||||
SHA1Transform
|
||||
SHA1Update
|
||||
__arc4_getbyte
|
||||
__assert
|
||||
__assert2
|
||||
__atexit_register_cleanup
|
||||
__b64_ntop
|
||||
__b64_pton
|
||||
__bionic_atfork_run_child
|
||||
__bionic_atfork_run_parent
|
||||
__bionic_atfork_run_prepare
|
||||
__brk
|
||||
__cxa_atexit
|
||||
__cxa_finalize
|
||||
__divdi3
|
||||
__dn_comp
|
||||
__dn_count_labels
|
||||
__dn_skipname
|
||||
__dorand48
|
||||
__errno
|
||||
__evAddTime
|
||||
__evCmpTime
|
||||
__evConsIovec
|
||||
__evConsTime
|
||||
__evNowTime
|
||||
__evSubTime
|
||||
__evTimeSpec
|
||||
__evTimeVal
|
||||
__evUTCTime
|
||||
__fcntl
|
||||
__fcntl64
|
||||
__findenv
|
||||
__fork
|
||||
__fp_nquery
|
||||
__fp_query
|
||||
__fstatfs64
|
||||
__futex_syscall3
|
||||
__futex_syscall4
|
||||
__futex_wait
|
||||
__futex_wait_ex
|
||||
__futex_wake
|
||||
__futex_wake_ex
|
||||
__get_h_errno
|
||||
__get_res_cache
|
||||
__get_sp
|
||||
__get_stack_base
|
||||
__get_thread
|
||||
__get_tls
|
||||
__getcpu
|
||||
__getcwd
|
||||
__getpriority
|
||||
__hostalias
|
||||
__init_tls
|
||||
__ioctl
|
||||
__libc_fini
|
||||
__libc_init
|
||||
__libc_init_common
|
||||
__libc_preinit
|
||||
__llseek
|
||||
__loc_aton
|
||||
__loc_ntoa
|
||||
__mmap2
|
||||
__moddi3
|
||||
__ns_format_ttl
|
||||
__ns_get16
|
||||
__ns_get32
|
||||
__ns_initparse
|
||||
__ns_makecanon
|
||||
__ns_msg_getflag
|
||||
__ns_name_compress
|
||||
__ns_name_ntol
|
||||
__ns_name_ntop
|
||||
__ns_name_pack
|
||||
__ns_name_pton
|
||||
__ns_name_rollback
|
||||
__ns_name_skip
|
||||
__ns_name_uncompress
|
||||
__ns_name_unpack
|
||||
__ns_parserr
|
||||
__ns_put16
|
||||
__ns_put32
|
||||
__ns_samename
|
||||
__ns_skiprr
|
||||
__ns_sprintrr
|
||||
__ns_sprintrrf
|
||||
__open
|
||||
__openat
|
||||
__p_cdname
|
||||
__p_cdnname
|
||||
__p_class
|
||||
__p_fqname
|
||||
__p_fqnname
|
||||
__p_option
|
||||
__p_query
|
||||
__p_rcode
|
||||
__p_secstodate
|
||||
__p_section
|
||||
__p_sockun
|
||||
__p_time
|
||||
__p_type
|
||||
__popcountsi2
|
||||
__pthread_cleanup_pop
|
||||
__pthread_cleanup_push
|
||||
__pthread_clone
|
||||
__pthread_cond_timedwait
|
||||
__pthread_cond_timedwait_relative
|
||||
__pthread_gettid
|
||||
__ptrace
|
||||
__putlong
|
||||
__putshort
|
||||
__reboot
|
||||
__res_close
|
||||
__res_dnok
|
||||
__res_get_nibblesuffix
|
||||
__res_get_nibblesuffix2
|
||||
__res_get_state
|
||||
__res_get_static
|
||||
__res_getservers
|
||||
__res_hnok
|
||||
__res_hostalias
|
||||
__res_isourserver
|
||||
__res_mailok
|
||||
__res_nameinquery
|
||||
__res_nametoclass
|
||||
__res_nametotype
|
||||
__res_nclose
|
||||
__res_ndestroy
|
||||
__res_ninit
|
||||
__res_nmkquery
|
||||
__res_nopt
|
||||
__res_nquery
|
||||
__res_nquerydomain
|
||||
__res_nsearch
|
||||
__res_nsend
|
||||
__res_opt
|
||||
__res_ownok
|
||||
__res_pquery
|
||||
__res_put_state
|
||||
__res_queriesmatch
|
||||
__res_querydomain
|
||||
__res_randomid
|
||||
__res_send
|
||||
__res_send_setqhook
|
||||
__res_send_setrhook
|
||||
__res_setservers
|
||||
__res_vinit
|
||||
__rt_sigaction
|
||||
__rt_sigprocmask
|
||||
__rt_sigtimedwait
|
||||
__sched_cpualloc
|
||||
__sched_cpucount
|
||||
__sched_cpufree
|
||||
__sched_getaffinity
|
||||
__sclose
|
||||
__set_errno
|
||||
__set_thread_area
|
||||
__set_tls
|
||||
__setresuid
|
||||
__setreuid
|
||||
__setuid
|
||||
__sflags
|
||||
__sflush
|
||||
__sflush_locked
|
||||
__sfp
|
||||
__sigsuspend
|
||||
__sinit
|
||||
__smakebuf
|
||||
__sread
|
||||
__srefill
|
||||
__srget
|
||||
__sseek
|
||||
__stack_chk_fail
|
||||
__statfs64
|
||||
__swbuf
|
||||
__swhatbuf
|
||||
__swrite
|
||||
__swsetup
|
||||
__sym_ntop
|
||||
__sym_ntos
|
||||
__sym_ston
|
||||
__sys_clone
|
||||
__syslog
|
||||
__system_properties_init
|
||||
__system_property_find
|
||||
__system_property_find_nth
|
||||
__system_property_get
|
||||
__system_property_read
|
||||
__system_property_set
|
||||
__system_property_wait
|
||||
__thread_entry
|
||||
__timer_create
|
||||
__timer_delete
|
||||
__timer_getoverrun
|
||||
__timer_gettime
|
||||
__timer_settime
|
||||
__udivdi3
|
||||
__umoddi3
|
||||
__vfprintf
|
||||
__wait4
|
||||
__waitid
|
||||
_cache_get_nameserver_addr
|
||||
_cleanup
|
||||
_exit
|
||||
_exit_thread
|
||||
_exit_with_stack_teardown
|
||||
_fwalk
|
||||
_getlong
|
||||
_getshort
|
||||
_init_thread
|
||||
_longjmp
|
||||
_memmove_words
|
||||
_resolv_flush_cache_for_default_iface
|
||||
_resolv_flush_cache_for_iface
|
||||
_resolv_get_addr_of_default_iface
|
||||
_resolv_get_addr_of_iface
|
||||
_resolv_set_addr_of_iface
|
||||
_resolv_set_default_iface
|
||||
_resolv_set_nameservers_for_iface
|
||||
_setjmp
|
||||
_thread_created_hook
|
||||
_waitpid
|
||||
abort
|
||||
accept
|
||||
access
|
||||
acct
|
||||
alarm
|
||||
alphasort
|
||||
arc4random
|
||||
arc4random_addrandom
|
||||
arc4random_buf
|
||||
arc4random_stir
|
||||
arc4random_uniform
|
||||
asctime
|
||||
asctime64
|
||||
asctime64_r
|
||||
asctime_r
|
||||
asprintf
|
||||
atoi
|
||||
atol
|
||||
atoll
|
||||
basename
|
||||
basename_r
|
||||
bcopy
|
||||
bind
|
||||
bindresvport
|
||||
brk
|
||||
bsd_signal
|
||||
bsearch
|
||||
btowc
|
||||
bzero
|
||||
calloc
|
||||
capget
|
||||
capset
|
||||
chdir
|
||||
chmod
|
||||
chown
|
||||
chroot
|
||||
clearenv
|
||||
clearerr
|
||||
clock
|
||||
clock_getres
|
||||
clock_gettime
|
||||
clock_nanosleep
|
||||
clock_settime
|
||||
close
|
||||
closedir
|
||||
closelog
|
||||
closelog_r
|
||||
connect
|
||||
cpuacct_add
|
||||
creat
|
||||
ctime
|
||||
ctime64
|
||||
ctime64_r
|
||||
ctime_r
|
||||
daemon
|
||||
delete_module
|
||||
difftime
|
||||
dirfd
|
||||
dirname
|
||||
dirname_r
|
||||
div
|
||||
dlcalloc
|
||||
dlfree
|
||||
dlindependent_calloc
|
||||
dlindependent_comalloc
|
||||
dlmallinfo
|
||||
dlmalloc
|
||||
dlmalloc_footprint
|
||||
dlmalloc_max_footprint
|
||||
dlmalloc_stats
|
||||
dlmalloc_trim
|
||||
dlmalloc_usable_size
|
||||
dlmalloc_walk_free_pages
|
||||
dlmalloc_walk_heap
|
||||
dlmallopt
|
||||
dlmemalign
|
||||
dlpvalloc
|
||||
dlrealloc
|
||||
dlvalloc
|
||||
dn_expand
|
||||
drand48
|
||||
dup
|
||||
dup2
|
||||
endpwent
|
||||
endservent
|
||||
endusershell
|
||||
endutent
|
||||
epoll_create
|
||||
epoll_ctl
|
||||
epoll_wait
|
||||
erand48
|
||||
err
|
||||
errx
|
||||
ether_aton
|
||||
ether_aton_r
|
||||
ether_ntoa
|
||||
ether_ntoa_r
|
||||
eventfd
|
||||
eventfd_read
|
||||
eventfd_write
|
||||
execl
|
||||
execle
|
||||
execlp
|
||||
execv
|
||||
execve
|
||||
execvp
|
||||
exit
|
||||
fchdir
|
||||
fchmod
|
||||
fchmodat
|
||||
fchown
|
||||
fchownat
|
||||
fclose
|
||||
fcntl
|
||||
fdatasync
|
||||
fdopen
|
||||
fdopendir
|
||||
fdprintf
|
||||
feof
|
||||
ferror
|
||||
fflush
|
||||
fgetc
|
||||
fgetln
|
||||
fgetpos
|
||||
fgets
|
||||
fgetwc
|
||||
fgetws
|
||||
fileno
|
||||
flock
|
||||
flockfile
|
||||
fnmatch
|
||||
fopen
|
||||
fork
|
||||
fpathconf
|
||||
fprintf
|
||||
fpurge
|
||||
fputc
|
||||
fputs
|
||||
fputwc
|
||||
fputws
|
||||
fread
|
||||
free
|
||||
freeaddrinfo
|
||||
freedtoa
|
||||
freopen
|
||||
fscanf
|
||||
fseek
|
||||
fseeko
|
||||
fsetpos
|
||||
fstat
|
||||
fstatat
|
||||
fstatfs
|
||||
fsync
|
||||
ftell
|
||||
ftello
|
||||
ftime
|
||||
ftok
|
||||
ftruncate
|
||||
ftruncate64
|
||||
ftrylockfile
|
||||
fts_children
|
||||
fts_close
|
||||
fts_open
|
||||
fts_read
|
||||
fts_set
|
||||
funlockfile
|
||||
funopen
|
||||
futex
|
||||
fwide
|
||||
fwprintf
|
||||
fwrite
|
||||
fwscanf
|
||||
gai_strerror
|
||||
get_malloc_leak_info
|
||||
getaddrinfo
|
||||
getc
|
||||
getc_unlocked
|
||||
getchar
|
||||
getchar_unlocked
|
||||
getcwd
|
||||
getdents
|
||||
getdtablesize
|
||||
getegid
|
||||
getenv
|
||||
geteuid
|
||||
getgid
|
||||
getgrgid
|
||||
getgrnam
|
||||
getgrouplist
|
||||
getgroups
|
||||
gethostbyaddr
|
||||
gethostbyname
|
||||
gethostbyname2
|
||||
gethostbyname_r
|
||||
gethostent
|
||||
gethostname
|
||||
getitimer
|
||||
getlogin
|
||||
getmntent
|
||||
getnameinfo
|
||||
getnetbyaddr
|
||||
getnetbyname
|
||||
getopt
|
||||
getopt_long
|
||||
getopt_long_only
|
||||
getpeername
|
||||
getpgid
|
||||
getpgrp
|
||||
getpid
|
||||
getppid
|
||||
getpriority
|
||||
getprotobyname
|
||||
getprotobynumber
|
||||
getpt
|
||||
getpwnam
|
||||
getpwnam_r
|
||||
getpwuid
|
||||
getpwuid_r
|
||||
getresgid
|
||||
getresuid
|
||||
getrlimit
|
||||
getrusage
|
||||
gets
|
||||
getservbyname
|
||||
getservbyport
|
||||
getservent
|
||||
getservent_r
|
||||
getsockname
|
||||
getsockopt
|
||||
gettid
|
||||
gettimeofday
|
||||
getuid
|
||||
getusershell
|
||||
getutent
|
||||
getwc
|
||||
getwchar
|
||||
gmtime
|
||||
gmtime64
|
||||
gmtime64_r
|
||||
gmtime_r
|
||||
herror
|
||||
hstrerror
|
||||
if_indextoname
|
||||
if_nametoindex
|
||||
index
|
||||
inet_addr
|
||||
inet_aton
|
||||
inet_nsap_addr
|
||||
inet_nsap_ntoa
|
||||
inet_ntoa
|
||||
inet_ntop
|
||||
inet_pton
|
||||
init_module
|
||||
initgroups
|
||||
inotify_add_watch
|
||||
inotify_init
|
||||
inotify_rm_watch
|
||||
ioctl
|
||||
ioprio_get
|
||||
ioprio_set
|
||||
isalnum
|
||||
isalpha
|
||||
isascii
|
||||
isatty
|
||||
isblank
|
||||
iscntrl
|
||||
isdigit
|
||||
isgraph
|
||||
islower
|
||||
isprint
|
||||
ispunct
|
||||
issetugid
|
||||
isspace
|
||||
isupper
|
||||
iswalnum
|
||||
iswalpha
|
||||
iswcntrl
|
||||
iswctype
|
||||
iswdigit
|
||||
iswgraph
|
||||
iswlower
|
||||
iswprint
|
||||
iswpunct
|
||||
iswspace
|
||||
iswupper
|
||||
iswxdigit
|
||||
isxdigit
|
||||
jrand48
|
||||
kill
|
||||
killpg
|
||||
klogctl
|
||||
lchown
|
||||
ldexp
|
||||
ldiv
|
||||
link
|
||||
listen
|
||||
lldiv
|
||||
localtime
|
||||
localtime64
|
||||
localtime64_r
|
||||
localtime_r
|
||||
longjmp
|
||||
longjmperror
|
||||
lrand48
|
||||
lseek
|
||||
lseek64
|
||||
lstat
|
||||
madvise
|
||||
mallinfo
|
||||
malloc
|
||||
malloc_debug_init
|
||||
mbrlen
|
||||
mbrtowc
|
||||
mbsinit
|
||||
mbsrtowcs
|
||||
mbstowcs
|
||||
memalign
|
||||
memccpy
|
||||
memchr
|
||||
memcmp
|
||||
memcpy
|
||||
memmem
|
||||
memmove
|
||||
memrchr
|
||||
memset
|
||||
memswap
|
||||
mincore
|
||||
mkdir
|
||||
mkdirat
|
||||
mkdtemp
|
||||
mknod
|
||||
mkstemp
|
||||
mkstemps
|
||||
mktemp
|
||||
mktime
|
||||
mktime64
|
||||
mlock
|
||||
mmap
|
||||
mount
|
||||
mprotect
|
||||
mrand48
|
||||
mremap
|
||||
msync
|
||||
munlock
|
||||
munmap
|
||||
nanosleep
|
||||
nice
|
||||
nrand48
|
||||
nsdispatch
|
||||
open
|
||||
openat
|
||||
opendir
|
||||
openlog
|
||||
openlog_r
|
||||
pathconf
|
||||
pause
|
||||
pclose
|
||||
perror
|
||||
pipe
|
||||
pipe2
|
||||
poll
|
||||
popen
|
||||
posix2time
|
||||
prctl
|
||||
pread
|
||||
pread64
|
||||
printf
|
||||
pselect
|
||||
pthread_atfork
|
||||
pthread_attr_destroy
|
||||
pthread_attr_getdetachstate
|
||||
pthread_attr_getguardsize
|
||||
pthread_attr_getschedparam
|
||||
pthread_attr_getschedpolicy
|
||||
pthread_attr_getscope
|
||||
pthread_attr_getstack
|
||||
pthread_attr_getstackaddr
|
||||
pthread_attr_getstacksize
|
||||
pthread_attr_init
|
||||
pthread_attr_setdetachstate
|
||||
pthread_attr_setguardsize
|
||||
pthread_attr_setschedparam
|
||||
pthread_attr_setschedpolicy
|
||||
pthread_attr_setscope
|
||||
pthread_attr_setstack
|
||||
pthread_attr_setstackaddr
|
||||
pthread_attr_setstacksize
|
||||
pthread_cond_broadcast
|
||||
pthread_cond_destroy
|
||||
pthread_cond_init
|
||||
pthread_cond_signal
|
||||
pthread_cond_timedwait
|
||||
pthread_cond_timedwait_monotonic
|
||||
pthread_cond_timedwait_monotonic_np
|
||||
pthread_cond_timedwait_relative_np
|
||||
pthread_cond_timeout_np
|
||||
pthread_cond_wait
|
||||
pthread_condattr_destroy
|
||||
pthread_condattr_getpshared
|
||||
pthread_condattr_init
|
||||
pthread_condattr_setpshared
|
||||
pthread_create
|
||||
pthread_detach
|
||||
pthread_equal
|
||||
pthread_exit
|
||||
pthread_getattr_np
|
||||
pthread_getcpuclockid
|
||||
pthread_getschedparam
|
||||
pthread_getspecific
|
||||
pthread_join
|
||||
pthread_key_create
|
||||
pthread_key_delete
|
||||
pthread_kill
|
||||
pthread_mutex_destroy
|
||||
pthread_mutex_init
|
||||
pthread_mutex_lock
|
||||
pthread_mutex_lock_timeout_np
|
||||
pthread_mutex_trylock
|
||||
pthread_mutex_unlock
|
||||
pthread_mutexattr_destroy
|
||||
pthread_mutexattr_getpshared
|
||||
pthread_mutexattr_gettype
|
||||
pthread_mutexattr_init
|
||||
pthread_mutexattr_setpshared
|
||||
pthread_mutexattr_settype
|
||||
pthread_once
|
||||
pthread_rwlock_destroy
|
||||
pthread_rwlock_init
|
||||
pthread_rwlock_rdlock
|
||||
pthread_rwlock_timedrdlock
|
||||
pthread_rwlock_timedwrlock
|
||||
pthread_rwlock_tryrdlock
|
||||
pthread_rwlock_trywrlock
|
||||
pthread_rwlock_unlock
|
||||
pthread_rwlock_wrlock
|
||||
pthread_rwlockattr_destroy
|
||||
pthread_rwlockattr_getpshared
|
||||
pthread_rwlockattr_init
|
||||
pthread_rwlockattr_setpshared
|
||||
pthread_self
|
||||
pthread_setname_np
|
||||
pthread_setschedparam
|
||||
pthread_setspecific
|
||||
pthread_sigmask
|
||||
ptrace
|
||||
ptsname
|
||||
ptsname_r
|
||||
putc
|
||||
putc_unlocked
|
||||
putchar
|
||||
putchar_unlocked
|
||||
putenv
|
||||
puts
|
||||
pututline
|
||||
putw
|
||||
putwc
|
||||
putwchar
|
||||
pwrite
|
||||
pwrite64
|
||||
qsort
|
||||
raise
|
||||
read
|
||||
readdir
|
||||
readdir_r
|
||||
readlink
|
||||
readv
|
||||
realloc
|
||||
realpath
|
||||
reboot
|
||||
recv
|
||||
recvfrom
|
||||
recvmsg
|
||||
regcomp
|
||||
regerror
|
||||
regexec
|
||||
regfree
|
||||
remove
|
||||
rename
|
||||
renameat
|
||||
res_init
|
||||
res_mkquery
|
||||
res_query
|
||||
res_search
|
||||
rewind
|
||||
rewinddir
|
||||
rmdir
|
||||
sbrk
|
||||
scandir
|
||||
scanf
|
||||
sched_get_priority_max
|
||||
sched_get_priority_min
|
||||
sched_getaffinity
|
||||
sched_getcpu
|
||||
sched_getparam
|
||||
sched_getscheduler
|
||||
sched_rr_get_interval
|
||||
sched_setaffinity
|
||||
sched_setparam
|
||||
sched_setscheduler
|
||||
sched_yield
|
||||
seed48
|
||||
select
|
||||
sem_close
|
||||
sem_destroy
|
||||
sem_getvalue
|
||||
sem_init
|
||||
sem_open
|
||||
sem_post
|
||||
sem_timedwait
|
||||
sem_trywait
|
||||
sem_unlink
|
||||
sem_wait
|
||||
send
|
||||
sendfile
|
||||
sendmsg
|
||||
sendto
|
||||
setbuf
|
||||
setbuffer
|
||||
setegid
|
||||
setenv
|
||||
seteuid
|
||||
setgid
|
||||
setgroups
|
||||
setitimer
|
||||
setjmp
|
||||
setlinebuf
|
||||
setlocale
|
||||
setlogmask
|
||||
setlogmask_r
|
||||
setpgid
|
||||
setpgrp
|
||||
setpriority
|
||||
setregid
|
||||
setresgid
|
||||
setresuid
|
||||
setreuid
|
||||
setrlimit
|
||||
setservent
|
||||
setsid
|
||||
setsockopt
|
||||
settimeofday
|
||||
setuid
|
||||
setusershell
|
||||
setutent
|
||||
setvbuf
|
||||
shutdown
|
||||
sigaction
|
||||
sigaltstack
|
||||
sigblock
|
||||
siginterrupt
|
||||
siglongjmp
|
||||
sigpending
|
||||
sigprocmask
|
||||
sigsetjmp
|
||||
sigsetmask
|
||||
sigsuspend
|
||||
sigwait
|
||||
sleep
|
||||
snprintf
|
||||
socket
|
||||
socketpair
|
||||
sprintf
|
||||
srand48
|
||||
sscanf
|
||||
stat
|
||||
statfs
|
||||
strcasecmp
|
||||
strcasestr
|
||||
strcat
|
||||
strchr
|
||||
strcmp
|
||||
strcoll
|
||||
strcpy
|
||||
strcspn
|
||||
strdup
|
||||
strerror
|
||||
strerror_r
|
||||
strftime
|
||||
strftime_tz
|
||||
strlcat
|
||||
strlcpy
|
||||
strlen
|
||||
strncasecmp
|
||||
strncat
|
||||
strncmp
|
||||
strncpy
|
||||
strndup
|
||||
strnlen
|
||||
strntoimax
|
||||
strntoumax
|
||||
strpbrk
|
||||
strptime
|
||||
strrchr
|
||||
strsep
|
||||
strsignal
|
||||
strspn
|
||||
strstr
|
||||
strtod
|
||||
strtoimax
|
||||
strtok
|
||||
strtok_r
|
||||
strtol
|
||||
strtoll
|
||||
strtotimeval
|
||||
strtoul
|
||||
strtoull
|
||||
strtoumax
|
||||
strxfrm
|
||||
swprintf
|
||||
swscanf
|
||||
symlink
|
||||
sync
|
||||
syscall
|
||||
sysconf
|
||||
sysinfo
|
||||
syslog
|
||||
syslog_r
|
||||
system
|
||||
sysv_signal
|
||||
tcgetpgrp
|
||||
tcsetpgrp
|
||||
tempnam
|
||||
time
|
||||
time2posix
|
||||
timegm
|
||||
timegm64
|
||||
timelocal
|
||||
timelocal64
|
||||
timer_create
|
||||
timer_delete
|
||||
timer_getoverrun
|
||||
timer_gettime
|
||||
timer_settime
|
||||
times
|
||||
tkill
|
||||
tmpfile
|
||||
tmpnam
|
||||
toascii
|
||||
tolower
|
||||
toupper
|
||||
towlower
|
||||
towupper
|
||||
truncate
|
||||
ttyname
|
||||
ttyname_r
|
||||
tzset
|
||||
umask
|
||||
umount
|
||||
umount2
|
||||
uname
|
||||
ungetc
|
||||
ungetwc
|
||||
unlink
|
||||
unlinkat
|
||||
unlockpt
|
||||
unsetenv
|
||||
usleep
|
||||
utime
|
||||
utimensat
|
||||
utimes
|
||||
utmpname
|
||||
valloc
|
||||
vasprintf
|
||||
verr
|
||||
verrx
|
||||
vfdprintf
|
||||
vfork
|
||||
vfprintf
|
||||
vfscanf
|
||||
vfwprintf
|
||||
vprintf
|
||||
vscanf
|
||||
vsnprintf
|
||||
vsprintf
|
||||
vsscanf
|
||||
vswprintf
|
||||
vsyslog
|
||||
vsyslog_r
|
||||
vwarn
|
||||
vwarnx
|
||||
vwprintf
|
||||
wait
|
||||
wait3
|
||||
waitid
|
||||
waitpid
|
||||
warn
|
||||
warnx
|
||||
wcpcpy
|
||||
wcpncpy
|
||||
wcrtomb
|
||||
wcscasecmp
|
||||
wcscat
|
||||
wcschr
|
||||
wcscmp
|
||||
wcscoll
|
||||
wcscpy
|
||||
wcscspn
|
||||
wcsdup
|
||||
wcsftime
|
||||
wcslcat
|
||||
wcslcpy
|
||||
wcslen
|
||||
wcsncasecmp
|
||||
wcsncat
|
||||
wcsncmp
|
||||
wcsncpy
|
||||
wcsnlen
|
||||
wcspbrk
|
||||
wcsrchr
|
||||
wcsrtombs
|
||||
wcsspn
|
||||
wcsstr
|
||||
wcstod
|
||||
wcstok
|
||||
wcstol
|
||||
wcstombs
|
||||
wcstoul
|
||||
wcswcs
|
||||
wcswidth
|
||||
wcsxfrm
|
||||
wctob
|
||||
wctype
|
||||
wcwidth
|
||||
wmemchr
|
||||
wmemcmp
|
||||
wmemcpy
|
||||
wmemmove
|
||||
wmemset
|
||||
wprintf
|
||||
write
|
||||
writev
|
||||
wscanf
|
||||
@@ -1,44 +0,0 @@
|
||||
_C_ctype_
|
||||
_C_tolower_
|
||||
_C_toupper_
|
||||
__atexit
|
||||
__atexit_invalid
|
||||
__bionic_brk
|
||||
__evOptMonoTime
|
||||
__isthreaded
|
||||
__libc_malloc_default_dispatch
|
||||
__libc_malloc_dispatch
|
||||
__p_cert_syms
|
||||
__p_class_syms
|
||||
__p_key_syms
|
||||
__p_rcode_syms
|
||||
__p_type_syms
|
||||
__page_shift
|
||||
__page_size
|
||||
__popcount_tab
|
||||
__progname
|
||||
__rand48_add
|
||||
__rand48_mult
|
||||
__rand48_seed
|
||||
__sF
|
||||
__sdidinit
|
||||
__sglue
|
||||
__stack_chk_guard
|
||||
__system_property_area__
|
||||
_ctype_
|
||||
_ns_flagdata
|
||||
_tolower_tab_
|
||||
_toupper_tab_
|
||||
daylight
|
||||
environ
|
||||
h_errlist
|
||||
h_nerr
|
||||
optarg
|
||||
opterr
|
||||
optind
|
||||
optopt
|
||||
optreset
|
||||
sys_siglist
|
||||
sys_signame
|
||||
timezone
|
||||
tzname
|
||||
@@ -1,128 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)pwd.h 8.2 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
/*-
|
||||
* Portions Copyright(C) 1995, Jason Downs. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
|
||||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _PWD_H_
|
||||
#define _PWD_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#define _PATH_PASSWD "/etc/passwd"
|
||||
#define _PATH_MASTERPASSWD "/etc/master.passwd"
|
||||
#define _PATH_MASTERPASSWD_LOCK "/etc/ptmp"
|
||||
|
||||
#define _PATH_PASSWD_CONF "/etc/passwd.conf"
|
||||
#define _PATH_PASSWDCONF _PATH_PASSWD_CONF /* XXX: compat */
|
||||
#define _PATH_USERMGMT_CONF "/etc/usermgmt.conf"
|
||||
|
||||
#define _PATH_MP_DB "/etc/pwd.db"
|
||||
#define _PATH_SMP_DB "/etc/spwd.db"
|
||||
|
||||
#define _PATH_PWD_MKDB "/usr/sbin/pwd_mkdb"
|
||||
|
||||
#define _PW_KEYBYNAME '1' /* stored by name */
|
||||
#define _PW_KEYBYNUM '2' /* stored by entry in the "file" */
|
||||
#define _PW_KEYBYUID '3' /* stored by uid */
|
||||
|
||||
#define _PASSWORD_EFMT1 '_' /* extended DES encryption format */
|
||||
#define _PASSWORD_NONDES '$' /* non-DES encryption formats */
|
||||
|
||||
#define _PASSWORD_LEN 128 /* max length, not counting NUL */
|
||||
|
||||
#define _PASSWORD_NOUID 0x01 /* flag for no specified uid. */
|
||||
#define _PASSWORD_NOGID 0x02 /* flag for no specified gid. */
|
||||
#define _PASSWORD_NOCHG 0x04 /* flag for no specified change. */
|
||||
#define _PASSWORD_NOEXP 0x08 /* flag for no specified expire. */
|
||||
|
||||
#define _PASSWORD_OLDFMT 0x10 /* flag to expect an old style entry */
|
||||
#define _PASSWORD_NOWARN 0x20 /* no warnings for bad entries */
|
||||
|
||||
#define _PASSWORD_WARNDAYS 14 /* days to warn about expiry */
|
||||
#define _PASSWORD_CHGNOW -1 /* special day to force password change at next login */
|
||||
|
||||
struct passwd
|
||||
{
|
||||
char* pw_name;
|
||||
char* pw_passwd;
|
||||
uid_t pw_uid;
|
||||
gid_t pw_gid;
|
||||
char* pw_dir;
|
||||
char* pw_shell;
|
||||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
struct passwd* getpwnam(const char*);
|
||||
struct passwd* getpwuid(uid_t);
|
||||
|
||||
int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);
|
||||
int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);
|
||||
|
||||
void endpwent(void);
|
||||
|
||||
#if 0 /* MISSING FROM BIONIC */
|
||||
struct passwd* getpwent(void);
|
||||
int setpwent(void);
|
||||
#endif /* MISSING */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user