diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2009-06-29 15:18:17 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2009-06-29 15:19:10 +0100 |
commit | c6d6f5ae1b76ec9aa5c540906aeed73d25d13eb9 (patch) | |
tree | 3f090396c5b90e0829c3ab25f8c3d8275726a46e /java | |
parent | 4dff42aa13dd726fb6b02843d0f4db4b4b330fe3 (diff) | |
download | libguestfs-c6d6f5ae1b76ec9aa5c540906aeed73d25d13eb9.tar.gz libguestfs-c6d6f5ae1b76ec9aa5c540906aeed73d25d13eb9.tar.xz libguestfs-c6d6f5ae1b76ec9aa5c540906aeed73d25d13eb9.zip |
Generated code for 'initrd-list'.
Diffstat (limited to 'java')
-rw-r--r-- | java/com/redhat/et/libguestfs/GuestFS.java | 26 | ||||
-rw-r--r-- | java/com_redhat_et_libguestfs_GuestFS.c | 33 |
2 files changed, 59 insertions, 0 deletions
diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index 6adeb211..8ab3a4fe 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -3794,4 +3794,30 @@ public HashMap<String,String> test0rhashtableerr () private native long _du (long g, String path) throws LibGuestFSException; + /** + * list files in an initrd + * <p> + * This command lists out files contained in an initrd. + * <p> + * The files are listed without any initial "/" character. + * The files are listed in the order they appear (not + * necessarily alphabetical). Directory names are listed as + * separate items. + * <p> + * Old Linux kernels (2.4 and earlier) used a compressed + * ext2 filesystem as initrd. We *only* support the newer + * initramfs format (compressed cpio files). + * <p> + * @throws LibGuestFSException + */ + public String[] initrd_list (String path) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("initrd_list: handle is closed"); + return _initrd_list (g, path); + } + private native String[] _initrd_list (long g, String path) + throws LibGuestFSException; + } diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index 3b91b40c..6d101a68 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -4389,3 +4389,36 @@ Java_com_redhat_et_libguestfs_GuestFS__1du return (jlong) r; } +JNIEXPORT jobjectArray JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1initrd_1list + (JNIEnv *env, jobject obj, jlong jg, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + jobjectArray jr; + int r_len; + jclass cl; + jstring jstr; + char **r; + const char *path; + int i; + + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_initrd_list (g, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == NULL) { + throw_exception (env, guestfs_last_error (g)); + return NULL; + } + for (r_len = 0; r[r_len] != NULL; ++r_len) ; + cl = (*env)->FindClass (env, "java/lang/String"); + jstr = (*env)->NewStringUTF (env, ""); + jr = (*env)->NewObjectArray (env, r_len, cl, jstr); + for (i = 0; i < r_len; ++i) { + jstr = (*env)->NewStringUTF (env, r[i]); + (*env)->SetObjectArrayElement (env, jr, i, jstr); + free (r[i]); + } + free (r); + return jr; +} + |