summaryrefslogtreecommitdiffstats
path: root/java/com_redhat_et_libguestfs_GuestFS.c
diff options
context:
space:
mode:
authorMatthew Booth <mbooth@redhat.com>2009-06-29 16:27:05 +0100
committerMatthew Booth <mbooth@redhat.com>2009-06-29 16:27:05 +0100
commit128f822e16bb96677c75b88125e18f48d7ccedaf (patch)
treec5f09d72e73c90c02967f48151831e6c4a78fb68 /java/com_redhat_et_libguestfs_GuestFS.c
parent103fb55e6b1428366ab31a0f17484ef1baa68e96 (diff)
parentad475104ec7fae456d3309cbf4261b893ed160bb (diff)
downloadlibguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.tar.gz
libguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.tar.xz
libguestfs-128f822e16bb96677c75b88125e18f48d7ccedaf.zip
Merge commit 'et/master'
Diffstat (limited to 'java/com_redhat_et_libguestfs_GuestFS.c')
-rw-r--r--java/com_redhat_et_libguestfs_GuestFS.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c
index 3b91b40c..a58b489a 100644
--- a/java/com_redhat_et_libguestfs_GuestFS.c
+++ b/java/com_redhat_et_libguestfs_GuestFS.c
@@ -4389,3 +4389,56 @@ 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 ;
+ }
+}
+