30#define DT_INTROSPECTION_VERSION 8
283 if(!(start && self &&
name && *
name))
return NULL;
296 if(!g_strcmp0((*iter)->header.field_name,
name))
299 size_t child_offset = (*iter)->header.offset;
300 size_t relative_offset = child_offset - parent_offset;
301 if(child) *child = *iter;
302 return (
void *)((
char *)start + relative_offset);
320 if(iter->value ==
value)
338 if(!g_strcmp0(iter->name,
name))
340 *
value = iter->value;
static const dt_aligned_pixel_simd_t value
static void * dt_introspection_access_array(dt_introspection_field_t *self, void *start, unsigned int element, dt_introspection_field_t **child)
static void * dt_introspection_get_child(dt_introspection_field_t *self, void *start, const char *name, dt_introspection_field_t **child)
static gboolean dt_introspection_get_enum_value(dt_introspection_field_t *self, const char *name, int *value)
@ DT_INTROSPECTION_TYPE_BOOL
@ DT_INTROSPECTION_TYPE_DOUBLE
@ DT_INTROSPECTION_TYPE_ENUM
@ DT_INTROSPECTION_TYPE_OPAQUE
@ DT_INTROSPECTION_TYPE_NONE
@ DT_INTROSPECTION_TYPE_ARRAY
@ DT_INTROSPECTION_TYPE_CHAR
@ DT_INTROSPECTION_TYPE_UINT8
@ DT_INTROSPECTION_TYPE_FLOAT
@ DT_INTROSPECTION_TYPE_SHORT
@ DT_INTROSPECTION_TYPE_LONG
@ DT_INTROSPECTION_TYPE_ULONG
@ DT_INTROSPECTION_TYPE_UNION
@ DT_INTROSPECTION_TYPE_UINT
@ DT_INTROSPECTION_TYPE_USHORT
@ DT_INTROSPECTION_TYPE_INT8
@ DT_INTROSPECTION_TYPE_STRUCT
@ DT_INTROSPECTION_TYPE_FLOATCOMPLEX
@ DT_INTROSPECTION_TYPE_INT
static const char * dt_introspection_get_enum_name(dt_introspection_field_t *self, int value)
dt_introspection_field_t * field
union dt_introspection_field_t * field
dt_introspection_type_header_t header
dt_introspection_type_t type
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_enum_tuple_t * values
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
union dt_introspection_field_t ** fields
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_header_t header
union dt_introspection_field_t ** fields
dt_introspection_type_header_t header
dt_introspection_type_header_t header
dt_introspection_type_long_t Long
dt_introspection_type_uint8_t UInt8
dt_introspection_type_ulong_t ULong
dt_introspection_type_float_complex_t FloatComplex
dt_introspection_type_header_t header
dt_introspection_type_ushort_t UShort
dt_introspection_type_float_t Float
dt_introspection_type_union_t Union
dt_introspection_type_bool_t Bool
dt_introspection_type_opaque_t Opaque
dt_introspection_type_uint_t UInt
dt_introspection_type_int_t Int
dt_introspection_type_short_t Short
dt_introspection_type_double_t Double
dt_introspection_type_char_t Char
dt_introspection_type_int8_t Int8
dt_introspection_type_array_t Array
dt_introspection_type_enum_t Enum
dt_introspection_type_struct_t Struct