Lines Matching full:structure

39 static u64 value_read(int offset, int size, void *structure)  in value_read()  argument
42 case 1: return *(u8 *) (structure + offset); in value_read()
43 case 2: return be16_to_cpup((__be16 *) (structure + offset)); in value_read()
44 case 4: return be32_to_cpup((__be32 *) (structure + offset)); in value_read()
45 case 8: return be64_to_cpup((__be64 *) (structure + offset)); in value_read()
53 * ib_pack - Pack a structure into a buffer
54 * @desc:Array of structure field descriptions
56 * @structure:Structure to pack from
59 * ib_pack() packs a list of structure fields into a buffer,
64 void *structure, in ib_pack() argument
80 structure) << shift; in ib_pack()
97 structure) << shift; in ib_pack()
107 pr_warn("Structure field %s of size %d bits is not byte-aligned\n", in ib_pack()
114 structure + desc[i].struct_offset_bytes, in ib_pack()
126 static void value_write(int offset, int size, u64 val, void *structure) in value_write() argument
129 case 8: *( u8 *) (structure + offset) = val; break; in value_write()
130 case 16: *(__be16 *) (structure + offset) = cpu_to_be16(val); break; in value_write()
131 case 32: *(__be32 *) (structure + offset) = cpu_to_be32(val); break; in value_write()
132 case 64: *(__be64 *) (structure + offset) = cpu_to_be64(val); break; in value_write()
139 * ib_unpack - Unpack a buffer into a structure
140 * @desc:Array of structure field descriptions
143 * @structure:Structure to unpack into
145 * ib_pack() unpacks a list of structure fields from a buffer,
151 void *structure) in ib_unpack() argument
172 structure); in ib_unpack()
186 structure); in ib_unpack()
190 pr_warn("Structure field %s of size %d bits is not byte-aligned\n", in ib_unpack()
194 memcpy(structure + desc[i].struct_offset_bytes, in ib_unpack()