3 #include "directbuffer.h"
5 #define BUFFER_SIZE 1024
9 JNIEXPORT jobject JNICALL
10 Java_directbuffer_createDirectByteBuffer (JNIEnv
*env
, jclass k
)
12 address
= malloc (BUFFER_SIZE
);
13 return (*env
)->NewDirectByteBuffer (env
, address
, 1024);
17 test_buffer (JNIEnv
*env
, jobject buffer
, const char *name
, int len
)
19 void *tmp
= (*env
)->GetDirectBufferAddress (env
, buffer
);
22 printf ("PASS: address of %s\n", name
);
24 printf ("FAIL: address of %s\n", name
);
26 int tmplen
= (*env
)->GetDirectBufferCapacity (env
, buffer
);
29 printf ("PASS: length of %s\n", name
);
31 printf ("FAIL: length of %s\n", name
);
34 JNIEXPORT
void JNICALL
35 Java_directbuffer_testDirectByteBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
37 test_buffer (env
, buffer
, "direct java.nio.ByteBuffer", len
);
40 JNIEXPORT
void JNICALL
41 Java_directbuffer_testCharBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
43 test_buffer (env
, buffer
, "java.nio.CharBuffer view", len
);
46 JNIEXPORT
void JNICALL
47 Java_directbuffer_testDoubleBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
49 test_buffer (env
, buffer
, "java.nio.DoubleBuffer view", len
);
52 JNIEXPORT
void JNICALL
53 Java_directbuffer_testFloatBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
55 test_buffer (env
, buffer
, "java.nio.FloatBuffer view", len
);
58 JNIEXPORT
void JNICALL
59 Java_directbuffer_testIntBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
61 test_buffer (env
, buffer
, "java.nio.IntBuffer view", len
);
64 JNIEXPORT
void JNICALL
65 Java_directbuffer_testLongBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
67 test_buffer (env
, buffer
, "java.nio.LongBuffer view", len
);
70 JNIEXPORT
void JNICALL
71 Java_directbuffer_testShortBuffer (JNIEnv
*env
, jclass k
, jobject buffer
, jint len
)
73 test_buffer (env
, buffer
, "java.nio.ShortBuffer view", len
);