Remove ltt/ directory and its last reference
[lttv.git] / ltt / jni_interface.c
diff --git a/ltt/jni_interface.c b/ltt/jni_interface.c
deleted file mode 100644 (file)
index 52c9993..0000000
+++ /dev/null
@@ -1,1171 +0,0 @@
-/* This file is part of the Linux Trace Toolkit viewer
- * Copyright (C) 2010 William Bourque
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License Version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* Important to get consistent size_t type */
-#define _FILE_OFFSET_BITS 64
-
-#include <jni.h>
-
-#include <ltt/trace.h>
-#include <ltt/time.h>
-#include <ltt/marker.h>
-#include <glib.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <errno.h>
-/* 
-***FIXME***
-***HACK***
- We've got hell of a problem passing "unsigned int64" to java, as there is no equivalent type
-   The closer we can use is "long" which is signed, so only 32 (or 63?) bits are valid
-   Plus, even if we are within the "32 bits" capacity, java sometime screw itself trying to convert "unsigned 64 -> signed 64"
-   This happen especially often when RETURNING a jlong
-   So when returning a jlong, we should convert it like this : "unsigned 64"->"signed 64"->jlong
-*/
-#define CONVERT_UINT64_TO_JLONG(n) (jlong)(gint64)(n)
-#define CONVERT_INT64_TO_JLONG(n) (jlong)(gint64)(n)
-
-/* To ease calcul involving nano */
-#define BILLION 1000000000
-
-
-#if __WORDSIZE == 64
-        #define CONVERT_JLONG_TO_PTR(p) (p)
-       #define CONVERT_PTR_TO_JLONG(p) (jlong)(p)
-        /* Define the "gint" type we should use for pointer. */
-        #define GINT_TYPE_FOR_PTR gint64
-#else
-        /* Conversion to int first to save warning */
-        #define CONVERT_JLONG_TO_PTR(p) (int)(p)
-        #define CONVERT_PTR_TO_JLONG(p) (jlong)(int)(p)
-        /* Define the "gint" type we should use for pointer. */
-        #define GINT_TYPE_FOR_PTR gint32
-#endif
-
-/* Structure to encapsulate java_data to pass as arguments */
-struct java_calling_data
-{
-    JNIEnv *env;
-    jobject jobj;
-};
-
-/*  ***TODO***
- All these struct are used to call g_datalist_foreach()
- Find a better way! This is ugly!
-*/
-struct addMarkersArgs
-{ 
-    struct java_calling_data *java_args;
-    struct marker_data *mdata;
-};
-
-struct saveTimeArgs
-{
-        GArray *saveTimeArray;
-};
-
-struct saveTimeAndTracefile
-{
-        LttTime time;
-        LttTracefile *tracefile;
-};
-
-/* 
-### COMMON Methods ###
-#
-Empty method to turn off the debug (debug waste time while printing) */
-void ignore_and_drop_message(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) {
-}
-
-
-/* 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) {
-                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);
-        
-        (*env)->ReleaseStringUTFChars(env, pathname, c_pathname);
-        
-        return CONVERT_PTR_TO_JLONG(newPtr); 
-}
-
-/* JNI mapping of   < LttTrace *ltt_trace_open_live(const gchar *pathname)  > (trace.h) */
-JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1openTraceLive(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_live(c_pathname);
-        
-        (*env)->ReleaseStringUTFChars(env, pathname, c_pathname);
-        
-        return CONVERT_PTR_TO_JLONG(newPtr); 
-}
-
-/* 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) );
-}
-
-
-/* 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;
-}
-
-/* Get of start_freq */
-JNIEXPORT jlong JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1getStartFreq(JNIEnv *env, jobject jobj, jlong trace_ptr) {
-        LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr);
-        
-        return CONVERT_UINT64_TO_JLONG(newPtr->start_freq);
-}
-
-/* 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);
-}
-
-/* JNI mapping of  < int ltt_trace_update(LttTrace *t)  > (trace.h) */
-JNIEXPORT jint JNICALL Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1updateTrace(JNIEnv *env, jobject jobj, jlong trace_ptr){
-        
-        LttTrace *newPtr = (LttTrace*)CONVERT_JLONG_TO_PTR(trace_ptr);
-        
-        return (jint)ltt_trace_update(newPtr);
-}
-
-/* Access to start_time */
-/* 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 );
-}
-
-/* Access to start_time_from_tsc */
-/* 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);
-}
-
-
-/* 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; i<tracefile_array->len; 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 );
-        }
-}
-
-/* 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);
-}
-
-
-/* g_list_data function for the "for_each" call in Java_org_eclipse_linuxtools_lttng_jni_JniTrace_ltt_1feedTracefileTimeRange */
-/*      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; i<tracefile_array->len; 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;
-                savedData->time.tv_nsec = tracefile->event.event_time.tv_nsec;
-                savedData->tracefile = tracefile;
-                /* Append the saved data to the array */
-                g_array_append_val(save_array, savedData);
-        }
-}
-
-
-/* Obtain the range of the trace (i.e. "start time" and "end time") */
-/* Note : This function, unlike ltt_trace_time_span_get, is assured to return all tracefiles to their correct position after operation */
-/* 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;
-        for (i=0; i<savedDataArray->len; i++) {
-                savedData = g_array_index(savedDataArray, struct saveTimeAndTracefile*, i);
-                /* Seek back to the correct time */
-                /* 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);
-        (*env)->CallVoidMethod(env, jend_time, endAccessFunction, endTime);
-}
-
-/* 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) );
-        printf("arch_variant            : %u\n"     ,(unsigned int)(newPtr->arch_variant) );
-        printf("arch_size               : %u\n"     ,(unsigned short)(newPtr->arch_size) );
-        printf("ltt_major_version       : %u\n"     ,(unsigned short)(newPtr->ltt_major_version) );
-        printf("ltt_minor_version       : %u\n"     ,(unsigned short)(newPtr->ltt_minor_version) );
-        printf("flight_recorder         : %u\n"     ,(unsigned short)(newPtr->flight_recorder) );
-        printf("freq_scale              : %u\n"     ,(unsigned int)(newPtr->freq_scale) );
-        printf("start_freq              : %lu\n"    ,(long unsigned int)(newPtr->start_freq) );
-        printf("start_tsc               : %lu\n"    ,(long unsigned int)(newPtr->start_tsc) );
-        printf("start_monotonic         : %lu\n"    ,(long unsigned int)(newPtr->start_monotonic) );
-        printf("start_time ptr          : %p\n"     ,&newPtr->start_time);
-        printf("   tv_sec               : %lu\n"    ,(long unsigned int)(newPtr->start_time.tv_sec) );
-        printf("   tv_nsec              : %lu\n"    ,(long unsigned int)(newPtr->start_time.tv_nsec) );
-        printf("start_time_from_tsc ptr : %p\n"     ,&newPtr->start_time_from_tsc);
-        printf("   tv_sec               : %lu\n"    ,(long unsigned int)(newPtr->start_time_from_tsc.tv_sec) );
-        printf("   tv_nsec              : %lu\n"    ,(long unsigned int)(newPtr->start_time_from_tsc.tv_nsec) );
-        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->buffer.size;
-}
-
-
-/* g_list_data function for the "for_each" call in Java_org_eclipse_linuxtools_lttng_jni_JniTracefile_ltt_1getAllMarkers */
-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));
-        printf("name                    : %s\n"     ,g_quark_to_string(newPtr->name));
-        printf("cpu_num                 : %u\n"     ,(unsigned int)(newPtr->cpu_num));
-        printf("tid                     : %u\n"     ,(unsigned int)(newPtr->tid));
-        printf("pgid                    : %u\n"     ,(unsigned int)(newPtr->pgid));
-        printf("creation                : %lu\n"    ,(long unsigned int)(newPtr->creation));
-        printf("trace ptr               : %p\n"     ,newPtr->trace);
-        printf("marker ptr              : %p\n"     ,newPtr->mdata);
-        printf("fd                      : %i\n"     ,(int)(newPtr->fd));
-        printf("file_size               : %u\n"     ,(unsigned int)(newPtr->file_size));
-        printf("num_blocks              : %u\n"     ,(unsigned int)(newPtr->num_blocks));
-        printf("reverse_bo              : %i\n"     ,(int)newPtr->reverse_bo);
-        printf("float_word_order        : %i\n"     ,(int)newPtr->float_word_order);
-        printf("alignment               : %i\n"     ,(int)newPtr->alignment);
-        printf("buffer_header_size      : %i\n"     ,(int)newPtr->buffer_header_size);
-        printf("tscbits                 : %u\n"     ,(unsigned short)newPtr->tscbits);
-        printf("eventbits               : %u\n"     ,(unsigned short)newPtr->eventbits);
-        printf("tsc_mask                : %lu\n"    ,(long unsigned int)newPtr->tsc_mask);
-        printf("tsc_mask_next_bit       : %lu\n"    ,(long unsigned int)newPtr->tsc_mask_next_bit);
-        printf("events_lost             : %u\n"     ,(unsigned int)newPtr->events_lost);
-        printf("subbuf_corrupt          : %u\n"     ,(unsigned int)newPtr->subbuf_corrupt);
-        printf("event ptr               : %p\n"     ,&newPtr->event);
-        printf("buffer ptr              : %p\n"     ,&newPtr->buffer);
-        printf("\n");
-}
-/* 
-#
-### */
-
-
-
-/* 
-### EVENT methods ###
-#  */
-
-/* Method to get the read status */
-/*    This method will read the next event and then seek back its initial position */
-/*    Lttv assume that every tracefile have at least 1 event, but we have not guarantee after this one. */
-/*    We will read the next event and return the status of that read */
-/*    We will then seek back to our initial position */
-/*    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 :  
-            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?)  */
-        
-        if (tracefilePtr->trace == NULL) {
-            return (jint) EPERM;
-        }
-        
-        /* 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 :  
-            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
-           The following asignation of guint64 seems to work well.
-           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 :  
-            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;
-}
-
-/* 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);
-}
-
-/* Access method to the data */
-/* 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);
-}
-
-
-/* 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 );
-        printf("tsc                     : %lu\n" ,(long unsigned int)newPtr->tsc );
-        printf("timestamp               : %u\n"  ,(unsigned int)newPtr->timestamp );
-        printf("event_id                : %u\n"  ,(unsigned short)newPtr->event_id );
-        printf("event_time              : %p\n"  ,(void*) &newPtr->event_time );
-        printf("   sec                  : %lu\n" ,(long unsigned int)(newPtr->event_time.tv_sec) );
-        printf("   nsec                 : %lu\n" ,(long unsigned int)(newPtr->event_time.tv_nsec) );
-        printf("data                    : %p\n"  ,(void*) newPtr->data );
-        printf("data_size               : %u\n"  ,(unsigned int)newPtr->data_size );
-        printf("event_size              : %u\n"  ,(unsigned int)newPtr->event_size );
-        printf("count                   : %d\n"  ,(int)newPtr->count );
-        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; i<field_array->len; 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 );
-        }
-}
-
-
-
-/* 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);
-}
-
-
-/* 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 );
-        printf("largest_align : %u\n"  ,(unsigned short)newPtr->largest_align );
-        printf("fields        : %p\n"  ,newPtr->fields );
-        printf("int_size      : %u\n"  ,(unsigned short)newPtr->int_size );
-        printf("long_size     : %u\n"  ,(unsigned short)newPtr->long_size );
-        printf("pointer_size  : %u\n"  ,(unsigned short)newPtr->pointer_size );
-        printf("size_t_size   : %u\n"  ,(unsigned short)newPtr->size_t_size );
-        printf("alignment     : %u\n"  ,(unsigned short)newPtr->alignment );
-        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 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("alignment     : %lu\n" ,(long unsigned int)newPtr->alignment );
-        printf("attributes    : %lu\n" ,(long unsigned int)newPtr->attributes );
-        printf("static_offset : %i\n"  ,(int)newPtr->static_offset );
-        printf("fmt           : %s\n"  ,newPtr->fmt->str );
-        printf("\n");
-}
-/* 
-#
-### */
-
-
-/* 
-### PARSER Method
-# */
-
-/* This function will do the actual parsing  */
-/*      It will then call java to assign the parsed data to the object "javaObj" */
-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);
-        struct LttField *newLttFieldPtr = ltt_event_field(&newEventPtr, marker_field_get_index(newMarkerFieldPtr));
-        
-        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 : 
-                        accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addLongToParsingFromC", "(Ljava/lang/Object;J)V");
-                        (*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 ) ) {
-                                #if __WORDSIZE == 64
-                                        accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addLongPointerToParsingFromC", "(Ljava/lang/Object;J)V");
-                                #else
-                                        accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addIntPointerToParsingFromC", "(Ljava/lang/Object;J)V");
-                                #endif
-                                (*env)->CallStaticVoidMethod(   env, 
-                                                                accessClass, 
-                                                                accessFunction, 
-                                                                javaObj, 
-                                                                CONVERT_PTR_TO_JLONG(ltt_event_get_long_unsigned(&newEventPtr, newMarkerFieldPtr) )
-                                                             );
-                        }
-                        /* Otherwise, add it as a number */
-                        else {
-                                accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addLongToParsingFromC", "(Ljava/lang/Object;J)V");
-                                (*env)->CallStaticVoidMethod(   env, 
-                                                                accessClass,
-                                                                accessFunction,
-                                                                javaObj,
-                                                                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");
-                        #else
-                                accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addIntPointerToParsingFromC", "(Ljava/lang/Object;J)V");
-                        #endif
-                        (*env)->CallStaticVoidMethod(   env, 
-                                                        accessClass, 
-                                                        accessFunction, 
-                                                        javaObj, 
-                                                        CONVERT_PTR_TO_JLONG(*(GINT_TYPE_FOR_PTR*)(newEventPtr.data + newLttFieldPtr->offset))
-                                                     );
-                        break;
-                        
-                case LTT_TYPE_STRING :
-                        accessFunction = (*env)->GetStaticMethodID(env, accessClass, "addStringToParsingFromC", "(Ljava/lang/Object;Ljava/lang/String;)V");
-                        (*env)->CallStaticVoidMethod(   env,
-                                                        accessClass,
-                                                        accessFunction,
-                                                        javaObj,
-                                                        (*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;
-        }
-        
-}
-/* 
-#
-###  */
This page took 0.032338 seconds and 4 git commands to generate.