From e492608f2f3809a824cb70ee03ff305964b69dd7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Jun 2009 12:47:20 +0100 Subject: Generated code for 'du' command. --- java/com/redhat/et/libguestfs/GuestFS.java | 25 +++++++++++++++++++++++++ java/com_redhat_et_libguestfs_GuestFS.c | 18 ++++++++++++++++++ 2 files changed, 43 insertions(+) (limited to 'java') diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index 1d65581a..6adeb211 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -3769,4 +3769,29 @@ public HashMap test0rhashtableerr () private native String _df_h (long g) throws LibGuestFSException; + /** + * estimate file space usage + *

+ * This command runs the "du -s" command to estimate file + * space usage for "path". + *

+ * "path" can be a file or a directory. If "path" is a + * directory then the estimate includes the contents of the + * directory and all subdirectories (recursively). + *

+ * The result is the estimated size in *kilobytes* (ie. + * units of 1024 bytes). + *

+ * @throws LibGuestFSException + */ + public long du (String path) + throws LibGuestFSException + { + if (g == 0) + throw new LibGuestFSException ("du: handle is closed"); + return _du (g, path); + } + private native long _du (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 206f2dc3..3b91b40c 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -4371,3 +4371,21 @@ Java_com_redhat_et_libguestfs_GuestFS__1df_1h return jr; } +JNIEXPORT jlong JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1du + (JNIEnv *env, jobject obj, jlong jg, jstring jpath) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int64_t r; + const char *path; + + path = (*env)->GetStringUTFChars (env, jpath, NULL); + r = guestfs_du (g, path); + (*env)->ReleaseStringUTFChars (env, jpath, path); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return 0; + } + return (jlong) r; +} + -- cgit