00001
00002
00003
00004
00005
00006
00007
00008
00013 #ifndef _ATX_RESULTS_H_
00014 #define _ATX_RESULTS_H_
00015
00016
00017
00018
00019 #if defined(ATX_DEBUG)
00020 #include "AtxDebug.h"
00021 #define ATX_CHECK(_result) do {\
00022 ATX_Result _x = (_result); \
00023 if (_x != ATX_SUCCESS) { \
00024 ATX_Debug("%s(%d): @@@ ATX_CHECK failed, result=%d [%s]\n", __FILE__, __LINE__, _x, #_result); \
00025 return _x; \
00026 } \
00027 } while(0)
00028 #define ATX_CHECK_LABEL(_result, _label) do {\
00029 ATX_Result _x = (_result); \
00030 if (_x != ATX_SUCCESS) { \
00031 ATX_Debug("%s(%d): @@@ ATX_CHECK failed, result=%d [%s]\n", __FILE__, __LINE__, _x, #_result); \
00032 goto _label; \
00033 } \
00034 } while(0)
00035 #else
00036 #define ATX_CHECK(_result) do {\
00037 ATX_Result _x = (_result); \
00038 if (_x != ATX_SUCCESS) { \
00039 return _x; \
00040 } \
00041 } while(0)
00042 #define ATX_CHECK_LABEL(_result, _label) do {\
00043 ATX_Result _x = (_result); \
00044 if (_x != ATX_SUCCESS) { \
00045 goto _label; \
00046 } \
00047 } while(0)
00048 #endif
00049
00050 #define ATX_FAILED(result) ((result) != ATX_SUCCESS)
00051 #define ATX_SUCCEEDED(result) ((result) == ATX_SUCCESS)
00052
00053
00054
00055
00057 #define ATX_SUCCESS 0
00058
00060 #define ATX_FAILURE (-1)
00061
00062
00063 #ifndef ATX_ERROR_BASE
00064 #define ATX_ERROR_BASE (-10000)
00065 #endif
00066
00067 #define ATX_ERROR_BASE_GENERAL (ATX_ERROR_BASE-0)
00068 #define ATX_ERROR_OUT_OF_MEMORY (ATX_ERROR_BASE_GENERAL - 0)
00069 #define ATX_ERROR_OUT_OF_RESOURCES (ATX_ERROR_BASE_GENERAL - 1)
00070 #define ATX_ERROR_INTERNAL (ATX_ERROR_BASE_GENERAL - 2)
00071 #define ATX_ERROR_INVALID_PARAMETERS (ATX_ERROR_BASE_GENERAL - 3)
00072 #define ATX_ERROR_INVALID_STATE (ATX_ERROR_BASE_GENERAL - 4)
00073 #define ATX_ERROR_NOT_IMPLEMENTED (ATX_ERROR_BASE_GENERAL - 5)
00074 #define ATX_ERROR_OUT_OF_RANGE (ATX_ERROR_BASE_GENERAL - 6)
00075 #define ATX_ERROR_ACCESS_DENIED (ATX_ERROR_BASE_GENERAL - 7)
00076 #define ATX_ERROR_INVALID_SYNTAX (ATX_ERROR_BASE_GENERAL - 8)
00077 #define ATX_ERROR_NOT_SUPPORTED (ATX_ERROR_BASE_GENERAL - 9)
00078 #define ATX_ERROR_INVALID_FORMAT (ATX_ERROR_BASE_GENERAL - 10)
00079 #define ATX_ERROR_NOT_ENOUGH_SPACE (ATX_ERROR_BASE_GENERAL - 11)
00080 #define ATX_ERROR_NO_SUCH_ITEM (ATX_ERROR_BASE_GENERAL - 12)
00081 #define ATX_ERROR_OVERFLOW (ATX_ERROR_BASE_GENERAL - 13)
00082
00083
00084 #define ATX_ERROR_BASE_DEVICE (ATX_ERROR_BASE-100)
00085 #define ATX_ERROR_DEVICE_BUSY (ATX_ERROR_BASE_DEVICE - 0)
00086 #define ATX_ERROR_NO_SUCH_DEVICE (ATX_ERROR_BASE_DEVICE - 1)
00087 #define ATX_ERROR_OPEN_FAILED (ATX_ERROR_BASE_DEVICE - 2)
00088 #define ATX_ERROR_NO_MEDIUM (ATX_ERROR_BASE_DEVICE - 3)
00089
00090
00091 #define ATX_ERROR_BASE_INTERFACES (ATX_ERROR_BASE-200)
00092
00093
00094 #define ATX_ERROR_BASE_PROPERTIES (ATX_ERROR_BASE-300)
00095
00096
00097 #define ATX_ERROR_BASE_ITERATOR (ATX_ERROR_BASE-400)
00098
00099
00100 #define ATX_ERROR_BASE_BYTE_STREAM (ATX_ERROR_BASE-500)
00101
00102
00103 #define ATX_ERROR_BASE_SOCKETS (ATX_ERROR_BASE-600)
00104
00105
00106 #define ATX_ERROR_BASE_FILE (ATX_ERROR_BASE-700)
00107
00108
00109
00110
00111
00112 #define ATX_ERROR_BASE_ERRNO (ATX_ERROR_BASE-2000)
00113 #define ATX_ERROR_ERRNO(e) (ATX_ERROR_BASE_ERRNO - (e))
00114
00115 #endif
00116