Fix compile warnings for 16 bit machines
[lwext4.git] / lwext4 / ext4_types.h
index 62d0fb6f59e49d60018fc4d9acb7f20004ab69ca..cdd298f20c596bbb7570caac2200c8528cc0642c 100644 (file)
@@ -44,7 +44,7 @@
 
 #include "ext4_config.h"
 #include "ext4_blockdev.h"
-#include "ext4_rbtree.h"
+#include "tree.h"
 
 #include <stdint.h>
 
@@ -678,18 +678,27 @@ struct ext4_xattr_item {
        void  *data;
        size_t data_size;
 
-       struct ext4_rb_node node;
+       RB_ENTRY(ext4_xattr_item) node;
 };
 
 struct ext4_xattr_ref {
        bool block_loaded;
        struct ext4_block block;
        struct ext4_inode_ref *inode_ref;
-       struct ext4_rb_root root;
        bool   dirty;
+       size_t ea_size;
        struct ext4_fs *fs;
+
+       struct ext4_xattr_item *iter_from;
+
+       RB_HEAD(ext4_xattr_tree,
+               ext4_xattr_item) root;
 };
 
+#define EXT4_XATTR_ITERATE_CONT 0
+#define EXT4_XATTR_ITERATE_STOP 1
+#define EXT4_XATTR_ITERATE_PAUSE 2
+
 #define EXT4_GOOD_OLD_INODE_SIZE       128
 
 #define EXT4_XATTR_PAD_BITS            2
@@ -703,6 +712,8 @@ struct ext4_xattr_ref {
         (char *)(entry) + EXT4_XATTR_LEN((entry)->e_name_len)))
 #define EXT4_XATTR_SIZE(size) \
        (((size) + EXT4_XATTR_ROUND) & ~EXT4_XATTR_ROUND)
+#define EXT4_XATTR_NAME(entry) \
+       ((char *)((entry) + 1))
 
 #define EXT4_XATTR_IHDR(raw_inode) \
        ((struct ext4_xattr_ibody_header *) \