aboutsummaryrefslogtreecommitdiff
path: root/ubifs-utils/libubifs/ubifs.h
diff options
context:
space:
mode:
Diffstat (limited to 'ubifs-utils/libubifs/ubifs.h')
-rw-r--r--ubifs-utils/libubifs/ubifs.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/ubifs-utils/libubifs/ubifs.h b/ubifs-utils/libubifs/ubifs.h
index a4b05a6..0908a22 100644
--- a/ubifs-utils/libubifs/ubifs.h
+++ b/ubifs-utils/libubifs/ubifs.h
@@ -262,7 +262,36 @@ struct ubifs_gced_idx_leb {
};
/**
+ * struct inode - inode description.
+ * @uid: owner ID
+ * @gid: group ID
+ * @mode: access flags
+ * @nlink: number of hard links
+ * @inum: inode number
+ * @atime_sec: access time seconds
+ * @ctime_sec: creation time seconds
+ * @mtime_sec: modification time seconds
+ * @atime_nsec: access time nanoseconds
+ * @ctime_nsec: creation time nanoseconds
+ * @mtime_nsec: modification time nanoseconds
+ */
+struct inode {
+ unsigned int uid;
+ unsigned int gid;
+ unsigned int mode;
+ unsigned int nlink;
+ ino_t inum;
+ unsigned long long atime_sec;
+ unsigned long long ctime_sec;
+ unsigned long long mtime_sec;
+ unsigned int atime_nsec;
+ unsigned int ctime_nsec;
+ unsigned int mtime_nsec;
+};
+
+/**
* struct ubifs_inode - UBIFS in-memory inode description.
+ * @vfs_inode: VFS inode description object
* @creat_sqnum: sequence number at time of creation
* @xattr_size: summarized size of all extended attributes in bytes
* @xattr_cnt: count of extended attributes this inode has
@@ -275,6 +304,7 @@ struct ubifs_gced_idx_leb {
* @data: inode's data
*/
struct ubifs_inode {
+ struct inode vfs_inode;
unsigned long long creat_sqnum;
unsigned int xattr_size;
unsigned int xattr_cnt;
@@ -1640,6 +1670,10 @@ int ubifs_consolidate_log(struct ubifs_info *c);
/* journal.c */
int ubifs_get_dent_type(int mode);
+int ubifs_jnl_update_file(struct ubifs_info *c,
+ const struct ubifs_inode *dir_ui,
+ const struct fscrypt_name *nm,
+ const struct ubifs_inode *ui);
/* budget.c */
int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req);
@@ -1823,6 +1857,17 @@ const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c);
const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c);
int ubifs_calc_dark(const struct ubifs_info *c, int spc);
+/* dir.c */
+struct ubifs_inode *ubifs_lookup_by_inum(struct ubifs_info *c, ino_t inum);
+struct ubifs_inode *ubifs_lookup(struct ubifs_info *c,
+ struct ubifs_inode *dir_ui,
+ const struct fscrypt_name *nm);
+int ubifs_mkdir(struct ubifs_info *c, struct ubifs_inode *dir_ui,
+ const struct fscrypt_name *nm, unsigned int mode);
+int ubifs_link_recovery(struct ubifs_info *c, struct ubifs_inode *dir_ui,
+ struct ubifs_inode *ui, const struct fscrypt_name *nm);
+int ubifs_create_root(struct ubifs_info *c);
+
/* super.c */
int open_ubi(struct ubifs_info *c, const char *node);
void close_ubi(struct ubifs_info *c);