00001 /***************************************************************************** 00002 * Copyright (c) 1997-2007, Intel Corporation. 00003 * All rights reserved. This program and the accompanying materials 00004 * are made available under the terms of the Eclipse Public License v1.0 00005 * which accompanies this distribution, and is available at 00006 * http://www.eclipse.org/legal/epl-v10.html 00007 * 00008 * Contributors: 00009 * Intel Corporation - Initial API and implementation 00010 * 00011 * $Id$ 00012 *****************************************************************************/ 00013 00014 #ifndef __MRTE_RESULTS_H 00015 #define __MRTE_RESULTS_H 00016 00018 // Martini module lists for results 00019 #define MRTE_RESULT_MODULE_GENERAL 0x00 00020 #define MRTE_RESULT_MODULE_MPI 0x01 00021 #define MRTE_RESULT_MODULE_JPI 0x02 00022 #define MRTE_RESULT_MODULE_CPI 0x03 00023 #define MRTE_RESULT_MODULE_JIE 0x04 00024 #define MRTE_RESULT_MODULE_CIE 0x05 00025 #define MRTE_RESULT_MODULE_RTUTIL 0x06 00026 #define MRTE_RESULT_MODULE_CLASS_PARSER 0x07 00027 #define MRTE_RESULT_MODULE_HEAP 0x08 00028 #define MRTE_RESULT_MODULE_OSA 0x09 00029 00031 // macros for creating results 00032 #define MRTE_RESULT_FIRST_VALUE(module) ((module << 20) | 0x00000001) 00033 #define MRTE_ERROR_FIRST_VALUE(module) ((module << 20) | 0x80000001) 00034 00036 // macros for checking success/failure and getting the error code 00037 #define MRTE_SUCCEEDED(code) (((code) & MRTE_ERROR_FAIL) == MRTE_RESULT_OK) 00038 #define MRTE_FAILED(code) (((code) & MRTE_ERROR_FAIL) == MRTE_ERROR_FAIL) 00039 00040 typedef enum EResult 00041 { 00043 // success codes // 00045 MRTE_RESULT_OK = 0x00000000, 00046 00047 // general results - relevant to all MRTE modules 00048 MRTE_RESULT_END_OF_DATA = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_GENERAL), 00049 MRTE_RESULT_TRUE, 00050 MRTE_RESULT_FALSE, 00051 MRTE_RESULT_NOT_IMPLEMENTED, 00052 00053 // MPI specific success results 00054 MRTE_RESULT_PRV_INSTANTIATED = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_MPI), 00055 MRTE_RESULT_NO_EXTERNAL_CONTROL, 00056 00057 // CPI specific success results 00058 MRTE_RESULT_NEW_ALLOCATION = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_CPI), 00059 00060 // JIE specific success results 00061 MRTE_RESULT_ADDED_INSTRUCTION = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_JIE), 00062 MRTE_RESULT_NO_OPERAND, 00063 00064 // CIE specific success results 00065 00066 // RTUtil specific results 00067 MRTE_RESULT_ITERATION_STOPPED = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_RTUTIL), 00068 MRTE_RESULT_KEY_ALREADY_EXISTS, 00069 00070 // class parser specific results 00071 MRTE_RESULT_NO_MORE_METHODS = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_CLASS_PARSER), 00072 00073 // Heap specific results 00074 MRTE_RESULT_HEAP_PLACE_HOLDER = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_HEAP), 00075 00076 // OSA specific results 00077 MRTE_RESULT_OSA_PLACE_HOLDER = MRTE_RESULT_FIRST_VALUE(MRTE_RESULT_MODULE_OSA), 00078 00079 00080 00082 // error codes // 00084 00085 MRTE_ERROR_FAIL = 0x80000000, 00086 00087 // general errors - relevant to all MRTE modules 00088 MRTE_ERROR_ILLEGAL_ARGUMENT = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_GENERAL), 00089 MRTE_ERROR_NOT_SUPPORTED, 00090 MRTE_ERROR_OUT_OF_MEMORY, 00091 MRTE_ERROR_NULL_PTR, 00092 MRTE_ERROR_BUFFER_TOO_SHORT, 00093 MRTE_ERROR_FILE_NOT_FOUND, 00094 MRTE_ERROR_UNEXPECTED, 00095 MRTE_ERROR_LIBRARY_FAILURE, 00096 MRTE_ERROR_NOT_IMPLEMENTED, 00097 MRTE_ERROR_ILLEGAL_OPERATION, 00098 MRTE_ERROR_MODULE_NOT_INITIALIZED, 00099 MRTE_ERROR_READ_ONLY, 00100 00101 // MPI specific errors 00102 MRTE_ERROR_ILLEGAL_ID = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_MPI), 00103 MRTE_ERROR_EVENT_NOT_REGISTERED, // event is not registered 00104 MRTE_ERROR_CLIENT_NOT_REGISTERED, // client not registered 00105 MRTE_ERROR_CONFLICT, // conflict error 00106 MRTE_ERROR_METHOD_ID_NOT_FOUND, 00107 MRTE_ERROR_PHASE_FAILURE, 00108 MRTE_ERROR_PARTIAL_INFO, // not all requested data items were 00109 // retrieved 00110 MRTE_ERROR_MONITOR_INTERRUPT, // a wait operation on a monitor object 00111 // timed out 00112 00113 // CPI specific errors 00114 MRTE_ERROR_INTERFACE_FAILURE = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_CPI), 00115 00116 // JIE specific errors 00117 MRTE_ERROR_INSTRUMENTATION_NOT_NEEDED = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_JIE), 00118 MRTE_ERROR_UNABLE_TO_INSTRUMENT, 00119 MRTE_ERROR_ILLEGAL_TRY_BLOCK, 00120 MRTE_ERROR_OPERAND_MISMATCH, 00121 00122 // CIE specific results 00123 MRTE_ERROR_NO_MORE_METHODS = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_CIE), 00124 MRTE_ERROR_NO_MORE_CLASSES, 00125 MRTE_ERROR_NO_MORE_TYPESPECS, 00126 MRTE_ERROR_ADD_BEFORE_FIRST, 00127 MRTE_ERROR_ADD_AFTER_LAST, 00128 MRTE_ERROR_MODULE_NOT_LOADED, 00129 MRTE_ERROR_MODULE_LOADED, 00130 00131 00132 // RTUtil specific errors 00133 MRTE_ERROR_NOT_YET_INITIALIZED = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_RTUTIL), 00134 MRTE_ERROR_IN_ITERATOR, 00135 MRTE_ERROR_ALREADY_INITIALIZED, 00136 00137 // class parser specific results 00138 MRTE_ERROR_ILL_CLASS_FILE = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_CLASS_PARSER), 00139 00140 // heap profiler specific errors 00141 MRTE_ERROR_CLASS_NOT_FOUND = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_HEAP), 00142 MRTE_ERROR_CLASS_INFO_ERROR, 00143 MRTE_ERROR_HPR_SEND, 00144 MRTE_ERROR_ALREADY_CREATED, 00145 MRTE_ERROR_PIPE_ERROR, 00146 MRTE_ERROR_CONNECTION_ERROR, 00147 MRTE_ERROR_READ_ERROR, 00148 MRTE_ERROR_WRITE_ERROR, 00149 MRTE_ERROR_NO_MORE_GC_DATA, 00150 MRTE_ERROR_NO_MORE_GC_CLASS_DATA, 00151 MRTE_ERROR_DB_ERROR, 00152 MRTE_ERROR_NO_MORE_AGE_DATA, 00153 MRTE_ERROR_NO_MORE_AGE_CLASS_DATA, 00154 MRTE_ERROR_UNEXPECTED_HEADER, 00155 MRTE_ERROR_NO_MORE_TREE_DATA, 00156 00157 // OSA specific results 00158 MRTE_ERROR_OSA_FAILURE = MRTE_ERROR_FIRST_VALUE(MRTE_RESULT_MODULE_OSA), 00159 MRTE_ERROR_INVALID_HANDLE, 00160 MRTE_ERROR_MEMORY_MAP_FAIL, 00161 MRTE_ERROR_FILE_FAILURE 00162 00163 00164 } TResult; 00165 00166 #endif 00167 00168 00169 00170
(C) Copyright Intel Corporation 2007-2008. All Rights Reserved.
Generated on Thu Mar 6 15:07:54 2008 for Martini by