00001 #ifndef _util_h_defined_
00002 #define _util_h_defined_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 ARCH_COPYRIGHT_APACHE(util, h, "$URL: https://svn.apache.org/path/name/util.h $ $Id: util.h 0 09/28/2005 dlydick $");
00073
00074
00075
00076 extern rushort bytegames_getrs2(rushort *ptr2);
00077 extern ruint bytegames_getri4(ruint *ptr4);
00078 extern rulong bytegames_getrl8(rulong *ptr8);
00079
00080 extern rvoid bytegames_putrs2(rushort *ptr2, rushort val2);
00081 extern rvoid bytegames_putri4(ruint *ptr4, ruint val4);
00082 extern rvoid bytegames_putrl8(rulong *ptr8, rulong val8);
00083
00084 extern rushort bytegames_swap2(rushort val);
00085 extern ruint bytegames_swap4(ruint val);
00086
00087 extern rulong bytegames_swap8(rulong val);
00088 extern rulong bytegames_mix8(rulong val);
00089
00090 extern jlong bytegames_combine_jlong(jint msword, jint lsword);
00091 extern jdouble bytegames_combine_jdouble(jint msword, jint lsword);
00092
00093 extern rvoid bytegames_split_jlong(jlong splitlong,
00094 jint *msword,
00095 jint *lsword);
00096 extern rvoid bytegames_split_jdouble(jdouble splitdouble,
00097 jint *msword,
00098 jint *lsword);
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109 #ifdef ARCH_ODD_ADDRESS_SIGSEGV
00110 #define GETRS2(ptr) bytegames_getrs2(ptr)
00111 #define GETRI4(ptr) bytegames_getri4(ptr)
00112 #define GETRL8(ptr) bytegames_getrl8(ptr)
00113 #else
00114 #ifdef ARCH_BIG_ENDIAN
00115 #define GETRS2(ptr) (*(signed rushort *) ptr)
00116 #define GETRI4(ptr) (*(signed ruint *) ptr)
00117 #define GETRL8(ptr) (*(signed rulong *) ptr)
00118 #else
00119 #define GETRS2(ptr) bytegames_getrs2(ptr)
00120 #define GETRI4(ptr) bytegames_getri4(ptr)
00121 #define GETRL8(ptr) bytegames_getrl8(ptr)
00122 #endif
00123 #endif
00124
00125
00126 #ifdef ARCH_LITTLE_ENDIAN
00127
00128 #define MACHINE_JSHORT_SWAP(rsval) rsval = bytegames_swap2(rsval)
00129 #define MACHINE_JINT_SWAP(rival) rival = bytegames_swap4(rival)
00130 #define MACHINE_JLONG_SWAP(rlval) rlval = bytegames_swap8(rlval)
00131 #define MACHINE_JLONG_MIX(rlval) rlval = bytegames_mix8(rlval)
00132
00133 #define MACHINE_JSHORT_SWAP_PTR(prsval) *prsval = \
00134 bytegames_swap2(*prsval)
00135 #define MACHINE_JINT_SWAP_PTR(prival) *prival = \
00136 bytegames_swap4(*prival)
00137 #define MACHINE_JLONG_SWAP_PTR(prlval) *prlval = \
00138 bytegames_swap8(*prlval)
00139 #define MACHINE_JLONG_MIX_PTR(prlval) *prlval = \
00140 bytegames_mix8(*prlval)
00141
00142 #else
00143
00144
00145
00146
00147
00148
00149
00150
00151 #define MACHINE_JSHORT_SWAP(p1)
00152 #define MACHINE_JINT_SWAP(p1)
00153 #define MACHINE_JLONG_SWAP(p1)
00154 #define MACHINE_JLONG_MIX(p1)
00155
00156 #define MACHINE_JSHORT_SWAP_PTR(p1)
00157 #define MACHINE_JLONG_SWAP_PTR(p1)
00158 #define MACHINE_JLONG_MIX_PTR(p1)
00159
00160 #endif
00161
00162
00163
00164
00165 #ifndef I_AM_STDIO_C
00166 extern rvoid sysDbgMsg(jvm_debug_level_enum dml,
00167 rchar *fn,
00168 rchar *fmt,
00169 ...);
00170 extern rvoid sysErrMsg(rchar *fn, rchar *fmt, ...);
00171 extern rvoid sysErrMsgBfrFormat(rchar *bfr, rchar *fn, rchar *fmt, ...);
00172 extern rvoid sprintfLocal(rchar *bfr, rchar *fmt, ...);
00173 extern rvoid fprintfLocalStderr(rchar *fmt, ...);
00174 extern rvoid fprintfLocalStdout(rchar *fmt, ...);
00175 #endif
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189 extern rvoid argv_init(int argc, char **argv, char **envp);
00190
00191 extern rvoid argv_shutdown(rvoid);
00192
00193 extern rvoid argv_versionmsg(rvoid);
00194
00195 extern rvoid argv_copyrightmsg(rvoid);
00196
00197 extern rvoid argv_licensemsg(rvoid);
00198
00199 extern rvoid argv_helpmsg(rvoid);
00200
00201 extern rvoid argv_showmsg(rvoid);
00202
00203
00204
00205
00206 extern rvoid jvmutil_set_dml(jvm_debug_level_enum level);
00207 extern jvm_debug_level_enum jvmutil_get_dml(rvoid);
00208
00209 extern rvoid jvmutil_print_stack(jvm_thread_index thridx,
00210 rchar *pheader);
00211 extern rvoid jvmutil_print_stack_details(jvm_thread_index thridx,
00212 rchar *pheader);
00213 extern rvoid jvmutil_print_stack_locals(jvm_thread_index thridx,
00214 rchar *pheader);
00215 extern rvoid jvmutil_print_error_stack(jvm_thread_index thridx);
00216 extern rvoid jvmutil_print_exception_stack(jvm_thread_index thridx);
00217
00218
00219
00220
00221 extern rchar *manifest_get_main(rchar *mnfname);
00222
00223
00224
00225
00226 extern rvoid timeslice_shutdown(rvoid);
00227 extern jlong timeslice_get_thread_sleeptime(jvm_thread_index thridx);
00228 extern void *timeslice_run(void *dummy);
00229 extern rvoid timeslice_init(rvoid);
00230
00231
00232
00233
00234 extern rvoid tmparea_init(char **argv);
00235 extern const rchar *tmparea_get(rvoid);
00236 extern rvoid tmparea_shutdown(rvoid);
00237
00238 #endif
00239
00240
00241
00242