fs.h 1.1 KB
Newer Older
1 2
#ifndef __API_FS__
#define __API_FS__
3

4
#include <stdbool.h>
5
#include <unistd.h>
6

7 8 9 10 11 12 13 14
/*
 * On most systems <limits.h> would have given us this, but  not on some systems
 * (e.g. GNU/Hurd).
 */
#ifndef PATH_MAX
#define PATH_MAX 4096
#endif

15 16
#define FS(name)				\
	const char *name##__mountpoint(void);	\
17 18
	const char *name##__mount(void);	\
	bool name##__configured(void);		\
19 20 21 22 23

FS(sysfs)
FS(procfs)
FS(debugfs)
FS(tracefs)
24
FS(hugetlbfs)
25
FS(bpf_fs)
26 27 28

#undef FS

29 30

int filename__read_int(const char *filename, int *value);
31
int filename__read_ull(const char *filename, unsigned long long *value);
32
int filename__read_str(const char *filename, char **buf, size_t *sizep);
33

34 35
int filename__write_int(const char *filename, int value);

36 37
int procfs__read_str(const char *entry, char **buf, size_t *sizep);

38
int sysctl__read_int(const char *sysctl, int *value);
39 40
int sysfs__read_int(const char *entry, int *value);
int sysfs__read_ull(const char *entry, unsigned long long *value);
41
int sysfs__read_str(const char *entry, char **buf, size_t *sizep);
42
int sysfs__read_bool(const char *entry, bool *value);
43 44

int sysfs__write_int(const char *entry, int value);
45
#endif /* __API_FS__ */