X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=java%2Fcom_redhat_et_libguestfs_GuestFS.c;h=45c193769df00430c88340b353df412695755ed6;hb=b03ee3675bed8d739ae722ed8c030ae02b3cb0ed;hp=81435d90e5bf593532c315a14b1b8ae6679b8bbb;hpb=dd98434c1b45f7a27065b13839089c7265203e2d;p=libguestfs.git diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index 81435d9..45c1937 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -2230,3 +2230,172 @@ Java_com_redhat_et_libguestfs_GuestFS__1mount_1vfs } } +JNIEXPORT jstring JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1debug + (JNIEnv *env, jobject obj, jlong jg, jstring jsubcmd, jobjectArray jextraargs) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jstring jr; + char *r; + const char *subcmd; + int extraargs_len; + const char **extraargs; + int i; + + subcmd = (*env)->GetStringUTFChars (env, jsubcmd, NULL); + extraargs_len = (*env)->GetArrayLength (env, jextraargs); + extraargs = malloc (sizeof (char *) * (extraargs_len+1)); + for (i = 0; i < extraargs_len; ++i) { + jobject o = (*env)->GetObjectArrayElement (env, jextraargs, i); + extraargs[i] = (*env)->GetStringUTFChars (env, o, NULL); + } + extraargs[extraargs_len] = NULL; + r = guestfs_debug (g, subcmd, extraargs); + (*env)->ReleaseStringUTFChars (env, jsubcmd, subcmd); + for (i = 0; i < extraargs_len; ++i) { + jobject o = (*env)->GetObjectArrayElement (env, jextraargs, i); + (*env)->ReleaseStringUTFChars (env, o, extraargs[i]); + } + free (extraargs); + if (r == NULL) { + throw_exception (env, guestfs_last_error (g)); + return NULL; + } + jr = (*env)->NewStringUTF (env, r); + free (r); + return jr; +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1lvremove + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *device; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_lvremove (g, device); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1vgremove + (JNIEnv *env, jobject obj, jlong jg, jstring jvgname) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *vgname; + + vgname = (*env)->GetStringUTFChars (env, jvgname, NULL); + r = guestfs_vgremove (g, vgname); + (*env)->ReleaseStringUTFChars (env, jvgname, vgname); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1pvremove + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *device; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_pvremove (g, device); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1set_1e2label + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jstring jlabel) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *device; + const char *label; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + label = (*env)->GetStringUTFChars (env, jlabel, NULL); + r = guestfs_set_e2label (g, device, label); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + (*env)->ReleaseStringUTFChars (env, jlabel, label); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT jstring JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1get_1e2label + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jstring jr; + char *r; + const char *device; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_get_e2label (g, device); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + if (r == NULL) { + throw_exception (env, guestfs_last_error (g)); + return NULL; + } + jr = (*env)->NewStringUTF (env, r); + free (r); + return jr; +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1set_1e2uuid + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jstring juuid) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *device; + const char *uuid; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + uuid = (*env)->GetStringUTFChars (env, juuid, NULL); + r = guestfs_set_e2uuid (g, device, uuid); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + (*env)->ReleaseStringUTFChars (env, juuid, uuid); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT jstring JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1get_1e2uuid + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jstring jr; + char *r; + const char *device; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_get_e2uuid (g, device); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + if (r == NULL) { + throw_exception (env, guestfs_last_error (g)); + return NULL; + } + jr = (*env)->NewStringUTF (env, r); + free (r); + return jr; +} +