ROS 2 rclcpp + rcl - rolling  rolling-e7363f10
ROS 2 C++ Client Library with ROS Client Library
types.h
Go to the documentation of this file.
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 
16 
17 #ifndef RCL__TYPES_H_
18 #define RCL__TYPES_H_
19 
20 #include <rmw/ret_types.h>
21 #include <rmw/types.h>
22 #include <rcutils/types.h>
23 
25 typedef rmw_ret_t rcl_ret_t;
26 
28 #define RCL_RET_OK RMW_RET_OK
30 #define RCL_RET_ERROR RMW_RET_ERROR
32 #define RCL_RET_TIMEOUT RMW_RET_TIMEOUT
34 #define RCL_RET_BAD_ALLOC RMW_RET_BAD_ALLOC
36 #define RCL_RET_INVALID_ARGUMENT RMW_RET_INVALID_ARGUMENT
38 #define RCL_RET_UNSUPPORTED RMW_RET_UNSUPPORTED
39 
40 // rcl specific ret codes start at 100
42 #define RCL_RET_ALREADY_INIT 100
44 #define RCL_RET_NOT_INIT 101
46 #define RCL_RET_MISMATCHED_RMW_ID 102
48 #define RCL_RET_TOPIC_NAME_INVALID 103
50 #define RCL_RET_SERVICE_NAME_INVALID 104
52 #define RCL_RET_UNKNOWN_SUBSTITUTION 105
54 #define RCL_RET_ALREADY_SHUTDOWN 106
56 #define RCL_RET_NOT_FOUND 107
57 
58 // rcl node specific ret codes in 2XX
60 #define RCL_RET_NODE_INVALID 200
62 #define RCL_RET_NODE_INVALID_NAME 201
64 #define RCL_RET_NODE_INVALID_NAMESPACE 202
66 #define RCL_RET_NODE_NAME_NON_EXISTENT 203
67 
68 // rcl publisher specific ret codes in 3XX
70 #define RCL_RET_PUBLISHER_INVALID 300
71 
72 // rcl subscription specific ret codes in 4XX
74 #define RCL_RET_SUBSCRIPTION_INVALID 400
76 #define RCL_RET_SUBSCRIPTION_TAKE_FAILED 401
77 
78 // rcl service client specific ret codes in 5XX
80 #define RCL_RET_CLIENT_INVALID 500
82 #define RCL_RET_CLIENT_TAKE_FAILED 501
83 
84 // rcl service server specific ret codes in 6XX
86 #define RCL_RET_SERVICE_INVALID 600
88 #define RCL_RET_SERVICE_TAKE_FAILED 601
89 
90 // rcl guard condition specific ret codes in 7XX
91 
92 // rcl timer specific ret codes in 8XX
94 #define RCL_RET_TIMER_INVALID 800
96 #define RCL_RET_TIMER_CANCELED 801
97 
98 // rcl wait and wait set specific ret codes in 9XX
100 #define RCL_RET_WAIT_SET_INVALID 900
102 #define RCL_RET_WAIT_SET_EMPTY 901
104 #define RCL_RET_WAIT_SET_FULL 902
105 
106 // rcl argument parsing specific ret codes in 1XXX
108 #define RCL_RET_INVALID_REMAP_RULE 1001
110 #define RCL_RET_WRONG_LEXEME 1002
112 #define RCL_RET_INVALID_ROS_ARGS 1003
114 #define RCL_RET_INVALID_PARAM_RULE 1010
116 #define RCL_RET_INVALID_LOG_LEVEL_RULE 1020
117 
118 // rcl event specific ret codes in 20XX
120 #define RCL_RET_EVENT_INVALID 2000
122 #define RCL_RET_EVENT_TAKE_FAILED 2001
123 
126 #define RCL_RET_LIFECYCLE_STATE_REGISTERED 3000
128 #define RCL_RET_LIFECYCLE_STATE_NOT_REGISTERED 3001
129 
130 // rcl action specific ret codes in 40XX
132 #define RCL_RET_ACTION_NAME_INVALID 4000
134 #define RCL_RET_ACTION_NOT_TERMINATED_YET 4001
136 #define RCL_RET_ACTION_GOAL_ACCEPTED 4100
138 #define RCL_RET_ACTION_GOAL_REJECTED 4101
140 #define RCL_RET_ACTION_CLIENT_INVALID 4102
142 #define RCL_RET_ACTION_CLIENT_TAKE_FAILED 4103
144 #define RCL_RET_ACTION_SERVER_INVALID 4200
146 #define RCL_RET_ACTION_SERVER_TAKE_FAILED 4201
148 #define RCL_RET_ACTION_GOAL_HANDLE_INVALID 4300
150 #define RCL_RET_ACTION_GOAL_EVENT_INVALID 4301
151 
153 typedef rmw_serialized_message_t rcl_serialized_message_t;
154 
155 #endif // RCL__TYPES_H_
rmw_serialized_message_t rcl_serialized_message_t
typedef for rmw_serialized_message_t;
Definition: types.h:153
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
Definition: types.h:25