iceoryx_binding_c
2.0.5
Loading...
Searching...
No Matches
iceoryx_binding_c
types.h
1
// Copyright (c) 2020 by Robert Bosch GmbH. All rights reserved.
2
// Copyright (c) 2020 - 2022 Apex.AI Inc. All rights reserved.
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License");
5
// you may not use this file except in compliance with the License.
6
// You may obtain a copy of the License at
7
//
8
// http://www.apache.org/licenses/LICENSE-2.0
9
//
10
// Unless required by applicable law or agreed to in writing, software
11
// distributed under the License is distributed on an "AS IS" BASIS,
12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
// See the License for the specific language governing permissions and
14
// limitations under the License.
15
//
16
// SPDX-License-Identifier: Apache-2.0
17
18
#ifndef IOX_BINDING_C_TYPES_H
19
#define IOX_BINDING_C_TYPES_H
20
21
#include "internal/c2cpp_binding.h"
22
23
#define IOX_C_CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT 8
24
#define IOX_C_CHUNK_NO_USER_HEADER_SIZE 0
25
#define IOX_C_CHUNK_NO_USER_HEADER_ALIGNMENT 1
26
30
33
34
typedef
struct
35
{
36
// only size for pointer is necessary
37
uint64_t do_not_touch_me[1];
38
}
iox_ws_storage_t
;
39
40
typedef
struct
41
{
42
// only size for pointer is necessary
43
uint64_t do_not_touch_me[1];
44
}
iox_user_trigger_storage_t
;
45
46
typedef
struct
47
{
48
// only size for pointer is necessary
49
uint64_t do_not_touch_me[1];
50
}
iox_sub_storage_t
;
51
52
typedef
struct
53
{
54
// only size for pointer is necessary
55
uint64_t do_not_touch_me[1];
56
}
iox_pub_storage_t
;
57
58
typedef
struct
59
{
60
// only size for pointer is necessary
61
uint64_t do_not_touch_me[1];
62
}
iox_listener_storage_t
;
63
65
typedef
struct
66
{
67
// could be empty but then we get `struct has no members` warning
68
uint8_t do_not_touch_me[1];
69
}
iox_chunk_header_t
;
70
72
typedef
struct
73
{
74
// only size for pointer is necessary
75
uint64_t do_not_touch_me[1];
76
}
iox_client_storage_t
;
77
79
typedef
struct
80
{
81
// only size for pointer is necessary
82
uint64_t do_not_touch_me[1];
83
}
iox_server_storage_t
;
84
86
typedef
struct
87
{
88
// only size for pointer is necessary
89
uint64_t do_not_touch_me[1];
90
}
iox_service_discovery_storage_t
;
91
92
#endif
iox_chunk_header_t
handle of the chunk header
Definition
types.h:66
iox_client_storage_t
has exactly the size required to store the underlying object of iox_client_t
Definition
types.h:73
iox_listener_storage_t
Definition
types.h:59
iox_pub_storage_t
Definition
types.h:53
iox_server_storage_t
has exactly the size required to store the underlying object of iox_server_t
Definition
types.h:80
iox_service_discovery_storage_t
has exactly the size required to store the underlying object of iox_service_discovery_t
Definition
types.h:87
iox_sub_storage_t
Definition
types.h:47
iox_user_trigger_storage_t
Definition
types.h:41
iox_ws_storage_t
Definition
types.h:35
Generated by
1.9.8