diff options
Diffstat (limited to 'utils/include/fileutils.h')
| -rw-r--r-- | utils/include/fileutils.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/utils/include/fileutils.h b/utils/include/fileutils.h deleted file mode 100644 index 479ad15..0000000 --- a/utils/include/fileutils.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef UTIL_LINUX_FILEUTILS -#define UTIL_LINUX_FILEUTILS - -#include <stdio.h> -#include <fcntl.h> -#include <unistd.h> -#include <dirent.h> -#include <sys/stat.h> - -#include "c.h" - -extern int mkstemp_cloexec(char *template); - -extern int xmkstemp(char **tmpname, const char *dir, const char *prefix); - -static inline FILE *xfmkstemp(char **tmpname, const char *dir, const char *prefix) -{ - int fd; - FILE *ret; - - fd = xmkstemp(tmpname, dir, prefix); - if (fd == -1) - return NULL; - - if (!(ret = fdopen(fd, "w+" UL_CLOEXECSTR))) { - close(fd); - return NULL; - } - return ret; -} - -#ifdef HAVE_OPENAT -static inline FILE *fopen_at(int dir, const char *filename, - int flags, const char *mode) -{ - int fd = openat(dir, filename, flags); - if (fd < 0) - return NULL; - - return fdopen(fd, mode); -} -#endif - -static inline int is_same_inode(const int fd, const struct stat *st) -{ - struct stat f; - - if (fstat(fd, &f) < 0) - return 0; - else if (f.st_dev != st->st_dev || f.st_ino != st->st_ino) - return 0; - return 1; -} - -extern int dup_fd_cloexec(int oldfd, int lowfd); -extern int get_fd_tabsize(void); - -extern int mkdir_p(const char *path, mode_t mode); -extern char *stripoff_last_component(char *path); - -/* This is readdir()-like function, but skips "." and ".." directory entries */ -static inline struct dirent *xreaddir(DIR *dp) -{ - struct dirent *d; - - while ((d = readdir(dp))) { - if (!strcmp(d->d_name, ".") || - !strcmp(d->d_name, "..")) - continue; - break; - } - return d; -} - -extern void close_all_fds(const int exclude[], size_t exsz); - -#endif /* UTIL_LINUX_FILEUTILS */ |
