diff options
Diffstat (limited to 'app/tools/libwg-go/jni.c')
-rw-r--r-- | app/tools/libwg-go/jni.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/app/tools/libwg-go/jni.c b/app/tools/libwg-go/jni.c deleted file mode 100644 index a0f3d0ba..00000000 --- a/app/tools/libwg-go/jni.c +++ /dev/null @@ -1,45 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later - * - * Copyright © 2017-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. - */ - -#include <jni.h> - -struct go_string { const char *str; long n; }; -extern int wgTurnOn(struct go_string ifname, int tun_fd, struct go_string settings); -extern void wgTurnOff(int handle); -extern int wgGetSocketV4(int handle); -extern int wgGetSocketV6(int handle); - -JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgTurnOn(JNIEnv *env, jclass c, jstring ifname, jint tun_fd, jstring settings) -{ - const char *ifname_str = (*env)->GetStringUTFChars(env, ifname, 0); - size_t ifname_len = (*env)->GetStringUTFLength(env, ifname); - const char *settings_str = (*env)->GetStringUTFChars(env, settings, 0); - size_t settings_len = (*env)->GetStringUTFLength(env, settings); - int ret = wgTurnOn((struct go_string){ - .str = ifname_str, - .n = ifname_len - }, tun_fd, (struct go_string){ - .str = settings_str, - .n = settings_len - }); - (*env)->ReleaseStringUTFChars(env, ifname, ifname_str); - (*env)->ReleaseStringUTFChars(env, settings, settings_str); - return ret; -} - -JNIEXPORT void JNICALL Java_com_wireguard_android_backend_GoBackend_wgTurnOff(JNIEnv *env, jclass c, jint handle) -{ - wgTurnOff(handle); -} - -JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgGetSocketV4(JNIEnv *env, jclass c, jint handle) -{ - return wgGetSocketV4(handle); -} - -JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgGetSocketV6(JNIEnv *env, jclass c, jint handle) -{ - return wgGetSocketV6(handle); -} |