Generated code for lvresize, resize2fs.
[libguestfs.git] / java / com_redhat_et_libguestfs_GuestFS.c
index 5141278..1850f21 100644 (file)
@@ -50,14 +50,14 @@ Java_com_redhat_et_libguestfs_GuestFS__1create
     return 0;
   }
   guestfs_set_error_handler (g, NULL, NULL);
-  return (jlong) g;
+  return (jlong) (long) g;
 }
 
 JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1close
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   guestfs_close (g);
 }
 
@@ -65,7 +65,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1launch
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_launch (g);
@@ -79,7 +79,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1wait_1ready
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_wait_ready (g);
@@ -93,7 +93,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1kill_1subprocess
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_kill_subprocess (g);
@@ -107,7 +107,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1add_1drive
   (JNIEnv *env, jobject obj, jlong jg, jstring jfilename)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *filename;
 
@@ -124,7 +124,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1add_1cdrom
   (JNIEnv *env, jobject obj, jlong jg, jstring jfilename)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *filename;
 
@@ -141,7 +141,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1config
   (JNIEnv *env, jobject obj, jlong jg, jstring jqemuparam, jstring jqemuvalue)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *qemuparam;
   const char *qemuvalue;
@@ -158,10 +158,42 @@ Java_com_redhat_et_libguestfs_GuestFS__1config
 }
 
 JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1set_1qemu
+  (JNIEnv *env, jobject obj, jlong jg, jstring jqemu)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *qemu;
+
+  qemu = (*env)->GetStringUTFChars (env, jqemu, NULL);
+  r = guestfs_set_qemu (g, qemu);
+  (*env)->ReleaseStringUTFChars (env, jqemu, qemu);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1qemu
+  (JNIEnv *env, jobject obj, jlong jg)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  const char *r;
+
+  r = guestfs_get_qemu (g);
+  if (r == NULL) {
+    throw_exception (env, guestfs_last_error (g));
+    return NULL;
+  }
+  return (*env)->NewStringUTF (env, r);
+}
+
+JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1set_1path
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -178,7 +210,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1get_1path
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   const char *r;
 
   r = guestfs_get_path (g);
@@ -190,10 +222,42 @@ Java_com_redhat_et_libguestfs_GuestFS__1get_1path
 }
 
 JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1set_1append
+  (JNIEnv *env, jobject obj, jlong jg, jstring jappend)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *append;
+
+  append = (*env)->GetStringUTFChars (env, jappend, NULL);
+  r = guestfs_set_append (g, append);
+  (*env)->ReleaseStringUTFChars (env, jappend, append);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1append
+  (JNIEnv *env, jobject obj, jlong jg)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  const char *r;
+
+  r = guestfs_get_append (g);
+  if (r == NULL) {
+    throw_exception (env, guestfs_last_error (g));
+    return NULL;
+  }
+  return (*env)->NewStringUTF (env, r);
+}
+
+JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1set_1autosync
   (JNIEnv *env, jobject obj, jlong jg, jboolean jautosync)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   int autosync;
 
@@ -209,7 +273,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1get_1autosync
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_get_autosync (g);
@@ -224,7 +288,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1set_1verbose
   (JNIEnv *env, jobject obj, jlong jg, jboolean jverbose)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   int verbose;
 
@@ -240,7 +304,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1get_1verbose
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_get_verbose (g);
@@ -255,7 +319,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1ready
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_is_ready (g);
@@ -270,7 +334,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1config
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_is_config (g);
@@ -285,7 +349,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1launching
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_is_launching (g);
@@ -300,7 +364,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1busy
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_is_busy (g);
@@ -315,7 +379,7 @@ JNIEXPORT jint JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1get_1state
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_get_state (g);
@@ -330,7 +394,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1set_1busy
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_set_busy (g);
@@ -344,7 +408,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1set_1ready
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_set_ready (g);
@@ -355,10 +419,24 @@ Java_com_redhat_et_libguestfs_GuestFS__1set_1ready
 }
 
 JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1end_1busy
+  (JNIEnv *env, jobject obj, jlong jg)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+
+  r = guestfs_end_busy (g);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1mount
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jstring jmountpoint)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
   const char *mountpoint;
@@ -378,7 +456,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1sync
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_sync (g);
@@ -392,7 +470,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1touch
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -409,7 +487,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1cat
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   const char *path;
@@ -430,7 +508,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1ll
   (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   const char *directory;
@@ -451,7 +529,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1ls
   (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -484,7 +562,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1list_1devices
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -514,7 +592,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1list_1partitions
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -544,7 +622,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1pvs
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -574,7 +652,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1vgs
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -604,7 +682,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1lvs
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -634,7 +712,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1pvs_1full
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   jclass cl;
   jfieldID fl;
@@ -694,7 +772,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1vgs_1full
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   jclass cl;
   jfieldID fl;
@@ -764,7 +842,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1lvs_1full
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   jclass cl;
   jfieldID fl;
@@ -828,7 +906,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1read_1lines
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -861,7 +939,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1init
   (JNIEnv *env, jobject obj, jlong jg, jstring jroot, jint jflags)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *root;
   int flags;
@@ -880,7 +958,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1close
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_aug_close (g);
@@ -894,7 +972,7 @@ JNIEXPORT jint JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1defvar
   (JNIEnv *env, jobject obj, jlong jg, jstring jname, jstring jexpr)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *name;
   const char *expr;
@@ -915,7 +993,7 @@ JNIEXPORT jobject JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1defnode
   (JNIEnv *env, jobject obj, jlong jg, jstring jname, jstring jexpr, jstring jval)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobject jr;
   jclass cl;
   jfieldID fl;
@@ -949,7 +1027,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1get
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   const char *path;
@@ -970,7 +1048,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1set
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath, jstring jval)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
   const char *val;
@@ -990,7 +1068,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1insert
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath, jstring jlabel, jboolean jbefore)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
   const char *label;
@@ -1012,7 +1090,7 @@ JNIEXPORT jint JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1rm
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1030,7 +1108,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1mv
   (JNIEnv *env, jobject obj, jlong jg, jstring jsrc, jstring jdest)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *src;
   const char *dest;
@@ -1050,7 +1128,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1match
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -1083,7 +1161,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1save
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_aug_save (g);
@@ -1097,7 +1175,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1load
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_aug_load (g);
@@ -1111,7 +1189,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1aug_1ls
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -1144,7 +1222,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1rm
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1161,7 +1239,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1rmdir
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1178,7 +1256,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1rm_1rf
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1195,7 +1273,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1mkdir
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1212,7 +1290,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1mkdir_1p
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1229,7 +1307,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1chmod
   (JNIEnv *env, jobject obj, jlong jg, jint jmode, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   int mode;
   const char *path;
@@ -1248,7 +1326,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1chown
   (JNIEnv *env, jobject obj, jlong jg, jint jowner, jint jgroup, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   int owner;
   int group;
@@ -1269,7 +1347,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1exists
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1287,7 +1365,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1file
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1305,7 +1383,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1is_1dir
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
 
@@ -1323,7 +1401,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1pvcreate
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1340,7 +1418,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1vgcreate
   (JNIEnv *env, jobject obj, jlong jg, jstring jvolgroup, jobjectArray jphysvols)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *volgroup;
   int physvols_len;
@@ -1349,7 +1427,7 @@ Java_com_redhat_et_libguestfs_GuestFS__1vgcreate
 
   volgroup = (*env)->GetStringUTFChars (env, jvolgroup, NULL);
   physvols_len = (*env)->GetArrayLength (env, jphysvols);
-  physvols = malloc (sizeof (char *) * (physvols_len+1));
+  physvols = guestfs_safe_malloc (g, sizeof (char *) * (physvols_len+1));
   for (i = 0; i < physvols_len; ++i) {
     jobject o = (*env)->GetObjectArrayElement (env, jphysvols, i);
     physvols[i] = (*env)->GetStringUTFChars (env, o, NULL);
@@ -1372,7 +1450,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1lvcreate
   (JNIEnv *env, jobject obj, jlong jg, jstring jlogvol, jstring jvolgroup, jint jmbytes)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *logvol;
   const char *volgroup;
@@ -1394,7 +1472,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1mkfs
   (JNIEnv *env, jobject obj, jlong jg, jstring jfstype, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *fstype;
   const char *device;
@@ -1414,7 +1492,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1sfdisk
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jint jcyls, jint jheads, jint jsectors, jobjectArray jlines)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
   int cyls;
@@ -1429,7 +1507,7 @@ Java_com_redhat_et_libguestfs_GuestFS__1sfdisk
   heads = jheads;
   sectors = jsectors;
   lines_len = (*env)->GetArrayLength (env, jlines);
-  lines = malloc (sizeof (char *) * (lines_len+1));
+  lines = guestfs_safe_malloc (g, sizeof (char *) * (lines_len+1));
   for (i = 0; i < lines_len; ++i) {
     jobject o = (*env)->GetObjectArrayElement (env, jlines, i);
     lines[i] = (*env)->GetStringUTFChars (env, o, NULL);
@@ -1452,7 +1530,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1write_1file
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath, jstring jcontent, jint jsize)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *path;
   const char *content;
@@ -1474,7 +1552,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1umount
   (JNIEnv *env, jobject obj, jlong jg, jstring jpathordevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *pathordevice;
 
@@ -1491,7 +1569,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1mounts
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -1521,7 +1599,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1umount_1all
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_umount_all (g);
@@ -1535,7 +1613,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1lvm_1remove_1all
   (JNIEnv *env, jobject obj, jlong jg)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
 
   r = guestfs_lvm_remove_all (g);
@@ -1549,7 +1627,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1file
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   const char *path;
@@ -1570,7 +1648,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1command
   (JNIEnv *env, jobject obj, jlong jg, jobjectArray jarguments)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   int arguments_len;
@@ -1578,7 +1656,7 @@ Java_com_redhat_et_libguestfs_GuestFS__1command
   int i;
 
   arguments_len = (*env)->GetArrayLength (env, jarguments);
-  arguments = malloc (sizeof (char *) * (arguments_len+1));
+  arguments = guestfs_safe_malloc (g, sizeof (char *) * (arguments_len+1));
   for (i = 0; i < arguments_len; ++i) {
     jobject o = (*env)->GetObjectArrayElement (env, jarguments, i);
     arguments[i] = (*env)->GetStringUTFChars (env, o, NULL);
@@ -1603,7 +1681,7 @@ JNIEXPORT jobjectArray JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1command_1lines
   (JNIEnv *env, jobject obj, jlong jg, jobjectArray jarguments)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobjectArray jr;
   int r_len;
   jclass cl;
@@ -1614,7 +1692,7 @@ Java_com_redhat_et_libguestfs_GuestFS__1command_1lines
   int i;
 
   arguments_len = (*env)->GetArrayLength (env, jarguments);
-  arguments = malloc (sizeof (char *) * (arguments_len+1));
+  arguments = guestfs_safe_malloc (g, sizeof (char *) * (arguments_len+1));
   for (i = 0; i < arguments_len; ++i) {
     jobject o = (*env)->GetObjectArrayElement (env, jarguments, i);
     arguments[i] = (*env)->GetStringUTFChars (env, o, NULL);
@@ -1647,7 +1725,7 @@ JNIEXPORT jobject JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1stat
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobject jr;
   jclass cl;
   jfieldID fl;
@@ -1697,7 +1775,7 @@ JNIEXPORT jobject JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1lstat
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobject jr;
   jclass cl;
   jfieldID fl;
@@ -1747,7 +1825,7 @@ JNIEXPORT jobject JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1statvfs
   (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jobject jr;
   jclass cl;
   jfieldID fl;
@@ -1793,7 +1871,7 @@ JNIEXPORT jobject JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1tune2fs_1l
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   char **r;
   const char *device;
 
@@ -1812,7 +1890,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1setro
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1829,7 +1907,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1setrw
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1846,7 +1924,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1getro
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1864,7 +1942,7 @@ JNIEXPORT jint JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1getss
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1882,7 +1960,7 @@ JNIEXPORT jint JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1getbsz
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1900,7 +1978,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1setbsz
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jint jblocksize)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
   int blocksize;
@@ -1919,7 +1997,7 @@ JNIEXPORT jlong JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1getsz
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int64_t r;
   const char *device;
 
@@ -1937,7 +2015,7 @@ JNIEXPORT jlong JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1getsize64
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int64_t r;
   const char *device;
 
@@ -1955,7 +2033,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1flushbufs
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1972,7 +2050,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1blockdev_1rereadpt
   (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *device;
 
@@ -1989,7 +2067,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1upload
   (JNIEnv *env, jobject obj, jlong jg, jstring jfilename, jstring jremotefilename)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *filename;
   const char *remotefilename;
@@ -2009,7 +2087,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1download
   (JNIEnv *env, jobject obj, jlong jg, jstring jremotefilename, jstring jfilename)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *remotefilename;
   const char *filename;
@@ -2029,7 +2107,7 @@ JNIEXPORT jstring JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1checksum
   (JNIEnv *env, jobject obj, jlong jg, jstring jcsumtype, jstring jpath)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   jstring jr;
   char *r;
   const char *csumtype;
@@ -2053,7 +2131,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1tar_1in
   (JNIEnv *env, jobject obj, jlong jg, jstring jtarfile, jstring jdirectory)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *tarfile;
   const char *directory;
@@ -2073,7 +2151,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1tar_1out
   (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory, jstring jtarfile)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *directory;
   const char *tarfile;
@@ -2093,7 +2171,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1tgz_1in
   (JNIEnv *env, jobject obj, jlong jg, jstring jtarball, jstring jdirectory)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *tarball;
   const char *directory;
@@ -2113,7 +2191,7 @@ JNIEXPORT void JNICALL
 Java_com_redhat_et_libguestfs_GuestFS__1tgz_1out
   (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory, jstring jtarball)
 {
-  guestfs_h *g = (guestfs_h *) jg;
+  guestfs_h *g = (guestfs_h *) (long) jg;
   int r;
   const char *directory;
   const char *tarball;
@@ -2129,3 +2207,726 @@ 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 *) (long) 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 *) (long) 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 *) (long) 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 ;
+  }
+}
+
+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 = guestfs_safe_malloc (g, 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;
+}
+
+JNIEXPORT jint JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1fsck
+  (JNIEnv *env, jobject obj, jlong jg, jstring jfstype, jstring jdevice)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *fstype;
+  const char *device;
+
+  fstype = (*env)->GetStringUTFChars (env, jfstype, NULL);
+  device = (*env)->GetStringUTFChars (env, jdevice, NULL);
+  r = guestfs_fsck (g, fstype, device);
+  (*env)->ReleaseStringUTFChars (env, jfstype, fstype);
+  (*env)->ReleaseStringUTFChars (env, jdevice, device);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return 0;
+  }
+  return (jint) r;
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1zero
+  (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_zero (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__1grub_1install
+  (JNIEnv *env, jobject obj, jlong jg, jstring jroot, jstring jdevice)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *root;
+  const char *device;
+
+  root = (*env)->GetStringUTFChars (env, jroot, NULL);
+  device = (*env)->GetStringUTFChars (env, jdevice, NULL);
+  r = guestfs_grub_install (g, root, device);
+  (*env)->ReleaseStringUTFChars (env, jroot, root);
+  (*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__1cp
+  (JNIEnv *env, jobject obj, jlong jg, jstring jsrc, jstring jdest)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *src;
+  const char *dest;
+
+  src = (*env)->GetStringUTFChars (env, jsrc, NULL);
+  dest = (*env)->GetStringUTFChars (env, jdest, NULL);
+  r = guestfs_cp (g, src, dest);
+  (*env)->ReleaseStringUTFChars (env, jsrc, src);
+  (*env)->ReleaseStringUTFChars (env, jdest, dest);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1cp_1a
+  (JNIEnv *env, jobject obj, jlong jg, jstring jsrc, jstring jdest)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *src;
+  const char *dest;
+
+  src = (*env)->GetStringUTFChars (env, jsrc, NULL);
+  dest = (*env)->GetStringUTFChars (env, jdest, NULL);
+  r = guestfs_cp_a (g, src, dest);
+  (*env)->ReleaseStringUTFChars (env, jsrc, src);
+  (*env)->ReleaseStringUTFChars (env, jdest, dest);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1mv
+  (JNIEnv *env, jobject obj, jlong jg, jstring jsrc, jstring jdest)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *src;
+  const char *dest;
+
+  src = (*env)->GetStringUTFChars (env, jsrc, NULL);
+  dest = (*env)->GetStringUTFChars (env, jdest, NULL);
+  r = guestfs_mv (g, src, dest);
+  (*env)->ReleaseStringUTFChars (env, jsrc, src);
+  (*env)->ReleaseStringUTFChars (env, jdest, dest);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1drop_1caches
+  (JNIEnv *env, jobject obj, jlong jg, jint jwhattodrop)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  int whattodrop;
+
+  whattodrop = jwhattodrop;
+  r = guestfs_drop_caches (g, whattodrop);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1dmesg
+  (JNIEnv *env, jobject obj, jlong jg)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  jstring jr;
+  char *r;
+
+  r = guestfs_dmesg (g);
+  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__1ping_1daemon
+  (JNIEnv *env, jobject obj, jlong jg)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+
+  r = guestfs_ping_daemon (g);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1equal
+  (JNIEnv *env, jobject obj, jlong jg, jstring jfile1, jstring jfile2)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *file1;
+  const char *file2;
+
+  file1 = (*env)->GetStringUTFChars (env, jfile1, NULL);
+  file2 = (*env)->GetStringUTFChars (env, jfile2, NULL);
+  r = guestfs_equal (g, file1, file2);
+  (*env)->ReleaseStringUTFChars (env, jfile1, file1);
+  (*env)->ReleaseStringUTFChars (env, jfile2, file2);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return 0;
+  }
+  return (jboolean) r;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1strings
+  (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_strings (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 jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1strings_1e
+  (JNIEnv *env, jobject obj, jlong jg, jstring jencoding, jstring jpath)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  jobjectArray jr;
+  int r_len;
+  jclass cl;
+  jstring jstr;
+  char **r;
+  const char *encoding;
+  const char *path;
+  int i;
+
+  encoding = (*env)->GetStringUTFChars (env, jencoding, NULL);
+  path = (*env)->GetStringUTFChars (env, jpath, NULL);
+  r = guestfs_strings_e (g, encoding, path);
+  (*env)->ReleaseStringUTFChars (env, jencoding, encoding);
+  (*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 jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1hexdump
+  (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  jstring jr;
+  char *r;
+  const char *path;
+
+  path = (*env)->GetStringUTFChars (env, jpath, NULL);
+  r = guestfs_hexdump (g, path);
+  (*env)->ReleaseStringUTFChars (env, jpath, path);
+  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__1zerofree
+  (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_zerofree (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__1pvresize
+  (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_pvresize (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__1sfdisk_1N
+  (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jint jn, jint jcyls, jint jheads, jint jsectors, jstring jline)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *device;
+  int n;
+  int cyls;
+  int heads;
+  int sectors;
+  const char *line;
+
+  device = (*env)->GetStringUTFChars (env, jdevice, NULL);
+  n = jn;
+  cyls = jcyls;
+  heads = jheads;
+  sectors = jsectors;
+  line = (*env)->GetStringUTFChars (env, jline, NULL);
+  r = guestfs_sfdisk_N (g, device, n, cyls, heads, sectors, line);
+  (*env)->ReleaseStringUTFChars (env, jdevice, device);
+  (*env)->ReleaseStringUTFChars (env, jline, line);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1sfdisk_1l
+  (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_sfdisk_l (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 jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1sfdisk_1kernel_1geometry
+  (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_sfdisk_kernel_geometry (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 jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1sfdisk_1disk_1geometry
+  (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_sfdisk_disk_geometry (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__1vg_1activate_1all
+  (JNIEnv *env, jobject obj, jlong jg, jboolean jactivate)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  int activate;
+
+  activate = jactivate;
+  r = guestfs_vg_activate_all (g, activate);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1vg_1activate
+  (JNIEnv *env, jobject obj, jlong jg, jboolean jactivate, jobjectArray jvolgroups)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  int activate;
+  int volgroups_len;
+  const char **volgroups;
+  int i;
+
+  activate = jactivate;
+  volgroups_len = (*env)->GetArrayLength (env, jvolgroups);
+  volgroups = guestfs_safe_malloc (g, sizeof (char *) * (volgroups_len+1));
+  for (i = 0; i < volgroups_len; ++i) {
+    jobject o = (*env)->GetObjectArrayElement (env, jvolgroups, i);
+    volgroups[i] = (*env)->GetStringUTFChars (env, o, NULL);
+  }
+  volgroups[volgroups_len] = NULL;
+  r = guestfs_vg_activate (g, activate, volgroups);
+  for (i = 0; i < volgroups_len; ++i) {
+    jobject o = (*env)->GetObjectArrayElement (env, jvolgroups, i);
+    (*env)->ReleaseStringUTFChars (env, o, volgroups[i]);
+  }
+  free (volgroups);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1lvresize
+  (JNIEnv *env, jobject obj, jlong jg, jstring jdevice, jint jmbytes)
+{
+  guestfs_h *g = (guestfs_h *) (long) jg;
+  int r;
+  const char *device;
+  int mbytes;
+
+  device = (*env)->GetStringUTFChars (env, jdevice, NULL);
+  mbytes = jmbytes;
+  r = guestfs_lvresize (g, device, mbytes);
+  (*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__1resize2fs
+  (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_resize2fs (g, device);
+  (*env)->ReleaseStringUTFChars (env, jdevice, device);
+  if (r == -1) {
+    throw_exception (env, guestfs_last_error (g));
+    return ;
+  }
+}
+