rcl  master
C API providing common ROS client library functionality.
logging_external_interface.h
1 // Copyright 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 RCL__LOGGING_EXTERNAL_INTERFACE_H_
16 #define RCL__LOGGING_EXTERNAL_INTERFACE_H_
17 
18 #include "rcl/macros.h"
19 #include "rcl/types.h"
20 #include "rcl/visibility_control.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
27 
43 RCL_PUBLIC
44 RCL_WARN_UNUSED
45 rcl_ret_t
46 rcl_logging_external_initialize(const char * config_file, rcutils_allocator_t allocator);
47 
49 
55 RCL_PUBLIC
56 RCL_WARN_UNUSED
57 rcl_ret_t
58 rcl_logging_external_shutdown();
59 
61 
68 RCL_PUBLIC
69 void
70 rcl_logging_external_log(int severity, const char * name, const char * msg);
71 
73 
84 RCL_PUBLIC
85 RCL_WARN_UNUSED
86 rcl_ret_t rcl_logging_external_set_logger_level(const char * name, int level);
87 
88 #ifdef __cplusplus
89 }
90 #endif
91 
92 #endif // RCL__LOGGING_EXTERNAL_INTERFACE_H_
rcutils_allocator_t