summaryrefslogtreecommitdiffstats
path: root/src/proc_self_mountinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/proc_self_mountinfo.h')
-rw-r--r--src/proc_self_mountinfo.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/proc_self_mountinfo.h b/src/proc_self_mountinfo.h
new file mode 100644
index 000000000..51712a58a
--- /dev/null
+++ b/src/proc_self_mountinfo.h
@@ -0,0 +1,42 @@
+#include "procfile.h"
+
+#ifndef NETDATA_PROC_SELF_MOUNTINFO_H
+#define NETDATA_PROC_SELF_MOUNTINFO_H 1
+
+struct mountinfo {
+ long id; // mount ID: unique identifier of the mount (may be reused after umount(2)).
+ long parentid; // parent ID: ID of parent mount (or of self for the top of the mount tree).
+ unsigned long major; // major:minor: value of st_dev for files on filesystem (see stat(2)).
+ unsigned long minor;
+
+ char *root; // root: root of the mount within the filesystem.
+ uint32_t root_hash;
+
+ char *mount_point; // mount point: mount point relative to the process's root.
+ uint32_t mount_point_hash;
+
+ char *mount_options; // mount options: per-mount options.
+
+ int optional_fields_count;
+/*
+ char ***optional_fields; // optional fields: zero or more fields of the form "tag[:value]".
+*/
+ char *filesystem; // filesystem type: name of filesystem in the form "type[.subtype]".
+ uint32_t filesystem_hash;
+
+ char *mount_source; // mount source: filesystem-specific information or "none".
+ uint32_t mount_source_hash;
+
+ char *super_options; // super options: per-superblock options.
+
+ struct mountinfo *next;
+};
+
+extern struct mountinfo *mountinfo_find(struct mountinfo *root, unsigned long major, unsigned long minor);
+extern struct mountinfo *mountinfo_find_by_filesystem_mount_source(struct mountinfo *root, const char *filesystem, const char *mount_source);
+extern struct mountinfo *mountinfo_find_by_filesystem_super_option(struct mountinfo *root, const char *filesystem, const char *super_options);
+
+extern void mountinfo_free(struct mountinfo *mi);
+extern struct mountinfo *mountinfo_read();
+
+#endif /* NETDATA_PROC_SELF_MOUNTINFO_H */ \ No newline at end of file