+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rpvlist
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_pv_list *r;
+ const char *val;
+ int i;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rpvlist (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/PV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "pv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].pv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "pv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "pv_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_fmt));
+ fl = (*env)->GetFieldID (env, cl, "pv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_size);
+ fl = (*env)->GetFieldID (env, cl, "dev_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].dev_size);
+ fl = (*env)->GetFieldID (env, cl, "pv_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_free);
+ fl = (*env)->GetFieldID (env, cl, "pv_used", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_used);
+ fl = (*env)->GetFieldID (env, cl, "pv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_attr));
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_alloc_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_alloc_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_tags));
+ fl = (*env)->GetFieldID (env, cl, "pe_start", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pe_start);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_pv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rpvlisterr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_pv_list *r;
+ int i;
+
+ r = guestfs_test0rpvlisterr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/PV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "pv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].pv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "pv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "pv_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_fmt));
+ fl = (*env)->GetFieldID (env, cl, "pv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_size);
+ fl = (*env)->GetFieldID (env, cl, "dev_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].dev_size);
+ fl = (*env)->GetFieldID (env, cl, "pv_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_free);
+ fl = (*env)->GetFieldID (env, cl, "pv_used", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_used);
+ fl = (*env)->GetFieldID (env, cl, "pv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_attr));
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_alloc_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_alloc_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_tags));
+ fl = (*env)->GetFieldID (env, cl, "pe_start", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pe_start);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_pv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rvglist
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_vg_list *r;
+ const char *val;
+ int i;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rvglist (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/VG");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "vg_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].vg_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "vg_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "vg_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_fmt));
+ fl = (*env)->GetFieldID (env, cl, "vg_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_attr));
+ fl = (*env)->GetFieldID (env, cl, "vg_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free);
+ fl = (*env)->GetFieldID (env, cl, "vg_sysid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_sysid));
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_free_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free_count);
+ fl = (*env)->GetFieldID (env, cl, "max_lv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_lv);
+ fl = (*env)->GetFieldID (env, cl, "max_pv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_pv);
+ fl = (*env)->GetFieldID (env, cl, "pv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_count);
+ fl = (*env)->GetFieldID (env, cl, "lv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_count);
+ fl = (*env)->GetFieldID (env, cl, "snap_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].snap_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_seqno", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_seqno);
+ fl = (*env)->GetFieldID (env, cl, "vg_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_tags));
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_vg_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rvglisterr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_vg_list *r;
+ int i;
+
+ r = guestfs_test0rvglisterr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/VG");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "vg_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].vg_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "vg_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "vg_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_fmt));
+ fl = (*env)->GetFieldID (env, cl, "vg_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_attr));
+ fl = (*env)->GetFieldID (env, cl, "vg_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free);
+ fl = (*env)->GetFieldID (env, cl, "vg_sysid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_sysid));
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_free_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free_count);
+ fl = (*env)->GetFieldID (env, cl, "max_lv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_lv);
+ fl = (*env)->GetFieldID (env, cl, "max_pv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_pv);
+ fl = (*env)->GetFieldID (env, cl, "pv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_count);
+ fl = (*env)->GetFieldID (env, cl, "lv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_count);
+ fl = (*env)->GetFieldID (env, cl, "snap_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].snap_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_seqno", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_seqno);
+ fl = (*env)->GetFieldID (env, cl, "vg_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_tags));
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_vg_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rlvlist
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_lv_list *r;
+ const char *val;
+ int i;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rlvlist (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/LV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "lv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].lv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "lv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "lv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_attr));
+ fl = (*env)->GetFieldID (env, cl, "lv_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_size);
+ fl = (*env)->GetFieldID (env, cl, "seg_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].seg_count);
+ fl = (*env)->GetFieldID (env, cl, "origin", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].origin));
+ fl = (*env)->GetFieldID (env, cl, "snap_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].snap_percent);
+ fl = (*env)->GetFieldID (env, cl, "copy_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].copy_percent);
+ fl = (*env)->GetFieldID (env, cl, "move_pv", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].move_pv));
+ fl = (*env)->GetFieldID (env, cl, "lv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_tags));
+ fl = (*env)->GetFieldID (env, cl, "mirror_log", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].mirror_log));
+ fl = (*env)->GetFieldID (env, cl, "modules", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].modules));
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_lv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rlvlisterr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_lv_list *r;
+ int i;
+
+ r = guestfs_test0rlvlisterr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/LV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "lv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].lv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "lv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "lv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_attr));
+ fl = (*env)->GetFieldID (env, cl, "lv_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_size);
+ fl = (*env)->GetFieldID (env, cl, "seg_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].seg_count);
+ fl = (*env)->GetFieldID (env, cl, "origin", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].origin));
+ fl = (*env)->GetFieldID (env, cl, "snap_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].snap_percent);
+ fl = (*env)->GetFieldID (env, cl, "copy_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].copy_percent);
+ fl = (*env)->GetFieldID (env, cl, "move_pv", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].move_pv));
+ fl = (*env)->GetFieldID (env, cl, "lv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_tags));
+ fl = (*env)->GetFieldID (env, cl, "mirror_log", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].mirror_log));
+ fl = (*env)->GetFieldID (env, cl, "modules", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].modules));
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_lv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rstat
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobject jr;
+ jclass cl;
+ jfieldID fl;
+ struct guestfs_stat *r;
+ const char *val;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rstat (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/Stat");
+ jr = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "dev", "J");
+ (*env)->SetLongField (env, jr, fl, r->dev);
+ fl = (*env)->GetFieldID (env, cl, "ino", "J");
+ (*env)->SetLongField (env, jr, fl, r->ino);
+ fl = (*env)->GetFieldID (env, cl, "mode", "J");
+ (*env)->SetLongField (env, jr, fl, r->mode);
+ fl = (*env)->GetFieldID (env, cl, "nlink", "J");
+ (*env)->SetLongField (env, jr, fl, r->nlink);
+ fl = (*env)->GetFieldID (env, cl, "uid", "J");
+ (*env)->SetLongField (env, jr, fl, r->uid);
+ fl = (*env)->GetFieldID (env, cl, "gid", "J");
+ (*env)->SetLongField (env, jr, fl, r->gid);
+ fl = (*env)->GetFieldID (env, cl, "rdev", "J");
+ (*env)->SetLongField (env, jr, fl, r->rdev);
+ fl = (*env)->GetFieldID (env, cl, "size", "J");
+ (*env)->SetLongField (env, jr, fl, r->size);
+ fl = (*env)->GetFieldID (env, cl, "blksize", "J");
+ (*env)->SetLongField (env, jr, fl, r->blksize);
+ fl = (*env)->GetFieldID (env, cl, "blocks", "J");
+ (*env)->SetLongField (env, jr, fl, r->blocks);
+ fl = (*env)->GetFieldID (env, cl, "atime", "J");
+ (*env)->SetLongField (env, jr, fl, r->atime);
+ fl = (*env)->GetFieldID (env, cl, "mtime", "J");
+ (*env)->SetLongField (env, jr, fl, r->mtime);
+ fl = (*env)->GetFieldID (env, cl, "ctime", "J");
+ (*env)->SetLongField (env, jr, fl, r->ctime);
+ free (r);
+ return jr;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rstaterr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobject jr;
+ jclass cl;
+ jfieldID fl;
+ struct guestfs_stat *r;
+
+ r = guestfs_test0rstaterr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/Stat");
+ jr = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "dev", "J");
+ (*env)->SetLongField (env, jr, fl, r->dev);
+ fl = (*env)->GetFieldID (env, cl, "ino", "J");
+ (*env)->SetLongField (env, jr, fl, r->ino);
+ fl = (*env)->GetFieldID (env, cl, "mode", "J");
+ (*env)->SetLongField (env, jr, fl, r->mode);
+ fl = (*env)->GetFieldID (env, cl, "nlink", "J");
+ (*env)->SetLongField (env, jr, fl, r->nlink);
+ fl = (*env)->GetFieldID (env, cl, "uid", "J");
+ (*env)->SetLongField (env, jr, fl, r->uid);
+ fl = (*env)->GetFieldID (env, cl, "gid", "J");
+ (*env)->SetLongField (env, jr, fl, r->gid);
+ fl = (*env)->GetFieldID (env, cl, "rdev", "J");
+ (*env)->SetLongField (env, jr, fl, r->rdev);
+ fl = (*env)->GetFieldID (env, cl, "size", "J");
+ (*env)->SetLongField (env, jr, fl, r->size);
+ fl = (*env)->GetFieldID (env, cl, "blksize", "J");
+ (*env)->SetLongField (env, jr, fl, r->blksize);
+ fl = (*env)->GetFieldID (env, cl, "blocks", "J");
+ (*env)->SetLongField (env, jr, fl, r->blocks);
+ fl = (*env)->GetFieldID (env, cl, "atime", "J");
+ (*env)->SetLongField (env, jr, fl, r->atime);
+ fl = (*env)->GetFieldID (env, cl, "mtime", "J");
+ (*env)->SetLongField (env, jr, fl, r->mtime);
+ fl = (*env)->GetFieldID (env, cl, "ctime", "J");
+ (*env)->SetLongField (env, jr, fl, r->ctime);
+ free (r);
+ return jr;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rstatvfs
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobject jr;
+ jclass cl;
+ jfieldID fl;
+ struct guestfs_statvfs *r;
+ const char *val;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rstatvfs (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/StatVFS");
+ jr = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "bsize", "J");
+ (*env)->SetLongField (env, jr, fl, r->bsize);
+ fl = (*env)->GetFieldID (env, cl, "frsize", "J");
+ (*env)->SetLongField (env, jr, fl, r->frsize);
+ fl = (*env)->GetFieldID (env, cl, "blocks", "J");
+ (*env)->SetLongField (env, jr, fl, r->blocks);
+ fl = (*env)->GetFieldID (env, cl, "bfree", "J");
+ (*env)->SetLongField (env, jr, fl, r->bfree);
+ fl = (*env)->GetFieldID (env, cl, "bavail", "J");
+ (*env)->SetLongField (env, jr, fl, r->bavail);
+ fl = (*env)->GetFieldID (env, cl, "files", "J");
+ (*env)->SetLongField (env, jr, fl, r->files);
+ fl = (*env)->GetFieldID (env, cl, "ffree", "J");
+ (*env)->SetLongField (env, jr, fl, r->ffree);
+ fl = (*env)->GetFieldID (env, cl, "favail", "J");
+ (*env)->SetLongField (env, jr, fl, r->favail);
+ fl = (*env)->GetFieldID (env, cl, "fsid", "J");
+ (*env)->SetLongField (env, jr, fl, r->fsid);
+ fl = (*env)->GetFieldID (env, cl, "flag", "J");
+ (*env)->SetLongField (env, jr, fl, r->flag);
+ fl = (*env)->GetFieldID (env, cl, "namemax", "J");
+ (*env)->SetLongField (env, jr, fl, r->namemax);
+ free (r);
+ return jr;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rstatvfserr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobject jr;
+ jclass cl;
+ jfieldID fl;
+ struct guestfs_statvfs *r;
+
+ r = guestfs_test0rstatvfserr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/StatVFS");
+ jr = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "bsize", "J");
+ (*env)->SetLongField (env, jr, fl, r->bsize);
+ fl = (*env)->GetFieldID (env, cl, "frsize", "J");
+ (*env)->SetLongField (env, jr, fl, r->frsize);
+ fl = (*env)->GetFieldID (env, cl, "blocks", "J");
+ (*env)->SetLongField (env, jr, fl, r->blocks);
+ fl = (*env)->GetFieldID (env, cl, "bfree", "J");
+ (*env)->SetLongField (env, jr, fl, r->bfree);
+ fl = (*env)->GetFieldID (env, cl, "bavail", "J");
+ (*env)->SetLongField (env, jr, fl, r->bavail);
+ fl = (*env)->GetFieldID (env, cl, "files", "J");
+ (*env)->SetLongField (env, jr, fl, r->files);
+ fl = (*env)->GetFieldID (env, cl, "ffree", "J");
+ (*env)->SetLongField (env, jr, fl, r->ffree);
+ fl = (*env)->GetFieldID (env, cl, "favail", "J");
+ (*env)->SetLongField (env, jr, fl, r->favail);
+ fl = (*env)->GetFieldID (env, cl, "fsid", "J");
+ (*env)->SetLongField (env, jr, fl, r->fsid);
+ fl = (*env)->GetFieldID (env, cl, "flag", "J");
+ (*env)->SetLongField (env, jr, fl, r->flag);
+ fl = (*env)->GetFieldID (env, cl, "namemax", "J");
+ (*env)->SetLongField (env, jr, fl, r->namemax);
+ free (r);
+ return jr;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rhashtable
+ (JNIEnv *env, jobject obj, jlong jg, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ char **r;
+ const char *val;
+
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_test0rhashtable (g, val);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ throw_exception (env, "test0rhashtable: internal error: please let us know how to make a Java HashMap from JNI bindings!");
+ return NULL;
+}
+
+JNIEXPORT jobject JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1test0rhashtableerr
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ char **r;
+
+ r = guestfs_test0rhashtableerr (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ throw_exception (env, "test0rhashtableerr: internal error: please let us know how to make a Java HashMap from JNI bindings!");
+ return NULL;
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1launch
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_launch (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1wait_1ready
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_wait_ready (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1kill_1subprocess
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_kill_subprocess (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1add_1drive
+ (JNIEnv *env, jobject obj, jlong jg, jstring jfilename)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *filename;
+
+ filename = (*env)->GetStringUTFChars (env, jfilename, NULL);
+ r = guestfs_add_drive (g, filename);
+ (*env)->ReleaseStringUTFChars (env, jfilename, filename);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1add_1cdrom
+ (JNIEnv *env, jobject obj, jlong jg, jstring jfilename)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *filename;
+
+ filename = (*env)->GetStringUTFChars (env, jfilename, NULL);
+ r = guestfs_add_cdrom (g, filename);
+ (*env)->ReleaseStringUTFChars (env, jfilename, filename);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+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 *) (long) jg;
+ int r;
+ const char *qemuparam;
+ const char *qemuvalue;
+
+ qemuparam = (*env)->GetStringUTFChars (env, jqemuparam, NULL);
+ qemuvalue = jqemuvalue ? (*env)->GetStringUTFChars (env, jqemuvalue, NULL) : NULL;
+ r = guestfs_config (g, qemuparam, qemuvalue);
+ (*env)->ReleaseStringUTFChars (env, jqemuparam, qemuparam);
+ if (jqemuvalue)
+ (*env)->ReleaseStringUTFChars (env, jqemuvalue, qemuvalue);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+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 *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_set_path (g, path);
+ (*env)->ReleaseStringUTFChars (env, jpath, path);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1path
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ const char *r;
+
+ r = guestfs_get_path (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_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 *) (long) jg;
+ int r;
+ int autosync;
+
+ autosync = jautosync;
+ r = guestfs_set_autosync (g, autosync);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1autosync
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_get_autosync (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1set_1verbose
+ (JNIEnv *env, jobject obj, jlong jg, jboolean jverbose)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ int verbose;
+
+ verbose = jverbose;
+ r = guestfs_set_verbose (g, verbose);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1verbose
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_get_verbose (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1is_1ready
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_is_ready (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1is_1config
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_is_config (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1is_1launching
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_is_launching (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1is_1busy
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_is_busy (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jboolean) r;
+}
+
+JNIEXPORT jint JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1get_1state
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_get_state (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__1set_1busy
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_set_busy (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1set_1ready
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_set_ready (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+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 *) (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 (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__1sync
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_sync (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1touch
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_touch (g, path);
+ (*env)->ReleaseStringUTFChars (env, jpath, path);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1cat
+ (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_cat (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 jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1ll
+ (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jstring jr;
+ char *r;
+ const char *directory;
+
+ directory = (*env)->GetStringUTFChars (env, jdirectory, NULL);
+ r = guestfs_ll (g, directory);
+ (*env)->ReleaseStringUTFChars (env, jdirectory, directory);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ jr = (*env)->NewStringUTF (env, r);
+ free (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1ls
+ (JNIEnv *env, jobject obj, jlong jg, jstring jdirectory)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ const char *directory;
+ int i;
+
+ directory = (*env)->GetStringUTFChars (env, jdirectory, NULL);
+ r = guestfs_ls (g, directory);
+ (*env)->ReleaseStringUTFChars (env, jdirectory, directory);
+ 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__1list_1devices
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ int i;
+
+ r = guestfs_list_devices (g);
+ 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__1list_1partitions
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ int i;
+
+ r = guestfs_list_partitions (g);
+ 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__1pvs
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ int i;
+
+ r = guestfs_pvs (g);
+ 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__1vgs
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ int i;
+
+ r = guestfs_vgs (g);
+ 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__1lvs
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ int r_len;
+ jclass cl;
+ jstring jstr;
+ char **r;
+ int i;
+
+ r = guestfs_lvs (g);
+ 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__1pvs_1full
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_pv_list *r;
+ int i;
+
+ r = guestfs_pvs_full (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/PV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "pv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].pv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "pv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "pv_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_fmt));
+ fl = (*env)->GetFieldID (env, cl, "pv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_size);
+ fl = (*env)->GetFieldID (env, cl, "dev_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].dev_size);
+ fl = (*env)->GetFieldID (env, cl, "pv_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_free);
+ fl = (*env)->GetFieldID (env, cl, "pv_used", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_used);
+ fl = (*env)->GetFieldID (env, cl, "pv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_attr));
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_pe_alloc_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_pe_alloc_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].pv_tags));
+ fl = (*env)->GetFieldID (env, cl, "pe_start", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pe_start);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "pv_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_pv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1vgs_1full
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_vg_list *r;
+ int i;
+
+ r = guestfs_vgs_full (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/VG");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "vg_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].vg_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "vg_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "vg_fmt", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_fmt));
+ fl = (*env)->GetFieldID (env, cl, "vg_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_attr));
+ fl = (*env)->GetFieldID (env, cl, "vg_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free);
+ fl = (*env)->GetFieldID (env, cl, "vg_sysid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_sysid));
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_size);
+ fl = (*env)->GetFieldID (env, cl, "vg_extent_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_extent_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_free_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_free_count);
+ fl = (*env)->GetFieldID (env, cl, "max_lv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_lv);
+ fl = (*env)->GetFieldID (env, cl, "max_pv", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].max_pv);
+ fl = (*env)->GetFieldID (env, cl, "pv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].pv_count);
+ fl = (*env)->GetFieldID (env, cl, "lv_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_count);
+ fl = (*env)->GetFieldID (env, cl, "snap_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].snap_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_seqno", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_seqno);
+ fl = (*env)->GetFieldID (env, cl, "vg_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].vg_tags));
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_count);
+ fl = (*env)->GetFieldID (env, cl, "vg_mda_free", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].vg_mda_free);
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_vg_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1lvs_1full
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ jobjectArray jr;
+ jclass cl;
+ jfieldID fl;
+ jobject jfl;
+ struct guestfs_lvm_lv_list *r;
+ int i;
+
+ r = guestfs_lvs_full (g);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/LV");
+ jr = (*env)->NewObjectArray (env, r->len, cl, NULL);
+ for (i = 0; i < r->len; ++i) {
+ jfl = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "lv_name", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_name));
+ {
+ char s[33];
+ memcpy (s, r->val[i].lv_uuid, 32);
+ s[32] = 0;
+ fl = (*env)->GetFieldID (env, cl, "lv_uuid", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, s));
+ }
+ fl = (*env)->GetFieldID (env, cl, "lv_attr", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_attr));
+ fl = (*env)->GetFieldID (env, cl, "lv_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_major", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_major);
+ fl = (*env)->GetFieldID (env, cl, "lv_kernel_minor", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_kernel_minor);
+ fl = (*env)->GetFieldID (env, cl, "lv_size", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].lv_size);
+ fl = (*env)->GetFieldID (env, cl, "seg_count", "J");
+ (*env)->SetLongField (env, jfl, fl, r->val[i].seg_count);
+ fl = (*env)->GetFieldID (env, cl, "origin", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].origin));
+ fl = (*env)->GetFieldID (env, cl, "snap_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].snap_percent);
+ fl = (*env)->GetFieldID (env, cl, "copy_percent", "F");
+ (*env)->SetFloatField (env, jfl, fl, r->val[i].copy_percent);
+ fl = (*env)->GetFieldID (env, cl, "move_pv", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].move_pv));
+ fl = (*env)->GetFieldID (env, cl, "lv_tags", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].lv_tags));
+ fl = (*env)->GetFieldID (env, cl, "mirror_log", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].mirror_log));
+ fl = (*env)->GetFieldID (env, cl, "modules", "Ljava/lang/String;");
+ (*env)->SetObjectField (env, jfl, fl, (*env)->NewStringUTF (env, r->val[i].modules));
+ (*env)->SetObjectArrayElement (env, jfl, i, jfl);
+ }
+ guestfs_free_lvm_lv_list (r);
+ return jr;
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1read_1lines
+ (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_read_lines (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__1aug_1init
+ (JNIEnv *env, jobject obj, jlong jg, jstring jroot, jint jflags)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *root;
+ int flags;
+
+ root = (*env)->GetStringUTFChars (env, jroot, NULL);
+ flags = jflags;
+ r = guestfs_aug_init (g, root, flags);
+ (*env)->ReleaseStringUTFChars (env, jroot, root);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1close
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_aug_close (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+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 *) (long) jg;
+ int r;
+ const char *name;
+ const char *expr;
+
+ name = (*env)->GetStringUTFChars (env, jname, NULL);
+ expr = jexpr ? (*env)->GetStringUTFChars (env, jexpr, NULL) : NULL;
+ r = guestfs_aug_defvar (g, name, expr);
+ (*env)->ReleaseStringUTFChars (env, jname, name);
+ if (jexpr)
+ (*env)->ReleaseStringUTFChars (env, jexpr, expr);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jint) r;
+}
+
+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 *) (long) jg;
+ jobject jr;
+ jclass cl;
+ jfieldID fl;
+ struct guestfs_int_bool *r;
+ const char *name;
+ const char *expr;
+ const char *val;
+
+ name = (*env)->GetStringUTFChars (env, jname, NULL);
+ expr = (*env)->GetStringUTFChars (env, jexpr, NULL);
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_aug_defnode (g, name, expr, val);
+ (*env)->ReleaseStringUTFChars (env, jname, name);
+ (*env)->ReleaseStringUTFChars (env, jexpr, expr);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == NULL) {
+ throw_exception (env, guestfs_last_error (g));
+ return NULL;
+ }
+ cl = (*env)->FindClass (env, "com/redhat/et/libguestfs/IntBool");
+ jr = (*env)->AllocObject (env, cl);
+ fl = (*env)->GetFieldID (env, cl, "i", "I");
+ (*env)->SetIntField (env, jr, fl, r->i);
+ fl = (*env)->GetFieldID (env, cl, "i", "Z");
+ (*env)->SetBooleanField (env, jr, fl, r->b);
+ guestfs_free_int_bool (r);
+ return jr;
+}
+
+JNIEXPORT jstring JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1get
+ (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_aug_get (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__1aug_1set
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath, jstring jval)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+ const char *val;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ val = (*env)->GetStringUTFChars (env, jval, NULL);
+ r = guestfs_aug_set (g, path, val);
+ (*env)->ReleaseStringUTFChars (env, jpath, path);
+ (*env)->ReleaseStringUTFChars (env, jval, val);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+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 *) (long) jg;
+ int r;
+ const char *path;
+ const char *label;
+ int before;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ label = (*env)->GetStringUTFChars (env, jlabel, NULL);
+ before = jbefore;
+ r = guestfs_aug_insert (g, path, label, before);
+ (*env)->ReleaseStringUTFChars (env, jpath, path);
+ (*env)->ReleaseStringUTFChars (env, jlabel, label);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jint JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1rm
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_aug_rm (g, path);
+ (*env)->ReleaseStringUTFChars (env, jpath, path);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return 0;
+ }
+ return (jint) r;
+}
+
+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 *) (long) jg;
+ int r;
+ const char *src;
+ const char *dest;
+
+ src = (*env)->GetStringUTFChars (env, jsrc, NULL);
+ dest = (*env)->GetStringUTFChars (env, jdest, NULL);
+ r = guestfs_aug_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 jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1match
+ (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_aug_match (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__1aug_1save
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_aug_save (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1load
+ (JNIEnv *env, jobject obj, jlong jg)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+
+ r = guestfs_aug_load (g);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+
+JNIEXPORT jobjectArray JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1aug_1ls
+ (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_aug_ls (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__1rm
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_rm (g, 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__1rmdir
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_rmdir (g, 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__1rm_1rf
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_rm_rf (g, 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__1mkdir
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_mkdir (g, 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__1mkdir_1p
+ (JNIEnv *env, jobject obj, jlong jg, jstring jpath)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *path;
+
+ path = (*env)->GetStringUTFChars (env, jpath, NULL);
+ r = guestfs_mkdir_p (g, 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__1chmod
+ (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_chmod (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__1chown
+ (JNIEnv *env, jobject obj, jlong jg, jint jowner, jint jgroup, jstring jpath)