interface NativeEnum {

public int toNativeInt();

}

static Pointer bytesToPointer(byte[] b) {

if (b.length == 0) {
    return null;
}
Pointer p = new Memory(b.length);
p.write(0, b, 0, b.length);
return p;

}

static byte[] pointerToBytes(Pointer p, long length) {

return p.getByteArray(0, (int)length);

}