#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,
* @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);
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_ */
/**