Revert "Name function arguments in libc headers for Studio."
This reverts commit 079bff4fa5
.
Broke builds with SANITIZE_HOST=address with an asan failure in versioner.
Change-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f
This commit is contained in:
parent
079bff4fa5
commit
9af9120091
83 changed files with 833 additions and 805 deletions
|
@ -36,18 +36,18 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
in_addr_t inet_addr(const char* __s);
|
||||
int inet_aton(const char* __s, struct in_addr* __addr);
|
||||
in_addr_t inet_lnaof(struct in_addr __addr) __INTRODUCED_IN(21);
|
||||
struct in_addr inet_makeaddr(in_addr_t __net, in_addr_t __host) __INTRODUCED_IN(21);
|
||||
in_addr_t inet_netof(struct in_addr __addr) __INTRODUCED_IN(21);
|
||||
in_addr_t inet_network(const char* __s) __INTRODUCED_IN(21);
|
||||
char* inet_ntoa(struct in_addr __addr);
|
||||
const char* inet_ntop(int __af, const void* __src, char* __dst, socklen_t __size);
|
||||
unsigned int inet_nsap_addr(const char* __ascii, unsigned char* __binary, int __n);
|
||||
char* inet_nsap_ntoa(int __binary_length, const unsigned char* __binary, char* __ascii);
|
||||
int inet_pton(int __af, const char* __src, void* __dst);
|
||||
in_addr_t inet_addr(const char*);
|
||||
int inet_aton(const char*, struct in_addr*);
|
||||
in_addr_t inet_lnaof(struct in_addr) __INTRODUCED_IN(21);
|
||||
struct in_addr inet_makeaddr(in_addr_t, in_addr_t) __INTRODUCED_IN(21);
|
||||
in_addr_t inet_netof(struct in_addr) __INTRODUCED_IN(21);
|
||||
in_addr_t inet_network(const char*) __INTRODUCED_IN(21);
|
||||
char* inet_ntoa(struct in_addr);
|
||||
const char* inet_ntop(int, const void*, char*, socklen_t);
|
||||
unsigned int inet_nsap_addr(const char*, unsigned char*, int);
|
||||
char* inet_nsap_ntoa(int, const unsigned char*, char*);
|
||||
int inet_pton(int, const char*, void*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _ARPA_INET_H_ */
|
||||
|
|
|
@ -60,6 +60,6 @@
|
|||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
void __assert(const char* __file, int __line, const char* __msg) __noreturn;
|
||||
void __assert2(const char* __file, int __line, const char* __function, const char* __msg) __noreturn;
|
||||
void __assert(const char*, int, const char*) __noreturn;
|
||||
void __assert2(const char*, int, const char*, const char*) __noreturn;
|
||||
__END_DECLS
|
||||
|
|
|
@ -61,45 +61,45 @@ __BEGIN_DECLS
|
|||
|
||||
extern const char* _ctype_;
|
||||
|
||||
int isalnum(int __ch);
|
||||
int isalpha(int __ch);
|
||||
int isblank(int __ch);
|
||||
int iscntrl(int __ch);
|
||||
int isdigit(int __ch);
|
||||
int isgraph(int __ch);
|
||||
int islower(int __ch);
|
||||
int isprint(int __ch);
|
||||
int ispunct(int __ch);
|
||||
int isspace(int __ch);
|
||||
int isupper(int __ch);
|
||||
int isxdigit(int __ch);
|
||||
int tolower(int __ch);
|
||||
int toupper(int __ch);
|
||||
int isalnum(int);
|
||||
int isalpha(int);
|
||||
int isblank(int);
|
||||
int iscntrl(int);
|
||||
int isdigit(int);
|
||||
int isgraph(int);
|
||||
int islower(int);
|
||||
int isprint(int);
|
||||
int ispunct(int);
|
||||
int isspace(int);
|
||||
int isupper(int);
|
||||
int isxdigit(int);
|
||||
int tolower(int);
|
||||
int toupper(int);
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
int isalnum_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isalpha_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isblank_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iscntrl_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isdigit_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isgraph_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int islower_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isprint_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int ispunct_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isspace_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isupper_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isxdigit_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int tolower_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int toupper_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
|
||||
int isalnum_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isalpha_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isblank_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int iscntrl_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isdigit_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isgraph_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int islower_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isprint_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int ispunct_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isspace_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isupper_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int isxdigit_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int tolower_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
int toupper_l(int, locale_t) __INTRODUCED_IN(21);
|
||||
#else
|
||||
// Implemented as static inlines before 21.
|
||||
#endif
|
||||
|
||||
int isascii(int __ch);
|
||||
int toascii(int __ch);
|
||||
int _tolower(int __ch) __INTRODUCED_IN(21);
|
||||
int _toupper(int __ch) __INTRODUCED_IN(21);
|
||||
int isascii(int);
|
||||
int toascii(int);
|
||||
int _tolower(int) __INTRODUCED_IN(21);
|
||||
int _toupper(int) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_CTYPE_H_ */
|
||||
|
|
|
@ -76,27 +76,30 @@ struct dirent64 { __DIRENT64_BODY };
|
|||
|
||||
typedef struct DIR DIR;
|
||||
|
||||
DIR* opendir(const char* __path);
|
||||
DIR* fdopendir(int __dir_fd);
|
||||
struct dirent* readdir(DIR* __dir);
|
||||
struct dirent64* readdir64(DIR* __dir) __INTRODUCED_IN(21);
|
||||
int readdir_r(DIR* __dir, struct dirent* __entry, struct dirent** __buffer);
|
||||
int readdir64_r(DIR* __dir, struct dirent64* __entry, struct dirent64** __buffer) __INTRODUCED_IN(21);
|
||||
int closedir(DIR* __dir);
|
||||
void rewinddir(DIR* __dir);
|
||||
void seekdir(DIR* __dir, long __location) __INTRODUCED_IN(23);
|
||||
long telldir(DIR* __dir) __INTRODUCED_IN(23);
|
||||
int dirfd(DIR* __dir);
|
||||
int alphasort(const struct dirent** __lhs, const struct dirent** __rhs);
|
||||
int alphasort64(const struct dirent64** __lhs, const struct dirent64** __rhs) __INTRODUCED_IN(21);
|
||||
int scandir64(const char* __path, struct dirent64*** __name_list, int (*__filter)(const struct dirent64*), int (*__comparator)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(21);
|
||||
int scandir(const char* __path, struct dirent*** __name_list, int (*__filter)(const struct dirent*), int (*__comparator)(const struct dirent**, const struct dirent**));
|
||||
DIR* opendir(const char*);
|
||||
DIR* fdopendir(int);
|
||||
struct dirent* readdir(DIR*);
|
||||
struct dirent64* readdir64(DIR*) __INTRODUCED_IN(21);
|
||||
int readdir_r(DIR*, struct dirent*, struct dirent**);
|
||||
int readdir64_r(DIR*, struct dirent64*, struct dirent64**) __INTRODUCED_IN(21);
|
||||
int closedir(DIR*);
|
||||
void rewinddir(DIR*);
|
||||
void seekdir(DIR*, long) __INTRODUCED_IN(23);
|
||||
long telldir(DIR*) __INTRODUCED_IN(23);
|
||||
int dirfd(DIR*);
|
||||
int alphasort(const struct dirent**, const struct dirent**);
|
||||
int alphasort64(const struct dirent64**, const struct dirent64**) __INTRODUCED_IN(21);
|
||||
int scandir64(const char*, struct dirent64***, int (*)(const struct dirent64*),
|
||||
int (*)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(21);
|
||||
int scandir(const char*, struct dirent***, int (*)(const struct dirent*), int (*)(const struct dirent**, const struct dirent**));
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
int scandirat64(int __dir_fd, const char* __path, struct dirent64*** __name_list, int (*__filter)(const struct dirent64*), int (*__comparator)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(24);
|
||||
int scandirat(int __dir_fd, const char* __path, struct dirent*** __name_list, int (*__filter)(const struct dirent*), int (*__comparator)(const struct dirent**, const struct dirent**)) __INTRODUCED_IN(24);
|
||||
int scandirat64(int, const char*, struct dirent64***, int (*)(const struct dirent64*),
|
||||
int (*)(const struct dirent64**, const struct dirent64**)) __INTRODUCED_IN(24);
|
||||
int scandirat(int, const char*, struct dirent***, int (*)(const struct dirent*),
|
||||
int (*)(const struct dirent**, const struct dirent**)) __INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _DIRENT_H_ */
|
||||
|
|
|
@ -45,12 +45,12 @@ typedef struct {
|
|||
void* dli_saddr;
|
||||
} Dl_info;
|
||||
|
||||
void* dlopen(const char* __filename, int __flag);
|
||||
int dlclose(void* __handle);
|
||||
void* dlopen(const char* filename, int flag);
|
||||
int dlclose(void* handle);
|
||||
char* dlerror(void);
|
||||
void* dlsym(void* __handle, const char* __symbol);
|
||||
void* dlvsym(void* __handle, const char* __symbol, const char* __version) __INTRODUCED_IN(24);
|
||||
int dladdr(const void* __addr, Dl_info* __info);
|
||||
void* dlsym(void* handle, const char* symbol);
|
||||
void* dlvsym(void* handle, const char* symbol, const char* version) __INTRODUCED_IN(24);
|
||||
int dladdr(const void* addr, Dl_info* info);
|
||||
|
||||
#define RTLD_LOCAL 0
|
||||
#define RTLD_LAZY 0x00001
|
||||
|
@ -77,4 +77,4 @@ int dladdr(const void* __addr, Dl_info* __info);
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* __DLFCN_H */
|
||||
|
|
|
@ -41,14 +41,18 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
__noreturn void err(int __status, const char* __fmt, ...) __printflike(2, 3);
|
||||
__noreturn void verr(int __status, const char* __fmt, va_list __args) __printflike(2, 0);
|
||||
__noreturn void errx(int __status, const char* __fmt, ...) __printflike(2, 3);
|
||||
__noreturn void verrx(int __status, const char* __fmt, va_list __args) __printflike(2, 0);
|
||||
void warn(const char* __fmt, ...) __printflike(1, 2);
|
||||
void vwarn(const char* __fmt, va_list __args) __printflike(1, 0);
|
||||
void warnx(const char* __fmt, ...) __printflike(1, 2);
|
||||
void vwarnx(const char* __fmt, va_list __args) __printflike(1, 0);
|
||||
/* printf's format string isn't nullable; the err family's one is,
|
||||
* so we can't use __errlike here. */
|
||||
#define __errlike(x, y) __attribute__((__format__(printf, x, y)))
|
||||
|
||||
__noreturn void err(int, const char *, ...) __errlike(2, 3);
|
||||
__noreturn void verr(int, const char *, va_list) __errlike(2, 0);
|
||||
__noreturn void errx(int, const char *, ...) __errlike(2, 3);
|
||||
__noreturn void verrx(int, const char *, va_list) __errlike(2, 0);
|
||||
void warn(const char *, ...) __errlike(1, 2);
|
||||
void vwarn(const char *, va_list) __errlike(1, 0);
|
||||
void warnx(const char *, ...) __errlike(1, 2);
|
||||
void vwarnx(const char *, va_list) __errlike(1, 0);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@ extern void (*error_print_progname)(void) __INTRODUCED_IN(23);
|
|||
extern unsigned int error_message_count __INTRODUCED_IN(23);
|
||||
extern int error_one_per_line __INTRODUCED_IN(23);
|
||||
|
||||
void error(int __status, int __errno, const char* __fmt, ...) __printflike(3, 4) __INTRODUCED_IN(23);
|
||||
void error_at_line(int __status, int __errno, const char* __filename, unsigned int __line_number, const char* __fmt, ...)
|
||||
void error(int, int, const char*, ...) __printflike(3, 4) __INTRODUCED_IN(23);
|
||||
void error_at_line(int, int, const char*, unsigned int, const char*, ...)
|
||||
__printflike(5, 6) __INTRODUCED_IN(23);
|
||||
|
||||
__END_DECLS
|
||||
|
|
|
@ -69,26 +69,26 @@ __BEGIN_DECLS
|
|||
#define SYNC_FILE_RANGE_WAIT_AFTER 4
|
||||
#endif
|
||||
|
||||
int creat(const char* __path, mode_t __mode);
|
||||
int creat64(const char* __path, mode_t __mode) __INTRODUCED_IN(21);
|
||||
int openat(int __dir_fd, const char* __path, int __flags, ...) __overloadable __RENAME_CLANG(openat);
|
||||
int openat64(int __dir_fd, const char* __path, int __flags, ...) __INTRODUCED_IN(21);
|
||||
int open(const char* __path, int __flags, ...) __overloadable __RENAME_CLANG(open);
|
||||
int open64(const char* __path, int __flags, ...) __INTRODUCED_IN(21);
|
||||
ssize_t splice(int __in_fd, off64_t* __in_offset, int __out_fd, off64_t* __out_offset, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
|
||||
ssize_t tee(int __in_fd, int __out_fd, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
|
||||
ssize_t vmsplice(int __fd, const struct iovec* __iov, size_t __count, unsigned int __flags) __INTRODUCED_IN(21);
|
||||
int creat(const char*, mode_t);
|
||||
int creat64(const char*, mode_t) __INTRODUCED_IN(21);
|
||||
int openat(int, const char*, int, ...) __overloadable __RENAME_CLANG(openat);
|
||||
int openat64(int, const char*, int, ...) __INTRODUCED_IN(21);
|
||||
int open(const char*, int, ...) __overloadable __RENAME_CLANG(open);
|
||||
int open64(const char*, int, ...) __INTRODUCED_IN(21);
|
||||
ssize_t splice(int, off64_t*, int, off64_t*, size_t, unsigned int) __INTRODUCED_IN(21);
|
||||
ssize_t tee(int, int, size_t, unsigned int) __INTRODUCED_IN(21);
|
||||
ssize_t vmsplice(int, const struct iovec*, size_t, unsigned int) __INTRODUCED_IN(21);
|
||||
|
||||
int fallocate(int __fd, int __mode, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(fallocate64) __INTRODUCED_IN(21);
|
||||
int fallocate64(int __fd, int __mode, off64_t __offset, off64_t __length) __INTRODUCED_IN(21);
|
||||
int posix_fadvise(int __fd, off_t __offset, off_t __length, int __advice) __RENAME_IF_FILE_OFFSET64(posix_fadvise64) __INTRODUCED_IN(21);
|
||||
int posix_fadvise64(int __fd, off64_t __offset, off64_t __length, int __advice) __INTRODUCED_IN(21);
|
||||
int posix_fallocate(int __fd, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(posix_fallocate64) __INTRODUCED_IN(21);
|
||||
int posix_fallocate64(int __fd, off64_t __offset, off64_t __length) __INTRODUCED_IN(21);
|
||||
int fallocate(int, int, off_t, off_t) __RENAME_IF_FILE_OFFSET64(fallocate64) __INTRODUCED_IN(21);
|
||||
int fallocate64(int, int, off64_t, off64_t) __INTRODUCED_IN(21);
|
||||
int posix_fadvise(int, off_t, off_t, int) __RENAME_IF_FILE_OFFSET64(posix_fadvise64) __INTRODUCED_IN(21);
|
||||
int posix_fadvise64(int, off64_t, off64_t, int) __INTRODUCED_IN(21);
|
||||
int posix_fallocate(int, off_t, off_t) __RENAME_IF_FILE_OFFSET64(posix_fallocate64) __INTRODUCED_IN(21);
|
||||
int posix_fallocate64(int, off64_t, off64_t) __INTRODUCED_IN(21);
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
ssize_t readahead(int __fd, off64_t __offset, size_t __length) __INTRODUCED_IN(16);
|
||||
int sync_file_range(int __fd, off64_t __offset, off64_t __length, unsigned int __flags) __INTRODUCED_IN(26);
|
||||
ssize_t readahead(int, off64_t, size_t) __INTRODUCED_IN(16);
|
||||
int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN(26);
|
||||
#endif
|
||||
|
||||
#if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
|
||||
|
@ -97,4 +97,4 @@ int sync_file_range(int __fd, off64_t __offset, off64_t __length, unsigned int _
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _FCNTL_H */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _FNMATCH_H
|
||||
#define _FNMATCH_H
|
||||
|
||||
|
@ -45,8 +44,8 @@ __BEGIN_DECLS
|
|||
#define FNM_IGNORECASE FNM_CASEFOLD
|
||||
#define FNM_FILE_NAME FNM_PATHNAME
|
||||
|
||||
int fnmatch(const char* __pattern, const char* __string, int __flags);
|
||||
int fnmatch(const char* pattern, const char* string, int flags);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _FNMATCH_H */
|
||||
|
|
|
@ -55,12 +55,12 @@ struct FTW {
|
|||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
int ftw(const char* __dir_path, int (*__callback)(const char*, const struct stat*, int), int __max_fd_count) __INTRODUCED_IN(17);
|
||||
int nftw(const char* __dir_path, int (*__callback)(const char*, const struct stat*, int, struct FTW*), int __max_fd_count, int __flags)
|
||||
int ftw(const char*, int (*)(const char*, const struct stat*, int), int) __INTRODUCED_IN(17);
|
||||
int nftw(const char*, int (*)(const char*, const struct stat*, int, struct FTW*), int, int)
|
||||
__INTRODUCED_IN(17);
|
||||
int ftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int), int __max_fd_count) __INTRODUCED_IN(21);
|
||||
int nftw64(const char* __dir_path, int (*__callback)(const char*, const struct stat64*, int, struct FTW*), int __max_fd_count, int __flags)
|
||||
int ftw64(const char*, int (*)(const char*, const struct stat64*, int), int) __INTRODUCED_IN(21);
|
||||
int nftw64(const char*, int (*)(const char*, const struct stat64*, int, struct FTW*), int, int)
|
||||
__INTRODUCED_IN(21);
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_FTW_H */
|
||||
|
|
|
@ -59,8 +59,10 @@ struct option {
|
|||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
int getopt_long(int __argc, char* const* __argv, const char* __options, const struct option* __long_options, int* __long_index);
|
||||
int getopt_long_only(int __argc, char* const* __argv, const char* __options, const struct option* __long_options, int* __long_index);
|
||||
int getopt_long(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
int getopt_long_only(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
|
||||
#ifndef _OPTRESET_DECLARED
|
||||
#define _OPTRESET_DECLARED
|
||||
|
@ -68,4 +70,4 @@ extern int optreset; /* getopt(3) external variable */
|
|||
#endif
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_GETOPT_H_ */
|
||||
|
|
|
@ -47,19 +47,19 @@ struct group {
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
struct group* getgrgid(gid_t __gid);
|
||||
struct group* getgrnam(const char* __name);
|
||||
struct group* getgrgid(gid_t);
|
||||
struct group* getgrnam(const char*);
|
||||
|
||||
/* Note: Android has thousands and thousands of ids to iterate through. */
|
||||
struct group* getgrent(void) __INTRODUCED_IN(26);
|
||||
|
||||
void setgrent(void) __INTRODUCED_IN(26);
|
||||
void endgrent(void) __INTRODUCED_IN(26);
|
||||
int getgrgid_r(gid_t __gid, struct group* __group, char* __buf, size_t __n, struct group** __result) __INTRODUCED_IN(24);
|
||||
int getgrnam_r(const char* __name, struct group* __group, char* __buf, size_t __n, struct group** __result) __INTRODUCED_IN(24);
|
||||
int getgrouplist(const char* __user, gid_t __group, gid_t* __groups, int* __group_count);
|
||||
int initgroups(const char* __user, gid_t __group);
|
||||
int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
|
||||
int getgrnam_r(const char*, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
|
||||
int getgrouplist (const char*, gid_t, gid_t*, int*);
|
||||
int initgroups (const char*, gid_t);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_GRP_H_ */
|
||||
|
|
|
@ -51,8 +51,8 @@ struct ifaddrs {
|
|||
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
|
||||
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
|
||||
|
||||
void freeifaddrs(struct ifaddrs* __ptr) __INTRODUCED_IN(24);
|
||||
int getifaddrs(struct ifaddrs** __list_ptr) __INTRODUCED_IN(24);
|
||||
void freeifaddrs(struct ifaddrs*) __INTRODUCED_IN(24);
|
||||
int getifaddrs(struct ifaddrs**) __INTRODUCED_IN(24);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -255,12 +255,12 @@ typedef struct {
|
|||
} imaxdiv_t;
|
||||
|
||||
__BEGIN_DECLS
|
||||
intmax_t imaxabs(intmax_t __i) __attribute_const__ __INTRODUCED_IN(19);
|
||||
imaxdiv_t imaxdiv(intmax_t __numerator, intmax_t __denominator) __attribute_const__ __INTRODUCED_IN(19);
|
||||
intmax_t strtoimax(const char* __s, char** __end_ptr, int __base);
|
||||
uintmax_t strtoumax(const char* __s, char** __end_ptr, int __base);
|
||||
intmax_t wcstoimax(const wchar_t* __s, wchar_t** __end_ptr, int __base) __INTRODUCED_IN(21);
|
||||
uintmax_t wcstoumax(const wchar_t* __s, wchar_t** __end_ptr, int __base) __INTRODUCED_IN(21);
|
||||
intmax_t imaxabs(intmax_t) __attribute_const__ __INTRODUCED_IN(19);
|
||||
imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute_const__ __INTRODUCED_IN(19);
|
||||
intmax_t strtoimax(const char*, char**, int);
|
||||
uintmax_t strtoumax(const char*, char**, int);
|
||||
intmax_t wcstoimax(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21);
|
||||
uintmax_t wcstoumax(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21);
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _INTTYPES_H_ */
|
||||
|
|
|
@ -92,8 +92,8 @@ __BEGIN_DECLS
|
|||
#define NOEXPR 54
|
||||
#define CRNCYSTR 55
|
||||
|
||||
char* nl_langinfo(nl_item __item) __INTRODUCED_IN(26);
|
||||
char* nl_langinfo_l(nl_item __item, locale_t __l) __INTRODUCED_IN(26);
|
||||
char* nl_langinfo(nl_item) __INTRODUCED_IN(26);
|
||||
char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/*
|
||||
|
@ -41,19 +42,19 @@ __BEGIN_DECLS
|
|||
* Note that this has the wrong argument cv-qualifiers, but doesn't modify its
|
||||
* input and uses thread-local storage for the result if necessary.
|
||||
*/
|
||||
char* __posix_basename(const char* __path) __RENAME(basename);
|
||||
char* __posix_basename(const char*) __RENAME(basename);
|
||||
|
||||
#define basename __posix_basename
|
||||
|
||||
/* This has the wrong argument cv-qualifiers, but doesn't modify its input and uses thread-local storage for the result if necessary. */
|
||||
char* dirname(const char* __path);
|
||||
char* dirname(const char*);
|
||||
|
||||
#if !defined(__LP64__)
|
||||
/* These non-standard functions are not needed on Android; basename and dirname use thread-local storage. */
|
||||
int dirname_r(const char* __path, char* __buf, size_t __n);
|
||||
int basename_r(const char* __path, char* __buf, size_t __n);
|
||||
int dirname_r(const char*, char*, size_t);
|
||||
int basename_r(const char*, char*, size_t);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _LIBGEN_H */
|
||||
|
|
|
@ -50,9 +50,9 @@ struct dl_phdr_info {
|
|||
};
|
||||
|
||||
#if defined(__arm__)
|
||||
int dl_iterate_phdr(int (*__callback)(struct dl_phdr_info*, size_t, void*), void* __data) __INTRODUCED_IN(21);
|
||||
int dl_iterate_phdr(int (*)(struct dl_phdr_info*, size_t, void*), void*) __INTRODUCED_IN(21);
|
||||
#else
|
||||
int dl_iterate_phdr(int (*__callback)(struct dl_phdr_info*, size_t, void*), void* __data);
|
||||
int dl_iterate_phdr(int (*)(struct dl_phdr_info*, size_t, void*), void*);
|
||||
#endif
|
||||
|
||||
#ifdef __arm__
|
||||
|
@ -84,4 +84,4 @@ struct r_debug {
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _LINK_H_ */
|
||||
|
|
|
@ -98,14 +98,14 @@ struct lconv {
|
|||
|
||||
struct lconv* localeconv(void) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
|
||||
|
||||
locale_t duplocale(locale_t __l) __INTRODUCED_IN(21);
|
||||
void freelocale(locale_t __l) __INTRODUCED_IN(21);
|
||||
locale_t newlocale(int __category_mask, const char* __locale_name, locale_t __base) __INTRODUCED_IN(21);
|
||||
char* setlocale(int __category, const char* __locale_name);
|
||||
locale_t uselocale(locale_t __l) __INTRODUCED_IN(21);
|
||||
locale_t duplocale(locale_t) __INTRODUCED_IN(21);
|
||||
void freelocale(locale_t) __INTRODUCED_IN(21);
|
||||
locale_t newlocale(int, const char*, locale_t) __INTRODUCED_IN(21);
|
||||
char* setlocale(int, const char*);
|
||||
locale_t uselocale(locale_t) __INTRODUCED_IN(21);
|
||||
|
||||
#define LC_GLOBAL_LOCALE __BIONIC_CAST(reinterpret_cast, locale_t, -1L)
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _LOCALE_H_ */
|
||||
|
|
|
@ -57,11 +57,11 @@ struct mntent {
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int endmntent(FILE* __fp) __INTRODUCED_IN(21);
|
||||
struct mntent* getmntent(FILE* __fp);
|
||||
struct mntent* getmntent_r(FILE* __fp, struct mntent* __entry, char* __buf, int __size) __INTRODUCED_IN(21);
|
||||
FILE* setmntent(const char* __filename, const char* __type) __INTRODUCED_IN(21);
|
||||
char* hasmntopt(const struct mntent* __entry, const char* __option) __INTRODUCED_IN(26);
|
||||
int endmntent(FILE*) __INTRODUCED_IN(21);
|
||||
struct mntent* getmntent(FILE*);
|
||||
struct mntent* getmntent_r(FILE*, struct mntent*, char*, int) __INTRODUCED_IN(21);
|
||||
FILE* setmntent(const char*, const char*) __INTRODUCED_IN(21);
|
||||
char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -44,10 +44,10 @@ struct if_nameindex {
|
|||
char* if_name;
|
||||
};
|
||||
|
||||
char* if_indextoname(unsigned __index, char* __buf);
|
||||
unsigned if_nametoindex(const char* __name);
|
||||
char* if_indextoname(unsigned, char*);
|
||||
unsigned if_nametoindex(const char*);
|
||||
struct if_nameindex* if_nameindex(void) __INTRODUCED_IN(24);
|
||||
void if_freenameindex(struct if_nameindex* __ptr) __INTRODUCED_IN(24);
|
||||
void if_freenameindex(struct if_nameindex*) __INTRODUCED_IN(24);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -196,33 +196,37 @@ struct addrinfo {
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define h_errno (*__get_h_errno())
|
||||
int* __get_h_errno(void);
|
||||
/* BIONIC-BEGIN */
|
||||
#define h_errno (*__get_h_errno())
|
||||
int* __get_h_errno(void);
|
||||
/* BIONIC-END */
|
||||
void endservent(void);
|
||||
struct hostent* gethostbyaddr(const void* __addr, socklen_t __length, int __type);
|
||||
int gethostbyaddr_r(const void* __addr, socklen_t __length, int __type, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
|
||||
struct hostent* gethostbyname(const char* __name);
|
||||
int gethostbyname_r(const char* __name, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr);
|
||||
struct hostent* gethostbyname2(const char* __name, int __af);
|
||||
int gethostbyname2_r(const char* __name, int __af, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
|
||||
struct hostent* gethostbyaddr(const void*, socklen_t, int);
|
||||
int gethostbyaddr_r(const void*, socklen_t, int, struct hostent*, char*, size_t, struct hostent**,
|
||||
int*) __INTRODUCED_IN(23);
|
||||
struct hostent* gethostbyname(const char*);
|
||||
int gethostbyname_r(const char*, struct hostent*, char*, size_t, struct hostent**, int*);
|
||||
struct hostent* gethostbyname2(const char*, int);
|
||||
int gethostbyname2_r(const char*, int, struct hostent*, char*, size_t, struct hostent**, int*)
|
||||
__INTRODUCED_IN(23);
|
||||
struct hostent* gethostent(void);
|
||||
struct netent* getnetbyaddr(uint32_t __net, int __type);
|
||||
struct netent* getnetbyname(const char* __name);
|
||||
struct protoent* getprotobyname(const char* __name);
|
||||
struct protoent* getprotobynumber(int __proto);
|
||||
struct servent* getservbyname(const char* __name, const char* __proto);
|
||||
struct servent* getservbyport(int __port, const char* __proto);
|
||||
struct netent* getnetbyaddr(uint32_t, int);
|
||||
struct netent* getnetbyname(const char*);
|
||||
struct protoent* getprotobyname(const char*);
|
||||
struct protoent* getprotobynumber(int);
|
||||
struct servent* getservbyname(const char*, const char*);
|
||||
struct servent* getservbyport(int, const char*);
|
||||
struct servent* getservent(void);
|
||||
void herror(const char* __s);
|
||||
const char* hstrerror(int __error);
|
||||
void herror(const char*);
|
||||
const char* hstrerror(int);
|
||||
|
||||
int getaddrinfo(const char* __node, const char* __service, const struct addrinfo* __hints, struct addrinfo** __result);
|
||||
int getaddrinfo(const char*, const char*, const struct addrinfo*, struct addrinfo**);
|
||||
/* POSIX getnameinfo uses socklen_t, not size_t, but LP64 sizeof(socklen_t) != sizeof(size_t). */
|
||||
int getnameinfo(const struct sockaddr* __sa, socklen_t __sa_length, char* __host, size_t __host_length, char* __service, size_t __service_length, int __flags);
|
||||
void freeaddrinfo(struct addrinfo* __ptr);
|
||||
const char* gai_strerror(int __error);
|
||||
void setservent(int __stay_open);
|
||||
int getnameinfo(const struct sockaddr*, socklen_t, char*, size_t, char*, size_t, int);
|
||||
void freeaddrinfo(struct addrinfo*);
|
||||
const char* gai_strerror(int);
|
||||
void setservent(int);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_NETDB_H_ */
|
||||
|
|
|
@ -39,9 +39,9 @@ __BEGIN_DECLS
|
|||
typedef void* nl_catd;
|
||||
typedef int nl_item;
|
||||
|
||||
nl_catd catopen(const char* __name, int __flag) __INTRODUCED_IN(26);
|
||||
char* catgets(nl_catd __catalog, int __set_number, int __msg_number, const char* __msg) __INTRODUCED_IN(26);
|
||||
int catclose(nl_catd __catalog) __INTRODUCED_IN(26);
|
||||
nl_catd catopen(const char*, int) __INTRODUCED_IN(26);
|
||||
char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN(26);
|
||||
int catclose(nl_catd) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -38,8 +38,9 @@ __BEGIN_DECLS
|
|||
|
||||
typedef unsigned int nfds_t;
|
||||
|
||||
int poll(struct pollfd* __fds, nfds_t __count, int __timeout_ms) __overloadable __RENAME_CLANG(poll);
|
||||
int ppoll(struct pollfd* __fds, nfds_t __count, const struct timespec* __timeout, const sigset_t* __mask) __overloadable __RENAME_CLANG(ppoll) __INTRODUCED_IN(21);
|
||||
int poll(struct pollfd*, nfds_t, int) __overloadable __RENAME_CLANG(poll);
|
||||
int ppoll(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*)
|
||||
__overloadable __RENAME_CLANG(ppoll) __INTRODUCED_IN(21);
|
||||
|
||||
#if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
|
||||
#include <bits/fortify/poll.h>
|
||||
|
@ -47,4 +48,4 @@ int ppoll(struct pollfd* __fds, nfds_t __count, const struct timespec* __timeout
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _POLL_H_ */
|
||||
|
|
|
@ -39,14 +39,14 @@
|
|||
__BEGIN_DECLS
|
||||
|
||||
enum {
|
||||
PTHREAD_MUTEX_NORMAL = 0,
|
||||
PTHREAD_MUTEX_RECURSIVE = 1,
|
||||
PTHREAD_MUTEX_ERRORCHECK = 2,
|
||||
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_ERRORCHECK_NP = PTHREAD_MUTEX_ERRORCHECK,
|
||||
PTHREAD_MUTEX_RECURSIVE_NP = PTHREAD_MUTEX_RECURSIVE,
|
||||
|
||||
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
|
||||
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
|
||||
};
|
||||
|
||||
#define PTHREAD_MUTEX_INITIALIZER { { ((PTHREAD_MUTEX_NORMAL & 3) << 14) } }
|
||||
|
@ -83,74 +83,74 @@ enum {
|
|||
#define PTHREAD_SCOPE_SYSTEM 0
|
||||
#define PTHREAD_SCOPE_PROCESS 1
|
||||
|
||||
int pthread_atfork(void (*__prepare)(void), void (*__parent)(void), void (*__child)(void)) __INTRODUCED_IN(12);
|
||||
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)) __INTRODUCED_IN(12);
|
||||
|
||||
int pthread_attr_destroy(pthread_attr_t* __attr);
|
||||
int pthread_attr_getdetachstate(const pthread_attr_t* __attr, int* __state);
|
||||
int pthread_attr_getguardsize(const pthread_attr_t* __attr, size_t* __size);
|
||||
int pthread_attr_getschedparam(const pthread_attr_t* __attr, struct sched_param* __param);
|
||||
int pthread_attr_getschedpolicy(const pthread_attr_t* __attr, int* __policy);
|
||||
int pthread_attr_getscope(const pthread_attr_t* __attr, int* __scope);
|
||||
int pthread_attr_getstack(const pthread_attr_t* __attr, void** __addr, size_t* __size);
|
||||
int pthread_attr_getstacksize(const pthread_attr_t* __attr, size_t* __size);
|
||||
int pthread_attr_init(pthread_attr_t* __attr);
|
||||
int pthread_attr_setdetachstate(pthread_attr_t* __attr, int __state);
|
||||
int pthread_attr_setguardsize(pthread_attr_t* __attr, size_t __size);
|
||||
int pthread_attr_setschedparam(pthread_attr_t* __attr, const struct sched_param* __param);
|
||||
int pthread_attr_setschedpolicy(pthread_attr_t* __attr, int __policy);
|
||||
int pthread_attr_setscope(pthread_attr_t* __attr, int __scope);
|
||||
int pthread_attr_setstack(pthread_attr_t* __attr, void* __addr, size_t __size);
|
||||
int pthread_attr_setstacksize(pthread_attr_t* __addr, size_t __size);
|
||||
int pthread_attr_destroy(pthread_attr_t*);
|
||||
int pthread_attr_getdetachstate(const pthread_attr_t*, int*);
|
||||
int pthread_attr_getguardsize(const pthread_attr_t*, size_t*);
|
||||
int pthread_attr_getschedparam(const pthread_attr_t*, struct sched_param*);
|
||||
int pthread_attr_getschedpolicy(const pthread_attr_t*, int*);
|
||||
int pthread_attr_getscope(const pthread_attr_t*, int*);
|
||||
int pthread_attr_getstack(const pthread_attr_t*, void**, size_t*);
|
||||
int pthread_attr_getstacksize(const pthread_attr_t*, size_t*);
|
||||
int pthread_attr_init(pthread_attr_t*);
|
||||
int pthread_attr_setdetachstate(pthread_attr_t*, int);
|
||||
int pthread_attr_setguardsize(pthread_attr_t*, size_t);
|
||||
int pthread_attr_setschedparam(pthread_attr_t*, const struct sched_param*);
|
||||
int pthread_attr_setschedpolicy(pthread_attr_t*, int);
|
||||
int pthread_attr_setscope(pthread_attr_t*, int);
|
||||
int pthread_attr_setstack(pthread_attr_t*, void*, size_t);
|
||||
int pthread_attr_setstacksize(pthread_attr_t*, size_t);
|
||||
|
||||
int pthread_condattr_destroy(pthread_condattr_t* __attr);
|
||||
int pthread_condattr_getclock(const pthread_condattr_t* __attr, clockid_t* __clock) __INTRODUCED_IN(21);
|
||||
int pthread_condattr_getpshared(const pthread_condattr_t* __attr, int* __shared);
|
||||
int pthread_condattr_init(pthread_condattr_t* __attr);
|
||||
int pthread_condattr_setclock(pthread_condattr_t* __attr, clockid_t __clock) __INTRODUCED_IN(21);
|
||||
int pthread_condattr_setpshared(pthread_condattr_t* __attr, int __shared);
|
||||
int pthread_condattr_destroy(pthread_condattr_t*);
|
||||
int pthread_condattr_getclock(const pthread_condattr_t*, clockid_t*) __INTRODUCED_IN(21);
|
||||
int pthread_condattr_getpshared(const pthread_condattr_t*, int*);
|
||||
int pthread_condattr_init(pthread_condattr_t*);
|
||||
int pthread_condattr_setclock(pthread_condattr_t*, clockid_t) __INTRODUCED_IN(21);
|
||||
int pthread_condattr_setpshared(pthread_condattr_t*, int);
|
||||
|
||||
int pthread_cond_broadcast(pthread_cond_t* __cond);
|
||||
int pthread_cond_destroy(pthread_cond_t* __cond);
|
||||
int pthread_cond_init(pthread_cond_t* __cond, const pthread_condattr_t* __attr);
|
||||
int pthread_cond_signal(pthread_cond_t* __cond);
|
||||
int pthread_cond_timedwait(pthread_cond_t* __cond, pthread_mutex_t* __mutex, const struct timespec* __timeout);
|
||||
int pthread_cond_wait(pthread_cond_t* __cond, pthread_mutex_t* __mutex);
|
||||
int pthread_cond_broadcast(pthread_cond_t*);
|
||||
int pthread_cond_destroy(pthread_cond_t*);
|
||||
int pthread_cond_init(pthread_cond_t*, const pthread_condattr_t*);
|
||||
int pthread_cond_signal(pthread_cond_t*);
|
||||
int pthread_cond_timedwait(pthread_cond_t*, pthread_mutex_t*, const struct timespec*);
|
||||
int pthread_cond_wait(pthread_cond_t*, pthread_mutex_t*);
|
||||
|
||||
int pthread_create(pthread_t* __pthread_ptr, pthread_attr_t const* __attr, void* (*__start_routine)(void*), void*);
|
||||
int pthread_detach(pthread_t __pthread);
|
||||
void pthread_exit(void* __return_value) __noreturn;
|
||||
int pthread_create(pthread_t*, pthread_attr_t const*, void* (*start_routine)(void*), void*);
|
||||
int pthread_detach(pthread_t);
|
||||
void pthread_exit(void*) __noreturn;
|
||||
|
||||
int pthread_equal(pthread_t __lhs, pthread_t __rhs);
|
||||
int pthread_equal(pthread_t, pthread_t);
|
||||
|
||||
int pthread_getattr_np(pthread_t __pthread, pthread_attr_t* __attr);
|
||||
int pthread_getattr_np(pthread_t, pthread_attr_t*);
|
||||
|
||||
int pthread_getcpuclockid(pthread_t __pthread, clockid_t* __clock);
|
||||
int pthread_getcpuclockid(pthread_t, clockid_t*);
|
||||
|
||||
int pthread_getschedparam(pthread_t __pthread, int* __policy, struct sched_param* __param);
|
||||
int pthread_getschedparam(pthread_t, int*, struct sched_param*);
|
||||
|
||||
void* pthread_getspecific(pthread_key_t __key);
|
||||
void* pthread_getspecific(pthread_key_t);
|
||||
|
||||
pid_t pthread_gettid_np(pthread_t __pthread) __INTRODUCED_IN(21);
|
||||
pid_t pthread_gettid_np(pthread_t) __INTRODUCED_IN(21);
|
||||
|
||||
int pthread_join(pthread_t __pthread, void** __return_value_ptr);
|
||||
int pthread_join(pthread_t, void**);
|
||||
|
||||
int pthread_key_create(pthread_key_t* __key_ptr, void (*__key_destructor)(void*));
|
||||
int pthread_key_delete(pthread_key_t __key);
|
||||
int pthread_key_create(pthread_key_t*, void (*)(void*));
|
||||
int pthread_key_delete(pthread_key_t);
|
||||
|
||||
int pthread_mutexattr_destroy(pthread_mutexattr_t* __attr);
|
||||
int pthread_mutexattr_getpshared(const pthread_mutexattr_t* __attr, int* __shared);
|
||||
int pthread_mutexattr_gettype(const pthread_mutexattr_t* __attr, int* __type);
|
||||
int pthread_mutexattr_init(pthread_mutexattr_t* __attr);
|
||||
int pthread_mutexattr_setpshared(pthread_mutexattr_t* __attr, int __shared);
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t* __attr, int __type);
|
||||
int pthread_mutexattr_destroy(pthread_mutexattr_t*);
|
||||
int pthread_mutexattr_getpshared(const pthread_mutexattr_t*, int*);
|
||||
int pthread_mutexattr_gettype(const pthread_mutexattr_t*, int*);
|
||||
int pthread_mutexattr_init(pthread_mutexattr_t*);
|
||||
int pthread_mutexattr_setpshared(pthread_mutexattr_t*, int);
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t*, int);
|
||||
|
||||
int pthread_mutex_destroy(pthread_mutex_t* __mutex);
|
||||
int pthread_mutex_init(pthread_mutex_t* __mutex, const pthread_mutexattr_t* __attr);
|
||||
int pthread_mutex_lock(pthread_mutex_t* __mutex);
|
||||
int pthread_mutex_timedlock(pthread_mutex_t* __mutex, const struct timespec* __timeout)
|
||||
int pthread_mutex_destroy(pthread_mutex_t*);
|
||||
int pthread_mutex_init(pthread_mutex_t*, const pthread_mutexattr_t*);
|
||||
int pthread_mutex_lock(pthread_mutex_t*);
|
||||
int pthread_mutex_timedlock(pthread_mutex_t*, const struct timespec* )
|
||||
__INTRODUCED_IN(21);
|
||||
int pthread_mutex_trylock(pthread_mutex_t* __mutex);
|
||||
int pthread_mutex_unlock(pthread_mutex_t* __mutex);
|
||||
int pthread_mutex_trylock(pthread_mutex_t*);
|
||||
int pthread_mutex_unlock(pthread_mutex_t*);
|
||||
|
||||
#if __ANDROID_API__ < 21
|
||||
/*
|
||||
|
@ -164,64 +164,68 @@ int pthread_mutex_unlock(pthread_mutex_t* __mutex);
|
|||
* * https://github.com/android-ndk/ndk/issues/423
|
||||
* * https://stackoverflow.com/q/44580542/632035
|
||||
*/
|
||||
int pthread_mutex_lock_timeout_np(pthread_mutex_t* __mutex, unsigned __timeout_ms);
|
||||
int pthread_cond_timeout_np(pthread_cond_t* __cond, pthread_mutex_t* __mutex, unsigned __timeout_ms);
|
||||
int pthread_cond_timedwait_monotonic_np(pthread_cond_t* __cond, pthread_mutex_t* __mutex, const struct timespec* __timeout);
|
||||
int pthread_cond_timedwait_relative_np(pthread_cond_t* __cond, pthread_mutex_t* __mutex, const struct timespec* __relative_timeout);
|
||||
int pthread_mutex_lock_timeout_np(pthread_mutex_t* mutex, unsigned msecs);
|
||||
int pthread_cond_timeout_np(pthread_cond_t* cond, pthread_mutex_t* mutex, unsigned msecs);
|
||||
int pthread_cond_timedwait_monotonic_np(pthread_cond_t*, pthread_mutex_t*, const struct timespec*);
|
||||
int pthread_cond_timedwait_relative_np(pthread_cond_t* cond, pthread_mutex_t* mutex,
|
||||
const struct timespec* reltime);
|
||||
#endif
|
||||
|
||||
int pthread_once(pthread_once_t* __once, void (*__init_routine)(void));
|
||||
int pthread_once(pthread_once_t*, void (*init_routine)(void));
|
||||
|
||||
int pthread_rwlockattr_init(pthread_rwlockattr_t* __attr);
|
||||
int pthread_rwlockattr_destroy(pthread_rwlockattr_t* __attr);
|
||||
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t* __attr, int* __shared);
|
||||
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t* __attr, int __shared);
|
||||
int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t* __attr, int* __kind)
|
||||
int pthread_rwlockattr_init(pthread_rwlockattr_t*);
|
||||
int pthread_rwlockattr_destroy(pthread_rwlockattr_t*);
|
||||
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t*, int*);
|
||||
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t*, int);
|
||||
int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t*, int*)
|
||||
__INTRODUCED_IN(23);
|
||||
int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t* __attr, int __kind) __INTRODUCED_IN(23);
|
||||
int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t*, int) __INTRODUCED_IN(23);
|
||||
|
||||
int pthread_rwlock_destroy(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_init(pthread_rwlock_t* __rwlock, const pthread_rwlockattr_t* __attr);
|
||||
int pthread_rwlock_rdlock(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_timedrdlock(pthread_rwlock_t* __rwlock, const struct timespec* __timeout);
|
||||
int pthread_rwlock_timedwrlock(pthread_rwlock_t* __rwlock, const struct timespec* __timeout);
|
||||
int pthread_rwlock_tryrdlock(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_trywrlock(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_unlock(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_wrlock(pthread_rwlock_t* __rwlock);
|
||||
int pthread_rwlock_destroy(pthread_rwlock_t*);
|
||||
int pthread_rwlock_init(pthread_rwlock_t*, const pthread_rwlockattr_t*);
|
||||
int pthread_rwlock_rdlock(pthread_rwlock_t*);
|
||||
int pthread_rwlock_timedrdlock(pthread_rwlock_t*, const struct timespec*);
|
||||
int pthread_rwlock_timedwrlock(pthread_rwlock_t*, const struct timespec*);
|
||||
int pthread_rwlock_tryrdlock(pthread_rwlock_t*);
|
||||
int pthread_rwlock_trywrlock(pthread_rwlock_t*);
|
||||
int pthread_rwlock_unlock(pthread_rwlock_t*);
|
||||
int pthread_rwlock_wrlock(pthread_rwlock_t*);
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_N__
|
||||
int pthread_barrierattr_init(pthread_barrierattr_t* __attr) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_destroy(pthread_barrierattr_t* __attr) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_getpshared(const pthread_barrierattr_t* __attr, int* __shared) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_setpshared(pthread_barrierattr_t* __attr, int __shared) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_init(pthread_barrierattr_t* attr) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_destroy(pthread_barrierattr_t* attr) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_getpshared(const pthread_barrierattr_t* attr,
|
||||
int* pshared) __INTRODUCED_IN(24);
|
||||
int pthread_barrierattr_setpshared(pthread_barrierattr_t* attr, int pshared)
|
||||
__INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_N__
|
||||
int pthread_barrier_init(pthread_barrier_t* __barrier, const pthread_barrierattr_t* __attr, unsigned __count) __INTRODUCED_IN(24);
|
||||
int pthread_barrier_destroy(pthread_barrier_t* __barrier) __INTRODUCED_IN(24);
|
||||
int pthread_barrier_wait(pthread_barrier_t* __barrier) __INTRODUCED_IN(24);
|
||||
int pthread_barrier_init(pthread_barrier_t*, const pthread_barrierattr_t*, unsigned)
|
||||
__INTRODUCED_IN(24);
|
||||
int pthread_barrier_destroy(pthread_barrier_t*) __INTRODUCED_IN(24);
|
||||
int pthread_barrier_wait(pthread_barrier_t*) __INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_N__
|
||||
int pthread_spin_destroy(pthread_spinlock_t* __spinlock) __INTRODUCED_IN(24);
|
||||
int pthread_spin_init(pthread_spinlock_t* __spinlock, int __shared) __INTRODUCED_IN(24);
|
||||
int pthread_spin_lock(pthread_spinlock_t* __spinlock) __INTRODUCED_IN(24);
|
||||
int pthread_spin_trylock(pthread_spinlock_t* __spinlock) __INTRODUCED_IN(24);
|
||||
int pthread_spin_unlock(pthread_spinlock_t* __spinlock) __INTRODUCED_IN(24);
|
||||
int pthread_spin_destroy(pthread_spinlock_t*) __INTRODUCED_IN(24);
|
||||
int pthread_spin_init(pthread_spinlock_t*, int) __INTRODUCED_IN(24);
|
||||
int pthread_spin_lock(pthread_spinlock_t*) __INTRODUCED_IN(24);
|
||||
int pthread_spin_trylock(pthread_spinlock_t*) __INTRODUCED_IN(24);
|
||||
int pthread_spin_unlock(pthread_spinlock_t*) __INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
pthread_t pthread_self(void) __attribute_const__;
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
int pthread_getname_np(pthread_t __pthread, char* __buf, size_t __n) __INTRODUCED_IN(26);
|
||||
int pthread_getname_np(pthread_t, char*, size_t) __INTRODUCED_IN(26);
|
||||
#endif
|
||||
/* TODO: this should be __USE_GNU too. */
|
||||
int pthread_setname_np(pthread_t __pthread, const char* __name);
|
||||
int pthread_setname_np(pthread_t, const char*);
|
||||
|
||||
int pthread_setschedparam(pthread_t __pthread, int __policy, const struct sched_param* __param);
|
||||
int pthread_setschedparam(pthread_t, int, const struct sched_param*);
|
||||
|
||||
int pthread_setspecific(pthread_key_t __key, const void* __value);
|
||||
int pthread_setspecific(pthread_key_t, const void*);
|
||||
|
||||
typedef void (*__pthread_cleanup_func_t)(void*);
|
||||
|
||||
|
@ -251,4 +255,4 @@ void __pthread_cleanup_pop(__pthread_cleanup_t*, int);
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _PTHREAD_H_ */
|
||||
|
|
|
@ -36,9 +36,9 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int openpty(int* __master_fd, int* __slave_fd, char* __slave_name, const struct termios* __termios_ptr, const struct winsize* __winsize_ptr) __INTRODUCED_IN(23);
|
||||
int forkpty(int* __master_fd, char* __slave_name, const struct termios* __termios_ptr, const struct winsize* __winsize_ptr) __INTRODUCED_IN(23);
|
||||
int openpty(int*, int*, char*, const struct termios*, const struct winsize*) __INTRODUCED_IN(23);
|
||||
int forkpty(int*, char*, const struct termios*, const struct winsize*) __INTRODUCED_IN(23);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _PTY_H */
|
||||
|
|
|
@ -80,8 +80,8 @@ struct passwd {
|
|||
char* pw_shell;
|
||||
};
|
||||
|
||||
struct passwd* getpwnam(const char* __name);
|
||||
struct passwd* getpwuid(uid_t __uid);
|
||||
struct passwd* getpwnam(const char*);
|
||||
struct passwd* getpwuid(uid_t);
|
||||
|
||||
/* Note: Android has thousands and thousands of ids to iterate through */
|
||||
struct passwd* getpwent(void) __INTRODUCED_IN(26);
|
||||
|
@ -89,8 +89,8 @@ struct passwd* getpwent(void) __INTRODUCED_IN(26);
|
|||
void setpwent(void) __INTRODUCED_IN(26);
|
||||
void endpwent(void) __INTRODUCED_IN(26);
|
||||
|
||||
int getpwnam_r(const char* __name, struct passwd* __pwd, char* __buf, size_t __n, struct passwd** __result) __INTRODUCED_IN(12);
|
||||
int getpwuid_r(uid_t __uid, struct passwd* __pwd, char* __buf, size_t __n, struct passwd** __result) __INTRODUCED_IN(12);
|
||||
int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
|
||||
int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -97,10 +97,10 @@ typedef struct {
|
|||
#define REG_BACKR 02000 /* force use of backref code */
|
||||
|
||||
__BEGIN_DECLS
|
||||
int regcomp(regex_t* __re, const char* __regex, int __flags);
|
||||
size_t regerror(int __error_code, const regex_t* __re, char* __buf, size_t __n);
|
||||
int regexec(const regex_t* __re, const char* __s, size_t __match_count, regmatch_t __matches[], int __flags);
|
||||
void regfree(regex_t* __re);
|
||||
int regcomp(regex_t *, const char *, int);
|
||||
size_t regerror(int, const regex_t *, char *, size_t);
|
||||
int regexec(const regex_t *, const char *, size_t, regmatch_t [], int);
|
||||
void regfree(regex_t *);
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_REGEX_H_ */
|
||||
|
|
|
@ -29,20 +29,21 @@ typedef struct node {
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
void insque(void* __element, void* __previous) __INTRODUCED_IN(21);
|
||||
void remque(void* __element) __INTRODUCED_IN(21);
|
||||
void insque(void*, void*) __INTRODUCED_IN(21);
|
||||
void remque(void*) __INTRODUCED_IN(21);
|
||||
|
||||
void* lfind(const void* __key, const void* __base, size_t* __count, size_t __size, int (*__comparator)(const void*, const void*))
|
||||
void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*))
|
||||
__INTRODUCED_IN(21);
|
||||
void* lsearch(const void* __key, void* __base, size_t* __count, size_t __size, int (*__comparator)(const void*, const void*))
|
||||
void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*))
|
||||
__INTRODUCED_IN(21);
|
||||
|
||||
void* tdelete(const void* __key, void** __root_ptr, int (*__comparator)(const void*, const void*)) __INTRODUCED_IN(16);
|
||||
void tdestroy(void* __root, void (*__free_fn)(void*)) __INTRODUCED_IN(16);
|
||||
void* tfind(const void* __key, void* const* __root_ptr, int (*__comparator)(const void*, const void*)) __INTRODUCED_IN(16);
|
||||
void* tsearch(const void* __key, void** __root_ptr, int (*__comparator)(const void*, const void*)) __INTRODUCED_IN(16);
|
||||
void twalk(const void* __root, void (*__visitor)(const void*, VISIT, int)) __INTRODUCED_IN(21);
|
||||
void* tdelete(const void*, void**, int (*)(const void*, const void*))
|
||||
__INTRODUCED_IN(16);
|
||||
void tdestroy(void*, void (*)(void*)) __INTRODUCED_IN(16);
|
||||
void* tfind(const void*, void* const*, int (*)(const void*, const void*)) __INTRODUCED_IN(16);
|
||||
void* tsearch(const void*, void**, int (*)(const void*, const void*)) __INTRODUCED_IN(16);
|
||||
void twalk(const void*, void (*)(const void*, VISIT, int)) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_SEARCH_H_ */
|
||||
|
|
|
@ -44,19 +44,19 @@ typedef struct {
|
|||
|
||||
#define SEM_FAILED __BIONIC_CAST(reinterpret_cast, sem_t*, 0)
|
||||
|
||||
int sem_destroy(sem_t* __sem);
|
||||
int sem_getvalue(sem_t* __sem, int* __value);
|
||||
int sem_init(sem_t* __sem, int __shared, unsigned int __value);
|
||||
int sem_post(sem_t* __sem);
|
||||
int sem_timedwait(sem_t* __sem, const struct timespec* __ts);
|
||||
int sem_trywait(sem_t* __sem);
|
||||
int sem_wait(sem_t* __sem);
|
||||
int sem_destroy(sem_t*);
|
||||
int sem_getvalue(sem_t*, int*);
|
||||
int sem_init(sem_t*, int, unsigned int);
|
||||
int sem_post(sem_t*);
|
||||
int sem_timedwait(sem_t*, const struct timespec*);
|
||||
int sem_trywait(sem_t*);
|
||||
int sem_wait(sem_t*);
|
||||
|
||||
/* These aren't actually implemented. */
|
||||
sem_t* sem_open(const char* __name, int _flags, ...);
|
||||
int sem_close(sem_t* __sem);
|
||||
int sem_unlink(const char* __name);
|
||||
sem_t* sem_open(const char*, int, ...);
|
||||
int sem_close(sem_t*);
|
||||
int sem_unlink(const char*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SEMAPHORE_H */
|
||||
|
|
|
@ -48,17 +48,17 @@ typedef long jmp_buf[_JBLEN];
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int _setjmp(jmp_buf __env);
|
||||
void _longjmp(jmp_buf __env, int __value);
|
||||
int _setjmp(jmp_buf);
|
||||
void _longjmp(jmp_buf, int);
|
||||
|
||||
int setjmp(jmp_buf __env);
|
||||
void longjmp(jmp_buf __env, int __value);
|
||||
int setjmp(jmp_buf);
|
||||
void longjmp(jmp_buf, int);
|
||||
|
||||
int sigsetjmp(sigjmp_buf __env, int __save_signal_mask)
|
||||
__INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12) __INTRODUCED_IN_X86(12);
|
||||
void siglongjmp(sigjmp_buf __env, int __value)
|
||||
__INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12) __INTRODUCED_IN_X86(12);
|
||||
int sigsetjmp(sigjmp_buf, int) __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12)
|
||||
__INTRODUCED_IN_X86(12);
|
||||
void siglongjmp(sigjmp_buf, int) __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_MIPS(12)
|
||||
__INTRODUCED_IN_X86(12);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* !_SETJMP_H_ */
|
||||
|
|
|
@ -103,42 +103,48 @@ extern FILE __sF[] __REMOVED_IN(23);
|
|||
#define L_tmpnam 4096
|
||||
#define TMP_MAX 308915776
|
||||
|
||||
void clearerr(FILE* __fp);
|
||||
int fclose(FILE* __fp);
|
||||
int feof(FILE* __fp);
|
||||
int ferror(FILE* __fp);
|
||||
int fflush(FILE* __fp);
|
||||
int fgetc(FILE* __fp);
|
||||
char* fgets(char* __buf, int __size, FILE* __fp) __overloadable __RENAME_CLANG(fgets);
|
||||
int fprintf(FILE* __fp , const char* __fmt, ...) __printflike(2, 3);
|
||||
int fputc(int __ch, FILE* __fp);
|
||||
int fputs(const char* __s, FILE* __fp);
|
||||
size_t fread(void* __buf, size_t __size, size_t __count, FILE* __fp) __overloadable __RENAME_CLANG(fread);
|
||||
int fscanf(FILE* __fp, const char* __fmt, ...) __scanflike(2, 3);
|
||||
size_t fwrite(const void* __buf, size_t __size, size_t __count, FILE* __fp) __overloadable __RENAME_CLANG(fwrite);
|
||||
int getc(FILE* __fp);
|
||||
int getchar(void);
|
||||
ssize_t getdelim(char** __line_ptr, size_t* __line_length_ptr, int __delimiter, FILE* __fp) __INTRODUCED_IN(18);
|
||||
ssize_t getline(char** __line_ptr, size_t* __line_length_ptr, FILE* __fp) __INTRODUCED_IN(18);
|
||||
/*
|
||||
* Functions defined in ANSI C standard.
|
||||
*/
|
||||
void clearerr(FILE *);
|
||||
int fclose(FILE *);
|
||||
int feof(FILE *);
|
||||
int ferror(FILE *);
|
||||
int fflush(FILE *);
|
||||
int fgetc(FILE *);
|
||||
char *fgets(char *, int, FILE *) __overloadable
|
||||
__RENAME_CLANG(fgets);
|
||||
int fprintf(FILE * , const char *, ...) __printflike(2, 3);
|
||||
int fputc(int, FILE *);
|
||||
int fputs(const char *, FILE *);
|
||||
size_t fread(void *, size_t, size_t, FILE *)
|
||||
__overloadable __RENAME_CLANG(fread);
|
||||
int fscanf(FILE *, const char *, ...) __scanflike(2, 3);
|
||||
size_t fwrite(const void *, size_t, size_t, FILE *)
|
||||
__overloadable __RENAME_CLANG(fwrite);
|
||||
int getc(FILE *);
|
||||
int getchar(void);
|
||||
ssize_t getdelim(char**, size_t*, int, FILE*) __INTRODUCED_IN(18);
|
||||
ssize_t getline(char**, size_t*, FILE*) __INTRODUCED_IN(18);
|
||||
|
||||
void perror(const char* __msg);
|
||||
int printf(const char* __fmt, ...) __printflike(1, 2);
|
||||
int putc(int __ch, FILE* __fp);
|
||||
int putchar(int __ch);
|
||||
int puts(const char* __s);
|
||||
int remove(const char* __path);
|
||||
void rewind(FILE* __fp);
|
||||
int scanf(const char* __fmt, ...) __scanflike(1, 2);
|
||||
void setbuf(FILE* __fp, char* __buf);
|
||||
int setvbuf(FILE* __fp, char* __buf, int __mode, size_t __size);
|
||||
int sscanf(const char* __s, const char* __fmt, ...) __scanflike(2, 3);
|
||||
int ungetc(int __ch, FILE* __fp);
|
||||
int vfprintf(FILE* __fp, const char* __fmt, va_list __args) __printflike(2, 0);
|
||||
int vprintf(const char* __fp, va_list __args) __printflike(1, 0);
|
||||
void perror(const char *);
|
||||
int printf(const char *, ...) __printflike(1, 2);
|
||||
int putc(int, FILE *);
|
||||
int putchar(int);
|
||||
int puts(const char *);
|
||||
int remove(const char *);
|
||||
void rewind(FILE *);
|
||||
int scanf(const char *, ...) __scanflike(1, 2);
|
||||
void setbuf(FILE *, char *);
|
||||
int setvbuf(FILE *, char *, int, size_t);
|
||||
int sscanf(const char *, const char *, ...) __scanflike(2, 3);
|
||||
int ungetc(int, FILE *);
|
||||
int vfprintf(FILE *, const char *, va_list) __printflike(2, 0);
|
||||
int vprintf(const char *, va_list) __printflike(1, 0);
|
||||
|
||||
#if __ANDROID_API__ >= 21
|
||||
int dprintf(int __fd, const char* __fmt, ...) __printflike(2, 3) __INTRODUCED_IN(21);
|
||||
int vdprintf(int __fd, const char* __fmt, va_list __args) __printflike(2, 0) __INTRODUCED_IN(21);
|
||||
int dprintf(int, const char*, ...) __printflike(2, 3) __INTRODUCED_IN(21);
|
||||
int vdprintf(int, const char*, va_list) __printflike(2, 0) __INTRODUCED_IN(21);
|
||||
#else
|
||||
/*
|
||||
* Old versions of Android called these fdprintf and vfdprintf out of fears that the glibc names
|
||||
|
@ -147,113 +153,111 @@ int vdprintf(int __fd, const char* __fmt, va_list __args) __printflike(2, 0) __I
|
|||
* Allow users to just use dprintf and vfdprintf on any version by renaming those calls to their
|
||||
* legacy equivalents if needed.
|
||||
*/
|
||||
int dprintf(int __fd, const char* __fmt, ...) __RENAME(fdprintf) __printflike(2, 3);
|
||||
int vdprintf(int __fd, const char* __fmt, va_list __args) __RENAME(vfdprintf) __printflike(2, 0);
|
||||
int dprintf(int, const char*, ...) __RENAME(fdprintf) __printflike(2, 3);
|
||||
int vdprintf(int, const char*, va_list) __RENAME(vfdprintf) __printflike(2, 0);
|
||||
#endif
|
||||
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 201112L) || \
|
||||
(defined(__cplusplus) && __cplusplus <= 201103L)
|
||||
char* gets(char* __buf) __attribute__((deprecated("gets is unsafe, use fgets instead")));
|
||||
char* gets(char*) __attribute__((deprecated("gets is unsafe, use fgets instead")));
|
||||
#endif
|
||||
int sprintf(char* __s, const char* __fmt, ...)
|
||||
int sprintf(char*, const char*, ...)
|
||||
__printflike(2, 3) __warnattr_strict("sprintf is often misused; please use snprintf")
|
||||
__overloadable __RENAME_CLANG(sprintf);
|
||||
int vsprintf(char* __s, const char* __fmt, va_list __args)
|
||||
int vsprintf(char*, const char*, va_list)
|
||||
__overloadable __printflike(2, 0) __RENAME_CLANG(vsprintf)
|
||||
__warnattr_strict("vsprintf is often misused; please use vsnprintf");
|
||||
char* tmpnam(char* __s)
|
||||
char* tmpnam(char*)
|
||||
__warnattr("tempnam is unsafe, use mkstemp or tmpfile instead");
|
||||
#define P_tmpdir "/tmp/" /* deprecated */
|
||||
char* tempnam(const char* __dir, const char* __prefix)
|
||||
char* tempnam(const char*, const char*)
|
||||
__warnattr("tempnam is unsafe, use mkstemp or tmpfile instead");
|
||||
|
||||
int rename(const char* __old_path, const char* __new_path);
|
||||
int renameat(int __old_dir_fd, const char* __old_path, int __new_dir_fd, const char* __new_path);
|
||||
int rename(const char*, const char*);
|
||||
int renameat(int, const char*, int, const char*);
|
||||
|
||||
int fseek(FILE* __fp, long __offset, int __whence);
|
||||
long ftell(FILE* __fp);
|
||||
int fseek(FILE*, long, int);
|
||||
long ftell(FILE*);
|
||||
|
||||
#if defined(__USE_FILE_OFFSET64)
|
||||
int fgetpos(FILE* __fp, fpos_t* __pos) __RENAME(fgetpos64) __INTRODUCED_IN(24);
|
||||
int fsetpos(FILE* __fp, const fpos_t* __pos) __RENAME(fsetpos64) __INTRODUCED_IN(24);
|
||||
int fseeko(FILE* __fp, off_t __offset, int __whence) __RENAME(fseeko64) __INTRODUCED_IN(24);
|
||||
off_t ftello(FILE* __fp) __RENAME(ftello64) __INTRODUCED_IN(24);
|
||||
int fgetpos(FILE*, fpos_t*) __RENAME(fgetpos64) __INTRODUCED_IN(24);
|
||||
int fsetpos(FILE*, const fpos_t*) __RENAME(fsetpos64) __INTRODUCED_IN(24);
|
||||
int fseeko(FILE*, off_t, int) __RENAME(fseeko64) __INTRODUCED_IN(24);
|
||||
off_t ftello(FILE*) __RENAME(ftello64) __INTRODUCED_IN(24);
|
||||
# if defined(__USE_BSD)
|
||||
FILE* funopen(const void* __cookie,
|
||||
int (*__read_fn)(void*, char*, int),
|
||||
int (*__write_fn)(void*, const char*, int),
|
||||
fpos_t (*__seek_fn)(void*, fpos_t, int),
|
||||
int (*__close_fn)(void*)) __RENAME(funopen64) __INTRODUCED_IN(24);
|
||||
FILE* funopen(const void*,
|
||||
int (*)(void*, char*, int),
|
||||
int (*)(void*, const char*, int),
|
||||
fpos_t (*)(void*, fpos_t, int),
|
||||
int (*)(void*)) __RENAME(funopen64) __INTRODUCED_IN(24);
|
||||
# endif
|
||||
#else
|
||||
int fgetpos(FILE* __fp, fpos_t* __pos);
|
||||
int fsetpos(FILE* __fp, const fpos_t* __pos);
|
||||
int fseeko(FILE* __fp, off_t __offset, int __whence);
|
||||
off_t ftello(FILE* __fp);
|
||||
int fgetpos(FILE*, fpos_t*);
|
||||
int fsetpos(FILE*, const fpos_t*);
|
||||
int fseeko(FILE*, off_t, int);
|
||||
off_t ftello(FILE*);
|
||||
# if defined(__USE_BSD)
|
||||
FILE* funopen(const void* __cookie,
|
||||
int (*__read_fn)(void*, char*, int),
|
||||
int (*__write_fn)(void*, const char*, int),
|
||||
fpos_t (*__seek_fn)(void*, fpos_t, int),
|
||||
int (*__close_fn)(void*));
|
||||
FILE* funopen(const void*,
|
||||
int (*)(void*, char*, int),
|
||||
int (*)(void*, const char*, int),
|
||||
fpos_t (*)(void*, fpos_t, int),
|
||||
int (*)(void*));
|
||||
# endif
|
||||
#endif
|
||||
int fgetpos64(FILE* __fp, fpos64_t* __pos) __INTRODUCED_IN(24);
|
||||
int fsetpos64(FILE* __fp, const fpos64_t* __pos) __INTRODUCED_IN(24);
|
||||
int fseeko64(FILE* __fp, off64_t __offset, int __whence) __INTRODUCED_IN(24);
|
||||
off64_t ftello64(FILE* __fp) __INTRODUCED_IN(24);
|
||||
int fgetpos64(FILE*, fpos64_t*) __INTRODUCED_IN(24);
|
||||
int fsetpos64(FILE*, const fpos64_t*) __INTRODUCED_IN(24);
|
||||
int fseeko64(FILE*, off64_t, int) __INTRODUCED_IN(24);
|
||||
off64_t ftello64(FILE*) __INTRODUCED_IN(24);
|
||||
#if defined(__USE_BSD)
|
||||
FILE* funopen64(const void* __cookie,
|
||||
int (*__read_fn)(void*, char*, int),
|
||||
int (*__write_fn)(void*, const char*, int),
|
||||
fpos64_t (*__seek_fn)(void*, fpos64_t, int),
|
||||
int (*__close_fn)(void*)) __INTRODUCED_IN(24);
|
||||
FILE* funopen64(const void*, int (*)(void*, char*, int), int (*)(void*, const char*, int),
|
||||
fpos64_t (*)(void*, fpos64_t, int), int (*)(void*)) __INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
FILE* fopen(const char* __path, const char* __mode);
|
||||
FILE* fopen64(const char* __path, const char* __mode) __INTRODUCED_IN(24);
|
||||
FILE* freopen(const char* __path, const char* __mode, FILE* __fp);
|
||||
FILE* freopen64(const char* __path, const char* __mode, FILE* __fp) __INTRODUCED_IN(24);
|
||||
FILE* fopen(const char*, const char*);
|
||||
FILE* fopen64(const char*, const char*) __INTRODUCED_IN(24);
|
||||
FILE* freopen(const char*, const char*, FILE*);
|
||||
FILE* freopen64(const char*, const char*, FILE*)
|
||||
__INTRODUCED_IN(24);
|
||||
FILE* tmpfile(void);
|
||||
FILE* tmpfile64(void) __INTRODUCED_IN(24);
|
||||
|
||||
int snprintf(char* __buf, size_t __size, const char* __fmt, ...)
|
||||
int snprintf(char*, size_t, const char*, ...)
|
||||
__printflike(3, 4) __overloadable __RENAME_CLANG(snprintf);
|
||||
int vfscanf(FILE* __fp, const char* __fmt, va_list __args) __scanflike(2, 0);
|
||||
int vscanf(const char* __fmt , va_list __args) __scanflike(1, 0);
|
||||
int vsnprintf(char* __buf, size_t __size, const char* __fmt, va_list __args)
|
||||
int vfscanf(FILE*, const char*, va_list) __scanflike(2, 0);
|
||||
int vscanf(const char* , va_list) __scanflike(1, 0);
|
||||
int vsnprintf(char*, size_t, const char*, va_list)
|
||||
__printflike(3, 0) __overloadable __RENAME_CLANG(vsnprintf);
|
||||
int vsscanf(const char* __s, const char* __fmt, va_list __args) __scanflike(2, 0);
|
||||
int vsscanf(const char*, const char*, va_list) __scanflike(2, 0);
|
||||
|
||||
#define L_ctermid 1024 /* size for ctermid() */
|
||||
char* ctermid(char* __buf) __INTRODUCED_IN(26);
|
||||
char* ctermid(char*) __INTRODUCED_IN(26);
|
||||
|
||||
FILE* fdopen(int __fd, const char* __mode);
|
||||
int fileno(FILE* __fp);
|
||||
int pclose(FILE* __fp);
|
||||
FILE* popen(const char* __command, const char* __mode);
|
||||
void flockfile(FILE* __fp);
|
||||
int ftrylockfile(FILE* __fp);
|
||||
void funlockfile(FILE* __fp);
|
||||
int getc_unlocked(FILE* __fp);
|
||||
FILE* fdopen(int, const char*);
|
||||
int fileno(FILE*);
|
||||
int pclose(FILE*);
|
||||
FILE* popen(const char*, const char*);
|
||||
void flockfile(FILE*);
|
||||
int ftrylockfile(FILE*);
|
||||
void funlockfile(FILE*);
|
||||
int getc_unlocked(FILE*);
|
||||
int getchar_unlocked(void);
|
||||
int putc_unlocked(int __ch, FILE* __fp);
|
||||
int putchar_unlocked(int __ch);
|
||||
int putc_unlocked(int, FILE*);
|
||||
int putchar_unlocked(int);
|
||||
|
||||
FILE* fmemopen(void* __buf, size_t __size, const char* __mode) __INTRODUCED_IN(23);
|
||||
FILE* open_memstream(char** __ptr, size_t* __size_ptr) __INTRODUCED_IN(23);
|
||||
FILE* fmemopen(void*, size_t, const char*) __INTRODUCED_IN(23);
|
||||
FILE* open_memstream(char**, size_t*) __INTRODUCED_IN(23);
|
||||
|
||||
#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
|
||||
int asprintf(char** __s_ptr, const char* __fmt, ...) __printflike(2, 3);
|
||||
char* fgetln(FILE* __fp, size_t* __length_ptr);
|
||||
int fpurge(FILE* __fp);
|
||||
void setbuffer(FILE* __fp, char* __buf, int __size);
|
||||
int setlinebuf(FILE* __fp);
|
||||
int vasprintf(char** __s_ptr, const char* __fmt, va_list __args) __printflike(2, 0);
|
||||
void clearerr_unlocked(FILE* __fp) __INTRODUCED_IN(23);
|
||||
int feof_unlocked(FILE* __fp) __INTRODUCED_IN(23);
|
||||
int ferror_unlocked(FILE* __fp) __INTRODUCED_IN(23);
|
||||
int fileno_unlocked(FILE* __fp) __INTRODUCED_IN(24);
|
||||
int asprintf(char**, const char*, ...) __printflike(2, 3);
|
||||
char* fgetln(FILE*, size_t*);
|
||||
int fpurge(FILE*);
|
||||
void setbuffer(FILE*, char*, int);
|
||||
int setlinebuf(FILE*);
|
||||
int vasprintf(char**, const char*, va_list) __printflike(2, 0);
|
||||
void clearerr_unlocked(FILE*) __INTRODUCED_IN(23);
|
||||
int feof_unlocked(FILE*) __INTRODUCED_IN(23);
|
||||
int ferror_unlocked(FILE*) __INTRODUCED_IN(23);
|
||||
int fileno_unlocked(FILE*) __INTRODUCED_IN(24);
|
||||
#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0)
|
||||
#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
|
||||
#endif /* __USE_BSD */
|
||||
|
@ -264,4 +268,4 @@ int fileno_unlocked(FILE* __fp) __INTRODUCED_IN(24);
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _STDIO_H_ */
|
||||
|
|
|
@ -55,11 +55,11 @@ __BEGIN_DECLS
|
|||
#endif
|
||||
|
||||
#if !defined(__i386__) || __ANDROID_API__ >= __ANDROID_API_J_MR2__
|
||||
int ffs(int __i) __INTRODUCED_IN_X86(18);
|
||||
int ffs(int) __INTRODUCED_IN_X86(18);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#include <android/legacy_strings_inlines.h>
|
||||
|
||||
#endif
|
||||
#endif /* !defined(_STRINGS_H_) */
|
||||
|
|
|
@ -61,14 +61,14 @@ __BEGIN_DECLS
|
|||
** Map the property area from the specified filename. This
|
||||
** method is for testing only.
|
||||
*/
|
||||
int __system_property_set_filename(const char* __filename);
|
||||
int __system_property_set_filename(const char *filename);
|
||||
|
||||
/*
|
||||
** Initialize the area to be used to store properties. Can
|
||||
** only be done by a single process that has write access to
|
||||
** the property area.
|
||||
*/
|
||||
int __system_property_area_init(void);
|
||||
int __system_property_area_init();
|
||||
|
||||
/* Read the global serial number of the system properties
|
||||
**
|
||||
|
@ -92,7 +92,7 @@ int __system_property_area_init(void);
|
|||
**
|
||||
** Returns the serial number on success, -1 on error.
|
||||
*/
|
||||
uint32_t __system_property_area_serial(void);
|
||||
uint32_t __system_property_area_serial();
|
||||
|
||||
/* Add a new system property. Can only be done by a single
|
||||
** process that has write access to the property area, and
|
||||
|
@ -102,7 +102,7 @@ uint32_t __system_property_area_serial(void);
|
|||
**
|
||||
** Returns 0 on success, -1 if the property area is full.
|
||||
*/
|
||||
int __system_property_add(const char* __name, unsigned int __name_length, const char* __value, unsigned int __value_length);
|
||||
int __system_property_add(const char *name, unsigned int namelen, const char *value, unsigned int valuelen);
|
||||
|
||||
/* Update the value of a system property returned by
|
||||
** __system_property_find. Can only be done by a single process
|
||||
|
@ -112,14 +112,14 @@ int __system_property_add(const char* __name, unsigned int __name_length, const
|
|||
**
|
||||
** Returns 0 on success, -1 if the parameters are incorrect.
|
||||
*/
|
||||
int __system_property_update(prop_info* __pi, const char* __value, unsigned int __value_length);
|
||||
int __system_property_update(prop_info *pi, const char *value, unsigned int len);
|
||||
|
||||
/* Read the serial number of a system property returned by
|
||||
** __system_property_find.
|
||||
**
|
||||
** Returns the serial number on success, -1 on error.
|
||||
*/
|
||||
uint32_t __system_property_serial(const prop_info* __pi);
|
||||
uint32_t __system_property_serial(const prop_info* pi);
|
||||
|
||||
/* Initialize the system properties area in read only mode.
|
||||
* Should be done by all processes that need to read system
|
||||
|
@ -127,10 +127,10 @@ uint32_t __system_property_serial(const prop_info* __pi);
|
|||
*
|
||||
* Returns 0 on success, -1 otherwise.
|
||||
*/
|
||||
int __system_properties_init(void);
|
||||
int __system_properties_init();
|
||||
|
||||
/* Deprecated: use __system_property_wait instead. */
|
||||
uint32_t __system_property_wait_any(uint32_t __old_serial);
|
||||
uint32_t __system_property_wait_any(uint32_t old_serial);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
unsigned long int getauxval(unsigned long int __type) __INTRODUCED_IN(18);
|
||||
unsigned long int getauxval(unsigned long int type) __INTRODUCED_IN(18);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_AUXV_H_ */
|
||||
|
|
|
@ -34,4 +34,4 @@
|
|||
#include <asm/cachectl.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* sys/cachectl.h */
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int capget(cap_user_header_t __hdr_ptr, cap_user_data_t __data_ptr);
|
||||
int capset(cap_user_header_t __hdr_ptr, const cap_user_data_t __data_ptr);
|
||||
int capget(cap_user_header_t hdrp, cap_user_data_t datap);
|
||||
int capset(cap_user_header_t hdrp, const cap_user_data_t datap);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _BIONIC_SYS_CAPABILITY_H */
|
||||
|
|
|
@ -49,10 +49,10 @@
|
|||
|
||||
/* glibc compatibility. */
|
||||
__BEGIN_DECLS
|
||||
uint32_t htonl(uint32_t __x) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint16_t htons(uint16_t __x) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint32_t ntohl(uint32_t __x) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint16_t ntohs(uint16_t __x) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint32_t htonl(uint32_t) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint16_t htons(uint16_t) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint32_t ntohl(uint32_t) __attribute_const__ __INTRODUCED_IN(21);
|
||||
uint16_t ntohs(uint16_t) __attribute_const__ __INTRODUCED_IN(21);
|
||||
__END_DECLS
|
||||
|
||||
#define htonl(x) __swap32(x)
|
||||
|
@ -103,4 +103,4 @@ __END_DECLS
|
|||
#define le64toh(x) htole64(x)
|
||||
#endif /* __USE_BSD */
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_ENDIAN_H_ */
|
||||
|
|
|
@ -53,8 +53,8 @@ __packed
|
|||
#endif
|
||||
;
|
||||
|
||||
int epoll_create(int __size);
|
||||
int epoll_create1(int __flags) __INTRODUCED_IN(21);
|
||||
int epoll_create(int);
|
||||
int epoll_create1(int) __INTRODUCED_IN(21);
|
||||
|
||||
/*
|
||||
* Some third-party code uses the existence of EPOLL_CLOEXEC to detect the
|
||||
|
@ -71,10 +71,10 @@ int epoll_create1(int __flags) __INTRODUCED_IN(21);
|
|||
#undef EPOLL_CLOEXEC
|
||||
#endif
|
||||
|
||||
int epoll_ctl(int __epoll_fd, int __op, int __fd, struct epoll_event* __event);
|
||||
int epoll_wait(int __epoll_fd, struct epoll_event* __events, int __event_count, int __timeout_ms);
|
||||
int epoll_pwait(int __epoll_fd, struct epoll_event* __events, int __event_count, int __timeout_ms, const sigset_t* __mask) __INTRODUCED_IN(21);
|
||||
int epoll_ctl(int, int, int, struct epoll_event*);
|
||||
int epoll_wait(int, struct epoll_event*, int, int);
|
||||
int epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_EPOLL_H_ */
|
||||
|
|
|
@ -37,13 +37,14 @@ __BEGIN_DECLS
|
|||
#define EFD_CLOEXEC O_CLOEXEC
|
||||
#define EFD_NONBLOCK O_NONBLOCK
|
||||
|
||||
/* type of event counter */
|
||||
typedef uint64_t eventfd_t;
|
||||
|
||||
int eventfd(unsigned int __initial_value, int __flags);
|
||||
int eventfd(unsigned int initial_value, int flags);
|
||||
|
||||
int eventfd_read(int __fd, eventfd_t* __value);
|
||||
int eventfd_write(int __fd, eventfd_t __value);
|
||||
int eventfd_read(int fd, eventfd_t* value);
|
||||
int eventfd_write(int fd, eventfd_t value);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_EVENTFD_H */
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int flock(int __fd, int __op);
|
||||
int flock(int, int);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_FILE_H_ */
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int setfsuid(uid_t __uid) __INTRODUCED_IN(21);
|
||||
int setfsgid(gid_t __gid) __INTRODUCED_IN(21);
|
||||
int setfsuid(uid_t) __INTRODUCED_IN(21);
|
||||
int setfsgid(gid_t) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_FSUID_H_ */
|
||||
|
|
|
@ -54,10 +54,10 @@ __BEGIN_DECLS
|
|||
#endif
|
||||
|
||||
int inotify_init(void);
|
||||
int inotify_init1(int __flags) __INTRODUCED_IN(21);
|
||||
int inotify_add_watch(int __fd, const char* __path, uint32_t __mask);
|
||||
int inotify_rm_watch(int __fd, uint32_t __watch_descriptor);
|
||||
int inotify_init1(int) __INTRODUCED_IN(21);
|
||||
int inotify_add_watch(int, const char*, uint32_t);
|
||||
int inotify_rm_watch(int, uint32_t);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_INOTIFY_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_IOCTL_H_
|
||||
#define _SYS_IOCTL_H_
|
||||
|
||||
|
@ -42,4 +41,4 @@
|
|||
|
||||
#include <bits/ioctl.h>
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_IOCTL_H_ */
|
||||
|
|
|
@ -42,8 +42,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
key_t ftok(const char* __path, int __id);
|
||||
key_t ftok(const char* path, int id);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_IPC_H */
|
||||
|
|
|
@ -46,8 +46,8 @@ __BEGIN_DECLS
|
|||
#define KLOG_SIZE_UNREAD 9
|
||||
#define KLOG_SIZE_BUFFER 10
|
||||
|
||||
int klogctl(int __type, char* __buf, int __buf_size);
|
||||
int klogctl(int, char *, int);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_KLOG_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_MMAN_H_
|
||||
#define _SYS_MMAN_H_
|
||||
|
||||
|
@ -45,27 +44,27 @@ __BEGIN_DECLS
|
|||
#define MREMAP_FIXED 2
|
||||
|
||||
#if defined(__USE_FILE_OFFSET64)
|
||||
void* mmap(void* __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset) __RENAME(mmap64) __INTRODUCED_IN(21);
|
||||
void* mmap(void*, size_t, int, int, int, off_t) __RENAME(mmap64) __INTRODUCED_IN(21);
|
||||
#else
|
||||
void* mmap(void* __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset);
|
||||
void* mmap(void*, size_t, int, int, int, off_t);
|
||||
#endif
|
||||
|
||||
void* mmap64(void* __addr, size_t __size, int __prot, int __flags, int __fd, off64_t __offset) __INTRODUCED_IN(21);
|
||||
void* mmap64(void*, size_t, int, int, int, off64_t) __INTRODUCED_IN(21);
|
||||
|
||||
int munmap(void* __addr, size_t __size);
|
||||
int msync(void* __addr, size_t __size, int __flags);
|
||||
int mprotect(void* __addr, size_t __size, int __prot);
|
||||
void* mremap(void* __old_addr, size_t __old_size, size_t __new_size, int __flags, ...);
|
||||
int munmap(void*, size_t);
|
||||
int msync(void*, size_t, int);
|
||||
int mprotect(void*, size_t, int);
|
||||
void* mremap(void*, size_t, size_t, int, ...);
|
||||
|
||||
int mlockall(int __flags) __INTRODUCED_IN(17);
|
||||
int mlockall(int) __INTRODUCED_IN(17);
|
||||
int munlockall(void) __INTRODUCED_IN(17);
|
||||
|
||||
int mlock(const void* __addr, size_t __size);
|
||||
int munlock(const void* __addr, size_t __size);
|
||||
int mlock(const void*, size_t);
|
||||
int munlock(const void*, size_t);
|
||||
|
||||
int mincore(void* __addr, size_t __size, unsigned char* __vector);
|
||||
int mincore(void*, size_t, unsigned char*);
|
||||
|
||||
int madvise(void* __addr, size_t __size, int __advice);
|
||||
int madvise(void*, size_t, int);
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_M__
|
||||
/*
|
||||
|
@ -82,8 +81,8 @@ int madvise(void* __addr, size_t __size, int __advice);
|
|||
#define POSIX_MADV_WILLNEED MADV_WILLNEED
|
||||
#define POSIX_MADV_DONTNEED MADV_DONTNEED
|
||||
#endif
|
||||
int posix_madvise(void* __addr, size_t __size, int __advice) __INTRODUCED_IN(23);
|
||||
int posix_madvise(void*, size_t, int) __INTRODUCED_IN(23);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_MMAN_H_ */
|
||||
|
|
|
@ -41,10 +41,10 @@ __BEGIN_DECLS
|
|||
#define MNT_EXPIRE 4
|
||||
#define UMOUNT_NOFOLLOW 8
|
||||
|
||||
int mount(const char* __source, const char* __target, const char* __fs_type, unsigned long __flags, const void* __data);
|
||||
int umount(const char* __target);
|
||||
int umount2(const char* __target, int __flags);
|
||||
int mount(const char*, const char*, const char*, unsigned long, const void*);
|
||||
int umount(const char*);
|
||||
int umount2(const char*, int);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_MOUNT_H */
|
||||
|
|
|
@ -41,11 +41,11 @@ __BEGIN_DECLS
|
|||
typedef __kernel_ulong_t msgqnum_t;
|
||||
typedef __kernel_ulong_t msglen_t;
|
||||
|
||||
int msgctl(int __msg_id, int __cmd, struct msqid_ds* __buf) __INTRODUCED_IN(26);
|
||||
int msgget(key_t __key, int __flags) __INTRODUCED_IN(26);
|
||||
ssize_t msgrcv(int __msg_id, void* __msgbuf_ptr, size_t __size, long __type, int __flags) __INTRODUCED_IN(26);
|
||||
int msgsnd(int __msg_id, const void* __msgbuf_ptr, size_t __size, int __flags) __INTRODUCED_IN(26);
|
||||
int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN(26);
|
||||
int msgget(key_t, int) __INTRODUCED_IN(26);
|
||||
ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN(26);
|
||||
int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_MSG_H_ */
|
||||
|
|
|
@ -49,4 +49,4 @@
|
|||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_PARAM_H_ */
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int personality(unsigned int __persona) __INTRODUCED_IN(15);
|
||||
int personality(unsigned int persona) __INTRODUCED_IN(15);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_PERSONALITY_H_ */
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int prctl(int __option, ...);
|
||||
int prctl(int option, ...);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_PRCTL_H */
|
||||
|
|
|
@ -59,4 +59,4 @@ struct elf_siginfo {
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_PROCFS_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_PTRACE_H_
|
||||
#define _SYS_PTRACE_H_
|
||||
|
||||
|
@ -59,8 +58,8 @@ __BEGIN_DECLS
|
|||
#define PT_GETSIGINFO PTRACE_GETSIGINFO
|
||||
#define PT_SETSIGINFO PTRACE_SETSIGINFO
|
||||
|
||||
long ptrace(int __request, ...);
|
||||
long ptrace(int, ...);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_PTRACE_H_ */
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int quotactl(int __cmd, const char* __special, int __id, char* __addr) __INTRODUCED_IN(26);
|
||||
int quotactl(int, const char*, int, char*) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -42,8 +42,8 @@ __BEGIN_DECLS
|
|||
#define RB_DISABLE_CAD LINUX_REBOOT_CMD_CAD_OFF
|
||||
#define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF
|
||||
|
||||
int reboot(int __cmd);
|
||||
int reboot(int reboot_type);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_REBOOT_H_ */
|
||||
|
|
|
@ -83,4 +83,4 @@
|
|||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_REG_H_ */
|
||||
|
|
|
@ -42,20 +42,21 @@ __BEGIN_DECLS
|
|||
|
||||
typedef unsigned long rlim_t;
|
||||
|
||||
int getrlimit(int __resource, struct rlimit* __limit);
|
||||
int setrlimit(int __resource, const struct rlimit* __limit);
|
||||
int getrlimit(int, struct rlimit*);
|
||||
int setrlimit(int, const struct rlimit*);
|
||||
|
||||
int getrlimit64(int __resource, struct rlimit64* __limit) __INTRODUCED_IN(21);
|
||||
int setrlimit64(int __resource, const struct rlimit64* __limit) __INTRODUCED_IN(21);
|
||||
int getrlimit64(int, struct rlimit64*) __INTRODUCED_IN(21);
|
||||
int setrlimit64(int, const struct rlimit64*) __INTRODUCED_IN(21);
|
||||
|
||||
int getpriority(int __which, id_t __who);
|
||||
int setpriority(int __which, id_t __who, int __priority);
|
||||
int getpriority(int, id_t);
|
||||
int setpriority(int, id_t, int);
|
||||
|
||||
int getrusage(int __who, struct rusage* __usage);
|
||||
int getrusage(int, struct rusage*);
|
||||
|
||||
int prlimit(pid_t __pid, int __resource, const struct rlimit* __new_limit, struct rlimit* __old_limit) __INTRODUCED_IN_32(24) __INTRODUCED_IN_64(21);
|
||||
int prlimit64(pid_t __pid, int __resource, const struct rlimit64* __new_limit, struct rlimit64* __old_limit) __INTRODUCED_IN(21);
|
||||
int prlimit(pid_t, int, const struct rlimit*, struct rlimit*) __INTRODUCED_IN_32(24)
|
||||
__INTRODUCED_IN_64(21);
|
||||
int prlimit64(pid_t, int, const struct rlimit64*, struct rlimit64*) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_RESOURCE_H_ */
|
||||
|
|
|
@ -72,9 +72,9 @@ int __FD_ISSET_chk(int, fd_set*, size_t) __INTRODUCED_IN(21);
|
|||
#define FD_ISSET(fd, set) ((__FDS_BITS(set)[__FDELT(fd)] & __FDMASK(fd)) != 0)
|
||||
#endif /* defined(__BIONIC_FORTIFY) && __ANDROID_API >= 21 */
|
||||
|
||||
int select(int __fd_count, fd_set* __read_fds, fd_set* __write_fds, fd_set* __exception_fds, struct timeval* __timeout);
|
||||
int pselect(int __fd_count, fd_set* __read_fds, fd_set* __write_fds, fd_set* __exception_fds, const struct timespec* __timeout, const sigset_t* __mask);
|
||||
int select(int, fd_set*, fd_set*, fd_set*, struct timeval*);
|
||||
int pselect(int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SELECT_H_ */
|
||||
|
|
|
@ -51,12 +51,12 @@ union semun {
|
|||
void* __pad;
|
||||
};
|
||||
|
||||
int semctl(int __sem_id, int __sem_num, int __cmd, ...) __INTRODUCED_IN(26);
|
||||
int semget(key_t __key, int __sem_count, int __flags) __INTRODUCED_IN(26);
|
||||
int semop(int __sem_id, struct sembuf* __ops, size_t __op_count) __INTRODUCED_IN(26);
|
||||
int semctl(int, int, int, ...) __INTRODUCED_IN(26);
|
||||
int semget(key_t, int, int) __INTRODUCED_IN(26);
|
||||
int semop(int, struct sembuf*, size_t) __INTRODUCED_IN(26);
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
int semtimedop(int __sem_id, struct sembuf* __ops, size_t __op_count, const struct timespec* __timeout) __INTRODUCED_IN(26);
|
||||
int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN(26);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
|
|
@ -35,12 +35,12 @@
|
|||
__BEGIN_DECLS
|
||||
|
||||
#if defined(__USE_FILE_OFFSET64)
|
||||
ssize_t sendfile(int __out_fd, int __in_fd, off_t* __offset, size_t __count) __RENAME(sendfile64) __INTRODUCED_IN(21);
|
||||
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) __RENAME(sendfile64) __INTRODUCED_IN(21);
|
||||
#else
|
||||
ssize_t sendfile(int __out_fd, int __in_fd, off_t* __offset, size_t __count);
|
||||
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count);
|
||||
#endif
|
||||
ssize_t sendfile64(int __out_fd, int __in_fd, off64_t* __offset, size_t __count) __INTRODUCED_IN(21);
|
||||
ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SENDFILE_H_ */
|
||||
|
|
|
@ -42,10 +42,10 @@ __BEGIN_DECLS
|
|||
|
||||
typedef unsigned long shmatt_t;
|
||||
|
||||
void* shmat(int __shm_id, const void* __addr, int __flags) __INTRODUCED_IN(26);
|
||||
int shmctl(int __shm_id, int __cmd, struct shmid_ds* __buf) __INTRODUCED_IN(26);
|
||||
int shmdt(const void* __addr) __INTRODUCED_IN(26);
|
||||
int shmget(key_t __key, size_t __size, int __flags) __INTRODUCED_IN(26);
|
||||
void* shmat(int, const void*, int) __INTRODUCED_IN(26);
|
||||
int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN(26);
|
||||
int shmdt(const void*) __INTRODUCED_IN(26);
|
||||
int shmget(key_t, size_t, int) __INTRODUCED_IN(26);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int signalfd(int __fd, const sigset_t* __mask, int __flags) __INTRODUCED_IN(18);
|
||||
int signalfd(int fd, const sigset_t* mask, int flags) __INTRODUCED_IN(18);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SIGNALFD_H */
|
||||
|
|
|
@ -115,7 +115,7 @@ struct cmsghdr {
|
|||
#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char*)(cmsg) - (char*)(mhdr)->msg_control)))
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
struct cmsghdr* __cmsg_nxthdr(struct msghdr* __msg, struct cmsghdr* __cmsg) __INTRODUCED_IN(21);
|
||||
struct cmsghdr* __cmsg_nxthdr(struct msghdr*, struct cmsghdr*) __INTRODUCED_IN(21);
|
||||
#else
|
||||
/* TODO(danalbert): Move this into libandroid_support. */
|
||||
static inline struct cmsghdr* __cmsg_nxthdr(struct msghdr* msg, struct cmsghdr* cmsg) {
|
||||
|
@ -299,30 +299,31 @@ struct ucred {
|
|||
# define __socketcall extern
|
||||
#endif
|
||||
|
||||
__socketcall int accept(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
|
||||
__socketcall int accept4(int __fd, struct sockaddr* __addr, socklen_t* __addr_length, int __flags) __INTRODUCED_IN(21);
|
||||
__socketcall int bind(int __fd, const struct sockaddr* __addr, socklen_t __addr_length);
|
||||
__socketcall int connect(int __fd, const struct sockaddr* __addr, socklen_t __addr_length);
|
||||
__socketcall int getpeername(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
|
||||
__socketcall int getsockname(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
|
||||
__socketcall int getsockopt(int __fd, int __level, int __option, void* __value, socklen_t* __value_length);
|
||||
__socketcall int listen(int __fd, int __backlog);
|
||||
__socketcall int recvmmsg(int __fd, struct mmsghdr* __msgs, unsigned int __msg_count, int __flags, const struct timespec* __timeout)
|
||||
__socketcall int accept(int, struct sockaddr*, socklen_t*);
|
||||
__socketcall int accept4(int, struct sockaddr*, socklen_t*, int) __INTRODUCED_IN(21);
|
||||
__socketcall int bind(int, const struct sockaddr*, socklen_t);
|
||||
__socketcall int connect(int, const struct sockaddr*, socklen_t);
|
||||
__socketcall int getpeername(int, struct sockaddr*, socklen_t*);
|
||||
__socketcall int getsockname(int, struct sockaddr*, socklen_t*);
|
||||
__socketcall int getsockopt(int, int, int, void*, socklen_t*);
|
||||
__socketcall int listen(int, int);
|
||||
__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*)
|
||||
__INTRODUCED_IN(21);
|
||||
__socketcall ssize_t recvmsg(int __fd, struct msghdr* __msg, int __flags);
|
||||
__socketcall int sendmmsg(int __fd, const struct mmsghdr* __msgs, unsigned int __msg_count, int __flags) __INTRODUCED_IN(21);
|
||||
__socketcall ssize_t sendmsg(int __fd, const struct msghdr* __msg, int __flags);
|
||||
__socketcall int setsockopt(int __fd, int __level, int __option, const void* __value, socklen_t __value_length);
|
||||
__socketcall int shutdown(int __fd, int __how);
|
||||
__socketcall int socket(int __af, int __type, int __protocol);
|
||||
__socketcall int socketpair(int __af, int __type, int __protocol, int __fds[2]);
|
||||
__socketcall ssize_t recvmsg(int, struct msghdr*, int);
|
||||
__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int) __INTRODUCED_IN(21);
|
||||
__socketcall ssize_t sendmsg(int, const struct msghdr*, int);
|
||||
__socketcall int setsockopt(int, int, int, const void*, socklen_t);
|
||||
__socketcall int shutdown(int, int);
|
||||
__socketcall int socket(int, int, int);
|
||||
__socketcall int socketpair(int, int, int, int*);
|
||||
|
||||
ssize_t recv(int __fd, void* __buf, size_t __n, int __flags) __overloadable __RENAME_CLANG(recv);
|
||||
ssize_t send(int __fd, const void* __buf, size_t __n, int __flags) __overloadable __RENAME_CLANG(send);
|
||||
ssize_t recv(int, void*, size_t, int) __overloadable __RENAME_CLANG(recv);
|
||||
ssize_t send(int, const void*, size_t, int) __overloadable __RENAME_CLANG(send);
|
||||
|
||||
__socketcall ssize_t sendto(int __fd, const void* __buf, size_t __n, int __flags, const struct sockaddr* __dst_addr, socklen_t __dst_addr_length)
|
||||
__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t)
|
||||
__overloadable __RENAME_CLANG(sendto);
|
||||
__socketcall ssize_t recvfrom(int __fd, void* __buf, size_t __n, int __flags, struct sockaddr* __src_addr, socklen_t* __src_addr_length) __overloadable __RENAME_CLANG(recvfrom);
|
||||
__socketcall ssize_t recvfrom(int, void*, size_t, int, struct sockaddr*,
|
||||
socklen_t*) __overloadable __RENAME_CLANG(recvfrom);
|
||||
|
||||
#if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
|
||||
#include <bits/fortify/socket.h>
|
||||
|
@ -332,4 +333,4 @@ __socketcall ssize_t recvfrom(int __fd, void* __buf, size_t __n, int __flags, st
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SOCKET_H */
|
||||
|
|
|
@ -151,46 +151,46 @@ struct stat64 { __STAT64_BODY };
|
|||
#define S_TYPEISSHM(__sb) 0
|
||||
#define S_TYPEISTMO(__sb) 0
|
||||
|
||||
int chmod(const char* __path, mode_t __mode);
|
||||
int fchmod(int __fd, mode_t __mode);
|
||||
int mkdir(const char* __path, mode_t __mode);
|
||||
int chmod(const char*, mode_t);
|
||||
int fchmod(int, mode_t);
|
||||
int mkdir(const char*, mode_t);
|
||||
|
||||
int fstat(int __fd, struct stat* __buf);
|
||||
int fstat64(int __fd, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int fstatat(int __dir_fd, const char* __path, struct stat* __buf, int __flags);
|
||||
int fstatat64(int __dir_fd, const char* __path, struct stat64* __buf, int __flags) __INTRODUCED_IN(21);
|
||||
int lstat(const char* __path, struct stat* __buf);
|
||||
int lstat64(const char* __path, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int stat(const char* __path, struct stat* __buf);
|
||||
int stat64(const char* __path, struct stat64* __buf) __INTRODUCED_IN(21);
|
||||
int fstat(int, struct stat*);
|
||||
int fstat64(int, struct stat64*) __INTRODUCED_IN(21);
|
||||
int fstatat(int, const char*, struct stat*, int);
|
||||
int fstatat64(int, const char*, struct stat64*, int) __INTRODUCED_IN(21);
|
||||
int lstat(const char*, struct stat*);
|
||||
int lstat64(const char*, struct stat64*) __INTRODUCED_IN(21);
|
||||
int stat(const char*, struct stat*);
|
||||
int stat64(const char*, struct stat64*) __INTRODUCED_IN(21);
|
||||
|
||||
int mknod(const char* __path, mode_t __mode, dev_t __dev);
|
||||
mode_t umask(mode_t __mask) __overloadable __RENAME_CLANG(umask);
|
||||
int mknod(const char*, mode_t, dev_t);
|
||||
mode_t umask(mode_t) __overloadable __RENAME_CLANG(umask);
|
||||
|
||||
#if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
|
||||
#include <bits/fortify/stat.h>
|
||||
#endif
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
int mkfifo(const char* __path, mode_t __mode) __INTRODUCED_IN(21);
|
||||
int mkfifo(const char*, mode_t) __INTRODUCED_IN(21);
|
||||
#else
|
||||
// Implemented as a static inline before 21.
|
||||
#endif
|
||||
|
||||
int mkfifoat(int __dir_fd, const char* __path, mode_t __mode) __INTRODUCED_IN(23);
|
||||
int mkfifoat(int, const char*, mode_t) __INTRODUCED_IN(23);
|
||||
|
||||
int fchmodat(int __dir_fd, const char* __path, mode_t __mode, int __flags);
|
||||
int mkdirat(int __dir_fd, const char* __path, mode_t __mode);
|
||||
int mknodat(int __dir_fd, const char* __path, mode_t __mode, dev_t __dev) __INTRODUCED_IN(21);
|
||||
int fchmodat(int, const char*, mode_t, int);
|
||||
int mkdirat(int, const char*, mode_t);
|
||||
int mknodat(int, const char*, mode_t, dev_t) __INTRODUCED_IN(21);
|
||||
|
||||
#define UTIME_NOW ((1L << 30) - 1L)
|
||||
#define UTIME_OMIT ((1L << 30) - 2L)
|
||||
int utimensat(int __dir_fd, const char* __path, const struct timespec __times[2], int __flags)
|
||||
int utimensat(int fd, const char* path, const struct timespec times[2], int flags)
|
||||
__INTRODUCED_IN(12);
|
||||
int futimens(int __dir_fd, const struct timespec __times[2]) __INTRODUCED_IN(19);
|
||||
int futimens(int fd, const struct timespec times[2]) __INTRODUCED_IN(19);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#include <android/legacy_sys_stat_inlines.h>
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_STAT_H_ */
|
||||
|
|
|
@ -59,11 +59,11 @@ struct statvfs64 { __STATVFS64_BODY };
|
|||
#define ST_NODIRATIME 0x0800
|
||||
#define ST_RELATIME 0x1000
|
||||
|
||||
int statvfs(const char* __path, struct statvfs* __buf) __INTRODUCED_IN(19);
|
||||
int statvfs64(const char* __path, struct statvfs64* __buf) __INTRODUCED_IN(21);
|
||||
int fstatvfs(int __fd, struct statvfs* __buf) __INTRODUCED_IN(19);
|
||||
int fstatvfs64(int __fd, struct statvfs64* __buf) __INTRODUCED_IN(21);
|
||||
int statvfs(const char*, struct statvfs*) __INTRODUCED_IN(19);
|
||||
int statvfs64(const char*, struct statvfs64*) __INTRODUCED_IN(21);
|
||||
int fstatvfs(int, struct statvfs*) __INTRODUCED_IN(19);
|
||||
int fstatvfs64(int, struct statvfs64*) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_STATVFS_H_ */
|
||||
|
|
|
@ -38,9 +38,9 @@ __BEGIN_DECLS
|
|||
#define SWAP_FLAG_PRIO_MASK 0x7fff
|
||||
#define SWAP_FLAG_PRIO_SHIFT 0
|
||||
|
||||
int swapon(const char* __path, int __flags) __INTRODUCED_IN(19);
|
||||
int swapoff(const char* __path) __INTRODUCED_IN(19);
|
||||
int swapon(const char*, int) __INTRODUCED_IN(19);
|
||||
int swapoff(const char*) __INTRODUCED_IN(19);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SWAP_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_SYSINFO_H_
|
||||
#define _SYS_SYSINFO_H_
|
||||
|
||||
|
@ -34,12 +33,16 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int sysinfo(struct sysinfo* __info);
|
||||
int sysinfo(struct sysinfo* info);
|
||||
|
||||
int get_nprocs_conf(void) __INTRODUCED_IN(23);
|
||||
|
||||
int get_nprocs(void) __INTRODUCED_IN(23);
|
||||
|
||||
long get_phys_pages(void) __INTRODUCED_IN(23);
|
||||
|
||||
long get_avphys_pages(void) __INTRODUCED_IN(23);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_SYSINFO_H_ */
|
||||
|
|
|
@ -41,9 +41,9 @@ typedef struct prop_info prop_info;
|
|||
#define PROP_VALUE_MAX 92
|
||||
|
||||
/*
|
||||
* Sets system property `name` to `value`, creating the system property if it doesn't already exist.
|
||||
* Sets system property `key` to `value`, creating the system property if it doesn't already exist.
|
||||
*/
|
||||
int __system_property_set(const char* __name, const char* __value) __INTRODUCED_IN(12);
|
||||
int __system_property_set(const char* key, const char* value) __INTRODUCED_IN(12);
|
||||
|
||||
/*
|
||||
* Returns a `prop_info` corresponding system property `name`, or nullptr if it doesn't exist.
|
||||
|
@ -51,14 +51,14 @@ int __system_property_set(const char* __name, const char* __value) __INTRODUCED_
|
|||
*
|
||||
* Property lookup is expensive, so it can be useful to cache the result of this function.
|
||||
*/
|
||||
const prop_info* __system_property_find(const char* __name);
|
||||
const prop_info* __system_property_find(const char* name);
|
||||
|
||||
/*
|
||||
* Calls `callback` with a consistent trio of name, value, and serial number for property `pi`.
|
||||
*/
|
||||
void __system_property_read_callback(const prop_info* __pi,
|
||||
void (*__callback)(void* __cookie, const char* __name, const char* __value, uint32_t __serial),
|
||||
void* __cookie) __INTRODUCED_IN(26);
|
||||
void __system_property_read_callback(const prop_info *pi,
|
||||
void (*callback)(void* cookie, const char *name, const char *value, uint32_t serial),
|
||||
void* cookie) __INTRODUCED_IN(26);
|
||||
|
||||
/*
|
||||
* Passes a `prop_info` for each system property to the provided
|
||||
|
@ -66,7 +66,7 @@ void __system_property_read_callback(const prop_info* __pi,
|
|||
*
|
||||
* This method is for inspecting and debugging the property system, and not generally useful.
|
||||
*/
|
||||
int __system_property_foreach(void (*__callback)(const prop_info* __pi, void* __cookie), void* __cookie)
|
||||
int __system_property_foreach(void (*propfn)(const prop_info* pi, void* cookie), void* cookie)
|
||||
__INTRODUCED_IN(19);
|
||||
|
||||
/*
|
||||
|
@ -82,17 +82,20 @@ int __system_property_foreach(void (*__callback)(const prop_info* __pi, void* __
|
|||
* timed out.
|
||||
*/
|
||||
struct timespec;
|
||||
bool __system_property_wait(const prop_info* __pi, uint32_t __old_serial, uint32_t* __new_serial_ptr, const struct timespec* __relative_timeout)
|
||||
bool __system_property_wait(const prop_info* pi,
|
||||
uint32_t old_serial,
|
||||
uint32_t* new_serial_ptr,
|
||||
const struct timespec* relative_timeout)
|
||||
__INTRODUCED_IN(26);
|
||||
|
||||
/* Deprecated. In Android O and above, there's no limit on property name length. */
|
||||
#define PROP_NAME_MAX 32
|
||||
/* Deprecated. Use __system_property_read_callback instead. */
|
||||
int __system_property_read(const prop_info* __pi, char* __name, char* __value);
|
||||
int __system_property_read(const prop_info* pi, char* name, char* value);
|
||||
/* Deprecated. Use __system_property_read_callback instead. */
|
||||
int __system_property_get(const char* __name, char* __value);
|
||||
int __system_property_get(const char* name, char* value);
|
||||
/* Deprecated. Use __system_property_foreach instead. */
|
||||
const prop_info* __system_property_find_nth(unsigned __n);
|
||||
const prop_info* __system_property_find_nth(unsigned n);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
|
@ -38,21 +38,21 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int gettimeofday(struct timeval* __tv, struct timezone* __tz);
|
||||
int settimeofday(const struct timeval* __tv, const struct timezone* __tz);
|
||||
int gettimeofday(struct timeval*, struct timezone*);
|
||||
int settimeofday(const struct timeval*, const struct timezone*);
|
||||
|
||||
int getitimer(int __which, struct itimerval* __current_value);
|
||||
int setitimer(int __which, const struct itimerval* __new_value, struct itimerval* __old_value);
|
||||
int getitimer(int, struct itimerval*);
|
||||
int setitimer(int, const struct itimerval*, struct itimerval*);
|
||||
|
||||
int utimes(const char* __path, const struct timeval __times[2]);
|
||||
int utimes(const char*, const struct timeval*);
|
||||
|
||||
#if defined(__USE_BSD)
|
||||
int futimes(int __fd, const struct timeval __times[2]) __INTRODUCED_IN(26);
|
||||
int lutimes(const char* __path, const struct timeval __times[2]) __INTRODUCED_IN(26);
|
||||
int futimes(int, const struct timeval[2]) __INTRODUCED_IN(26);
|
||||
int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN(26);
|
||||
#endif
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
int futimesat(int __dir_fd, const char* __path, const struct timeval __times[2]) __INTRODUCED_IN(26);
|
||||
int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN(26);
|
||||
#endif
|
||||
|
||||
#define timerclear(a) \
|
||||
|
@ -97,4 +97,4 @@ int futimesat(int __dir_fd, const char* __path, const struct timeval __times[2])
|
|||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_TIME_H_ */
|
||||
|
|
|
@ -42,10 +42,10 @@ __BEGIN_DECLS
|
|||
#define TFD_CLOEXEC O_CLOEXEC
|
||||
#define TFD_NONBLOCK O_NONBLOCK
|
||||
|
||||
int timerfd_create(clockid_t __clock, int __flags) __INTRODUCED_IN(19);
|
||||
int timerfd_settime(int __fd, int __flags, const struct itimerspec* __new_value, struct itimerspec* __old_value) __INTRODUCED_IN(19);
|
||||
int timerfd_gettime(int __fd, struct itimerspec* __current_value) __INTRODUCED_IN(19);
|
||||
int timerfd_create(clockid_t, int) __INTRODUCED_IN(19);
|
||||
int timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*) __INTRODUCED_IN(19);
|
||||
int timerfd_gettime(int, struct itimerspec*) __INTRODUCED_IN(19);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_TIMERFD_H */
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
clock_t times(struct tms* __buf);
|
||||
clock_t times(struct tms*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_TIMES_H_ */
|
||||
|
|
|
@ -35,9 +35,9 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int adjtimex(struct timex* __buf) __INTRODUCED_IN(24);
|
||||
int clock_adjtime(clockid_t __clock, struct timex* __tx) __INTRODUCED_IN(24);
|
||||
int adjtimex(struct timex*) __INTRODUCED_IN(24);
|
||||
int clock_adjtime(clockid_t, struct timex*) __INTRODUCED_IN(24);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_TIMEX_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_UIO_H_
|
||||
#define _SYS_UIO_H_
|
||||
|
||||
|
@ -35,21 +34,23 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
ssize_t readv(int __fd, const struct iovec* __iov, int __count);
|
||||
ssize_t writev(int __fd, const struct iovec* __iov, int __count);
|
||||
ssize_t readv(int, const struct iovec*, int);
|
||||
ssize_t writev(int, const struct iovec*, int);
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
ssize_t preadv(int __fd, const struct iovec* __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(preadv64) __INTRODUCED_IN(24);
|
||||
ssize_t pwritev(int __fd, const struct iovec* __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(pwritev64) __INTRODUCED_IN(24);
|
||||
ssize_t preadv64(int __fd, const struct iovec* __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
|
||||
ssize_t pwritev64(int __fd, const struct iovec* __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
|
||||
ssize_t preadv(int, const struct iovec*, int, off_t) __RENAME_IF_FILE_OFFSET64(preadv64) __INTRODUCED_IN(24);
|
||||
ssize_t pwritev(int, const struct iovec*, int, off_t) __RENAME_IF_FILE_OFFSET64(pwritev64) __INTRODUCED_IN(24);
|
||||
ssize_t preadv64(int, const struct iovec*, int, off64_t) __INTRODUCED_IN(24);
|
||||
ssize_t pwritev64(int, const struct iovec*, int, off64_t) __INTRODUCED_IN(24);
|
||||
#endif
|
||||
|
||||
#if defined(__USE_GNU)
|
||||
ssize_t process_vm_readv(pid_t __pid, const struct iovec* __local_iov, unsigned long __local_iov_count, const struct iovec* __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
|
||||
ssize_t process_vm_writev(pid_t __pid, const struct iovec* __local_iov, unsigned long __local_iov_count, const struct iovec* __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
|
||||
ssize_t process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*,
|
||||
unsigned long, unsigned long) __INTRODUCED_IN(23);
|
||||
ssize_t process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*,
|
||||
unsigned long, unsigned long) __INTRODUCED_IN(23);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_UIO_H_ */
|
||||
|
|
|
@ -36,16 +36,16 @@ __BEGIN_DECLS
|
|||
#define SYS_NMLN 65
|
||||
|
||||
struct utsname {
|
||||
char sysname[SYS_NMLN];
|
||||
char nodename[SYS_NMLN];
|
||||
char release[SYS_NMLN];
|
||||
char version[SYS_NMLN];
|
||||
char machine[SYS_NMLN];
|
||||
char domainname[SYS_NMLN];
|
||||
char sysname [SYS_NMLN];
|
||||
char nodename [SYS_NMLN];
|
||||
char release [SYS_NMLN];
|
||||
char version [SYS_NMLN];
|
||||
char machine [SYS_NMLN];
|
||||
char domainname[SYS_NMLN];
|
||||
};
|
||||
|
||||
int uname(struct utsname* __buf);
|
||||
int uname(struct utsname*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_UTSNAME_H_ */
|
||||
|
|
|
@ -137,11 +137,11 @@ struct statfs64 { __STATFS64_BODY };
|
|||
#define XENIX_SUPER_MAGIC 0x012FF7B4
|
||||
#define XFS_SUPER_MAGIC 0x58465342
|
||||
|
||||
int statfs(const char* __path, struct statfs* __buf);
|
||||
int statfs64(const char* __path, struct statfs64* __buf) __INTRODUCED_IN(21);
|
||||
int fstatfs(int __fd, struct statfs* __buf);
|
||||
int fstatfs64(int __fd, struct statfs64* __buf) __INTRODUCED_IN(21);
|
||||
int statfs(const char*, struct statfs*);
|
||||
int statfs64(const char*, struct statfs64*) __INTRODUCED_IN(21);
|
||||
int fstatfs(int, struct statfs*);
|
||||
int fstatfs64(int, struct statfs64*) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_VFS_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_WAIT_H_
|
||||
#define _SYS_WAIT_H_
|
||||
|
||||
|
@ -50,10 +49,10 @@ __BEGIN_DECLS
|
|||
#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
||||
#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
|
||||
|
||||
pid_t wait(int* __status);
|
||||
pid_t waitpid(pid_t __pid, int* __status, int __options);
|
||||
pid_t wait(int*);
|
||||
pid_t waitpid(pid_t, int*, int);
|
||||
#if __ANDROID_API__ >= __ANDROID_API_J_MR2__
|
||||
pid_t wait4(pid_t __pid, int* __status, int __options, struct rusage* __rusage) __INTRODUCED_IN(18);
|
||||
pid_t wait4(pid_t, int*, int, struct rusage*) __INTRODUCED_IN(18);
|
||||
#else
|
||||
// Implemented as a static inline before 18.
|
||||
#endif
|
||||
|
@ -64,10 +63,10 @@ pid_t wait4(pid_t __pid, int* __status, int __options, struct rusage* __rusage)
|
|||
*/
|
||||
typedef int idtype_t;
|
||||
|
||||
int waitid(idtype_t __type, id_t __id, siginfo_t* __info, int __options);
|
||||
int waitid(idtype_t which, id_t id, siginfo_t* info, int options);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#include <android/legacy_sys_wait_inlines.h>
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_WAIT_H_ */
|
||||
|
|
|
@ -35,25 +35,25 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int fsetxattr(int __fd, const char* __name, const void* __value, size_t __size, int __flags)
|
||||
int fsetxattr(int fd, const char* name, const void* value, size_t size, int flags)
|
||||
__INTRODUCED_IN(16);
|
||||
int setxattr(const char* __path, const char* __name, const void* __value, size_t __size, int __flags)
|
||||
int setxattr(const char* path, const char* name, const void* value, size_t size, int flags)
|
||||
__INTRODUCED_IN(16);
|
||||
int lsetxattr(const char* __path, const char* __name, const void* __value, size_t __size, int __flags)
|
||||
int lsetxattr(const char* path, const char* name, const void* value, size_t size, int flags)
|
||||
__INTRODUCED_IN(16);
|
||||
|
||||
ssize_t fgetxattr(int __fd, const char* __name, void* __value, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t getxattr(const char* __path, const char* __name, void* __value, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t lgetxattr(const char* __path, const char* __name, void* __value, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t fgetxattr(int fd, const char* name, void* value, size_t size) __INTRODUCED_IN(16);
|
||||
ssize_t getxattr(const char* path, const char* name, void* value, size_t size) __INTRODUCED_IN(16);
|
||||
ssize_t lgetxattr(const char* path, const char* name, void* value, size_t size) __INTRODUCED_IN(16);
|
||||
|
||||
ssize_t listxattr(const char* __path, char* __list, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t llistxattr(const char* __path, char* __list, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t flistxattr(int __fd, char* __list, size_t __size) __INTRODUCED_IN(16);
|
||||
ssize_t listxattr(const char* path, char* list, size_t size) __INTRODUCED_IN(16);
|
||||
ssize_t llistxattr(const char* path, char* list, size_t size) __INTRODUCED_IN(16);
|
||||
ssize_t flistxattr(int fd, char* list, size_t size) __INTRODUCED_IN(16);
|
||||
|
||||
int removexattr(const char* __path, const char* __name) __INTRODUCED_IN(16);
|
||||
int lremovexattr(const char* __path, const char* __name) __INTRODUCED_IN(16);
|
||||
int fremovexattr(int __fd, const char* __name) __INTRODUCED_IN(16);
|
||||
int removexattr(const char* path, const char* name) __INTRODUCED_IN(16);
|
||||
int lremovexattr(const char* path, const char* name) __INTRODUCED_IN(16);
|
||||
int fremovexattr(int fd, const char* name) __INTRODUCED_IN(16);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _SYS_XATTR_H_ */
|
||||
|
|
|
@ -37,23 +37,23 @@ __BEGIN_DECLS
|
|||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
// Implemented as static inlines before 21.
|
||||
speed_t cfgetispeed(const struct termios* __t) __INTRODUCED_IN(21);
|
||||
speed_t cfgetospeed(const struct termios* __t) __INTRODUCED_IN(21);
|
||||
void cfmakeraw(struct termios* __t) __INTRODUCED_IN(21);
|
||||
int cfsetspeed(struct termios* __t, speed_t __speed) __INTRODUCED_IN(21);
|
||||
int cfsetispeed(struct termios* __t, speed_t __speed) __INTRODUCED_IN(21);
|
||||
int cfsetospeed(struct termios* __t, speed_t __speed) __INTRODUCED_IN(21);
|
||||
int tcdrain(int __fd) __INTRODUCED_IN(21);
|
||||
int tcflow(int __fd, int __action) __INTRODUCED_IN(21);
|
||||
int tcflush(int __fd, int __queue) __INTRODUCED_IN(21);
|
||||
int tcgetattr(int __fd, struct termios* __t) __INTRODUCED_IN(21);
|
||||
pid_t tcgetsid(int __fd) __INTRODUCED_IN(21);
|
||||
int tcsendbreak(int __fd, int __duration) __INTRODUCED_IN(21);
|
||||
int tcsetattr(int __fd, int __optional_actions, const struct termios* __t) __INTRODUCED_IN(21);
|
||||
speed_t cfgetispeed(const struct termios*) __INTRODUCED_IN(21);
|
||||
speed_t cfgetospeed(const struct termios*) __INTRODUCED_IN(21);
|
||||
void cfmakeraw(struct termios*) __INTRODUCED_IN(21);
|
||||
int cfsetspeed(struct termios*, speed_t) __INTRODUCED_IN(21);
|
||||
int cfsetispeed(struct termios*, speed_t) __INTRODUCED_IN(21);
|
||||
int cfsetospeed(struct termios*, speed_t) __INTRODUCED_IN(21);
|
||||
int tcdrain(int) __INTRODUCED_IN(21);
|
||||
int tcflow(int, int) __INTRODUCED_IN(21);
|
||||
int tcflush(int, int) __INTRODUCED_IN(21);
|
||||
int tcgetattr(int, struct termios*) __INTRODUCED_IN(21);
|
||||
pid_t tcgetsid(int) __INTRODUCED_IN(21);
|
||||
int tcsendbreak(int, int) __INTRODUCED_IN(21);
|
||||
int tcsetattr(int, int, const struct termios*) __INTRODUCED_IN(21);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#include <android/legacy_termios_inlines.h>
|
||||
|
||||
#endif
|
||||
#endif /* _TERMIOS_H_ */
|
||||
|
|
|
@ -59,54 +59,54 @@ struct tm {
|
|||
|
||||
#define TM_ZONE tm_zone
|
||||
|
||||
time_t time(time_t* __t);
|
||||
int nanosleep(const struct timespec* __request, struct timespec* __remainder);
|
||||
time_t time(time_t*);
|
||||
int nanosleep(const struct timespec*, struct timespec*);
|
||||
|
||||
char* asctime(const struct tm* __tm);
|
||||
char* asctime_r(const struct tm* __tm, char* __buf);
|
||||
char* asctime(const struct tm*);
|
||||
char* asctime_r(const struct tm*, char*);
|
||||
|
||||
double difftime(time_t __lhs, time_t __rhs);
|
||||
time_t mktime(struct tm* __tm);
|
||||
double difftime(time_t, time_t);
|
||||
time_t mktime(struct tm*);
|
||||
|
||||
struct tm* localtime(const time_t* __t);
|
||||
struct tm* localtime_r(const time_t* __t, struct tm* __tm);
|
||||
struct tm* localtime(const time_t*);
|
||||
struct tm* localtime_r(const time_t*, struct tm*);
|
||||
|
||||
struct tm* gmtime(const time_t* __t);
|
||||
struct tm* gmtime_r(const time_t* __t, struct tm* __tm);
|
||||
struct tm* gmtime(const time_t*);
|
||||
struct tm* gmtime_r(const time_t*, struct tm*);
|
||||
|
||||
char* strptime(const char* __s, const char* __fmt, struct tm* __tm);
|
||||
size_t strftime(char* __buf, size_t __n, const char* __fmt, const struct tm* __tm);
|
||||
char* strptime(const char*, const char*, struct tm*);
|
||||
size_t strftime(char*, size_t, const char*, const struct tm*);
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
size_t strftime_l(char* __buf, size_t __n, const char* __fmt, const struct tm* __tm, locale_t __l) __INTRODUCED_IN(21);
|
||||
size_t strftime_l(char*, size_t, const char*, const struct tm*, locale_t) __INTRODUCED_IN(21);
|
||||
#else
|
||||
// Implemented as static inline before 21.
|
||||
#endif
|
||||
|
||||
char* ctime(const time_t* __t);
|
||||
char* ctime_r(const time_t* __t, char* __buf);
|
||||
char* ctime(const time_t*);
|
||||
char* ctime_r(const time_t*, char*);
|
||||
|
||||
void tzset(void);
|
||||
|
||||
clock_t clock(void);
|
||||
|
||||
int clock_getcpuclockid(pid_t __pid, clockid_t* __clock) __INTRODUCED_IN(23);
|
||||
int clock_getcpuclockid(pid_t, clockid_t*) __INTRODUCED_IN(23);
|
||||
|
||||
int clock_getres(clockid_t __clock, struct timespec* __resolution);
|
||||
int clock_gettime(clockid_t __clock, struct timespec* __ts);
|
||||
int clock_nanosleep(clockid_t __clock, int __flags, const struct timespec* __request, struct timespec* __remainder);
|
||||
int clock_settime(clockid_t __clock, const struct timespec* __ts);
|
||||
int clock_getres(clockid_t, struct timespec*);
|
||||
int clock_gettime(clockid_t, struct timespec*);
|
||||
int clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*);
|
||||
int clock_settime(clockid_t, const struct timespec*);
|
||||
|
||||
int timer_create(clockid_t __clock, struct sigevent* __event, timer_t* __timer_ptr);
|
||||
int timer_delete(timer_t __timer);
|
||||
int timer_settime(timer_t __timer, int __flags, const struct itimerspec* __new_value, struct itimerspec* __old_value);
|
||||
int timer_gettime(timer_t __timer, struct itimerspec* __ts);
|
||||
int timer_getoverrun(timer_t __timer);
|
||||
int timer_create(int, struct sigevent*, timer_t*);
|
||||
int timer_delete(timer_t);
|
||||
int timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*);
|
||||
int timer_gettime(timer_t, struct itimerspec*);
|
||||
int timer_getoverrun(timer_t);
|
||||
|
||||
/* Non-standard extensions that are in the BSDs and glibc. */
|
||||
time_t timelocal(struct tm* __tm) __INTRODUCED_IN(12);
|
||||
time_t timegm(struct tm* __tm) __INTRODUCED_IN(12);
|
||||
time_t timelocal(struct tm*) __INTRODUCED_IN(12);
|
||||
time_t timegm(struct tm*) __INTRODUCED_IN(12);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _TIME_H_ */
|
||||
|
|
|
@ -43,11 +43,11 @@ typedef __CHAR32_TYPE__ char32_t;
|
|||
#define __STD_UTF_16__ 1
|
||||
#define __STD_UTF_32__ 1
|
||||
|
||||
size_t c16rtomb(char* __buf, char16_t __ch16, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
size_t c32rtomb(char* __buf, char32_t __ch32, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
size_t mbrtoc16(char16_t* __ch16, const char* __s, size_t __n, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
size_t mbrtoc32(char32_t* __ch32, const char* __s, size_t __n, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
size_t c16rtomb(char*, char16_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
size_t c32rtomb(char*, char32_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
size_t mbrtoc16(char16_t*, const char*, size_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
size_t mbrtoc32(char32_t*, const char*, size_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _UCHAR_H_ */
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
int utime(const char* __filename, const struct utimbuf* __times);
|
||||
int utime(const char*, const struct utimbuf*);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _UTIME_H_ */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _WCHAR_H_
|
||||
#define _WCHAR_H_
|
||||
|
||||
|
@ -43,98 +42,98 @@
|
|||
|
||||
__BEGIN_DECLS
|
||||
|
||||
wint_t btowc(int __ch);
|
||||
int fwprintf(FILE* __fp, const wchar_t* __fmt, ...);
|
||||
int fwscanf(FILE* __fp, const wchar_t* __fmt, ...);
|
||||
wint_t fgetwc(FILE* __fp);
|
||||
wchar_t* fgetws(wchar_t* __buf, int __size, FILE* __fp);
|
||||
wint_t fputwc(wchar_t __wc, FILE* __fp);
|
||||
int fputws(const wchar_t* __s, FILE* __fp);
|
||||
int fwide(FILE* __fp, int __mode);
|
||||
wint_t getwc(FILE* __fp);
|
||||
wint_t getwchar(void);
|
||||
int mbsinit(const mbstate_t* __ps);
|
||||
size_t mbrlen(const char* __s, size_t __n, mbstate_t* __ps);
|
||||
size_t mbrtowc(wchar_t* __buf, const char* __s, size_t __n, mbstate_t* __ps);
|
||||
size_t mbsrtowcs(wchar_t* __dst, const char** __src, size_t __dst_n, mbstate_t* __ps);
|
||||
size_t mbsnrtowcs(wchar_t* __dst, const char** __src, size_t __src_n, size_t __dst_n, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
wint_t putwc(wchar_t __wc, FILE* __fp);
|
||||
wint_t putwchar(wchar_t __wc);
|
||||
int swprintf(wchar_t* __buf, size_t __n, const wchar_t* __fmt, ...);
|
||||
int swscanf(const wchar_t* __s, const wchar_t* __fmt, ...);
|
||||
wint_t ungetwc(wint_t __wc, FILE* __fp);
|
||||
int vfwprintf(FILE* __fp, const wchar_t* __fmt, va_list __args);
|
||||
int vfwscanf(FILE* __fp, const wchar_t* __fmt, va_list __args) __INTRODUCED_IN(21);
|
||||
int vswprintf(wchar_t* __buf, size_t __n, const wchar_t* __fmt, va_list __args);
|
||||
int vswscanf(const wchar_t* __s, const wchar_t* __fmt, va_list __args) __INTRODUCED_IN(21);
|
||||
int vwprintf(const wchar_t* __fmt, va_list __args);
|
||||
int vwscanf(const wchar_t* __fmt, va_list __args) __INTRODUCED_IN(21);
|
||||
wchar_t* wcpcpy(wchar_t* __dst, const wchar_t* __src);
|
||||
wchar_t* wcpncpy(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
size_t wcrtomb(char* __buf, wchar_t __wc, mbstate_t* __ps);
|
||||
int wcscasecmp(const wchar_t* __lhs, const wchar_t* __rhs);
|
||||
int wcscasecmp_l(const wchar_t* __lhs, const wchar_t* __rhs, locale_t __l) __INTRODUCED_IN(23);
|
||||
wchar_t* wcscat(wchar_t* __dst, const wchar_t* __src);
|
||||
wchar_t* wcschr(const wchar_t* __s, wchar_t __wc);
|
||||
int wcscmp(const wchar_t* __lhs, const wchar_t* __rhs);
|
||||
int wcscoll(const wchar_t* __lhs, const wchar_t* __rhs);
|
||||
wchar_t* wcscpy(wchar_t* __dst, const wchar_t* __src);
|
||||
size_t wcscspn(const wchar_t* __s, const wchar_t* __accept);
|
||||
size_t wcsftime(wchar_t* __buf, size_t __n, const wchar_t* __fmt, const struct tm* __tm);
|
||||
size_t wcslen(const wchar_t* __s);
|
||||
int wcsncasecmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n);
|
||||
int wcsncasecmp_l(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n, locale_t __l) __INTRODUCED_IN(23);
|
||||
wchar_t* wcsncat(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
int wcsncmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n);
|
||||
wchar_t* wcsncpy(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
size_t wcsnrtombs(char* __dst, const wchar_t** __src, size_t __src_n, size_t __dst_n, mbstate_t* __ps) __INTRODUCED_IN(21);
|
||||
wchar_t* wcspbrk(const wchar_t* __s, const wchar_t* __accept);
|
||||
wchar_t* wcsrchr(const wchar_t* __s, wchar_t __wc);
|
||||
size_t wcsrtombs(char* __dst, const wchar_t** __src, size_t __dst_n, mbstate_t* __ps);
|
||||
size_t wcsspn(const wchar_t* __s, const wchar_t* __accept);
|
||||
wchar_t* wcsstr(const wchar_t* __haystack, const wchar_t* __needle);
|
||||
double wcstod(const wchar_t* __s, wchar_t** __end_ptr);
|
||||
float wcstof(const wchar_t* __s, wchar_t** __end_ptr) __INTRODUCED_IN(21);
|
||||
wchar_t* wcstok(wchar_t* __s, const wchar_t* __delimiter, wchar_t** __ptr);
|
||||
long wcstol(const wchar_t* __s, wchar_t** __end_ptr, int __base);
|
||||
long long wcstoll(const wchar_t* __s, wchar_t** __end_ptr, int __base) __INTRODUCED_IN(21);
|
||||
long double wcstold(const wchar_t* __s, wchar_t** __end_ptr) __INTRODUCED_IN(21);
|
||||
unsigned long wcstoul(const wchar_t* __s, wchar_t** __end_ptr, int __base);
|
||||
unsigned long long wcstoull(const wchar_t* __s, wchar_t** __end_ptr, int __base) __INTRODUCED_IN(21);
|
||||
int wcswidth(const wchar_t* __s, size_t __n);
|
||||
size_t wcsxfrm(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
int wctob(wint_t __wc);
|
||||
int wcwidth(wchar_t __wc);
|
||||
wchar_t* wmemchr(const wchar_t* __src, wchar_t __wc, size_t __n);
|
||||
int wmemcmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n);
|
||||
wchar_t* wmemcpy(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
wint_t btowc(int);
|
||||
int fwprintf(FILE *, const wchar_t *, ...);
|
||||
int fwscanf(FILE *, const wchar_t *, ...);
|
||||
wint_t fgetwc(FILE *);
|
||||
wchar_t *fgetws(wchar_t *, int, FILE *);
|
||||
wint_t fputwc(wchar_t, FILE *);
|
||||
int fputws(const wchar_t *, FILE *);
|
||||
int fwide(FILE *, int);
|
||||
wint_t getwc(FILE *);
|
||||
wint_t getwchar(void);
|
||||
int mbsinit(const mbstate_t *);
|
||||
size_t mbrlen(const char *, size_t, mbstate_t *);
|
||||
size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
|
||||
size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*);
|
||||
size_t mbsnrtowcs(wchar_t*, const char**, size_t, size_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
wint_t putwc(wchar_t, FILE *);
|
||||
wint_t putwchar(wchar_t);
|
||||
int swprintf(wchar_t *, size_t, const wchar_t *, ...);
|
||||
int swscanf(const wchar_t *, const wchar_t *, ...);
|
||||
wint_t ungetwc(wint_t, FILE *);
|
||||
int vfwprintf(FILE*, const wchar_t*, va_list);
|
||||
int vfwscanf(FILE*, const wchar_t*, va_list) __INTRODUCED_IN(21);
|
||||
int vswprintf(wchar_t*, size_t, const wchar_t*, va_list);
|
||||
int vswscanf(const wchar_t*, const wchar_t*, va_list) __INTRODUCED_IN(21);
|
||||
int vwprintf(const wchar_t*, va_list);
|
||||
int vwscanf(const wchar_t*, va_list) __INTRODUCED_IN(21);
|
||||
wchar_t* wcpcpy (wchar_t*, const wchar_t *);
|
||||
wchar_t* wcpncpy (wchar_t*, const wchar_t *, size_t);
|
||||
size_t wcrtomb(char *, wchar_t, mbstate_t *);
|
||||
int wcscasecmp(const wchar_t *, const wchar_t *);
|
||||
int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t) __INTRODUCED_IN(23);
|
||||
wchar_t *wcscat(wchar_t *, const wchar_t *);
|
||||
wchar_t *wcschr(const wchar_t *, wchar_t);
|
||||
int wcscmp(const wchar_t *, const wchar_t *);
|
||||
int wcscoll(const wchar_t *, const wchar_t *);
|
||||
wchar_t *wcscpy(wchar_t *, const wchar_t *);
|
||||
size_t wcscspn(const wchar_t *, const wchar_t *);
|
||||
size_t wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *);
|
||||
size_t wcslen(const wchar_t *);
|
||||
int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
|
||||
int wcsncasecmp_l(const wchar_t*, const wchar_t*, size_t, locale_t) __INTRODUCED_IN(23);
|
||||
wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t);
|
||||
int wcsncmp(const wchar_t *, const wchar_t *, size_t);
|
||||
wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t);
|
||||
size_t wcsnrtombs(char*, const wchar_t**, size_t, size_t, mbstate_t*) __INTRODUCED_IN(21);
|
||||
wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
|
||||
wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
||||
size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*);
|
||||
size_t wcsspn(const wchar_t *, const wchar_t *);
|
||||
wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
||||
double wcstod(const wchar_t*, wchar_t**);
|
||||
float wcstof(const wchar_t*, wchar_t**) __INTRODUCED_IN(21);
|
||||
wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
|
||||
long wcstol(const wchar_t*, wchar_t**, int);
|
||||
long long wcstoll(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21);
|
||||
long double wcstold(const wchar_t*, wchar_t**) __INTRODUCED_IN(21);
|
||||
unsigned long wcstoul(const wchar_t*, wchar_t**, int);
|
||||
unsigned long long wcstoull(const wchar_t*, wchar_t**, int) __INTRODUCED_IN(21);
|
||||
int wcswidth(const wchar_t *, size_t);
|
||||
size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);
|
||||
int wctob(wint_t);
|
||||
int wcwidth(wchar_t);
|
||||
wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
|
||||
int wmemcmp(const wchar_t *, const wchar_t *, size_t);
|
||||
wchar_t *wmemcpy(wchar_t *, const wchar_t *, size_t);
|
||||
#if defined(__USE_GNU)
|
||||
wchar_t* wmempcpy(wchar_t* __dst, const wchar_t* __src, size_t __n) __INTRODUCED_IN(23);
|
||||
wchar_t* wmempcpy(wchar_t*, const wchar_t*, size_t) __INTRODUCED_IN(23);
|
||||
#endif
|
||||
wchar_t* wmemmove(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
wchar_t* wmemset(wchar_t* __dst, wchar_t __wc, size_t __n);
|
||||
int wprintf(const wchar_t* __fmt, ...);
|
||||
int wscanf(const wchar_t* __fmt, ...);
|
||||
wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
|
||||
wchar_t *wmemset(wchar_t *, wchar_t, size_t);
|
||||
int wprintf(const wchar_t *, ...);
|
||||
int wscanf(const wchar_t *, ...);
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
long long wcstoll_l(const wchar_t* __s, wchar_t** __end_ptr, int __base, locale_t __l) __INTRODUCED_IN(21);
|
||||
unsigned long long wcstoull_l(const wchar_t* __s, wchar_t** __end_ptr, int __base, locale_t __l) __INTRODUCED_IN(21);
|
||||
long double wcstold_l(const wchar_t* __s, wchar_t** __end_ptr, locale_t __l) __INTRODUCED_IN(21);
|
||||
long long wcstoll_l(const wchar_t*, wchar_t**, int, locale_t) __INTRODUCED_IN(21);
|
||||
unsigned long long wcstoull_l(const wchar_t*, wchar_t**, int, locale_t) __INTRODUCED_IN(21);
|
||||
long double wcstold_l(const wchar_t*, wchar_t**, locale_t) __INTRODUCED_IN(21);
|
||||
|
||||
int wcscoll_l(const wchar_t* __lhs, const wchar_t* __rhs, locale_t __l) __attribute_pure__
|
||||
int wcscoll_l(const wchar_t*, const wchar_t*, locale_t) __attribute_pure__
|
||||
__INTRODUCED_IN(21);
|
||||
size_t wcsxfrm_l(wchar_t* __dst, const wchar_t* __src, size_t __n, locale_t __l) __INTRODUCED_IN(21);
|
||||
size_t wcsxfrm_l(wchar_t*, const wchar_t*, size_t, locale_t) __INTRODUCED_IN(21);
|
||||
#else
|
||||
// Implemented as static inlines before 21.
|
||||
#endif
|
||||
|
||||
size_t wcslcat(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
size_t wcslcpy(wchar_t* __dst, const wchar_t* __src, size_t __n);
|
||||
size_t wcslcat(wchar_t*, const wchar_t*, size_t);
|
||||
size_t wcslcpy(wchar_t*, const wchar_t*, size_t);
|
||||
|
||||
FILE* open_wmemstream(wchar_t** __ptr, size_t* __size_ptr) __INTRODUCED_IN(23);
|
||||
wchar_t* wcsdup(const wchar_t* __s);
|
||||
size_t wcsnlen(const wchar_t* __s, size_t __n);
|
||||
FILE* open_wmemstream(wchar_t**, size_t*) __INTRODUCED_IN(23);
|
||||
wchar_t* wcsdup(const wchar_t*);
|
||||
size_t wcsnlen(const wchar_t*, size_t);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _WCHAR_H_ */
|
||||
|
|
|
@ -36,31 +36,31 @@
|
|||
__BEGIN_DECLS
|
||||
|
||||
#if __ANDROID_API__ >= __ANDROID_API_L__
|
||||
int iswalnum_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswalpha_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswblank_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswcntrl_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswdigit_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswgraph_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswlower_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswprint_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswpunct_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswspace_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswupper_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswxdigit_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswalnum_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswalpha_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswblank_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswcntrl_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswdigit_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswgraph_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswlower_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswprint_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswpunct_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswspace_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswupper_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
int iswxdigit_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
|
||||
wint_t towlower_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
wint_t towupper_l(wint_t __wc, locale_t __l) __INTRODUCED_IN(21);
|
||||
wint_t towlower_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
wint_t towupper_l(wint_t, locale_t) __INTRODUCED_IN(21);
|
||||
#else
|
||||
// Implemented as static inlines before 21.
|
||||
#endif
|
||||
|
||||
wint_t towctrans_l(wint_t __wc, wctrans_t __transform, locale_t __l) __INTRODUCED_IN(26);
|
||||
wctrans_t wctrans_l(const char* __name, locale_t __l) __INTRODUCED_IN(26);
|
||||
wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN(26);
|
||||
wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN(26);
|
||||
|
||||
wctype_t wctype_l(const char* __name, locale_t __l) __INTRODUCED_IN(21);
|
||||
int iswctype_l(wint_t __wc, wctype_t __transform, locale_t __l) __INTRODUCED_IN(21);
|
||||
wctype_t wctype_l(const char*, locale_t) __INTRODUCED_IN(21);
|
||||
int iswctype_l(wint_t, wctype_t, locale_t) __INTRODUCED_IN(21);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* _WCTYPE_H_ */
|
||||
|
|
Loading…
Reference in a new issue