OSDN Git Service

f2fs_utils: Update for f2fs-tools 1.6.1
[android-x86/system-extras.git] / ext4_utils / allocate.h
index fb6e0f7..5c26792 100644 (file)
 #define EXT4_ALLOCATE_FAILED (u32)(~0)
 
 #include "ext4_utils.h"
-#include "ext4.h"
 
-struct block_allocation;
+struct region;
+
+struct region_list {
+       struct region *first;
+       struct region *last;
+       struct region *iter;
+       u32 partial_iter;
+};
+
+struct block_allocation {
+       struct region_list list;
+       struct region_list oob_list;
+       char* filename;
+       struct block_allocation* next;
+};
+
 
 void block_allocator_init();
 void block_allocator_free();
@@ -31,6 +45,7 @@ struct block_allocation *allocate_blocks(u32 len);
 int block_allocation_num_regions(struct block_allocation *alloc);
 int block_allocation_len(struct block_allocation *alloc);
 struct ext4_inode *get_inode(u32 inode);
+struct ext4_xattr_header *get_xattr_block_for_inode(struct ext4_inode *inode);
 void reduce_allocation(struct block_allocation *alloc, u32 len);
 u32 get_block(struct block_allocation *alloc, u32 block);
 u32 get_oob_block(struct block_allocation *alloc, u32 block);
@@ -41,6 +56,7 @@ u32 get_free_inodes(u32 bg);
 u32 reserve_inodes(int bg, u32 inodes);
 void add_directory(u32 inode);
 u16 get_directories(int bg);
+u16 get_bg_flags(int bg);
 void init_unused_inode_tables(void);
 u32 allocate_inode();
 void free_alloc(struct block_allocation *alloc);
@@ -53,5 +69,6 @@ void append_region(struct block_allocation *alloc,
        u32 block, u32 len, int bg);
 struct block_allocation *create_allocation();
 int append_oob_allocation(struct block_allocation *alloc, u32 len);
+void print_blocks(FILE* f, struct block_allocation *alloc);
 
 #endif