Add ph_blk_offset during every blockdev bread/bwrite
[lwext4.git] / lwext4 / ext4_dir_idx.h
index 299df277ae602b6bfbf5a8df9faf2502e36aba32..f47caec0a1738d0742d4c61258e88d476bf57f5d 100644 (file)
 #ifndef EXT4_DIR_IDX_H_
 #define EXT4_DIR_IDX_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "ext4_config.h"
 #include "ext4_types.h"
 
 
 /**@brief Initialize index structure of new directory.
  * @param dir Pointer to directory i-node
+ * @param dir Pointer to parent directory i-node
  * @return Error code
  */
-int ext4_dir_dx_init(struct ext4_inode_ref *dir);
+int ext4_dir_dx_init(struct ext4_inode_ref *dir,
+                    struct ext4_inode_ref *parent);
 
 /**@brief Try to find directory entry using directory index.
  * @param result    Output value - if entry will be found,
@@ -62,7 +68,7 @@ int ext4_dir_dx_init(struct ext4_inode_ref *dir);
  * @param name      Name to be found
  * @return Error code
  */
-int ext4_dir_dx_find_entry(struct ext4_directory_search_result *result,
+int ext4_dir_dx_find_entry(struct ext4_dir_search_result *result,
                           struct ext4_inode_ref *inode_ref, size_t name_len,
                           const char *name);
 
@@ -75,6 +81,18 @@ int ext4_dir_dx_find_entry(struct ext4_directory_search_result *result,
 int ext4_dir_dx_add_entry(struct ext4_inode_ref *parent,
                          struct ext4_inode_ref *child, const char *name);
 
+/**@brief Add new entry to indexed directory
+ * @param dir           Directory i-node
+ * @param parent_inode  parent inode index
+ * @return Error code
+ */
+int ext4_dir_dx_reset_parent_inode(struct ext4_inode_ref *dir,
+                                   uint32_t parent_inode);
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* EXT4_DIR_IDX_H_ */
 
 /**