diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/com/redhat/et/libguestfs/GuestFS.java | 56 | ||||
-rw-r--r-- | java/com_redhat_et_libguestfs_GuestFS.c | 69 |
2 files changed, 125 insertions, 0 deletions
diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index 119a2df1..bb6c8d70 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -2130,4 +2130,60 @@ public class GuestFS { private native void _tgz_out (long g, String directory, String tarball) throws LibGuestFSException; + /** + * mount a guest disk, read-only + * + * This is the same as the "g.mount" command, but it mounts + * the filesystem with the read-only (*-o ro*) flag. + * + * @throws LibGuestFSException + */ + public void mount_ro (String device, String mountpoint) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("mount_ro: handle is closed"); + _mount_ro (g, device, mountpoint); + } + private native void _mount_ro (long g, String device, String mountpoint) + throws LibGuestFSException; + + /** + * mount a guest disk with mount options + * + * This is the same as the "g.mount" command, but it allows + * you to set the mount options as for the mount(8) *-o* + * flag. + * + * @throws LibGuestFSException + */ + public void mount_options (String options, String device, String mountpoint) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("mount_options: handle is closed"); + _mount_options (g, options, device, mountpoint); + } + private native void _mount_options (long g, String options, String device, String mountpoint) + throws LibGuestFSException; + + /** + * mount a guest disk with mount options and vfstype + * + * This is the same as the "g.mount" command, but it allows + * you to set both the mount options and the vfstype as for + * the mount(8) *-o* and *-t* flags. + * + * @throws LibGuestFSException + */ + public void mount_vfs (String options, String vfstype, String device, String mountpoint) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("mount_vfs: handle is closed"); + _mount_vfs (g, options, vfstype, device, mountpoint); + } + private native void _mount_vfs (long g, String options, String vfstype, String device, String mountpoint) + throws LibGuestFSException; + } diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index 550568b8..6d39f38b 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -2161,3 +2161,72 @@ Java_com_redhat_et_libguestfs_GuestFS__1tgz_1out } } +JNIEXPORT void JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1mount_1ro + (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jstring jmountpoint) +{ + guestfs_h *g = (guestfs_h *) jg; + int r; + const char *device; + const char *mountpoint; + + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + mountpoint = (*env)->GetStringUTFChars (env, jmountpoint, NULL); + r = guestfs_mount_ro (g, device, mountpoint); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + (*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__1mount_1options + (JNIEnv *env, jobject obj, jlong jg, jstring joptions, jstring jdevice, jstring jmountpoint) +{ + guestfs_h *g = (guestfs_h *) jg; + int r; + const char *options; + const char *device; + const char *mountpoint; + + options = (*env)->GetStringUTFChars (env, joptions, NULL); + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + mountpoint = (*env)->GetStringUTFChars (env, jmountpoint, NULL); + r = guestfs_mount_options (g, options, device, mountpoint); + (*env)->ReleaseStringUTFChars (env, joptions, options); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + (*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__1mount_1vfs + (JNIEnv *env, jobject obj, jlong jg, jstring joptions, jstring jvfstype, jstring jdevice, jstring jmountpoint) +{ + guestfs_h *g = (guestfs_h *) jg; + int r; + const char *options; + const char *vfstype; + const char *device; + const char *mountpoint; + + options = (*env)->GetStringUTFChars (env, joptions, NULL); + vfstype = (*env)->GetStringUTFChars (env, jvfstype, NULL); + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + mountpoint = (*env)->GetStringUTFChars (env, jmountpoint, NULL); + r = guestfs_mount_vfs (g, options, vfstype, device, mountpoint); + (*env)->ReleaseStringUTFChars (env, joptions, options); + (*env)->ReleaseStringUTFChars (env, jvfstype, vfstype); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + (*env)->ReleaseStringUTFChars (env, jmountpoint, mountpoint); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return ; + } +} + |