PyObject_HEAD = [('ob_refcnt', c_size_t), ('ob_type', c_void_p)]


class XRangeType(Structure):
    _fields_ = PyObject_HEAD + [('start', c_long), ('step', c_long), ('len',
        c_long)]
range_obj = range(1, 11, 2)
c_range_obj = cast(c_void_p(id(range_obj)), POINTER(XRangeType)).contents
print(c_range_obj.start, c_range_obj.step, c_range_obj.len)
Accessing xrange internal structure