Remove unneeded fwd declaration
[libside.git] / include / side / type-value-abi.h
CommitLineData
57553dfd
MD
1// SPDX-License-Identifier: MIT
2/*
3 * Copyright 2022-2023 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 */
5
6#ifndef SIDE_TYPE_VALUE_ABI_H
7#define SIDE_TYPE_VALUE_ABI_H
8
9#include <stdint.h>
10#include <side/macros.h>
11#include <side/endian.h>
12
13enum side_type_label_byte_order {
14 SIDE_TYPE_BYTE_ORDER_LE = 0,
15 SIDE_TYPE_BYTE_ORDER_BE = 1,
16};
17
18union side_integer_value {
19 uint8_t side_u8;
20 uint16_t side_u16;
21 uint32_t side_u32;
22 uint64_t side_u64;
23 int8_t side_s8;
24 int16_t side_s16;
25 int32_t side_s32;
26 int64_t side_s64;
27 uintptr_t side_uptr;
28 side_padding(32);
29} SIDE_PACKED;
30side_check_size(union side_integer_value, 32);
31
32union side_bool_value {
33 uint8_t side_bool8;
34 uint16_t side_bool16;
35 uint32_t side_bool32;
36 uint64_t side_bool64;
37 side_padding(32);
38} SIDE_PACKED;
39side_check_size(union side_bool_value, 32);
40
41union side_float_value {
42#if __HAVE_FLOAT16
43 _Float16 side_float_binary16;
44#endif
45#if __HAVE_FLOAT32
46 _Float32 side_float_binary32;
47#endif
48#if __HAVE_FLOAT64
49 _Float64 side_float_binary64;
50#endif
51#if __HAVE_FLOAT128
52 _Float128 side_float_binary128;
53#endif
54 side_padding(32);
55} SIDE_PACKED;
56side_check_size(union side_float_value, 32);
57
58struct side_type_raw_string {
59 side_ptr_t(const void) p; /* pointer to string */
60 uint8_t unit_size; /* 1, 2, or 4 bytes */
61 side_enum_t(enum side_type_label_byte_order, uint8_t) byte_order;
62} SIDE_PACKED;
63side_check_size(struct side_type_raw_string, 18);
64
65#endif /* SIDE_TYPE_VALUE_ABI_H */
This page took 0.025112 seconds and 4 git commands to generate.