cache.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef __PERF_CACHE_H
  2. #define __PERF_CACHE_H
  3. #include <stdbool.h>
  4. #include "util.h"
  5. #include "strbuf.h"
  6. #include <subcmd/pager.h>
  7. #include "../perf.h"
  8. #include "../ui/ui.h"
  9. #include <linux/string.h>
  10. #define CMD_EXEC_PATH "--exec-path"
  11. #define CMD_PERF_DIR "--perf-dir="
  12. #define CMD_WORK_TREE "--work-tree="
  13. #define CMD_DEBUGFS_DIR "--debugfs-dir="
  14. #define PERF_DIR_ENVIRONMENT "PERF_DIR"
  15. #define PERF_WORK_TREE_ENVIRONMENT "PERF_WORK_TREE"
  16. #define EXEC_PATH_ENVIRONMENT "PERF_EXEC_PATH"
  17. #define DEFAULT_PERF_DIR_ENVIRONMENT ".perf"
  18. #define PERF_DEBUGFS_ENVIRONMENT "PERF_DEBUGFS_DIR"
  19. #define PERF_TRACEFS_ENVIRONMENT "PERF_TRACEFS_DIR"
  20. #define PERF_PAGER_ENVIRONMENT "PERF_PAGER"
  21. extern const char *config_exclusive_filename;
  22. typedef int (*config_fn_t)(const char *, const char *, void *);
  23. int perf_default_config(const char *, const char *, void *);
  24. int perf_config(config_fn_t fn, void *);
  25. int perf_config_int(const char *, const char *);
  26. u64 perf_config_u64(const char *, const char *);
  27. int perf_config_bool(const char *, const char *);
  28. int config_error_nonbool(const char *);
  29. const char *perf_config_dirname(const char *, const char *);
  30. const char *perf_etc_perfconfig(void);
  31. char *alias_lookup(const char *alias);
  32. int split_cmdline(char *cmdline, const char ***argv);
  33. #define alloc_nr(x) (((x)+16)*3/2)
  34. static inline int is_absolute_path(const char *path)
  35. {
  36. return path[0] == '/';
  37. }
  38. char *strip_path_suffix(const char *path, const char *suffix);
  39. char *mkpath(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
  40. char *perf_path(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
  41. #endif /* __PERF_CACHE_H */