Program Listing for File types.h

Return to documentation for file (include/rcl/types.h)

// Copyright 2014 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef RCL__TYPES_H_
#define RCL__TYPES_H_

#include <rmw/types.h>
#include <rcutils/types.h>

typedef rmw_ret_t rcl_ret_t;

#define RCL_RET_OK RMW_RET_OK
#define RCL_RET_ERROR RMW_RET_ERROR
#define RCL_RET_TIMEOUT RMW_RET_TIMEOUT
#define RCL_RET_BAD_ALLOC RMW_RET_BAD_ALLOC
#define RCL_RET_INVALID_ARGUMENT RMW_RET_INVALID_ARGUMENT
#define RCL_RET_UNSUPPORTED RMW_RET_UNSUPPORTED

// rcl specific ret codes start at 100
#define RCL_RET_ALREADY_INIT 100
#define RCL_RET_NOT_INIT 101
#define RCL_RET_MISMATCHED_RMW_ID 102
#define RCL_RET_TOPIC_NAME_INVALID 103
#define RCL_RET_SERVICE_NAME_INVALID 104
#define RCL_RET_UNKNOWN_SUBSTITUTION 105
#define RCL_RET_ALREADY_SHUTDOWN 106

// rcl node specific ret codes in 2XX
#define RCL_RET_NODE_INVALID 200
#define RCL_RET_NODE_INVALID_NAME 201
#define RCL_RET_NODE_INVALID_NAMESPACE 202
#define RCL_RET_NODE_NAME_NON_EXISTENT 203

// rcl publisher specific ret codes in 3XX
#define RCL_RET_PUBLISHER_INVALID 300

// rcl subscription specific ret codes in 4XX
#define RCL_RET_SUBSCRIPTION_INVALID 400
#define RCL_RET_SUBSCRIPTION_TAKE_FAILED 401

// rcl service client specific ret codes in 5XX
#define RCL_RET_CLIENT_INVALID 500
#define RCL_RET_CLIENT_TAKE_FAILED 501

// rcl service server specific ret codes in 6XX
#define RCL_RET_SERVICE_INVALID 600
#define RCL_RET_SERVICE_TAKE_FAILED 601

// rcl guard condition specific ret codes in 7XX

// rcl timer specific ret codes in 8XX
#define RCL_RET_TIMER_INVALID 800
#define RCL_RET_TIMER_CANCELED 801

// rcl wait and wait set specific ret codes in 9XX
#define RCL_RET_WAIT_SET_INVALID 900
#define RCL_RET_WAIT_SET_EMPTY 901
#define RCL_RET_WAIT_SET_FULL 902

// rcl argument parsing specific ret codes in 1XXX
#define RCL_RET_INVALID_REMAP_RULE 1001
#define RCL_RET_WRONG_LEXEME 1002
#define RCL_RET_INVALID_ROS_ARGS 1003
#define RCL_RET_INVALID_PARAM_RULE 1010
#define RCL_RET_INVALID_LOG_LEVEL_RULE 1020

// rcl event specific ret codes in 20XX
#define RCL_RET_EVENT_INVALID 2000
#define RCL_RET_EVENT_TAKE_FAILED 2001

#define RCL_RET_LIFECYCLE_STATE_REGISTERED 3000
#define RCL_RET_LIFECYCLE_STATE_NOT_REGISTERED 3001

typedef rmw_serialized_message_t rcl_serialized_message_t;

#endif  // RCL__TYPES_H_