#include "javacap.h" #include "pcapext.h" JNIEXPORT jint JNICALL Java_javacap_getCapturedLength (JNIEnv *env, jobject obj) { jint temp=javacap_d0.hdr.caplen; return temp; } JNIEXPORT jint JNICALL Java_javacap_getDataLinkType (JNIEnv *env, jobject obj) { jint temp=javacap_d0.datalink; return temp; } JNIEXPORT jstring JNICALL Java_javacap_getError (JNIEnv *env,jobject obj) { char* buf=NULL; char no_error[]=""; if(javacap_d0.error==0) buf=no_error; else buf=javacap_d0.errbuf; return (*env)->NewStringUTF(env, buf); } JNIEXPORT jint JNICALL Java_javacap_getPacketLength (JNIEnv *env, jobject obj) { jint temp=javacap_d0.hdr.len; return temp; } JNIEXPORT void JNICALL Java_javacap_open (JNIEnv *env, jobject obj, jstring str, jint bs) { char* s=(*env)->GetStringUTFChars(env,str,0); javacap_open(s,bs); (*env)->ReleaseStringUTFChars(env, str, s); } JNIEXPORT void JNICALL Java_javacap_close (JNIEnv *env, jobject obj) { javacap_close(); } JNIEXPORT void JNICALL Java_javacap_read (JNIEnv * env, jobject obj, jbyteArray arr) { int i=0; int caplen=0; jsize len = (*env)->GetArrayLength(env, arr); jbyte *body = (*env)->GetByteArrayElements(env, arr, 0); if(lenReleaseByteArrayElements(env, arr, body, 0); } JNIEXPORT jint JNICALL Java_javacap_setFilter (JNIEnv *env, jobject obj, jstring str, jint msk) { char* s=(*env)->GetStringUTFChars(env,str,0); jint temp = javacap_setfilter(s,msk); (*env)->ReleaseStringUTFChars(env, str, s); return temp; } JNIEXPORT jint JNICALL Java_javacap_getReceivedPackets (JNIEnv *env, jobject obj) { jint temp=javacap_getReceivedPackets(); return temp; } JNIEXPORT jint JNICALL Java_javacap_getDroppedPackets (JNIEnv *env, jobject obj) { jint temp=javacap_getDroppedPackets(); return temp; }