X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=java%2Fcom_redhat_et_libguestfs_GuestFS.c;h=91095a48a359ac930e0df3d9be7e5fc3b8fadbd6;hp=3b91b40c6a57ea777bf683a0d3ed85c94c101fa5;hb=0884d8bbae6d76a603ec1385ada2938f88981c5c;hpb=e492608f2f3809a824cb70ee03ff305964b69dd7 diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index 3b91b40..91095a4 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -1402,6 +1402,37 @@ Java_com_redhat_et_libguestfs_GuestFS__1end_1busy } JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1set_1memsize + (JNIEnv *env, jobject obj, jlong jg, jint jmemsize) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int memsize; + + memsize = jmemsize; + r = guestfs_set_memsize (g, memsize); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT jint JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1get_1memsize + (JNIEnv *env, jobject obj, jlong jg) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + + r = guestfs_get_memsize (g); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return 0; + } + return (jint) r; +} + +JNIEXPORT void JNICALL Java_com_redhat_et_libguestfs_GuestFS__1mount (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jstring jmountpoint) { @@ -4389,3 +4420,218 @@ Java_com_redhat_et_libguestfs_GuestFS__1du return (jlong) r; } +JNIEXPORT jobjectArray JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1initrd_1list + (JNIEnv *env, jobject obj, jlong jg, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jobjectArray jr; + int r_len; + jclass cl; + jstring jstr; + char **r; + const char *path; + int i; + + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_initrd_list (g, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == NULL) { + throw_exception (env, guestfs_last_error (g)); + return NULL; + } + for (r_len = 0; r[r_len] != NULL; ++r_len) ; + cl = (*env)->FindClass (env, "java/lang/String"); + jstr = (*env)->NewStringUTF (env, ""); + jr = (*env)->NewObjectArray (env, r_len, cl, jstr); + for (i = 0; i < r_len; ++i) { + jstr = (*env)->NewStringUTF (env, r[i]); + (*env)->SetObjectArrayElement (env, jr, i, jstr); + free (r[i]); + } + free (r); + return jr; +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mount_1loop + (JNIEnv *env, jobject obj, jlong jg, jstring jfile, jstring jmountpoint) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *file; + const char *mountpoint; + + file = (*env)->GetStringUTFChars (env, jfile, NULL); + mountpoint = (*env)->GetStringUTFChars (env, jmountpoint, NULL); + r = guestfs_mount_loop (g, file, mountpoint); + (*env)->ReleaseStringUTFChars (env, jfile, file); + (*env)->ReleaseStringUTFChars (env, jmountpoint, mountpoint); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mkswap + (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_mkswap (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__1mkswap_1L + (JNIEnv *env, jobject obj, jlong jg, jstring jlabel, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *label; + const char *device; + + label = (*env)->GetStringUTFChars (env, jlabel, NULL); + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_mkswap_L (g, label, device); + (*env)->ReleaseStringUTFChars (env, jlabel, label); + (*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__1mkswap_1U + (JNIEnv *env, jobject obj, jlong jg, jstring juuid, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *uuid; + const char *device; + + uuid = (*env)->GetStringUTFChars (env, juuid, NULL); + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_mkswap_U (g, uuid, device); + (*env)->ReleaseStringUTFChars (env, juuid, uuid); + (*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__1mknod + (JNIEnv *env, jobject obj, jlong jg, jint jmode, jint jdevmajor, jint jdevminor, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int mode; + int devmajor; + int devminor; + const char *path; + + mode = jmode; + devmajor = jdevmajor; + devminor = jdevminor; + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_mknod (g, mode, devmajor, devminor, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mkfifo + (JNIEnv *env, jobject obj, jlong jg, jint jmode, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int mode; + const char *path; + + mode = jmode; + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_mkfifo (g, mode, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mknod_1b + (JNIEnv *env, jobject obj, jlong jg, jint jmode, jint jdevmajor, jint jdevminor, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int mode; + int devmajor; + int devminor; + const char *path; + + mode = jmode; + devmajor = jdevmajor; + devminor = jdevminor; + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_mknod_b (g, mode, devmajor, devminor, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mknod_1c + (JNIEnv *env, jobject obj, jlong jg, jint jmode, jint jdevmajor, jint jdevminor, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int mode; + int devmajor; + int devminor; + const char *path; + + mode = jmode; + devmajor = jdevmajor; + devminor = jdevminor; + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_mknod_c (g, mode, devmajor, devminor, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + +JNIEXPORT jint JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1umask + (JNIEnv *env, jobject obj, jlong jg, jint jmask) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + int mask; + + mask = jmask; + r = guestfs_umask (g, mask); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return 0; + } + return (jint) r; +} +