in pyignite/datatypes/primitive_arrays.py [0:0]
def build_c_type(cls, stream):
length = int.from_bytes(
stream.slice(stream.tell() + ctypes.sizeof(ctypes.c_byte), ctypes.sizeof(ctypes.c_int)),
byteorder=PROTOCOL_BYTE_ORDER
)
return type(
cls.__name__,
(ctypes.LittleEndianStructure,),
{
'_pack_': 1,
'_fields_': [
('type_code', ctypes.c_byte),
('length', ctypes.c_int),
('data', cls.primitive_type.c_type * length),
],
}
)