Add 'command' and 'command-lines'. Fix args freeing in Perl bindings.
[libguestfs.git] / src / guestfs_protocol.h
index a094355..4b31468 100644 (file)
@@ -299,6 +299,172 @@ struct guestfs_aug_ls_ret {
 };
 typedef struct guestfs_aug_ls_ret guestfs_aug_ls_ret;
 
+struct guestfs_rm_args {
+       char *path;
+};
+typedef struct guestfs_rm_args guestfs_rm_args;
+
+struct guestfs_rmdir_args {
+       char *path;
+};
+typedef struct guestfs_rmdir_args guestfs_rmdir_args;
+
+struct guestfs_rm_rf_args {
+       char *path;
+};
+typedef struct guestfs_rm_rf_args guestfs_rm_rf_args;
+
+struct guestfs_mkdir_args {
+       char *path;
+};
+typedef struct guestfs_mkdir_args guestfs_mkdir_args;
+
+struct guestfs_mkdir_p_args {
+       char *path;
+};
+typedef struct guestfs_mkdir_p_args guestfs_mkdir_p_args;
+
+struct guestfs_chmod_args {
+       int mode;
+       char *path;
+};
+typedef struct guestfs_chmod_args guestfs_chmod_args;
+
+struct guestfs_chown_args {
+       int owner;
+       int group;
+       char *path;
+};
+typedef struct guestfs_chown_args guestfs_chown_args;
+
+struct guestfs_exists_args {
+       char *path;
+};
+typedef struct guestfs_exists_args guestfs_exists_args;
+
+struct guestfs_exists_ret {
+       bool_t existsflag;
+};
+typedef struct guestfs_exists_ret guestfs_exists_ret;
+
+struct guestfs_is_file_args {
+       char *path;
+};
+typedef struct guestfs_is_file_args guestfs_is_file_args;
+
+struct guestfs_is_file_ret {
+       bool_t fileflag;
+};
+typedef struct guestfs_is_file_ret guestfs_is_file_ret;
+
+struct guestfs_is_dir_args {
+       char *path;
+};
+typedef struct guestfs_is_dir_args guestfs_is_dir_args;
+
+struct guestfs_is_dir_ret {
+       bool_t dirflag;
+};
+typedef struct guestfs_is_dir_ret guestfs_is_dir_ret;
+
+struct guestfs_pvcreate_args {
+       char *device;
+};
+typedef struct guestfs_pvcreate_args guestfs_pvcreate_args;
+
+struct guestfs_vgcreate_args {
+       char *volgroup;
+       struct {
+               u_int physvols_len;
+               str *physvols_val;
+       } physvols;
+};
+typedef struct guestfs_vgcreate_args guestfs_vgcreate_args;
+
+struct guestfs_lvcreate_args {
+       char *logvol;
+       char *volgroup;
+       int mbytes;
+};
+typedef struct guestfs_lvcreate_args guestfs_lvcreate_args;
+
+struct guestfs_mkfs_args {
+       char *fstype;
+       char *device;
+};
+typedef struct guestfs_mkfs_args guestfs_mkfs_args;
+
+struct guestfs_sfdisk_args {
+       char *device;
+       int cyls;
+       int heads;
+       int sectors;
+       struct {
+               u_int lines_len;
+               str *lines_val;
+       } lines;
+};
+typedef struct guestfs_sfdisk_args guestfs_sfdisk_args;
+
+struct guestfs_write_file_args {
+       char *path;
+       char *content;
+       int size;
+};
+typedef struct guestfs_write_file_args guestfs_write_file_args;
+
+struct guestfs_umount_args {
+       char *pathordevice;
+};
+typedef struct guestfs_umount_args guestfs_umount_args;
+
+struct guestfs_mounts_ret {
+       struct {
+               u_int devices_len;
+               str *devices_val;
+       } devices;
+};
+typedef struct guestfs_mounts_ret guestfs_mounts_ret;
+
+struct guestfs_file_args {
+       char *path;
+};
+typedef struct guestfs_file_args guestfs_file_args;
+
+struct guestfs_file_ret {
+       char *description;
+};
+typedef struct guestfs_file_ret guestfs_file_ret;
+
+struct guestfs_command_args {
+       struct {
+               u_int arguments_len;
+               str *arguments_val;
+       } arguments;
+};
+typedef struct guestfs_command_args guestfs_command_args;
+
+struct guestfs_command_ret {
+       char *output;
+};
+typedef struct guestfs_command_ret guestfs_command_ret;
+
+struct guestfs_command_lines_args {
+       struct {
+               u_int arguments_len;
+               str *arguments_val;
+       } arguments;
+};
+typedef struct guestfs_command_lines_args guestfs_command_lines_args;
+
+struct guestfs_command_lines_ret {
+       struct {
+               u_int lines_len;
+               str *lines_val;
+       } lines;
+};
+typedef struct guestfs_command_lines_ret guestfs_command_lines_ret;
+
 enum guestfs_procedure {
        GUESTFS_PROC_MOUNT = 1,
        GUESTFS_PROC_SYNC = 2,
@@ -328,7 +494,30 @@ enum guestfs_procedure {
        GUESTFS_PROC_AUG_SAVE = 25,
        GUESTFS_PROC_AUG_LOAD = 27,
        GUESTFS_PROC_AUG_LS = 28,
-       GUESTFS_PROC_dummy = 28 + 1,
+       GUESTFS_PROC_RM = 29,
+       GUESTFS_PROC_RMDIR = 30,
+       GUESTFS_PROC_RM_RF = 31,
+       GUESTFS_PROC_MKDIR = 32,
+       GUESTFS_PROC_MKDIR_P = 33,
+       GUESTFS_PROC_CHMOD = 34,
+       GUESTFS_PROC_CHOWN = 35,
+       GUESTFS_PROC_EXISTS = 36,
+       GUESTFS_PROC_IS_FILE = 37,
+       GUESTFS_PROC_IS_DIR = 38,
+       GUESTFS_PROC_PVCREATE = 39,
+       GUESTFS_PROC_VGCREATE = 40,
+       GUESTFS_PROC_LVCREATE = 41,
+       GUESTFS_PROC_MKFS = 42,
+       GUESTFS_PROC_SFDISK = 43,
+       GUESTFS_PROC_WRITE_FILE = 44,
+       GUESTFS_PROC_UMOUNT = 45,
+       GUESTFS_PROC_MOUNTS = 46,
+       GUESTFS_PROC_UMOUNT_ALL = 47,
+       GUESTFS_PROC_LVM_REMOVE_ALL = 48,
+       GUESTFS_PROC_FILE = 49,
+       GUESTFS_PROC_COMMAND = 50,
+       GUESTFS_PROC_COMMAND_LINES = 51,
+       GUESTFS_PROC_dummy = 51 + 1,
 };
 typedef enum guestfs_procedure guestfs_procedure;
 #define GUESTFS_MESSAGE_MAX 4194304
@@ -407,6 +596,33 @@ extern  bool_t xdr_guestfs_aug_match_args (XDR *, guestfs_aug_match_args*);
 extern  bool_t xdr_guestfs_aug_match_ret (XDR *, guestfs_aug_match_ret*);
 extern  bool_t xdr_guestfs_aug_ls_args (XDR *, guestfs_aug_ls_args*);
 extern  bool_t xdr_guestfs_aug_ls_ret (XDR *, guestfs_aug_ls_ret*);
+extern  bool_t xdr_guestfs_rm_args (XDR *, guestfs_rm_args*);
+extern  bool_t xdr_guestfs_rmdir_args (XDR *, guestfs_rmdir_args*);
+extern  bool_t xdr_guestfs_rm_rf_args (XDR *, guestfs_rm_rf_args*);
+extern  bool_t xdr_guestfs_mkdir_args (XDR *, guestfs_mkdir_args*);
+extern  bool_t xdr_guestfs_mkdir_p_args (XDR *, guestfs_mkdir_p_args*);
+extern  bool_t xdr_guestfs_chmod_args (XDR *, guestfs_chmod_args*);
+extern  bool_t xdr_guestfs_chown_args (XDR *, guestfs_chown_args*);
+extern  bool_t xdr_guestfs_exists_args (XDR *, guestfs_exists_args*);
+extern  bool_t xdr_guestfs_exists_ret (XDR *, guestfs_exists_ret*);
+extern  bool_t xdr_guestfs_is_file_args (XDR *, guestfs_is_file_args*);
+extern  bool_t xdr_guestfs_is_file_ret (XDR *, guestfs_is_file_ret*);
+extern  bool_t xdr_guestfs_is_dir_args (XDR *, guestfs_is_dir_args*);
+extern  bool_t xdr_guestfs_is_dir_ret (XDR *, guestfs_is_dir_ret*);
+extern  bool_t xdr_guestfs_pvcreate_args (XDR *, guestfs_pvcreate_args*);
+extern  bool_t xdr_guestfs_vgcreate_args (XDR *, guestfs_vgcreate_args*);
+extern  bool_t xdr_guestfs_lvcreate_args (XDR *, guestfs_lvcreate_args*);
+extern  bool_t xdr_guestfs_mkfs_args (XDR *, guestfs_mkfs_args*);
+extern  bool_t xdr_guestfs_sfdisk_args (XDR *, guestfs_sfdisk_args*);
+extern  bool_t xdr_guestfs_write_file_args (XDR *, guestfs_write_file_args*);
+extern  bool_t xdr_guestfs_umount_args (XDR *, guestfs_umount_args*);
+extern  bool_t xdr_guestfs_mounts_ret (XDR *, guestfs_mounts_ret*);
+extern  bool_t xdr_guestfs_file_args (XDR *, guestfs_file_args*);
+extern  bool_t xdr_guestfs_file_ret (XDR *, guestfs_file_ret*);
+extern  bool_t xdr_guestfs_command_args (XDR *, guestfs_command_args*);
+extern  bool_t xdr_guestfs_command_ret (XDR *, guestfs_command_ret*);
+extern  bool_t xdr_guestfs_command_lines_args (XDR *, guestfs_command_lines_args*);
+extern  bool_t xdr_guestfs_command_lines_ret (XDR *, guestfs_command_lines_ret*);
 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
@@ -455,6 +671,33 @@ extern bool_t xdr_guestfs_aug_match_args ();
 extern bool_t xdr_guestfs_aug_match_ret ();
 extern bool_t xdr_guestfs_aug_ls_args ();
 extern bool_t xdr_guestfs_aug_ls_ret ();
+extern bool_t xdr_guestfs_rm_args ();
+extern bool_t xdr_guestfs_rmdir_args ();
+extern bool_t xdr_guestfs_rm_rf_args ();
+extern bool_t xdr_guestfs_mkdir_args ();
+extern bool_t xdr_guestfs_mkdir_p_args ();
+extern bool_t xdr_guestfs_chmod_args ();
+extern bool_t xdr_guestfs_chown_args ();
+extern bool_t xdr_guestfs_exists_args ();
+extern bool_t xdr_guestfs_exists_ret ();
+extern bool_t xdr_guestfs_is_file_args ();
+extern bool_t xdr_guestfs_is_file_ret ();
+extern bool_t xdr_guestfs_is_dir_args ();
+extern bool_t xdr_guestfs_is_dir_ret ();
+extern bool_t xdr_guestfs_pvcreate_args ();
+extern bool_t xdr_guestfs_vgcreate_args ();
+extern bool_t xdr_guestfs_lvcreate_args ();
+extern bool_t xdr_guestfs_mkfs_args ();
+extern bool_t xdr_guestfs_sfdisk_args ();
+extern bool_t xdr_guestfs_write_file_args ();
+extern bool_t xdr_guestfs_umount_args ();
+extern bool_t xdr_guestfs_mounts_ret ();
+extern bool_t xdr_guestfs_file_args ();
+extern bool_t xdr_guestfs_file_ret ();
+extern bool_t xdr_guestfs_command_args ();
+extern bool_t xdr_guestfs_command_ret ();
+extern bool_t xdr_guestfs_command_lines_args ();
+extern bool_t xdr_guestfs_command_lines_ret ();
 extern bool_t xdr_guestfs_procedure ();
 extern bool_t xdr_guestfs_message_direction ();
 extern bool_t xdr_guestfs_message_status ();