#if BTRFS_FLAT_INCLUDES
#include "kerncompat.h"
+#include "rbtree.h"
+#include "ioctl.h"
#else
#include <btrfs/kerncompat.h>
+#include <btrfs/rbtree.h>
+#include <btrfs/ioctl.h>
#endif /* BTRFS_FLAT_INCLUDES */
-#define BTRFS_LIST_LAYOUT_DEFAULT 0
-#define BTRFS_LIST_LAYOUT_TABLE 1
-#define BTRFS_LIST_LAYOUT_RAW 2
+#include <time.h>
+
+enum btrfs_list_layout {
+ BTRFS_LIST_LAYOUT_DEFAULT = 0,
+ BTRFS_LIST_LAYOUT_TABLE,
+ BTRFS_LIST_LAYOUT_RAW
+};
/*
* one of these for each root we find.
enum btrfs_list_filter_enum type);
void btrfs_list_setup_print_column(enum btrfs_list_column_enum column);
struct btrfs_list_filter_set *btrfs_list_alloc_filter_set(void);
-void btrfs_list_free_filter_set(struct btrfs_list_filter_set *filter_set);
-int btrfs_list_setup_filter(struct btrfs_list_filter_set **filter_set,
+void btrfs_list_setup_filter(struct btrfs_list_filter_set **filter_set,
enum btrfs_list_filter_enum filter, u64 data);
struct btrfs_list_comparer_set *btrfs_list_alloc_comparer_set(void);
-void btrfs_list_free_comparer_set(struct btrfs_list_comparer_set *comp_set);
int btrfs_list_subvols_print(int fd, struct btrfs_list_filter_set *filter_set,
struct btrfs_list_comparer_set *comp_set,
- int is_tab_result, int full_path, char *raw_prefix);
+ enum btrfs_list_layout layot, int full_path,
+ const char *raw_prefix);
int btrfs_list_find_updated_files(int fd, u64 root_id, u64 oldest_gen);
int btrfs_list_get_default_subvolume(int fd, u64 *default_id);
char *btrfs_list_path_for_root(int fd, u64 root);
int btrfs_list_get_path_rootid(int fd, u64 *treeid);
int btrfs_get_subvol(int fd, struct root_info *the_ri);
+int btrfs_get_toplevel_subvol(int fd, struct root_info *the_ri);
#endif