diff options
author | Karel Zak | 2011-06-10 15:38:13 +0200 |
---|---|---|
committer | Karel Zak | 2011-06-10 15:38:13 +0200 |
commit | fd7f0718d4abb483f9e84b15bddecdac34d82144 (patch) | |
tree | a4d25d20fb5d5a0eae36e68704e9baeee23cd84c /include/loopdev.h | |
parent | libmount: minor changes in sample program (diff) | |
download | kernel-qcow2-util-linux-fd7f0718d4abb483f9e84b15bddecdac34d82144.tar.gz kernel-qcow2-util-linux-fd7f0718d4abb483f9e84b15bddecdac34d82144.tar.xz kernel-qcow2-util-linux-fd7f0718d4abb483f9e84b15bddecdac34d82144.zip |
lib: [loopdev.c] cleanup flags usage
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'include/loopdev.h')
-rw-r--r-- | include/loopdev.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/loopdev.h b/include/loopdev.h index 74b9e02ec..a8cb4441b 100644 --- a/include/loopdev.h +++ b/include/loopdev.h @@ -1,6 +1,8 @@ #ifndef UTIL_LINUX_LOOPDEV_H #define UTIL_LINUX_LOOPDEV_H +#include "sysfs.h" + /* * loop_info.lo_encrypt_type */ @@ -81,6 +83,7 @@ struct loopdev_cxt { char device[128]; /* device path (e.g. /dev/loop<N>) */ char *filename; /* backing file for loopcxt_set_... */ int fd; /* open(/dev/looo<N>) */ + int mode; /* fd mode O_{RDONLY,RDWR} */ int flags; /* LOOPDEV_FL_* flags */ int has_info:1; /* .info contains data */ @@ -95,7 +98,7 @@ struct loopdev_cxt { * loopdev_cxt.flags */ enum { - LOOPDEV_FL_RDONLY = (1 << 0), /* default */ + LOOPDEV_FL_RDONLY = (1 << 0), /* open(/dev/loop) mode; default */ LOOPDEV_FL_RDWR = (1 << 1), /* necessary for loop setup only */ LOOPDEV_FL_OFFSET = (1 << 4), LOOPDEV_FL_NOSYSFS = (1 << 5), @@ -126,7 +129,9 @@ extern int loopcxt_set_device(struct loopdev_cxt *lc, const char *device); extern char *loopcxt_strdup_device(struct loopdev_cxt *lc); extern const char *loopcxt_get_device(struct loopdev_cxt *lc); extern struct sysfs_cxt *loopcxt_get_sysfs(struct loopdev_cxt *lc); + extern int loopcxt_get_fd(struct loopdev_cxt *lc); +extern int loopcxt_set_fd(struct loopdev_cxt *lc, int fd, int mode); extern int loopcxt_init_iterator(struct loopdev_cxt *lc, int flags); extern int loopcxt_deinit_iterator(struct loopdev_cxt *lc); @@ -147,6 +152,7 @@ extern char *loopcxt_get_backing_file(struct loopdev_cxt *lc); extern int loopcxt_get_offset(struct loopdev_cxt *lc, uint64_t *offset); extern int loopcxt_get_sizelimit(struct loopdev_cxt *lc, uint64_t *size); extern int loopcxt_is_autoclear(struct loopdev_cxt *lc); +extern int loopcxt_is_readonly(struct loopdev_cxt *lc); extern int loopcxt_find_by_backing_file(struct loopdev_cxt *lc, const char *filename, uint64_t offset, int flags); |