Check return value from realloc call (Jim Meyering).
[libguestfs.git] / java / com / redhat / et / libguestfs / GuestFS.java
index f1cd508..fdf6e4e 100644 (file)
@@ -1723,10 +1723,10 @@ public class GuestFS {
     throws LibGuestFSException;
 
   /**
-   * get ext2/ext3 superblock details
+   * get ext2/ext3/ext4 superblock details
    *
-   * This returns the contents of the ext2 or ext3 filesystem
-   * superblock on "device".
+   * This returns the contents of the ext2, ext3 or ext4
+   * filesystem superblock on "device".
    * 
    * It is the same as running "tune2fs -l device". See
    * tune2fs(8) manpage for more details. The list of fields
@@ -2209,4 +2209,148 @@ public class GuestFS {
   private native String _debug (long g, String subcmd, String[] extraargs)
     throws LibGuestFSException;
 
+  /**
+   * remove an LVM logical volume
+   *
+   * Remove an LVM logical volume "device", where "device" is
+   * the path to the LV, such as "/dev/VG/LV".
+   * 
+   * You can also remove all LVs in a volume group by
+   * specifying the VG name, "/dev/VG".
+   * 
+   * @throws LibGuestFSException
+   */
+  public void lvremove (String device)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("lvremove: handle is closed");
+    _lvremove (g, device);
+  }
+  private native void _lvremove (long g, String device)
+    throws LibGuestFSException;
+
+  /**
+   * remove an LVM volume group
+   *
+   * Remove an LVM volume group "vgname", (for example "VG").
+   * 
+   * This also forcibly removes all logical volumes in the
+   * volume group (if any).
+   * 
+   * @throws LibGuestFSException
+   */
+  public void vgremove (String vgname)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("vgremove: handle is closed");
+    _vgremove (g, vgname);
+  }
+  private native void _vgremove (long g, String vgname)
+    throws LibGuestFSException;
+
+  /**
+   * remove an LVM physical volume
+   *
+   * This wipes a physical volume "device" so that LVM will
+   * no longer recognise it.
+   * 
+   * The implementation uses the "pvremove" command which
+   * refuses to wipe physical volumes that contain any volume
+   * groups, so you have to remove those first.
+   * 
+   * @throws LibGuestFSException
+   */
+  public void pvremove (String device)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("pvremove: handle is closed");
+    _pvremove (g, device);
+  }
+  private native void _pvremove (long g, String device)
+    throws LibGuestFSException;
+
+  /**
+   * set the ext2/3/4 filesystem label
+   *
+   * This sets the ext2/3/4 filesystem label of the
+   * filesystem on "device" to "label". Filesystem labels are
+   * limited to 16 characters.
+   * 
+   * You can use either "g.tune2fs_l" or "g.get_e2label" to
+   * return the existing label on a filesystem.
+   * 
+   * @throws LibGuestFSException
+   */
+  public void set_e2label (String device, String label)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("set_e2label: handle is closed");
+    _set_e2label (g, device, label);
+  }
+  private native void _set_e2label (long g, String device, String label)
+    throws LibGuestFSException;
+
+  /**
+   * get the ext2/3/4 filesystem label
+   *
+   * This returns the ext2/3/4 filesystem label of the
+   * filesystem on "device".
+   * 
+   * @throws LibGuestFSException
+   */
+  public String get_e2label (String device)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("get_e2label: handle is closed");
+    return _get_e2label (g, device);
+  }
+  private native String _get_e2label (long g, String device)
+    throws LibGuestFSException;
+
+  /**
+   * set the ext2/3/4 filesystem UUID
+   *
+   * This sets the ext2/3/4 filesystem UUID of the filesystem
+   * on "device" to "uuid". The format of the UUID and
+   * alternatives such as "clear", "random" and "time" are
+   * described in the tune2fs(8) manpage.
+   * 
+   * You can use either "g.tune2fs_l" or "g.get_e2uuid" to
+   * return the existing UUID of a filesystem.
+   * 
+   * @throws LibGuestFSException
+   */
+  public void set_e2uuid (String device, String uuid)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("set_e2uuid: handle is closed");
+    _set_e2uuid (g, device, uuid);
+  }
+  private native void _set_e2uuid (long g, String device, String uuid)
+    throws LibGuestFSException;
+
+  /**
+   * get the ext2/3/4 filesystem UUID
+   *
+   * This returns the ext2/3/4 filesystem UUID of the
+   * filesystem on "device".
+   * 
+   * @throws LibGuestFSException
+   */
+  public String get_e2uuid (String device)
+    throws LibGuestFSException
+  {
+    if (g == 0)
+      throw new LibGuestFSException ("get_e2uuid: handle is closed");
+    return _get_e2uuid (g, device);
+  }
+  private native String _get_e2uuid (long g, String device)
+    throws LibGuestFSException;
+
 }