1 // SPDX-License-Identifier: MIT
3 * Copyright 2022-2023 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6 #ifndef SIDE_ATTRIBUTE_ABI_H
7 #define SIDE_ATTRIBUTE_ABI_H
10 #include <side/macros.h>
11 #include <side/endian.h>
13 #include <side/type-value-abi.h>
26 SIDE_ATTR_TYPE_FLOAT_BINARY16
,
27 SIDE_ATTR_TYPE_FLOAT_BINARY32
,
28 SIDE_ATTR_TYPE_FLOAT_BINARY64
,
29 SIDE_ATTR_TYPE_FLOAT_BINARY128
,
30 SIDE_ATTR_TYPE_STRING
,
32 _NR_SIDE_ATTR_TYPE
, /* Last entry. */
35 struct side_attr_value
{
36 side_enum_t(enum side_attr_type
, uint32_t) type
;
39 struct side_type_raw_string string_value
;
40 union side_integer_value integer_value
;
41 union side_float_value float_value
;
45 side_check_size(struct side_attr_value
, 36);
48 const struct side_type_raw_string key
;
49 const struct side_attr_value value
;
51 side_check_size(struct side_attr
, 54);
53 #endif /* SIDE_ATTRIBUTE_ABI_H */