Lines Matching refs:dent

37 static bool is_free(struct dirfile_entry *dent)  in is_free()  argument
39 assert(dent->oidlen || !dent->oid[0] || dent->oid[0] == OID_EMPTY_NAME); in is_free()
41 return !dent->oidlen && !dent->oid[0]; in is_free()
97 struct dirfile_entry *dent) in read_dent() argument
102 l = sizeof(*dent); in read_dent()
104 dent, &l); in read_dent()
105 if (!res && l != sizeof(*dent)) in read_dent()
112 struct dirfile_entry *dent) in write_dent() argument
116 res = dirh->fops->write(dirh->fh, sizeof(*dent) * n, dent, in write_dent()
117 sizeof(*dent)); in write_dent()
141 struct dirfile_entry dent = { }; in tee_fs_dirfile_open() local
143 res = read_dent(dirh, n, &dent); in tee_fs_dirfile_open()
150 if (is_free(&dent)) in tee_fs_dirfile_open()
153 if (test_file(dirh, dent.file_number)) { in tee_fs_dirfile_open()
155 dent.file_number); in tee_fs_dirfile_open()
156 memset(&dent, 0, sizeof(dent)); in tee_fs_dirfile_open()
157 res = write_dent(dirh, n, &dent); in tee_fs_dirfile_open()
163 res = set_file(dirh, dent.file_number); in tee_fs_dirfile_open()
216 struct dirfile_entry dent = { }; in tee_fs_dirfile_find() local
220 res = read_dent(dirh, n, &dent); in tee_fs_dirfile_find()
224 if (is_free(&dent)) in tee_fs_dirfile_find()
226 if (dent.oidlen != oidlen) in tee_fs_dirfile_find()
229 assert(test_file(dirh, dent.file_number)); in tee_fs_dirfile_find()
231 if (!memcmp(&dent.uuid, uuid, sizeof(dent.uuid)) && in tee_fs_dirfile_find()
232 !memcmp(&dent.oid, oid, oidlen)) in tee_fs_dirfile_find()
238 dfh->file_number = dent.file_number; in tee_fs_dirfile_find()
239 memcpy(dfh->hash, dent.hash, sizeof(dent.hash)); in tee_fs_dirfile_find()
247 struct dirfile_entry dent = { }; in find_empty_idx() local
252 res = read_dent(dh, n, &dent); in find_empty_idx()
257 if (is_free(&dent)) in find_empty_idx()
292 struct dirfile_entry dent = { }; in tee_fs_dirfile_rename() local
294 if (oidlen > sizeof(dent.oid)) in tee_fs_dirfile_rename()
296 memset(&dent, 0, sizeof(dent)); in tee_fs_dirfile_rename()
297 dent.uuid = *uuid; in tee_fs_dirfile_rename()
299 memcpy(dent.oid, oid, oidlen); in tee_fs_dirfile_rename()
301 dent.oid[0] = OID_EMPTY_NAME; in tee_fs_dirfile_rename()
303 dent.oidlen = oidlen; in tee_fs_dirfile_rename()
304 memcpy(dent.hash, dfh->hash, sizeof(dent.hash)); in tee_fs_dirfile_rename()
305 dent.file_number = dfh->file_number; in tee_fs_dirfile_rename()
320 return write_dent(dirh, dfh->idx, &dent); in tee_fs_dirfile_rename()
327 struct dirfile_entry dent = { }; in tee_fs_dirfile_remove() local
330 res = read_dent(dirh, dfh->idx, &dent); in tee_fs_dirfile_remove()
334 if (is_free(&dent)) in tee_fs_dirfile_remove()
337 file_number = dent.file_number; in tee_fs_dirfile_remove()
341 memset(&dent, 0, sizeof(dent)); in tee_fs_dirfile_remove()
342 res = write_dent(dirh, dfh->idx, &dent); in tee_fs_dirfile_remove()
353 struct dirfile_entry dent = { }; in tee_fs_dirfile_update_hash() local
355 res = read_dent(dirh, dfh->idx, &dent); in tee_fs_dirfile_update_hash()
358 assert(dent.file_number == dfh->file_number); in tee_fs_dirfile_update_hash()
359 assert(test_file(dirh, dent.file_number)); in tee_fs_dirfile_update_hash()
361 memcpy(&dent.hash, dfh->hash, sizeof(dent.hash)); in tee_fs_dirfile_update_hash()
363 return write_dent(dirh, dfh->idx, &dent); in tee_fs_dirfile_update_hash()
372 struct dirfile_entry dent = { }; in tee_fs_dirfile_get_next() local
378 res = read_dent(dirh, i, &dent); in tee_fs_dirfile_get_next()
381 if (!memcmp(&dent.uuid, uuid, sizeof(dent.uuid)) && in tee_fs_dirfile_get_next()
382 !is_free(&dent)) in tee_fs_dirfile_get_next()
386 if (*oidlen < dent.oidlen) in tee_fs_dirfile_get_next()
389 memcpy(oid, dent.oid, dent.oidlen); in tee_fs_dirfile_get_next()
390 *oidlen = dent.oidlen; in tee_fs_dirfile_get_next()