rcl  master
C API providing common ROS client library functionality.
types.h
1 // Copyright 2014 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__TYPES_H_
16 #define RCL__TYPES_H_
17 
18 #include <rmw/types.h>
19 
20 typedef rmw_ret_t rcl_ret_t;
22 #define RCL_RET_OK RMW_RET_OK
23 #define RCL_RET_ERROR RMW_RET_ERROR
25 #define RCL_RET_TIMEOUT RMW_RET_TIMEOUT
27 #define RCL_RET_BAD_ALLOC RMW_RET_BAD_ALLOC
29 #define RCL_RET_INVALID_ARGUMENT RMW_RET_INVALID_ARGUMENT
31 #define RCL_RET_UNSUPPORTED RMW_RET_UNSUPPORTED
33 
34 // rcl specific ret codes start at 100
36 #define RCL_RET_ALREADY_INIT 100
37 #define RCL_RET_NOT_INIT 101
39 #define RCL_RET_MISMATCHED_RMW_ID 102
41 #define RCL_RET_TOPIC_NAME_INVALID 103
43 #define RCL_RET_SERVICE_NAME_INVALID 104
45 #define RCL_RET_UNKNOWN_SUBSTITUTION 105
47 #define RCL_RET_ALREADY_SHUTDOWN 106
49 
50 // rcl node specific ret codes in 2XX
52 #define RCL_RET_NODE_INVALID 200
53 #define RCL_RET_NODE_INVALID_NAME 201
54 #define RCL_RET_NODE_INVALID_NAMESPACE 202
55 #define RCL_RET_NODE_NAME_NON_EXISTENT 203
57 
58 // rcl publisher specific ret codes in 3XX
60 #define RCL_RET_PUBLISHER_INVALID 300
61 
62 // rcl subscription specific ret codes in 4XX
64 #define RCL_RET_SUBSCRIPTION_INVALID 400
65 #define RCL_RET_SUBSCRIPTION_TAKE_FAILED 401
67 
68 // rcl service client specific ret codes in 5XX
70 #define RCL_RET_CLIENT_INVALID 500
71 #define RCL_RET_CLIENT_TAKE_FAILED 501
73 
74 // rcl service server specific ret codes in 6XX
76 #define RCL_RET_SERVICE_INVALID 600
77 #define RCL_RET_SERVICE_TAKE_FAILED 601
79 
80 // rcl guard condition specific ret codes in 7XX
81 
82 // rcl timer specific ret codes in 8XX
84 #define RCL_RET_TIMER_INVALID 800
85 #define RCL_RET_TIMER_CANCELED 801
87 
88 // rcl wait and wait set specific ret codes in 9XX
90 #define RCL_RET_WAIT_SET_INVALID 900
91 #define RCL_RET_WAIT_SET_EMPTY 901
93 #define RCL_RET_WAIT_SET_FULL 902
95 
96 // rcl argument parsing specific ret codes in 1XXX
98 #define RCL_RET_INVALID_REMAP_RULE 1001
99 #define RCL_RET_WRONG_LEXEME 1002
101 #define RCL_RET_INVALID_ROS_ARGS 1003
103 #define RCL_RET_INVALID_PARAM_RULE 1010
105 #define RCL_RET_INVALID_LOG_LEVEL_RULE 1020
107 
108 // rcl event specific ret codes in 20XX
110 #define RCL_RET_EVENT_INVALID 2000
111 #define RCL_RET_EVENT_TAKE_FAILED 2001
113 
116 
117 #endif // RCL__TYPES_H_
rcutils_uint8_array_t
rmw_ret_t
int32_t rmw_ret_t
types.h