]> arthur.barton.de Git - netdata.git/blob - src/proc_self_mountinfo.h
Merge pull request #334 from simonnagl/bugfix/sh_arithmetic_expand
[netdata.git] / src / proc_self_mountinfo.h
1 #include "procfile.h"
2
3 #ifndef NETDATA_PROC_SELF_MOUNTINFO_H
4 #define NETDATA_PROC_SELF_MOUNTINFO_H 1
5
6 struct mountinfo {
7         long id;                // mount ID: unique identifier of the mount (may be reused after umount(2)).
8         long parentid;          // parent ID: ID of parent mount (or of self for the top of the mount tree).
9         unsigned long major;    // major:minor: value of st_dev for files on filesystem (see stat(2)).
10         unsigned long minor;
11
12         char *root;             // root: root of the mount within the filesystem.
13         uint32_t root_hash;
14
15         char *mount_point;      // mount point: mount point relative to the process's root.
16         uint32_t mount_point_hash;
17
18         char *mount_options;    // mount options: per-mount options.
19
20         int optional_fields_count;
21 /*
22         char *(*optional_fields); // optional fields: zero or more fields of the form "tag[:value]".
23 */
24
25         char *filesystem;       // filesystem type: name of filesystem in the form "type[.subtype]".
26         uint32_t filesystem_hash;
27
28         char *mount_source;     // mount source: filesystem-specific information or "none".
29         uint32_t mount_source_hash;
30
31         char *super_options;    // super options: per-superblock options.
32
33         struct mountinfo *next;
34 };
35
36 extern struct mountinfo *mountinfo_find(struct mountinfo *root, unsigned long major, unsigned long minor);
37 extern struct mountinfo *mountinfo_find_by_filesystem_mount_source(struct mountinfo *root, const char *filesystem, const char *mount_source);
38
39 extern void mountinfo_free(struct mountinfo *mi);
40 extern struct mountinfo *mountinfo_read();
41
42 #endif /* NETDATA_PROC_SELF_MOUNTINFO_H */