Lines Matching refs:dentries

54 	struct dentry dentries = {
62 root_inode = make_directory(0, 1, &dentries, 1);
64 *dentries.inode = inode;
65 inode_set_permissions(inode, dentries.mode,
66 dentries.uid, dentries.gid, dentries.mtime);
77 struct dentry *dentries;
92 dentries = calloc(entries, sizeof(struct dentry));
93 if (dentries == NULL)
97 dentries[i].filename = strdup(namelist[i]->d_name);
98 if (dentries[i].filename == NULL)
101 asprintf(&dentries[i].path, "%s/%s", dir_path, namelist[i]->d_name);
102 asprintf(&dentries[i].full_path, "%s/%s", full_path, namelist[i]->d_name);
106 ret = lstat(dentries[i].full_path, &stat);
114 dentries[i].size = stat.st_size;
115 dentries[i].mode = stat.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO);
116 dentries[i].mtime = stat.st_mtime;
123 fs_config(dentries[i].path, dir, &uid, &gid, &mode);
124 dentries[i].mode = mode;
125 dentries[i].uid = uid;
126 dentries[i].gid = gid;
133 dentries[i].file_type = EXT4_FT_REG_FILE;
135 dentries[i].file_type = EXT4_FT_DIR;
138 dentries[i].file_type = EXT4_FT_CHRDEV;
140 dentries[i].file_type = EXT4_FT_BLKDEV;
142 dentries[i].file_type = EXT4_FT_FIFO;
144 dentries[i].file_type = EXT4_FT_SOCK;
146 dentries[i].file_type = EXT4_FT_SYMLINK;
147 dentries[i].link = calloc(info.block_size, 1);
148 readlink(dentries[i].full_path, dentries[i].link, info.block_size - 1);
150 error("unknown file type on %s", dentries[i].path);
157 inode = make_directory(dir_inode, entries, dentries, dirs);
160 if (dentries[i].file_type == EXT4_FT_REG_FILE) {
161 entry_inode = make_file(dentries[i].full_path, dentries[i].size);
162 } else if (dentries[i].file_type == EXT4_FT_DIR) {
163 entry_inode = build_directory_structure(dentries[i].full_path,
164 dentries[i].path, inode, android);
165 } else if (dentries[i].file_type == EXT4_FT_SYMLINK) {
166 entry_inode = make_link(dentries[i].full_path, dentries[i].link);
168 error("unknown file type on %s", dentries[i].path);
171 *dentries[i].inode = entry_inode;
173 ret = inode_set_permissions(entry_inode, dentries[i].mode,
174 dentries[i].uid, dentries[i].gid,
175 dentries[i].mtime);
177 error("failed to set permissions on %s\n", dentries[i].path);
179 free(dentries[i].path);
180 free(dentries[i].full_path);
181 free(dentries[i].link);
182 free((void *)dentries[i].filename);
185 free(dentries);