chiark / gitweb /
core, shared: in deserializing, match same files reached via different paths
[elogind.git] / src / shared / machine-image.h
index e17e32f4a5ccad797c5312764384a09fba6cc646..314fd6da5811e6de3b024c8f9a69c84a0d45b833 100644 (file)
@@ -27,7 +27,7 @@
 typedef enum ImageType {
         IMAGE_DIRECTORY,
         IMAGE_SUBVOLUME,
-        IMAGE_GPT,
+        IMAGE_RAW,
         _IMAGE_TYPE_MAX,
         _IMAGE_TYPE_INVALID = -1
 } ImageType;
@@ -40,6 +40,13 @@ typedef struct Image {
 
         usec_t crtime;
         usec_t mtime;
+
+        uint64_t usage;
+        uint64_t usage_exclusive;
+        uint64_t limit;
+        uint64_t limit_exclusive;
+
+        void *userdata;
 } Image;
 
 Image *image_unref(Image *i);
@@ -52,6 +59,14 @@ int image_find(const char *name, Image **ret);
 int image_discover(Hashmap *map);
 
 int image_remove(Image *i);
+int image_rename(Image *i, const char *new_name);
+int image_clone(Image *i, const char *new_name, bool read_only);
+int image_read_only(Image *i, bool b);
 
 const char* image_type_to_string(ImageType t) _const_;
 ImageType image_type_from_string(const char *s) _pure_;
+
+bool image_name_is_valid(const char *s) _pure_;
+
+int image_path_lock(const char *path, int operation, LockFile *global, LockFile *local);
+int image_name_lock(const char *name, int operation, LockFile *ret);