From bc96271e5bc83ee945fbf793e09a8a7c31ee940f Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Sat, 20 Nov 2021 20:03:12 +0100 Subject: tunnel: add gRPC over unix domain socket to the go backend With gRPC it will be easier to extend the go backend API. In this commit the Version function is reimplemented in gRPC. Gitignore generated protobuf files. --- tunnel/tools/libwg-go/jni.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tunnel/tools/libwg-go/jni.c') diff --git a/tunnel/tools/libwg-go/jni.c b/tunnel/tools/libwg-go/jni.c index e47b0be5..b386579c 100644 --- a/tunnel/tools/libwg-go/jni.c +++ b/tunnel/tools/libwg-go/jni.c @@ -15,6 +15,7 @@ extern int wgGetSocketV6(int handle); extern char *wgGetConfig(int handle); extern char *wgVersion(); extern int wgSetConfig(int handle, struct go_string settings); +extern int wgStartGrpc(); JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgTurnOn(JNIEnv *env, jclass c, jstring ifname, jint tun_fd, jstring settings) { @@ -82,3 +83,15 @@ JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgSetConfig( (*env)->ReleaseStringUTFChars(env, settings, settings_str); return ret; } + +JNIEXPORT jint JNICALL Java_com_wireguard_android_backend_GoBackend_wgStartGrpc(JNIEnv *env, jclass c, jstring sockname) +{ + const char *sockname_str = (*env)->GetStringUTFChars(env, sockname, 0); + size_t sockname_len = (*env)->GetStringUTFLength(env, sockname); + jint res = wgStartGrpc((struct go_string){ + .str = sockname_str, + .n = sockname_len + }); + (*env)->ReleaseStringUTFChars(env, sockname, sockname_str); + return res; +} -- cgit v1.2.3