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