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/domain_id.h"
27 #include "rmw/localhost.h"
28 #include "rmw/macros.h"
29 #include "rmw/ret_types.h"
30 #include "rmw/security_options.h"
31 #include "rmw/visibility_control.h"
32 
34 
38 
41 {
43 
48  uint64_t instance_id;
52  size_t domain_id;
58  char * enclave;
59 
60  // TODO(wjwwood): replace with rmw_allocator_t when that refactor happens
64 
67 
73 
75 
103 rmw_ret_t
105 
107 
139 rmw_ret_t
141 
143 
164 rmw_ret_t
166 
167 #ifdef __cplusplus
168 }
169 #endif
170 
171 #endif // RMW__INIT_OPTIONS_H_
domain_id.h
rmw_init_options_t::allocator
rcutils_allocator_t allocator
Allocator used during internal allocation of init options, if needed.
Definition: init_options.h:62
RMW_PUBLIC
#define RMW_PUBLIC
Definition: visibility_control.h:48
rmw_init_options_t::localhost_only
rmw_localhost_only_t localhost_only
Enable localhost only.
Definition: init_options.h:56
rmw_init_options_t
Options structure used during rmw_init().
Definition: init_options.h:40
RMW_PUBLIC_TYPE
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:499
rmw_security_options_t
Definition: security_options.h:36
rmw_init_options_fini
rmw_ret_t rmw_init_options_fini(rmw_init_options_t *init_options)
Finalize the given init_options.
ret_types.h
macros.h
rmw_init_options_t::security_options
rmw_security_options_t security_options
Security options.
Definition: init_options.h:54
rmw_init_options_impl_t
struct rmw_init_options_impl_t rmw_init_options_impl_t
Implementation defined options structure used during rmw_init().
Definition: init_options.h:37
RMW_WARN_UNUSED
#define RMW_WARN_UNUSED
Indicate that a variable is not used, and prevent compiler from issuing warnings.
Definition: macros.h:24
localhost.h
rmw_localhost_only_t
enum RMW_PUBLIC_TYPE rmw_localhost_only_t rmw_localhost_only_t
Used to specify if the context can only communicate through localhost.
Definition: localhost.h:26
security_options.h
allocator.h
rmw_ret_t
int32_t rmw_ret_t
Return code for rmw functions.
Definition: ret_types.h:26
rmw_init_options_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.
visibility_control.h
rmw_init_options_t
struct RMW_PUBLIC_TYPE rmw_init_options_t rmw_init_options_t
Options structure used during rmw_init().
rmw_init_options_t::impl
rmw_init_options_impl_t * impl
Implementation defined init options.
Definition: init_options.h:65
rcutils_allocator_t
rmw_init_options_t::enclave
char * enclave
Enclave, name used to find security artifacts in a sros2 keystore.
Definition: init_options.h:58
rmw_init_options_copy
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.
rmw_init_options_t::instance_id
uint64_t instance_id
Locally (process local) unique ID that represents this init/shutdown cycle.
Definition: init_options.h:48
rmw_init_options_t::implementation_identifier
const char * implementation_identifier
Implementation identifier, used to ensure two different implementations are not being mixed.
Definition: init_options.h:50
rmw_init_options_t::domain_id
size_t domain_id
ROS domain id.
Definition: init_options.h:52
rmw_get_zero_initialized_init_options
rmw_init_options_t rmw_get_zero_initialized_init_options(void)
Return a zero initialized init options structure.