aboutsummaryrefslogtreecommitdiff
path: root/src/main/cpp/libc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/cpp/libc.cpp')
-rw-r--r--src/main/cpp/libc.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/cpp/libc.cpp b/src/main/cpp/libc.cpp
new file mode 100644
index 0000000..060e83e
--- /dev/null
+++ b/src/main/cpp/libc.cpp
@@ -0,0 +1,31 @@
+#include <jni.h>
+#include "unistd.h"
+#include <fcntl.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: gq_malwarefight_nosession_linux_libc_Libc
+ * Method: geteuid
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_gq_malwarefight_nosession_linux_libc_Libc_geteuid
+ (JNIEnv *, jclass) {
+ return (int) geteuid();
+}
+
+/*
+ * Class: gq_malwarefight_nosession_linux_libc_Libc
+ * Method: unlink
+ * Signature: (Ljava/lang/String;)I
+ */
+JNIEXPORT void JNICALL Java_gq_malwarefight_nosession_linux_libc_Libc_unlink
+ (JNIEnv* env, jclass, jstring string) {
+ const char* path = env->GetStringUTFChars(string, NULL);
+ unlink(path);
+ env->ReleaseStringUTFChars(string, path);
+}
+
+#ifdef __cplusplus
+}
+#endif