X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-util_8h-source.html;fp=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-util_8h-source.html;h=23591520dc5931bf6ab7de92f5622046ce656f57;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/misc/decoder_test/XED2/doc/html/xed-util_8h-source.html b/misc/decoder_test/XED2/doc/html/xed-util_8h-source.html new file mode 100644 index 0000000..2359152 --- /dev/null +++ b/misc/decoder_test/XED2/doc/html/xed-util_8h-source.html @@ -0,0 +1,257 @@ + + +XED2: XED2 User Guide - Thu May 15 03:15:09 2008 + + + + +
+
+
+
+

xed-util.h

Go to the documentation of this file.
00001 /*BEGIN_LEGAL 
+00002 Copyright (c) 2007, Intel Corp.
+00003 All rights reserved.
+00004 
+00005 Redistribution and use in source and binary forms, with or without
+00006 modification, are permitted provided that the following conditions are
+00007 met:
+00008 
+00009     * Redistributions of source code must retain the above copyright
+00010       notice, this list of conditions and the following disclaimer.
+00011 
+00012     * Redistributions in binary form must reproduce the above
+00013       copyright notice, this list of conditions and the following
+00014       disclaimer in the documentation and/or other materials provided
+00015       with the distribution.
+00016 
+00017     * Neither the name of Intel Corporation nor the names of its
+00018       contributors may be used to endorse or promote products derived
+00019       from this software without specific prior written permission.
+00020 
+00021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+00022 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+00023 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+00024 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+00025 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+00026 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+00027 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+00028 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+00029 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+00030 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+00031 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+00032 END_LEGAL */
+00035 
+00036 
+00037 
+00038 #ifndef _XED_UTIL_H_
+00039 # define _XED_UTIL_H_
+00040 
+00041 #include "xed-common-hdrs.h"
+00042 #include "xed-types.h"
+00043 #include "xed-portability.h"
+00044 
+00045   
+00047 // DEFINES
+00049 extern int xed_verbose;
+00050 #if defined(XED_MESSAGES)
+00051 # include <stdio.h> // only with XED_MESSAGES defined
+00052 extern  FILE* xed_log_file;
+00053 #endif
+00054 #define XED_EMIT_MESSAGES  (XED_MESSAGES==1 && xed_verbose >= 1)
+00055 #define XED_INFO_VERBOSE   (XED_MESSAGES==1 && xed_verbose >= 2)
+00056 #define XED_INFO2_VERBOSE  (XED_MESSAGES==1 && xed_verbose >= 3)
+00057 #define XED_VERBOSE        (XED_MESSAGES==1 && xed_verbose >= 4)
+00058 #define XED_MORE_VERBOSE   (XED_MESSAGES==1 && xed_verbose >= 5)
+00059 #define XED_VERY_VERBOSE   (XED_MESSAGES==1 && xed_verbose >= 6)
+00060 
+00061 #if defined(__GNUC__)
+00062 # define XED_FUNCNAME __func__
+00063 #else
+00064 # define XED_FUNCNAME ""
+00065 #endif
+00066 
+00067 #if XED_MESSAGES==1
+00068 #define XED2IMSG(x)                                             \
+00069     do {                                                        \
+00070         if (XED_EMIT_MESSAGES) {                                \
+00071             if (XED_VERY_VERBOSE) {                             \
+00072                 fprintf(xed_log_file,"%s:%d:%s: ",              \
+00073                         __FILE__, __LINE__, XED_FUNCNAME);      \
+00074             }                                                   \
+00075             fprintf x;                                          \
+00076             fflush(xed_log_file);                               \
+00077         }                                                       \
+00078     } while(0)
+00079 
+00080 #define XED2TMSG(x)                                             \
+00081     do {                                                        \
+00082         if (XED_VERBOSE) {                                      \
+00083             if (XED_VERY_VERBOSE) {                             \
+00084                 fprintf(xed_log_file,"%s:%d:%s: ",              \
+00085                         __FILE__, __LINE__, XED_FUNCNAME);      \
+00086             }                                                   \
+00087             fprintf x;                                          \
+00088             fflush(xed_log_file);                               \
+00089         }                                                       \
+00090     } while(0)
+00091 
+00092 #define XED2VMSG(x)                                             \
+00093     do {                                                        \
+00094         if (XED_VERY_VERBOSE) {                                 \
+00095             fprintf(xed_log_file,"%s:%d:%s: ",                  \
+00096                     __FILE__, __LINE__, XED_FUNCNAME);          \
+00097             fprintf x;                                          \
+00098             fflush(xed_log_file);                               \
+00099         }                                                       \
+00100     } while(0)
+00101 
+00102 #define XED2DIE(x)                                              \
+00103     do {                                                        \
+00104         if (XED_EMIT_MESSAGES) {                                \
+00105             fprintf(xed_log_file,"%s:%d:%s: ",                  \
+00106                              __FILE__, __LINE__, XED_FUNCNAME); \
+00107             fprintf x;                                          \
+00108             fflush(xed_log_file);                               \
+00109         }                                                       \
+00110         xed_assert(0);                                          \
+00111     } while(0)
+00112 
+00113 
+00114 
+00115 #else
+00116 # define XED2IMSG(x) 
+00117 # define XED2TMSG(x)
+00118 # define XED2VMSG(x)
+00119 # define XED2DIE(x) do { xed_assert(0); } while(0)
+00120 #endif
+00121 
+00122 #if defined(XED_ASSERTS)
+00123 #  define xed_assert(x)  do { if (( x )== 0) xed_internal_assert( #x, __FILE__, __LINE__); } while(0) 
+00124 #else
+00125 #  define xed_assert(x)  do {  } while(0) 
+00126 #endif
+00127 XED_NORETURN XED_NOINLINE XED_DLL_EXPORT void xed_internal_assert(const char* s, const char* file, int line);
+00128 
+00148 XED_DLL_EXPORT void xed_register_abort_function(void (*fn)(const char* msg,
+00149                                                            const char* file, int line, void* other),
+00150                                                 void* other);
+00151 
+00152 
+00154 // PROTOTYPES
+00156 char* xed_downcase_buf(char* s);
+00157 
+00158 int xed_itoa(char* buf, xed_uint64_t f, int buflen);
+00159 int xed_itoa_hex_zeros(char* buf, xed_uint64_t f, xed_uint_t xed_bits_to_print, xed_bool_t leading_zeros, int buflen);
+00160 int xed_itoa_hex(char* buf, xed_uint64_t f, xed_uint_t xed_bits_to_print, int buflen);
+00161 int xed_itoa_signed(char* buf, xed_int64_t f, int buflen);
+00162 
+00163 char xed_to_ascii_hex_nibble(xed_uint_t x);
+00164 
+00165 int xed_sprintf_uint8_hex(char* buf, xed_uint8_t x, int buflen);
+00166 int xed_sprintf_uint16_hex(char* buf, xed_uint16_t x, int buflen);
+00167 int xed_sprintf_uint32_hex(char* buf, xed_uint32_t x, int buflen);
+00168 int xed_sprintf_uint64_hex(char* buf, xed_uint64_t x, int buflen);
+00169 int xed_sprintf_uint8(char* buf, xed_uint8_t x, int buflen);
+00170 int xed_sprintf_uint16(char* buf, xed_uint16_t x, int buflen);
+00171 int xed_sprintf_uint32(char* buf, xed_uint32_t x, int buflen);
+00172 int xed_sprintf_uint64(char* buf, xed_uint64_t x, int buflen);
+00173 int xed_sprintf_int8(char* buf, xed_int8_t x, int buflen);
+00174 int xed_sprintf_int16(char* buf, xed_int16_t x, int buflen);
+00175 int xed_sprintf_int32(char* buf, xed_int32_t x, int buflen);
+00176 int xed_sprintf_int64(char* buf, xed_int64_t x, int buflen);
+00177 
+00178 
+00180 XED_DLL_EXPORT void xed_set_log_file(FILE* o);
+00181 
+00182 
+00184 XED_DLL_EXPORT void xed_set_verbosity(int v);
+00185 
+00186 void xed_derror(const char* s);
+00187 void xed_dwarn(const char* s);
+00188 
+00189 XED_DLL_EXPORT xed_int64_t xed_sign_extend32_64(xed_int32_t x);
+00190 XED_DLL_EXPORT xed_int64_t xed_sign_extend16_64(xed_int16_t x);
+00191 XED_DLL_EXPORT xed_int64_t xed_sign_extend8_64(xed_int8_t x);
+00192 
+00193 XED_DLL_EXPORT xed_int32_t xed_sign_extend16_32(xed_int16_t x);
+00194 XED_DLL_EXPORT xed_int32_t xed_sign_extend8_32(xed_int8_t x);
+00195 
+00196 XED_DLL_EXPORT xed_int16_t xed_sign_extend8_16(xed_int8_t x);
+00197 
+00199 XED_DLL_EXPORT xed_int32_t xed_sign_extend_arbitrary_to_32(xed_uint32_t x, unsigned int bits);
+00200 
+00202 XED_DLL_EXPORT xed_int64_t xed_sign_extend_arbitrary_to_64(xed_uint64_t x, unsigned int bits);
+00203 
+00204 
+00205 XED_DLL_EXPORT xed_uint64_t xed_zero_extend32_64(xed_uint32_t x);
+00206 XED_DLL_EXPORT xed_uint64_t xed_zero_extend16_64(xed_uint16_t x);
+00207 XED_DLL_EXPORT xed_uint64_t xed_zero_extend8_64(xed_uint8_t x);
+00208 
+00209 XED_DLL_EXPORT xed_uint32_t xed_zero_extend16_32(xed_uint16_t x);
+00210 XED_DLL_EXPORT xed_uint32_t xed_zero_extend8_32(xed_uint8_t x);
+00211 
+00212 XED_DLL_EXPORT xed_uint16_t xed_zero_extend8_16(xed_uint8_t x);
+00213 
+00214 XED_DLL_EXPORT xed_int32_t 
+00215 xed_little_endian_to_int32(xed_uint64_t x, unsigned int len);
+00216 
+00217 XED_DLL_EXPORT xed_int64_t 
+00218 xed_little_endian_to_int64(xed_uint64_t x, unsigned int len);
+00219 XED_DLL_EXPORT xed_uint64_t 
+00220 xed_little_endian_to_uint64(xed_uint64_t x, unsigned int len);
+00221 
+00222 XED_DLL_EXPORT xed_int64_t 
+00223 xed_little_endian_hilo_to_int64(xed_uint32_t hi_le, xed_uint32_t lo_le, unsigned int len);
+00224 XED_DLL_EXPORT xed_uint64_t 
+00225 xed_little_endian_hilo_to_uint64(xed_uint32_t hi_le, xed_uint32_t lo_le, unsigned int len);
+00226 
+00227 XED_DLL_EXPORT xed_uint8_t
+00228 xed_get_byte(xed_uint64_t x, unsigned int i, unsigned int len);
+00229 
+00230 static XED_INLINE xed_uint64_t xed_make_uint64(xed_uint32_t hi, xed_uint32_t lo) {
+00231     xed_uint64_t x,y;
+00232     x=hi;
+00233     y= (x<<32) | lo;
+00234     return y;
+00235 }
+00236 static XED_INLINE xed_int64_t xed_make_int64(xed_uint32_t hi, xed_uint32_t lo) {
+00237     xed_uint64_t x,y;
+00238     x=hi;
+00239     y= (x<<32) | lo;
+00240     return STATIC_CAST(xed_int64_t,y);
+00241 }
+00242 
+00249 XED_DLL_EXPORT xed_uint_t xed_shortest_width_unsigned(xed_uint64_t x, xed_uint8_t legal_widths);
+00250 
+00256 XED_DLL_EXPORT xed_uint_t xed_shortest_width_signed(xed_int64_t x, xed_uint8_t legal_widths);
+00257 
+00259 // GLOBALS
+00261 
+00263 #endif
+00264 //Local Variables:
+00265 //pref: "../../xed-util.c"
+00266 //End:
+

Generated on Thu May 15 03:15:09 2008 for XED2 by  + +doxygen 1.4.6
+ +