diff options
| author | Manuel Bentele | 2020-10-23 15:18:01 +0200 |
|---|---|---|
| committer | Manuel Bentele | 2020-10-23 15:18:01 +0200 |
| commit | dbb41ce2b7f309d394054a6bd1e33afd578798a5 (patch) | |
| tree | 6a31092063d9f2fb5ac5720ec6759040e793c3d5 /utils/include/fileutils.h | |
| parent | Set Linux kernel version to unknown if it is not detectable (diff) | |
| download | xloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.tar.gz xloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.tar.xz xloop-dbb41ce2b7f309d394054a6bd1e33afd578798a5.zip | |
Move the source code of all xloop components to the common 'src' directory
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 */ |
