am 23f56bbb
: Merge "Add extended attribute (xattr) system call wrappers to bionic."
* commit '23f56bbb6ae053996dd821f29379aea0c7166055': Add extended attribute (xattr) system call wrappers to bionic.
This commit is contained in:

committed by
Android Git Automerger

commit
2f80f07d81
@@ -79,6 +79,10 @@
|
||||
#define __NR_sync (__NR_SYSCALL_BASE + 36)
|
||||
#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221)
|
||||
#define __NR_sendfile (__NR_SYSCALL_BASE + 187)
|
||||
#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228)
|
||||
#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231)
|
||||
#define __NR_flistxattr (__NR_SYSCALL_BASE + 234)
|
||||
#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237)
|
||||
#define __NR_link (__NR_SYSCALL_BASE + 9)
|
||||
#define __NR_unlink (__NR_SYSCALL_BASE + 10)
|
||||
#define __NR_chdir (__NR_SYSCALL_BASE + 12)
|
||||
@@ -100,6 +104,14 @@
|
||||
#define __NR_symlink (__NR_SYSCALL_BASE + 83)
|
||||
#define __NR_fchdir (__NR_SYSCALL_BASE + 133)
|
||||
#define __NR_truncate (__NR_SYSCALL_BASE + 92)
|
||||
#define __NR_setxattr (__NR_SYSCALL_BASE + 226)
|
||||
#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227)
|
||||
#define __NR_getxattr (__NR_SYSCALL_BASE + 229)
|
||||
#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230)
|
||||
#define __NR_listxattr (__NR_SYSCALL_BASE + 232)
|
||||
#define __NR_llistxattr (__NR_SYSCALL_BASE + 233)
|
||||
#define __NR_removexattr (__NR_SYSCALL_BASE + 235)
|
||||
#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236)
|
||||
#define __NR_pause (__NR_SYSCALL_BASE + 29)
|
||||
#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78)
|
||||
#define __NR_settimeofday (__NR_SYSCALL_BASE + 79)
|
||||
|
@@ -98,6 +98,10 @@ int mkdirat (int dirfd, const char *pathname, mode_t mode);
|
||||
int fchownat (int dirfd, const char *path, uid_t owner, gid_t group, int flags);
|
||||
int fchmodat (int dirfd, const char *path, mode_t mode, int flags);
|
||||
int renameat (int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
|
||||
int fsetxattr (int, const char *, const void *, size_t, int);
|
||||
ssize_t fgetxattr (int, const char *, void *, size_t);
|
||||
ssize_t flistxattr (int, char *, size_t);
|
||||
int fremovexattr (int, const char *);
|
||||
int link (const char*, const char*);
|
||||
int unlink (const char*);
|
||||
int unlinkat (int, const char *, int);
|
||||
@@ -121,6 +125,14 @@ int access (const char *, int);
|
||||
int symlink (const char *, const char *);
|
||||
int fchdir (int);
|
||||
int truncate (const char*, off_t);
|
||||
int setxattr (const char *, const char *, const void *, size_t, int);
|
||||
int lsetxattr (const char *, const char *, const void *, size_t, int);
|
||||
ssize_t getxattr (const char *, const char *, void *, size_t);
|
||||
ssize_t lgetxattr (const char *, const char *, void *, size_t);
|
||||
ssize_t listxattr (const char *, char *, size_t);
|
||||
ssize_t llistxattr (const char *, char *, size_t);
|
||||
int removexattr (const char *, const char *);
|
||||
int lremovexattr (const char *, const char *);
|
||||
int __statfs64 (const char *, size_t, struct statfs *);
|
||||
int pause (void);
|
||||
int gettimeofday (struct timeval*, struct timezone*);
|
||||
|
56
libc/include/sys/xattr.h
Normal file
56
libc/include/sys/xattr.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) 2012 The Android Open Source Project
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _SYS_XATTR_H_
|
||||
#define _SYS_XATTR_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define XATTR_CREATE 1
|
||||
#define XATTR_REPLACE 2
|
||||
|
||||
extern int fsetxattr(int fd, const char *name, const void *value, size_t size, int flags);
|
||||
extern int setxattr(const char *path, const char *name, const void *value, size_t size, int flags);
|
||||
extern int lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags);
|
||||
|
||||
extern ssize_t fgetxattr(int fd, const char *name, void *value, size_t size);
|
||||
extern ssize_t getxattr(const char *path, const char *name, void *value, size_t size);
|
||||
extern ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size);
|
||||
|
||||
extern ssize_t listxattr(const char *path, char *list, size_t size);
|
||||
extern ssize_t llistxattr(const char *path, char *list, size_t size);
|
||||
extern ssize_t flistxattr(int fd, char *list, size_t size);
|
||||
|
||||
extern int removexattr(const char *path, const char *name);
|
||||
extern int lremovexattr(const char *path, const char *name);
|
||||
extern int fremovexattr(int fd, const char *name);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _SYS_XATTR_H_ */
|
Reference in New Issue
Block a user