summaryrefslogtreecommitdiff
path: root/src/libshared/machine-image.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libshared/machine-image.h')
-rw-r--r--src/libshared/machine-image.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libshared/machine-image.h b/src/libshared/machine-image.h
index 31b720d50c..7410168c4f 100644
--- a/src/libshared/machine-image.h
+++ b/src/libshared/machine-image.h
@@ -25,6 +25,8 @@
#include "hashmap.h"
#include "lockfile-util.h"
#include "macro.h"
+#include "path-util.h"
+#include "string-util.h"
#include "time-util.h"
typedef enum ImageType {
@@ -75,3 +77,27 @@ int image_path_lock(const char *path, int operation, LockFile *global, LockFile
int image_name_lock(const char *name, int operation, LockFile *ret);
int image_set_limit(Image *i, uint64_t referenced_max);
+
+static inline bool IMAGE_IS_HIDDEN(const struct Image *i) {
+ assert(i);
+
+ return i->name && i->name[0] == '.';
+}
+
+static inline bool IMAGE_IS_VENDOR(const struct Image *i) {
+ assert(i);
+
+ return i->path && path_startswith(i->path, "/usr");
+}
+
+static inline bool IMAGE_IS_HOST(const struct Image *i) {
+ assert(i);
+
+ if (i->name && streq(i->name, ".host"))
+ return true;
+
+ if (i->path && path_equal(i->path, "/"))
+ return true;
+
+ return false;
+}