types.h
Go to the documentation of this file.
00001 /*
00002  *      Common Data Types for RP
00003  */
00004 
00005 #ifndef _INFRA_HAL_TYPES_H_
00006 #define _INFRA_HAL_TYPES_H_
00007 
00008 //Basic types
00009 //
00010 #ifdef WIN32
00011 
00012 //fake stdint.h for VC only
00013 
00014 typedef signed   char     int8_t;
00015 typedef unsigned char     uint8_t;
00016 
00017 typedef __int16           int16_t;
00018 typedef unsigned __int16  uint16_t;
00019 
00020 typedef __int32           int32_t;
00021 typedef unsigned __int32  uint32_t;
00022 
00023 typedef __int64           int64_t;
00024 typedef unsigned __int64  uint64_t;
00025 
00026 
00027 #define RPMODULE_EXPORT  __declspec(dllexport)
00028 #define RPMODULE_IMPORT  __declspec(dllimport)
00029 
00030 #else
00031 
00032 #include <stdint.h>
00033 
00034 #define RPMODULE_EXPORT
00035 #define RPMODULE_IMPORT
00036 
00037 #endif
00038 
00039 
00040 //based on stdint.h
00041 typedef int8_t         _s8;
00042 typedef uint8_t        _u8;
00043 
00044 typedef int16_t        _s16;
00045 typedef uint16_t       _u16;
00046 
00047 typedef int32_t        _s32;
00048 typedef uint32_t       _u32;
00049 
00050 typedef int64_t        _s64;
00051 typedef uint64_t       _u64;
00052 
00053 #define __small_endian
00054 
00055 #ifndef __GNUC__
00056 #define __attribute__(x)
00057 #endif
00058 
00059 
00060 // The _word_size_t uses actual data bus width of the current CPU
00061 #ifdef _AVR_
00062 typedef _u8            _word_size_t;
00063 #define THREAD_PROC    
00064 #elif defined (WIN64)
00065 typedef _u64           _word_size_t;
00066 #define THREAD_PROC    __stdcall
00067 #elif defined (WIN32)
00068 typedef _u32           _word_size_t;
00069 #define THREAD_PROC    __stdcall
00070 #elif defined (__GNUC__)
00071 typedef unsigned long  _word_size_t;
00072 #define THREAD_PROC   
00073 #elif defined (__ICCARM__)
00074 typedef _u32            _word_size_t;
00075 #define THREAD_PROC  
00076 #endif
00077 
00078 
00079 
00080 #define __le 
00081 #define __be
00082 
00083 #define _multi_thread
00084 #define _single_thread
00085 
00086 typedef uint32_t u_result;
00087 
00088 #define RESULT_OK                       0
00089 #define RESULT_FAIL_BIT                 0x80000000
00090 #define RESULT_ALREADY_DONE             0x20
00091 #define RESULT_INVALID_DATA             (0x8000 | RESULT_FAIL_BIT)
00092 #define RESULT_OPERATION_FAIL           (0x8001 | RESULT_FAIL_BIT)
00093 #define RESULT_OPERATION_TIMEOUT        (0x8002 | RESULT_FAIL_BIT)
00094 #define RESULT_OPERATION_STOP           (0x8003 | RESULT_FAIL_BIT)
00095 #define RESULT_OPERATION_NOT_SUPPORT    (0x8004 | RESULT_FAIL_BIT)
00096 #define RESULT_FORMAT_NOT_SUPPORT       (0x8005 | RESULT_FAIL_BIT)
00097 #define RESULT_INSUFFICIENT_MEMORY      (0x8006 | RESULT_FAIL_BIT)
00098 #define RESULT_OPERATION_ABORTED        (0x8007 | RESULT_FAIL_BIT)
00099 #define RESULT_NOT_FOUND                (0x8008 | RESULT_FAIL_BIT)
00100 #define RESULT_RECONNECTING             (0x8009 | RESULT_FAIL_BIT)
00101 
00102 #define IS_OK(x)    ( ((x) & RESULT_FAIL_BIT) == 0 )
00103 #define IS_FAIL(x)  ( ((x) & RESULT_FAIL_BIT) )
00104 
00105 
00106 typedef _word_size_t (THREAD_PROC * thread_proc_t ) ( void * );
00107 
00108 
00109 #if defined (_BUILD_AS_DLL)
00110 #if defined (_BUILD_DLL_EXPORT)
00111 #define RPMODULE_IMPEXP  RPMODULE_EXPORT
00112 #else
00113 #define RPMODULE_IMPEXP  RPMODULE_IMPORT
00114 #endif
00115 #else
00116 #define RPMODULE_IMPEXP 
00117 #endif
00118 
00119 #endif


rplidar_ros
Author(s):
autogenerated on Mon Mar 18 2019 02:34:23