compat-at.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2016- The University of Notre Dame
00003 This software is distributed under the GNU General Public License.
00004 See the file COPYING for details.
00005 */
00006 
00007 #ifndef COMPAT_AT_H
00008 #define COMPAT_AT_H
00009 
00013 #include <dirent.h>
00014 #include <fcntl.h>
00015 #include <sys/stat.h>
00016 #include <sys/types.h>
00017 #include <unistd.h>
00018 
00019 #include <limits.h>
00020 
00021 #ifndef AT_FDCWD
00022 #       define AT_FDCWD -100
00023 #endif
00024 #ifndef AT_SYMLINK_NOFOLLOW
00025 #       define AT_SYMLINK_NOFOLLOW 1
00026 #endif
00027 #ifndef AT_REMOVEDIR
00028 #       define AT_REMOVEDIR 2
00029 #endif
00030 
00031 #ifndef HAS_OPENAT
00032         int cctools_faccessat (int dirfd, const char *path, int amode, int flag);
00033         int cctools_fchmodat (int dirfd, const char *path, mode_t mode, int flag);
00034         DIR *cctools_fdopendir (int dirfd);
00035         int cctools_fstatat (int dirfd, const char *path, struct stat *buf, int flag);
00036         int cctools_linkat (int dirfd, const char *path, int newdirfd, const char *newpath, int flag);
00037         int cctools_mkdirat (int dirfd, const char *path, mode_t mode);
00038         int cctools_openat (int dirfd, const char *path, int oflag, mode_t cmode);
00039         int cctools_readlinkat (int dirfd, const char *path, char *buf, size_t bufsize);
00040         int cctools_renameat (int dirfd, const char *path, int newdirfd, const char *newpath);
00041         int cctools_symlinkat (const char *target, int dirfd, const char *path);
00042         int cctools_unlinkat (int dirfd, const char *path, int flag);
00043 #       define faccessat  cctools_faccessat
00044 #       define fchmodat   cctools_fchmodat
00045 #       define fdopendir  cctools_fdopendir
00046 #       define fstatat    cctools_fstatat
00047 #       define linkat     cctools_linkat
00048 #       define mkdirat    cctools_mkdirat
00049 #       define openat     cctools_openat
00050 #       define readlinkat cctools_readlinkat
00051 #       define renameat   cctools_renameat
00052 #       define symlinkat  cctools_symlinkat
00053 #       define unlinkat   cctools_unlinkat
00054 #endif /* HAS_OPENAT */
00055 
00056 /* utimensat added in Linux 2.6.22 */
00057 #ifndef HAS_UTIMENSAT
00058         int cctools_utimensat (int dirfd, const char *path, const struct timespec times[2], int flag);
00059 #       define utimensat  cctools_utimensat
00060 #endif
00061 
00062 #endif /* COMPAT_AT_H */
00063 
00064 /* vim: set noexpandtab tabstop=4: */

Generated on 27 Oct 2016 for cctools by  doxygen 1.6.1