linux/tools/lib/api/fs/fs.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __API_FS__
   3#define __API_FS__
   4
   5#include <stdbool.h>
   6#include <unistd.h>
   7
   8/*
   9 * On most systems <limits.h> would have given us this, but  not on some systems
  10 * (e.g. GNU/Hurd).
  11 */
  12#ifndef PATH_MAX
  13#define PATH_MAX 4096
  14#endif
  15
  16#define FS(name)                                \
  17        const char *name##__mountpoint(void);   \
  18        const char *name##__mount(void);        \
  19        bool name##__configured(void);          \
  20
  21FS(sysfs)
  22FS(procfs)
  23FS(debugfs)
  24FS(tracefs)
  25FS(hugetlbfs)
  26FS(bpf_fs)
  27
  28#undef FS
  29
  30
  31int filename__read_int(const char *filename, int *value);
  32int filename__read_ull(const char *filename, unsigned long long *value);
  33int filename__read_xll(const char *filename, unsigned long long *value);
  34int filename__read_str(const char *filename, char **buf, size_t *sizep);
  35
  36int filename__write_int(const char *filename, int value);
  37
  38int procfs__read_str(const char *entry, char **buf, size_t *sizep);
  39
  40int sysctl__read_int(const char *sysctl, int *value);
  41int sysfs__read_int(const char *entry, int *value);
  42int sysfs__read_ull(const char *entry, unsigned long long *value);
  43int sysfs__read_xll(const char *entry, unsigned long long *value);
  44int sysfs__read_str(const char *entry, char **buf, size_t *sizep);
  45int sysfs__read_bool(const char *entry, bool *value);
  46
  47int sysfs__write_int(const char *entry, int value);
  48#endif /* __API_FS__ */
  49