FLD_ARRAY|FLD_COUNT|FLD_OFFSET, TYP_NONE }, { NULL } }; #define UOFF(f) bitize(offsetof(xfs_dir2_inou_t, f)) const field_t dir2_inou_flds[] = { { "i8", FLDT_DIR2_INO8, OI(UOFF(i8)), dir2_inou_i8_count, FLD_COUNT, TYP_INODE }, { "i4", FLDT_DIR2_INO4, OI(UOFF(i4)), dir2_inou_i4_count, FLD_COUNT, TYP_INODE }, { NULL } }; #define HOFF(f) bitize(offsetof(xfs_dir2_sf_hdr_t, f)) const field_t dir2_sf_hdr_flds[] = { { "count", FLDT_UINT8D, OI(HOFF(count)), C1, 0, TYP_NONE }, { "i8count", FLDT_UINT8D, OI(HOFF(i8count)), C1, 0, TYP_NONE }, { "parent", FLDT_DIR2_INOU, OI(HOFF(parent)), C1, 0, TYP_NONE }, { NULL } }; #define EOFF(f) bitize(offsetof(xfs_dir2_sf_entry_t, f)) const field_t dir2_sf_entry_flds[] = { { "namelen", FLDT_UINT8D, OI(EOFF(namelen)), C1, 0, TYP_NONE }, { "offset", FLDT_DIR2_SF_OFF, OI(EOFF(offset)), C1, 0, TYP_NONE }, { "name", FLDT_CHARNS, OI(EOFF(name)), dir2_sf_entry_name_count, FLD_COUNT, TYP_NONE }, { "inumber", FLDT_DIR2_INOU, dir2_sf_entry_inumber_offset, C1, FLD_OFFSET, TYP_NONE }, { NULL } };
{ "inumber", FLDT_DIR_INO, OI(LNOFF(inumber)), C1, 0, TYP_INODE }, { "name", FLDT_CHARNS, OI(LNOFF(name)), dir_leaf_name_count, FLD_COUNT, TYP_NONE }, { NULL } }; #define EOFF(f) bitize(offsetof(xfs_da_node_entry_t, f)) const field_t dir_node_entry_flds[] = { { "hashval", FLDT_UINT32X, OI(EOFF(hashval)), C1, 0, TYP_NONE }, { "before", FLDT_DIRBLOCK, OI(EOFF(before)), C1, 0, TYP_INODATA }, { NULL } }; #define HOFF(f) bitize(offsetof(xfs_da_node_hdr_t, f)) const field_t dir_node_hdr_flds[] = { { "info", FLDT_DIR_BLKINFO, OI(HOFF(info)), C1, 0, TYP_NONE }, { "count", FLDT_UINT16D, OI(HOFF(count)), C1, 0, TYP_NONE }, { "level", FLDT_UINT16D, OI(HOFF(level)), C1, 0, TYP_NONE }, { NULL } }; /*ARGSUSED*/ static int dir_leaf_entries_count( void *obj, int startoff) { xfs_dir_leafblock_t *block; ASSERT(startoff == 0); block = obj;
static int attr_sf_entry_value_count(void *obj, int startoff); static int attr_sf_entry_value_offset(void *obj, int startoff, int idx); static int attr_shortform_list_count(void *obj, int startoff); static int attr_shortform_list_offset(void *obj, int startoff, int idx); #define OFF(f) bitize(offsetof(xfs_attr_shortform_t, f)) const field_t attr_shortform_flds[] = { { "hdr", FLDT_ATTR_SF_HDR, OI(OFF(hdr)), C1, 0, TYP_NONE }, { "list", FLDT_ATTR_SF_ENTRY, attr_shortform_list_offset, attr_shortform_list_count, FLD_ARRAY|FLD_COUNT|FLD_OFFSET, TYP_NONE }, { NULL } }; #define HOFF(f) bitize(offsetof(xfs_attr_sf_hdr_t, f)) const field_t attr_sf_hdr_flds[] = { { "totsize", FLDT_UINT16D, OI(HOFF(totsize)), C1, 0, TYP_NONE }, { "count", FLDT_UINT8D, OI(HOFF(count)), C1, 0, TYP_NONE }, { NULL } }; #define EOFF(f) bitize(offsetof(xfs_attr_sf_entry_t, f)) const field_t attr_sf_entry_flds[] = { { "namelen", FLDT_UINT8D, OI(EOFF(namelen)), C1, 0, TYP_NONE }, { "valuelen", FLDT_UINT8D, OI(EOFF(valuelen)), C1, 0, TYP_NONE }, { "flags", FLDT_UINT8X, OI(EOFF(flags)), C1, FLD_SKIPALL, TYP_NONE }, { "root", FLDT_UINT1, OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0, TYP_NONE }, { "secure", FLDT_UINT1, OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0, TYP_NONE },