Lines Matching refs:attr

395 static inline u64 attr_ondisk_size(const struct ATTRIB *attr)
397 return attr->non_res ? ((attr->flags &
399 le64_to_cpu(attr->nres.total_size) :
400 le64_to_cpu(attr->nres.alloc_size))
401 : ALIGN(le32_to_cpu(attr->res.data_size), 8);
404 static inline u64 attr_size(const struct ATTRIB *attr)
406 return attr->non_res ? le64_to_cpu(attr->nres.data_size) :
407 le32_to_cpu(attr->res.data_size);
410 static inline bool is_attr_encrypted(const struct ATTRIB *attr)
412 return attr->flags & ATTR_FLAG_ENCRYPTED;
415 static inline bool is_attr_sparsed(const struct ATTRIB *attr)
417 return attr->flags & ATTR_FLAG_SPARSED;
420 static inline bool is_attr_compressed(const struct ATTRIB *attr)
422 return attr->flags & ATTR_FLAG_COMPRESSED;
425 static inline bool is_attr_ext(const struct ATTRIB *attr)
427 return attr->flags & (ATTR_FLAG_SPARSED | ATTR_FLAG_COMPRESSED);
430 static inline bool is_attr_indexed(const struct ATTRIB *attr)
432 return !attr->non_res && (attr->res.flags & RESIDENT_FLAG_INDEXED);
435 static inline __le16 const *attr_name(const struct ATTRIB *attr)
437 return Add2Ptr(attr, le16_to_cpu(attr->name_off));
440 static inline u64 attr_svcn(const struct ATTRIB *attr)
442 return attr->non_res ? le64_to_cpu(attr->nres.svcn) : 0;
449 static inline void *resident_data_ex(const struct ATTRIB *attr, u32 datasize)
454 if (attr->non_res)
457 asize = le32_to_cpu(attr->size);
458 off = le16_to_cpu(attr->res.data_off);
463 rsize = le32_to_cpu(attr->res.data_size);
467 return Add2Ptr(attr, off);
470 static inline void *resident_data(const struct ATTRIB *attr)
472 return Add2Ptr(attr, le16_to_cpu(attr->res.data_off));
475 static inline void *attr_run(const struct ATTRIB *attr)
477 return Add2Ptr(attr, le16_to_cpu(attr->nres.run_off));
536 /* Returns 0 if 'attr' has the same type and name. */
538 const struct ATTRIB *attr)
540 return le->type != attr->type || le->name_len != attr->name_len ||
543 Add2Ptr(attr, le16_to_cpu(attr->name_off)),