00001 /* 00002 * Copyright (c) 2011 SCHUNK GmbH & Co. KG 00003 * Copyright (c) 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA) 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 //====================================================================== 00046 //====================================================================== 00047 00048 #ifndef SDH_COMPONENTS_SDH_RETURN_CODES_h_ 00049 #define SDH_COMPONENTS_SDH_RETURN_CODES_h_ 00050 00051 //---------------------------------------------------------------------- 00052 // System Includes - include with <> 00053 //---------------------------------------------------------------------- 00054 00055 00056 //---------------------------------------------------------------------- 00057 // Project Includes - include with "" 00058 //---------------------------------------------------------------------- 00059 00060 00061 //---------------------------------------------------------------------- 00062 // Defines, enums, unions, structs 00063 //---------------------------------------------------------------------- 00064 00065 // since this file is included by other compilers which dont understand 00066 // attributes we can only use it if SDH__attribute__ is not yet defined 00067 #ifndef SDH__attribute__ 00068 # define SDH__attribute__( ... ) __attribute__(__VA_ARGS__) 00069 #endif 00070 00071 #ifndef SDH_USE_VCC 00072 # define SDH_USE_VCC 0 00073 #endif 00074 00075 00076 #if SDH_USE_VCC 00077 #pragma pack(push,1) // for VCC (MS Visual Studio) we have to set the necessary 1 byte packing with this pragma 00078 #endif 00079 00089 enum eReturnCodeEnum 00090 { 00091 RC_OK = 0, 00092 RC_NOT_AVAILABLE, 00093 RC_NOT_INITIALIZED, 00094 RC_ALREADY_RUNNING, 00095 RC_FEATURE_NOT_SUPPORTED, 00096 RC_INCONSISTENT_DATA, 00097 RC_TIMEOUT, 00098 RC_READ_ERROR, 00099 RC_WRITE_ERROR, 00100 RC_INSUFFICIENT_RESOURCES, 00101 RC_CHECKSUM_ERROR, 00102 RC_NOT_ENOUGH_PARAMS, 00103 RC_NO_PARAMS_EXPECTED, 00104 RC_CMD_UNKNOWN, 00105 RC_CMD_FORMAT_ERROR, 00106 RC_ACCESS_DENIED, 00107 RC_ALREADY_OPEN, 00108 RC_CMD_FAILED, 00109 RC_CMD_ABORTED, 00110 RC_INVALID_HANDLE, 00111 RC_DEVICE_NOT_FOUND, 00112 RC_DEVICE_NOT_OPENED, 00113 RC_IO_ERROR, 00114 RC_INVALID_PARAMETER, 00115 RC_RANGE_ERROR, 00116 RC_NO_DATAPIPE, 00117 RC_INDEX_OUT_OF_BOUNDS, 00118 RC_HOMING_ERROR, 00119 RC_AXIS_DISABLED, 00120 RC_OVER_TEMPERATURE, 00121 RC_MAX_COMMANDS_EXCEEDED, 00122 RC_INVALID_PASSWORD, 00123 RC_MAX_COMMANDLINE_EXCEEDED, 00124 RC_CRC_ERROR, 00125 RC_NO_COMMAND, 00126 00127 RC_INTERNAL, 00128 RC_UNKNOWN_ERROR, 00129 00130 // Dont forget to add new enums to ReturnCodeToString() too. 00131 RC_DIMENSION 00132 } SDH__attribute__((__packed__)); 00133 00135 typedef enum eReturnCodeEnum eReturnCode; 00136 00137 #if SDH_USE_VCC 00138 #pragma pack(pop) // for VCC (MS Visual Studio) restore normal packing 00139 #endif 00140 00141 //---------------------------------------------------------------------- 00142 // Global variables (declarations) 00143 //---------------------------------------------------------------------- 00144 00145 //---------------------------------------------------------------------- 00146 // External functions (function declarations) 00147 //---------------------------------------------------------------------- 00148 00149 //---------------------------------------------------------------------- 00150 // Function prototypes (function declarations) 00151 //---------------------------------------------------------------------- 00152 00153 00154 #endif 00155 00156 00157 //====================================================================== 00158 /* 00159 Here are some settings for the emacs/xemacs editor (and can be safely ignored): 00160 (e.g. to explicitely set C++ mode for *.h header files) 00161 00162 Local Variables: 00163 mode:C 00164 mode:ELSE 00165 End: 00166 */ 00167 //======================================================================