rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
init_options.h
Go to the documentation of this file.
1 // Copyright 2014-2018 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RMW__INIT_OPTIONS_H_
16 #define RMW__INIT_OPTIONS_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include <stdint.h>
24 
25 #include "rcutils/allocator.h"
26 #include "rmw/macros.h"
27 #include "rmw/ret_types.h"
28 #include "rmw/visibility_control.h"
29 
31 
35 
38 {
40 
45  uint64_t instance_id;
48  // TODO(wjwwood): replace with rmw_allocator_t when that refactor happens
52 
55 
61 
63 
93 
95 
127 rmw_ret_t
129 
131 
152 rmw_ret_t
154 
155 #ifdef __cplusplus
156 }
157 #endif
158 
159 #endif // RMW__INIT_OPTIONS_H_
#define RMW_PUBLIC
Definition: visibility_control.h:48
rmw_ret_t rmw_init_options_fini(rmw_init_options_t *init_options)
Finalize the given init_options.
#define RMW_WARN_UNUSED
Definition: macros.h:22
rmw_init_options_impl_t * impl
Implementation defined init options.
Definition: init_options.h:53
const char * implementation_identifier
Implementation identifier, used to ensure two different implementations are not being mixed...
Definition: init_options.h:47
struct rmw_init_options_impl_t rmw_init_options_impl_t
Implementation defined options structure used during rmw_init().
Definition: init_options.h:34
uint64_t instance_id
Locally (process local) unique ID that represents this init/shutdown cycle.
Definition: init_options.h:45
#define RMW_PUBLIC_TYPE
Definition: visibility_control.h:51
Options structure used during rmw_init().
Definition: init_options.h:37
struct RMW_PUBLIC_TYPE rmw_init_options_t rmw_init_options_t
Options structure used during rmw_init().
rmw_ret_t rmw_init_options_init(rmw_init_options_t *init_options, rcutils_allocator_t allocator)
Initialize given init_options with the default values and implementation specific values...
rcutils_allocator_t allocator
Allocator used during internal allocation of init options, if needed.
Definition: init_options.h:50
rmw_ret_t rmw_init_options_copy(const rmw_init_options_t *src, rmw_init_options_t *dst)
Copy the given source init options to the destination init options.
int32_t rmw_ret_t
Definition: ret_types.h:25
rmw_init_options_t rmw_get_zero_initialized_init_options(void)
Return a zero initialized init options structure.