From da2e7cfdc27b2c0e2eb53ca6bb9df3e50ece250b Mon Sep 17 00:00:00 2001 From: William Bourque Date: Tue, 20 Apr 2010 15:42:27 -0400 Subject: [PATCH] Removing whitespace/align errors --- ltt/Makefile.am | 1 - ltt/jni_interface.c | 353 ++++++++++++++++++------------------- ltt/lttvtraceread_loader.c | 208 ++-------------------- ltt/tracefile.c | 60 +++---- 4 files changed, 223 insertions(+), 399 deletions(-) diff --git a/ltt/Makefile.am b/ltt/Makefile.am index d3833c80..72657ac9 100644 --- a/ltt/Makefile.am +++ b/ltt/Makefile.am @@ -32,4 +32,3 @@ lttinclude_HEADERS = \ event.h\ marker-desc.h\ ltt-types.h - diff --git a/ltt/jni_interface.c b/ltt/jni_interface.c index 5cb970f9..b8765e61 100644 --- a/ltt/jni_interface.c +++ b/ltt/jni_interface.c @@ -31,7 +31,7 @@ #include #include -/* +/* ***FIXME*** ***HACK*** We've got hell of a problem passing "unsigned int64" to java, as there is no equivalent type @@ -88,7 +88,7 @@ struct saveTimeAndTracefile LttTracefile *tracefile; }; -/* +/* ### COMMON Methods ### # Empty method to turn off the debug (debug waste time while printing) */ @@ -99,49 +99,48 @@ void ignore_and_drop_message(const gchar *log_domain, GLogLevelFlags log_level, /* JNI method to call printf from the java side */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_1printC(JNIEnv *env, jobject jobj, jstring new_string) { const char *c_msg = (*env)->GetStringUTFChars(env, new_string, 0); - + printf("%s", c_msg ); - + (*env)->ReleaseStringUTFChars(env, new_string, c_msg); } -/* -# -#### */ - - +/* Method to obtain a trace version number from its path */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_factory_JniTraceVersion_ltt_1getTraceVersion(JNIEnv *env, jobject jobj, jstring tracepath) { - + const gchar *c_pathname = (*env)->GetStringUTFChars(env, tracepath, 0); jint tmpMajorNumber = 0; jint tmpMinorNumber = 0; - + jclass accessClass = (*env)->GetObjectClass(env, jobj); jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "setTraceVersionFromC", "(II)V"); - + struct LttTraceVersion version_number; - - if ( ltt_get_trace_version(c_pathname, &version_number) >= 0) { + + if ( ltt_get_trace_version(c_pathname, &version_number) >= 0) { tmpMajorNumber = version_number.ltt_major_version; tmpMinorNumber = version_number.ltt_minor_version; } - + (*env)->CallVoidMethod(env, jobj, accessFunction, tmpMajorNumber, tmpMinorNumber ); } +/* +# +#### */ -/* +/* ### TRACE methods ### # JNI mapping of < LttTrace *ltt_trace_open(const gchar *pathname) > (trace.h) */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTrace(JNIEnv *env, jobject jobj, jstring pathname, jboolean show_debug) { - + if ( !show_debug) { /* Make sure we don't use any debug (speed up the read) */ g_log_set_handler(NULL, G_LOG_LEVEL_INFO, ignore_and_drop_message, NULL); g_log_set_handler(NULL, G_LOG_LEVEL_DEBUG, ignore_and_drop_message, NULL); } - + const char *c_pathname = (*env)->GetStringUTFChars(env, pathname, 0); LttTrace *newPtr = ltt_trace_open( c_pathname ); @@ -152,16 +151,16 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1open /* JNI mapping of < void ltt_trace_close(LttTrace *t) > (trace.h) */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1closeTrace(JNIEnv *env, jobject jobj, jlong trace_ptr){ - + LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + ltt_trace_close(newPtr); } /* Get the tracepath */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getTracepath(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (*env)->NewStringUTF(env, g_quark_to_string( newPtr->pathname) ); } @@ -169,56 +168,56 @@ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1ge /* Get of num_cpu */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getCpuNumber(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jint)newPtr->num_cpu; } /* Get of arch_type */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchType(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jlong)newPtr->arch_type; } /* Get of arch_variant */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchVariant(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jlong)newPtr->arch_variant; } /* Get of arch_size */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchSize(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jshort)newPtr->arch_size; } /* Get of ltt_major_version */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMajorVersion(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jshort)newPtr->ltt_major_version; } /* Get of ltt_minor_version */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMinorVersion(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jshort)newPtr->ltt_minor_version; } /* Get of flight_recorder */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFlightRecorder(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jshort)newPtr->flight_recorder; } /* Get of freq_scale */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFreqScale(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return (jlong)newPtr->freq_scale; } @@ -232,14 +231,14 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getS /* Get of start_tsc */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartTimestampCurrentCounter(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->start_tsc); } /* Get of start_monotonic */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartMonotonic(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->start_monotonic); } @@ -247,12 +246,12 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getS /* Note that we are calling the setTimeFromC function in Jaf_Time from here */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTime(JNIEnv *env, jobject jobj, jlong trace_ptr, jobject time_jobj) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + jclass accessClass = (*env)->GetObjectClass(env, time_jobj); jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "setTimeFromC", "(J)V"); - + jlong fullTime = (CONVERT_UINT64_TO_JLONG(newPtr->start_time.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(newPtr->start_time.tv_nsec); - + (*env)->CallVoidMethod(env, time_jobj, accessFunction, fullTime ); } @@ -260,12 +259,12 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedS /* Note that we are calling the setTimeFromC function in Jaf_Time from here */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTimeFromTimestampCurrentCounter(JNIEnv *env, jobject jobj, jlong trace_ptr, jobject time_jobj) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + jclass accessClass = (*env)->GetObjectClass(env, time_jobj); jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "setTimeFromC", "(J)V"); - + jlong fullTime = (CONVERT_UINT64_TO_JLONG(newPtr->start_time_from_tsc.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(newPtr->start_time_from_tsc.tv_nsec); - + (*env)->CallVoidMethod(env, time_jobj, accessFunction, fullTime); } @@ -273,20 +272,20 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedS /* g_list_data function for the "for_each" call in Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getAllTracefiles */ void g_datalist_foreach_addTracefilesOfTrace(GQuark name, gpointer data, gpointer user_data) { struct java_calling_data *args = (struct java_calling_data*)user_data; - + jclass accessClass = (*args->env)->GetObjectClass(args->env, args->jobj); jmethodID accessFunction = (*args->env)->GetMethodID(args->env, accessClass, "addTracefileFromC", "(Ljava/lang/String;J)V"); - + GArray *tracefile_array = (GArray*)data; LttTracefile *tracefile; jlong newPtr; - + unsigned int i; for (i=0; ilen; i++) { tracefile = &g_array_index(tracefile_array, LttTracefile, i); - + newPtr = CONVERT_PTR_TO_JLONG(tracefile); - + (*args->env)->CallVoidMethod(args->env, args->jobj, accessFunction, (*args->env)->NewStringUTF(args->env, g_quark_to_string(tracefile->name) ), newPtr ); } } @@ -294,9 +293,9 @@ void g_datalist_foreach_addTracefilesOfTrace(GQuark name, gpointer data, gpointe /* Function to fill up the java map with the event type found in tracefile (the name) */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedAllTracefiles(JNIEnv *env, jobject jobj, jlong trace_ptr) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + struct java_calling_data args = { env, jobj }; - + g_datalist_foreach(&newPtr->tracefiles, &g_datalist_foreach_addTracefilesOfTrace, &args); } @@ -305,17 +304,17 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedA /* used to save the current timestamp for each tracefile */ void g_datalist_foreach_saveTracefilesTime(GQuark name, gpointer data, gpointer user_data) { struct saveTimeArgs *args = (struct saveTimeArgs*)user_data; - + GArray *tracefile_array = (GArray*)data; GArray *save_array = args->saveTimeArray; - + LttTracefile *tracefile; struct saveTimeAndTracefile *savedData; - + unsigned int i; for (i=0; ilen; i++) { tracefile = &g_array_index(tracefile_array, LttTracefile, i); - + /* Allocate a new LttTime for each tracefile (so it won't change if the tracefile seek somewhere else) */ savedData = (struct saveTimeAndTracefile*)malloc( sizeof(struct saveTimeAndTracefile) ); savedData->time.tv_sec = tracefile->event.event_time.tv_sec; @@ -332,19 +331,19 @@ void g_datalist_foreach_saveTracefilesTime(GQuark name, gpointer data, gpointer /* NOTE : this method is quite heavy to use!!! */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedTracefileTimeRange(JNIEnv *env, jobject jobj, jlong trace_ptr, jobject jstart_time, jobject jend_time) { LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + /* Allocate ourself a new array to save the data in */ GArray *savedDataArray = g_array_new(FALSE, FALSE, sizeof(struct saveTimeAndTracefile*) ); struct saveTimeArgs args = { savedDataArray }; /* Call g_datalist_foreach_saveTracefilesTime for each element in the GData to save the time */ g_datalist_foreach(&newPtr->tracefiles, &g_datalist_foreach_saveTracefilesTime, &args); - + /* Call to ltt_trace_time_span_get to find the current start and end time */ /* NOTE : This WILL change the current block of the tracefile (i.e. its timestamp) */ LttTime tmpStartTime = { 0, 0 }; LttTime tmpEndTime = { 0, 0 }; ltt_trace_time_span_get(newPtr, &tmpStartTime, &tmpEndTime); - + /* Seek back to the correct time for each tracefile and free the allocated memory */ struct saveTimeAndTracefile *savedData; unsigned int i; @@ -354,20 +353,20 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedT /* Some time will not be consistent here (i.e. unitialized data) */ /* but the seek should work just fine with that */ ltt_tracefile_seek_time(savedData->tracefile, savedData->time); - + /* Free the memory allocated for this saveTimeAndTracefile entry */ free( savedData ); } /* Free the memory allocated for the GArray */ g_array_free(savedDataArray, TRUE); - + /* Send the start and end time back to the java */ /* We do it last to make sure a problem won't leave us with unfred memory */ jclass startAccessClass = (*env)->GetObjectClass(env, jstart_time); jmethodID startAccessFunction = (*env)->GetMethodID(env, startAccessClass, "setTimeFromC", "(J)V"); jlong startTime = (CONVERT_UINT64_TO_JLONG(tmpStartTime.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(tmpStartTime.tv_nsec); (*env)->CallVoidMethod(env, jstart_time, startAccessFunction, startTime); - + jclass endAccessClass = (*env)->GetObjectClass(env, jend_time); jmethodID endAccessFunction = (*env)->GetMethodID(env, endAccessClass, "setTimeFromC", "(J)V"); jlong endTime = (CONVERT_UINT64_TO_JLONG(tmpEndTime.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(tmpEndTime.tv_nsec); @@ -376,9 +375,9 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedT /* Function to print the content of a trace */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1printTrace(JNIEnv *env, jobject jobj, jlong trace_ptr) { - + LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr); - + printf("pathname : %s\n" ,g_quark_to_string(newPtr->pathname) ); printf("num_cpu : %u\n" ,(unsigned int)(newPtr->num_cpu) ); printf("arch_type : %u\n" ,(unsigned int)(newPtr->arch_type) ); @@ -400,189 +399,189 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1print printf("tracefiles ptr : %p\n" ,newPtr->tracefiles); printf("\n"); } -/* +/* # ### */ -/* +/* ### TRACEFILE methods ### # */ /* Get of cpu_online */ JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsCpuOnline(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jboolean)newPtr->cpu_online; } /* Get of long_name */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilepath(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (*env)->NewStringUTF(env, g_quark_to_string(newPtr->long_name) ); } /* Get of name */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilename(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (*env)->NewStringUTF(env, g_quark_to_string(newPtr->name) ); } /* Get of cpu_num */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCpuNumber(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->cpu_num; } /* Get of tid */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTid(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->tid; } /* Get of pgid */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getPgid(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->pgid; } /* Get of creation */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCreation(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->creation); } /* Get of trace */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracePtr(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_PTR_TO_JLONG(newPtr->trace); } /* Get of mdata */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getMarkerDataPtr(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_PTR_TO_JLONG(newPtr->mdata); } /* Get of fd */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCFileDescriptor(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jint)newPtr->fd; } /* Get of file_size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getFileSize(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->file_size); } /* Get of num_blocks */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBlockNumber(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->num_blocks; } /* Get of reverse_bo */ JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsBytesOrderReversed(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jboolean)newPtr->reverse_bo; } /* Get of float_word_order */ JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsFloatWordOrdered(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jboolean)newPtr->float_word_order; } /* Get of alignment */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getAlignement(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->alignment); } /* Get of buffer_header_size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferHeaderSize(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->buffer_header_size); } /* Get of tscbits */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfCurrentTimestampCounter(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jint)newPtr->tscbits; } /* Get of eventbits */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfEvent(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jint)newPtr->eventbits; } /* Get of tsc_mask */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMask(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->tsc_mask); } /* Get of tsc_mask_next_bit */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMaskNextBit(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->tsc_mask_next_bit); } /* Get of events_lost */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventsLost(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->events_lost; } /* Get of subbuf_corrupt */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getSubBufferCorrupt(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->subbuf_corrupt; } /* Get of event */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventPtr(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_PTR_TO_JLONG(&newPtr->event); } /* Get of buffer */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferPtr(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return CONVERT_PTR_TO_JLONG(&newPtr->buffer); } /* Get of buffer size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferSize(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + return (jlong)newPtr->buf_size; } @@ -591,35 +590,35 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1 void g_hash_table_foreach_addMarkersOfTracefile(gpointer key, gpointer data, gpointer user_data) { struct addMarkersArgs *args = (struct addMarkersArgs*)user_data; struct java_calling_data *jargs = (struct java_calling_data*)args->java_args; - + jclass accessClass = (*jargs->env)->GetObjectClass(jargs->env, jargs->jobj); jmethodID accessFunction = (*jargs->env)->GetMethodID(jargs->env, accessClass, "addMarkersFromC", "(IJ)V"); - + unsigned long marker_id = (unsigned long)data; - + /* The hash table store an ID... we will use the ID to access the array. */ GArray *marker = args->mdata->markers; struct marker_info *newPtr = &g_array_index(marker, struct marker_info, marker_id); - + (*jargs->env)->CallVoidMethod(jargs->env, jargs->jobj, accessFunction, marker_id, CONVERT_PTR_TO_JLONG(newPtr) ); } /* Function to fill up the java map with the event type found in tracefile (the name) */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1feedAllMarkers(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + /* ***TODO*** Find a better way! This is ugly! */ struct java_calling_data java_args = { env, jobj }; struct addMarkersArgs args = { &java_args, newPtr->mdata }; - + g_hash_table_foreach( newPtr->mdata->markers_hash, &g_hash_table_foreach_addMarkersOfTracefile, &args); } /* Function to print the content of a tracefile */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1printTracefile(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { - + LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); printf("cpu_online : %i\n" ,(int)newPtr->cpu_online); printf("long_name : %s\n" ,g_quark_to_string(newPtr->long_name)); @@ -647,13 +646,13 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1p printf("buffer ptr : %p\n" ,&newPtr->buffer); printf("\n"); } -/* +/* # ### */ -/* +/* ### EVENT methods ### # */ @@ -665,58 +664,58 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1p /* Note : this method is expensive and should not be used too often */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1positionToFirstEvent(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *tracefilePtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + /* Ask ltt to read the next events on the given tracefiles - Returned value can be : + Returned value can be : 0 if everything went fine (EOK) ERANGE = 34 out of range, back to last event (might be system dependent?) EPERM = 1 error while reading (might be system dependent?) */ - - + + /* Seek to the start time... this will also read the first event, as we want. */ int returnedValue = ltt_tracefile_seek_time(tracefilePtr, ((struct LttTrace)*(tracefilePtr->trace)).start_time_from_tsc); - + return (jint)returnedValue; } /* Method to read next event */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1readNextEvent(JNIEnv *env, jobject jobj, jlong tracefile_ptr) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + /* Ask ltt to read the next events on the given tracefiles - Returned value can be : + Returned value can be : 0 if everything went fine (EOK) ERANGE = 34 out of range, back to last event (might be system dependent?) EPERM = 1 error while reading (might be system dependent?) */ - - + + /* ***FIXME*** This might fail on the FIRST event, as the timestamp before the first read is uninitialized However, LTT make the assumption that all tracefile have AT LEAST one event, so we got to run with it */ - + /* Save "last time" before moving, to be able to get back if needed */ LttTime lastTime = newPtr->event.event_time; - + int returnedValue = ltt_tracefile_read(newPtr); - + /* We need to get back to previous after an error to keep a sane state */ if ( returnedValue != 0 ) { ltt_tracefile_seek_time(newPtr, lastTime); } - + return (jint)returnedValue; } /* Method to seek to a certain event */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1seekEvent(JNIEnv *env, jobject jobj, jlong tracefile_ptr, jobject time_jobj) { LttTracefile *newPtr = (LttTracefile*)CONVERT_JLONG_TO_PTR(tracefile_ptr); - + guint64 fullTime = 0; - + jclass accessClass = (*env)->GetObjectClass(env, time_jobj); jmethodID getTimeFunction = (*env)->GetMethodID(env, accessClass, "getTime", "()J"); fullTime = (*env)->CallLongMethod(env, time_jobj, getTimeFunction); - + /* ***HACK*** Conversion from jlong -> C long seems to be particularly sloppy Depending how and where (inlined a function or as a single operation) we do this, we might end up with wrong number @@ -724,15 +723,15 @@ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1seekE MAKE SURE TO PERFORM SEVERAL TESTS IF YOU CHANGE THIS. */ guint64 seconds = fullTime/BILLION; guint64 nanoSeconds = fullTime%BILLION; - + LttTime seekTime = { (unsigned long)seconds, (unsigned long)nanoSeconds }; - + /* Ask ltt to read the next events on the given tracefiles - Returned value can be : + Returned value can be : 0 if everything went fine (EOK) ERANGE = 34 out of range, back to last event (might be system dependent?) EPERM = 1 error while reading (might be system dependent?) */ - + int returnedValue = ltt_tracefile_seek_time(newPtr, seekTime); return (jint)returnedValue; } @@ -740,61 +739,61 @@ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1seekE /* Get of tracefile */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTracefilePtr(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return CONVERT_PTR_TO_JLONG(newPtr->tracefile); } /* Get of block */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getBlock(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jlong)newPtr->block; } /* Get of offset */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOffset(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jlong)newPtr->offset; } /* Get of tsc */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCurrentTimestampCounter(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->tsc); } /* Get of timestamp */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTimestamp(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jlong)newPtr->timestamp; } /* Get of event_id */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventMarkerId(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jint)newPtr->event_id; } /* Get time in nanoseconds */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getNanosencondsTime(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (CONVERT_UINT64_TO_JLONG(newPtr->event_time.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(newPtr->event_time.tv_nsec); } /* Fill event_time into an object */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1feedEventTime(JNIEnv *env, jobject jobj, jlong event_ptr, jobject time_jobj) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + jclass accessClass = (*env)->GetObjectClass(env, time_jobj); jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "setTimeFromC", "(J)V"); - + jlong fullTime = (CONVERT_UINT64_TO_JLONG(newPtr->event_time.tv_sec)*BILLION) + CONVERT_UINT64_TO_JLONG(newPtr->event_time.tv_nsec); - + (*env)->CallVoidMethod(env, time_jobj, accessFunction, fullTime); } @@ -802,35 +801,35 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1feedE /* The data are in "byte" form */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getDataContent(JNIEnv *env, jobject jobj, jlong event_ptr, jlong data_size, jbyteArray dataArray) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + (*env)->SetByteArrayRegion(env, dataArray, 0, (jsize)data_size, newPtr->data); } /* Get of data_size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventDataSize(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jlong)newPtr->data_size; } /* Get of event_size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventSize(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jlong)newPtr->event_size; } /* Get of count */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCount(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return (jint)newPtr->count; } /* Get of overflow_nsec */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOverflowNanoSeconds(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->overflow_nsec); } @@ -838,7 +837,7 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getO /* Function to print the content of a event */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1printEvent(JNIEnv *env, jobject jobj, jlong event_ptr) { LttEvent *newPtr = (LttEvent*)CONVERT_JLONG_TO_PTR(event_ptr); - + printf("tracefile : %p\n" ,(void*)newPtr->tracefile ); printf("block : %u\n" ,(unsigned int)newPtr->block ); printf("offset : %u\n" ,(unsigned int)newPtr->offset ); @@ -855,53 +854,53 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1print printf("overflow_nsec : %ld\n" ,(long)newPtr->overflow_nsec ); printf("\n"); } -/* +/* # ### */ -/* +/* ### MARKER method ### # */ /* Get of name */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getName(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (*env)->NewStringUTF(env, g_quark_to_string(newPtr->name)); } /* Get of format */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getFormatOverview(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (*env)->NewStringUTF(env, newPtr->format); } /* Get of size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jlong)newPtr->size; } /* Method to get all markerField pointers */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAllMarkerFields(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + jclass accessClass = (*env)->GetObjectClass(env, jobj); jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "addMarkerFieldFromC", "(Ljava/lang/String;J)V"); - + GArray *field_array = (GArray*)newPtr->fields; struct marker_field *field; jlong marker_field_ptr; - + unsigned int i; for (i=0; ilen; i++) { field = &g_array_index(field_array, struct marker_field, i); - + marker_field_ptr = CONVERT_PTR_TO_JLONG(field); - + (*env)->CallVoidMethod(env, jobj, accessFunction, (*env)->NewStringUTF(env, g_quark_to_string(field->name) ), marker_field_ptr ); } } @@ -911,49 +910,49 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getA /* Get of largest_align */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLargestAlign(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->largest_align; } /* Get of int_size */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getIntSize(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->int_size; } /* Get of long_size */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLongSize(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->long_size; } /* Get of pointer_size */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getPointerSize(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->pointer_size; } /* Get of size_t_size */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize_1tSize(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->size_t_size; } /* Get of alignment */ JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAlignement(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return (jshort)newPtr->alignment; } /* Get of next */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getNextMarkerPtr(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + return CONVERT_PTR_TO_JLONG(newPtr->next); } @@ -961,7 +960,7 @@ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1get /* Function to print the content of a marker */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1printMarker(JNIEnv *env, jobject jobj, jlong marker_info_ptr) { struct marker_info *newPtr = (struct marker_info*)CONVERT_JLONG_TO_PTR(marker_info_ptr); - + printf("name : %s\n" ,g_quark_to_string(newPtr->name) ); printf("format : %s\n" ,newPtr->format ); printf("size : %li\n" ,(long int)newPtr->size ); @@ -975,76 +974,76 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1prin printf("next : %p\n" ,newPtr->next ); printf("\n"); } -/* +/* # ### */ -/* +/* ### MARKERFIELD Method # */ /* Get of name */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getField(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return (*env)->NewStringUTF(env, g_quark_to_string(newPtr->name)); } /* Get of type */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getType(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return (jint)newPtr->type; } /* Get of offset */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getOffset(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->offset); } /* Get of size */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getSize(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->size); } /* Get of alignment */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAlignment(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->alignment); } /* Get of attributes */ JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAttributes(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return CONVERT_UINT64_TO_JLONG(newPtr->attributes); } /* Get of static_offset */ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getStatic_1offset(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return (jint)newPtr->static_offset; } /* Get of fmt */ JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getFormat(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + return (*env)->NewStringUTF(env, newPtr->fmt->str); } /* Function to print the content of a marker_field */ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1printMarkerField(JNIEnv *env, jobject jobj, jlong marker_field_ptr) { struct marker_field *newPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + printf("name : %s\n" ,g_quark_to_string(newPtr->name) ); printf("type : %i\n" ,(int)newPtr->type ); printf("offset : %lu\n" ,(long unsigned int)newPtr->offset ); @@ -1055,12 +1054,12 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_ printf("fmt : %s\n" ,newPtr->fmt->str ); printf("\n"); } -/* +/* # ### */ -/* +/* ### PARSER Method # */ @@ -1069,31 +1068,31 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData(JNIEnv *env, jclass accessClass, jobject javaObj, jlong event_ptr, jlong marker_field_ptr) { LttEvent newEventPtr = *(LttEvent*)(CONVERT_JLONG_TO_PTR(event_ptr)); struct marker_field *newMarkerFieldPtr = (struct marker_field*)CONVERT_JLONG_TO_PTR(marker_field_ptr); - + jmethodID accessFunction = NULL; - - - /* + + + /* There is a very limited number of type in LTT We will switch on the type for this field and act accordingly NOTE : We will save all integer into "long" type, as there is no signed/unsigned in java */ - + /* ***HACK*** It seems the marker_field->type is absolutely not consistent, especially about pointer! Sometime pointer are saved in String, sometime as Int, sometime as pointer... We will do an extra check on type "LTT_TYPE_UNSIGNED_INT" to check if the marker_field->format is hint of a pointer */ switch ( newMarkerFieldPtr->type ) { - case LTT_TYPE_SIGNED_INT : + case LTT_TYPE_SIGNED_INT : accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addLongToParsingFromC", "(Ljava/lang/Object;J)V"); - (*env)->CallStaticVoidMethod( env, - accessClass, - accessFunction, - javaObj, + (*env)->CallStaticVoidMethod( env, + accessClass, + accessFunction, + javaObj, ltt_event_get_long_int(&newEventPtr, newMarkerFieldPtr) ); - + break; - + case LTT_TYPE_UNSIGNED_INT : /* If the format seems to be a pointer, add it as a pointer */ if ( (strncmp(newMarkerFieldPtr->fmt->str, "0x%llX", newMarkerFieldPtr->fmt->len) == 0 ) || (strncmp(newMarkerFieldPtr->fmt->str, "%llX", newMarkerFieldPtr->fmt->len) == 0 ) ) { @@ -1119,9 +1118,9 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getP ltt_event_get_long_unsigned(&newEventPtr, newMarkerFieldPtr) ); } - + break; - + case LTT_TYPE_POINTER : #if __WORDSIZE == 64 accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addLongPointerToParsingFromC", "(Ljava/lang/Object;J)V"); @@ -1135,7 +1134,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getP CONVERT_PTR_TO_JLONG(*(GINT_TYPE_FOR_PTR*)(newEventPtr.data + newMarkerFieldPtr->offset)) ); break; - + case LTT_TYPE_STRING : accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addStringToParsingFromC", "(Ljava/lang/Object;Ljava/lang/String;)V"); (*env)->CallStaticVoidMethod( env, @@ -1145,15 +1144,15 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getP (*env)->NewStringUTF(env, ltt_event_get_string(&newEventPtr, newMarkerFieldPtr) ) ); break; - + case LTT_TYPE_COMPACT : case LTT_TYPE_NONE : default : printf("Warning : Unrecognized format type! Skipping! (Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData)"); break; } - + } -/* +/* # ### */ diff --git a/ltt/lttvtraceread_loader.c b/ltt/lttvtraceread_loader.c index 6b519be5..b8d2e84e 100644 --- a/ltt/lttvtraceread_loader.c +++ b/ltt/lttvtraceread_loader.c @@ -119,15 +119,15 @@ void ignore_and_drop_message(const gchar *log_domain, GLogLevelFlags log_level, } JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_factory_JniTraceVersion_ltt_1getTraceVersion(JNIEnv *env, jobject jobj, jstring tracepath) { - + void *handle = dlopen("liblttvtraceread.so", RTLD_LAZY ); - + if (!handle ) { printf ("WARNING : Failed to initialize library handle from %s!\n", "liblttvtraceread.so"); } JNIEXPORT void JNICALL (*functor)(JNIEnv *env, jobject jobj, jstring tracepath); functor=dlsym(handle, "Java_org_eclipse_linuxtools_lttng_jni_factory_JniTraceVersion_ltt_1getTraceVersion"); - + char *error = dlerror(); if ( error != NULL) { printf ("Call failed with : %s\n", error); @@ -142,7 +142,7 @@ void freeAllHandle() { free(version_table); version_table = NULL; } - + if ( version_functions_table != NULL ) { free(version_functions_table); version_functions_table = NULL; @@ -150,7 +150,6 @@ void freeAllHandle() { } void freeHandle(int handle_id) { - if ( handle_id >= nb_id ) { if (version_table[handle_id].static_handle != NULL) { /* Memory will be freed by dlclose as well */ @@ -160,7 +159,7 @@ void freeHandle(int handle_id) { version_table[handle_id].libname = NULL; } } - + int isEmpty = 1; int n; for ( n=0; nGetStringUTFChars(env, libname, 0); - + int isLoaded = 0; int n; for ( n=0; n 1) { memcpy(new_version_table,version_table, sizeof(struct version_correlation)*(nb_id-1) ); free( version_table ); - + memcpy(new_function_tables,version_functions_table, sizeof(struct function_tables)*(nb_id-1) ); free( version_functions_table) ; } - + version_table = (struct version_correlation *)new_version_table; version_table[lib_id].id = lib_id; version_table[lib_id].libname = (char*)malloc( strlen(c_path) ); strncpy(version_table[lib_id].libname, c_path, strlen(c_path)); version_table[lib_id].static_handle = new_handle; - + version_functions_table = (struct function_tables*)new_function_tables; - version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_1printC = dlsym(version_table[lib_id].static_handle, "Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_1printC"); version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTrace = dlsym(version_table[lib_id].static_handle, "Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTrace"); @@ -311,437 +309,265 @@ JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1initi version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData = dlsym(version_table[lib_id].static_handle, "Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData"); } } - + return lib_id; } JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_1printC(JNIEnv *env, jobject jobj, jint lib_id, jstring new_string) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_1printC)(env, jobj, new_string); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTrace(JNIEnv *env, jobject jobj, jint lib_id, jstring pathname, jboolean show_debug) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTrace)(env, jobj, pathname, show_debug); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1closeTrace(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1closeTrace)(env, jobj, trace_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getTracepath(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getTracepath)(env, jobj, trace_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getCpuNumber(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getCpuNumber)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchType(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchType)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchVariant(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchVariant)(env, jobj, trace_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchSize(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getArchSize)(env, jobj, trace_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMajorVersion(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMajorVersion)(env, jobj, trace_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMinorVersion(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getLttMinorVersion)(env, jobj, trace_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFlightRecorder(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFlightRecorder)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFreqScale(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getFreqScale)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartFreq(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartFreq)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartTimestampCurrentCounter(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartTimestampCurrentCounter)(env, jobj, trace_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartMonotonic(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartMonotonic)(env, jobj, trace_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTime(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr, jobject time_jobj) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTime)(env, jobj, trace_ptr, time_jobj); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTimeFromTimestampCurrentCounter(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr, jobject time_jobj) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedStartTimeFromTimestampCurrentCounter)(env, jobj, trace_ptr, time_jobj); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedAllTracefiles(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedAllTracefiles)(env, jobj, trace_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedTracefileTimeRange(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr, jobject jstart_time, jobject jend_time) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedTracefileTimeRange)(env, jobj, trace_ptr, jstart_time, jend_time); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1printTrace(JNIEnv *env, jobject jobj, jint lib_id, jlong trace_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1printTrace)(env, jobj, trace_ptr); } - - JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsCpuOnline(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsCpuOnline)(env, jobj, tracefile_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilepath(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilepath)(env, jobj, tracefile_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilename(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracefilename)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCpuNumber(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCpuNumber)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTid(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTid)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getPgid(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getPgid)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCreation(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCreation)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracePtr(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getTracePtr)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getMarkerDataPtr(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getMarkerDataPtr)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCFileDescriptor(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCFileDescriptor)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getFileSize(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getFileSize)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBlockNumber(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBlockNumber)(env, jobj, tracefile_ptr); } - - JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsBytesOrderReversed(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsBytesOrderReversed)(env, jobj, tracefile_ptr); } - - JNIEXPORT jboolean JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsFloatWordOrdered(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getIsFloatWordOrdered)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getAlignement(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getAlignement)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferHeaderSize(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferHeaderSize)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfCurrentTimestampCounter(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfCurrentTimestampCounter)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfEvent(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBitsOfEvent)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMask(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMask)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMaskNextBit(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getCurrentTimestampCounterMaskNextBit)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventsLost(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventsLost)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getSubBufferCorrupt(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getSubBufferCorrupt)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventPtr(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getEventPtr)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferPtr(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferPtr)(env, jobj, tracefile_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferSize(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getBufferSize)(env, jobj, tracefile_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1feedAllMarkers(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1feedAllMarkers)(env, jobj, tracefile_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1printTracefile(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1printTracefile)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1positionToFirstEvent(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1positionToFirstEvent)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1readNextEvent(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1readNextEvent)(env, jobj, tracefile_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1seekEvent(JNIEnv *env, jobject jobj, jint lib_id, jlong tracefile_ptr, jobject time_jobj) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1seekEvent)(env, jobj, tracefile_ptr, time_jobj); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTracefilePtr(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTracefilePtr)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getBlock(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getBlock)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOffset(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOffset)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCurrentTimestampCounter(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCurrentTimestampCounter)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTimestamp(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getTimestamp)(env, jobj, event_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventMarkerId(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventMarkerId)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getNanosencondsTime(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getNanosencondsTime)(env, jobj, event_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1feedEventTime(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr, jobject time_jobj) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1feedEventTime)(env, jobj, event_ptr, time_jobj); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getDataContent(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr, jlong data_size, jbyteArray dataArray) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getDataContent)(env, jobj, event_ptr, data_size, dataArray); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventDataSize(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventDataSize)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventSize(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getEventSize)(env, jobj, event_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCount(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getCount)(env, jobj, event_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOverflowNanoSeconds(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1getOverflowNanoSeconds)(env, jobj, event_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1printEvent(JNIEnv *env, jobject jobj, jint lib_id, jlong event_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniEvent_ltt_1printEvent)(env, jobj, event_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getName(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getName)(env, jobj, marker_info_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getFormatOverview(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getFormatOverview)(env, jobj, marker_info_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize)(env, jobj, marker_info_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAllMarkerFields(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAllMarkerFields)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLargestAlign(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLargestAlign)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getIntSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getIntSize)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLongSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getLongSize)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getPointerSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getPointerSize)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize_1tSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getSize_1tSize)(env, jobj, marker_info_ptr); } - - JNIEXPORT jshort JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAlignement(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getAlignement)(env, jobj, marker_info_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getNextMarkerPtr(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1getNextMarkerPtr)(env, jobj, marker_info_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1printMarker(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_info_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarker_ltt_1printMarker)(env, jobj, marker_info_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getField(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getField)(env, jobj, marker_field_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getType(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getType)(env, jobj, marker_field_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getOffset(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getOffset)(env, jobj, marker_field_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getSize(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getSize)(env, jobj, marker_field_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAlignment(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAlignment)(env, jobj, marker_field_ptr); } - - JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAttributes(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getAttributes)(env, jobj, marker_field_ptr); } - - JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getStatic_1offset(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getStatic_1offset)(env, jobj, marker_field_ptr); } - - JNIEXPORT jstring JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getFormat(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { return (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1getFormat)(env, jobj, marker_field_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1printMarkerField(JNIEnv *env, jobject jobj, jint lib_id, jlong marker_field_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniMarkerField_ltt_1printMarkerField)(env, jobj, marker_field_ptr); } - - JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData(JNIEnv *env, jclass accessClass, jint lib_id, jobject javaObj, jlong event_ptr, jlong marker_field_ptr) { (version_functions_table[lib_id].Java_org_eclipse_linuxtools_lttng_jni_JniParser_ltt_1getParsedData)(env, accessClass, javaObj, event_ptr, marker_field_ptr); } - - diff --git a/ltt/tracefile.c b/ltt/tracefile.c index 8813cfb8..21188917 100644 --- a/ltt/tracefile.c +++ b/ltt/tracefile.c @@ -1734,7 +1734,7 @@ static __attribute__((constructor)) void init(void) *Function name * ltt_tracefile_open_header : based on ltt_tracefile_open but it stops * when it gets the header - *Input params + *Input params * fileName : path to the tracefile * tf : the tracefile (metadata_0) where the header will be read *Return value @@ -1745,7 +1745,7 @@ static ltt_subbuffer_header_t * ltt_tracefile_open_header(gchar *fileName, LttTr struct stat lTDFStat; /* Trace data file status */ ltt_subbuffer_header_t *header; int page_size = getpagesize(); - + /* open the file */ tf->long_name = g_quark_from_string(fileName); tf->fd = open(fileName, O_RDONLY); @@ -1753,33 +1753,33 @@ static ltt_subbuffer_header_t * ltt_tracefile_open_header(gchar *fileName, LttTr g_warning("Unable to open input data file %s\n", fileName); goto end; } - - /* Get the file's status */ + + /* Get the file's status */ if(fstat(tf->fd, &lTDFStat) < 0){ g_warning("Unable to get the status of the input data file %s\n", fileName); goto close_file; } - + /* Is the file large enough to contain a trace */ if(lTDFStat.st_size < (off_t)(ltt_subbuffer_header_size())) { g_print("The input data file %s does not contain a trace\n", fileName); goto close_file; } - + /* Temporarily map the buffer start header to get trace information */ /* Multiple of pages aligned head */ tf->buffer.head = mmap(0,PAGE_ALIGN(ltt_subbuffer_header_size()), PROT_READ, MAP_PRIVATE, tf->fd, 0); - + if(tf->buffer.head == MAP_FAILED) { perror("Error in allocating memory for buffer of tracefile"); goto close_file; } g_assert( ( (gulong)tf->buffer.head&(8-1) ) == 0); // make sure it's aligned. - + header = (ltt_subbuffer_header_t *)tf->buffer.head; - + return header; - + close_file: close(tf->fd); end: @@ -1790,13 +1790,13 @@ static ltt_subbuffer_header_t * ltt_tracefile_open_header(gchar *fileName, LttTr /***************************************************************************** *Function name * get_version : get the trace version from a metadata_0 trace file - *Input params + *Input params * pathname : path to the trace * version_number : the struct that will get the version number *Return value * int : 1 if succeed, -1 if error ****************************************************************************/ -int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion *version_number) +int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion *version_number) { gchar abs_path[PATH_MAX]; int ret = 0; @@ -1804,23 +1804,23 @@ int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion *version struct dirent *entry; struct stat stat_buf; gchar path[PATH_MAX]; - + LttTracefile tmp_tf; LttTrace * t; ltt_subbuffer_header_t *header; - + t = g_new(LttTrace, 1); - + get_absolute_pathname(pathname, abs_path); - + /* Test to see if it looks like a trace */ dir = opendir(abs_path); - + if(dir == NULL) { perror(abs_path); goto open_error; } - + while((entry = readdir(dir)) != NULL) { strcpy(path, abs_path); strcat(path, "/"); @@ -1831,14 +1831,14 @@ int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion *version continue; } } - - closedir(dir); + + closedir(dir); dir = opendir(abs_path); - + while((entry = readdir(dir)) != NULL) { if(entry->d_name[0] == '.') continue; if(g_strcmp0(entry->d_name, "metadata_0") != 0) continue; - + strcpy(path, abs_path); strcat(path, "/"); strcat(path, entry->d_name); @@ -1846,20 +1846,20 @@ int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion *version perror(path); continue; } - - header = ltt_tracefile_open_header(path, &tmp_tf); - + + header = ltt_tracefile_open_header(path, &tmp_tf); + if(header == NULL) { g_info("Error getting the header %s", path); continue; /* error opening the tracefile : bad magic number ? */ } - - version_number->ltt_major_version = header->major_version; - version_number->ltt_minor_version = header->minor_version; + + version_number->ltt_major_version = header->major_version; + version_number->ltt_minor_version = header->minor_version; } - + return 0; - + open_error: g_free(t); return -1; -- 2.34.1