iceoryx_binding_c  2.0.2
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];
39 
40 typedef struct
41 {
42  // only size for pointer is necessary
43  uint64_t do_not_touch_me[1];
45 
46 typedef struct
47 {
48  // only size for pointer is necessary
49  uint64_t do_not_touch_me[1];
51 
52 typedef struct
53 {
54  // only size for pointer is necessary
55  uint64_t do_not_touch_me[1];
57 
58 typedef struct
59 {
60  // only size for pointer is necessary
61  uint64_t do_not_touch_me[1];
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];
70 
72 typedef struct
73 {
74  // only size for pointer is necessary
75  uint64_t do_not_touch_me[1];
77 
79 typedef struct
80 {
81  // only size for pointer is necessary
82  uint64_t do_not_touch_me[1];
84 
86 typedef struct
87 {
88  // only size for pointer is necessary
89  uint64_t do_not_touch_me[1];
91 
92 #endif
handle of the chunk header
Definition: types.h:66
has exactly the size required to store the underlying object of iox_client_t
Definition: types.h:73
Definition: types.h:59
Definition: types.h:53
has exactly the size required to store the underlying object of iox_server_t
Definition: types.h:80
has exactly the size required to store the underlying object of iox_service_discovery_t
Definition: types.h:87
Definition: types.h:47
Definition: types.h:41
Definition: types.h:35