X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=ocaml%2Fguestfs.mli;h=c8b67958b7e184e6c72c293f40de258bbb92f8b7;hp=1ce1cab2b3f3cb0b258e2b7bb0a8f33230bbd999;hb=e118c14b9552de311cbc1734e03a3226b484c1e8;hpb=b4d2a01828e5de85e5eee3631f7fe3925a0312ca diff --git a/ocaml/guestfs.mli b/ocaml/guestfs.mli index 1ce1cab..c8b6795 100644 --- a/ocaml/guestfs.mli +++ b/ocaml/guestfs.mli @@ -94,6 +94,36 @@ type lvm_lv = { modules : string; } +type stat = { + dev : int64; + ino : int64; + mode : int64; + nlink : int64; + uid : int64; + gid : int64; + rdev : int64; + size : int64; + blksize : int64; + blocks : int64; + atime : int64; + mtime : int64; + ctime : int64; +} + +type statvfs = { + bsize : int64; + frsize : int64; + blocks : int64; + bfree : int64; + bavail : int64; + files : int64; + ffree : int64; + favail : int64; + fsid : int64; + flag : int64; + namemax : int64; +} + val launch : t -> unit (** launch the qemu subprocess *) @@ -112,6 +142,12 @@ val add_cdrom : t -> string -> unit val config : t -> string -> string option -> unit (** add qemu parameters *) +val set_qemu : t -> string -> unit +(** set the qemu binary *) + +val get_qemu : t -> string +(** get the qemu binary *) + val set_path : t -> string -> unit (** set the search path *) @@ -130,6 +166,27 @@ val set_verbose : t -> bool -> unit val get_verbose : t -> bool (** get verbose mode *) +val is_ready : t -> bool +(** is ready to accept commands *) + +val is_config : t -> bool +(** is in configuration state *) + +val is_launching : t -> bool +(** is launching subprocess *) + +val is_busy : t -> bool +(** is busy processing a command *) + +val get_state : t -> int +(** get the current state *) + +val set_busy : t -> unit +(** set state to busy *) + +val set_ready : t -> unit +(** set state to ready *) + val mount : t -> string -> string -> unit (** mount a guest disk at a position in the filesystem *) @@ -260,7 +317,7 @@ val sfdisk : t -> string -> int -> int -> int -> string array -> unit (** create partitions on a block device *) val write_file : t -> string -> string -> int -> unit -(** Create a file *) +(** create a file *) val umount : t -> string -> unit (** unmount a filesystem *) @@ -274,3 +331,117 @@ val umount_all : t -> unit val lvm_remove_all : t -> unit (** remove all LVM LVs, VGs and PVs *) +val file : t -> string -> string +(** determine file type *) + +val command : t -> string array -> string +(** run a command from the guest filesystem *) + +val command_lines : t -> string array -> string array +(** run a command, returning lines *) + +val stat : t -> string -> stat +(** get file information *) + +val lstat : t -> string -> stat +(** get file information for a symbolic link *) + +val statvfs : t -> string -> statvfs +(** get file system statistics *) + +val tune2fs_l : t -> string -> (string * string) list +(** get ext2/ext3/ext4 superblock details *) + +val blockdev_setro : t -> string -> unit +(** set block device to read-only *) + +val blockdev_setrw : t -> string -> unit +(** set block device to read-write *) + +val blockdev_getro : t -> string -> bool +(** is block device set to read-only *) + +val blockdev_getss : t -> string -> int +(** get sectorsize of block device *) + +val blockdev_getbsz : t -> string -> int +(** get blocksize of block device *) + +val blockdev_setbsz : t -> string -> int -> unit +(** set blocksize of block device *) + +val blockdev_getsz : t -> string -> int64 +(** get total size of device in 512-byte sectors *) + +val blockdev_getsize64 : t -> string -> int64 +(** get total size of device in bytes *) + +val blockdev_flushbufs : t -> string -> unit +(** flush device buffers *) + +val blockdev_rereadpt : t -> string -> unit +(** reread partition table *) + +val upload : t -> string -> string -> unit +(** upload a file from the local machine *) + +val download : t -> string -> string -> unit +(** download a file to the local machine *) + +val checksum : t -> string -> string -> string +(** compute MD5, SHAx or CRC checksum of file *) + +val tar_in : t -> string -> string -> unit +(** unpack tarfile to directory *) + +val tar_out : t -> string -> string -> unit +(** pack directory into tarfile *) + +val tgz_in : t -> string -> string -> unit +(** unpack compressed tarball to directory *) + +val tgz_out : t -> string -> string -> unit +(** pack directory into compressed tarball *) + +val mount_ro : t -> string -> string -> unit +(** mount a guest disk, read-only *) + +val mount_options : t -> string -> string -> string -> unit +(** mount a guest disk with mount options *) + +val mount_vfs : t -> string -> string -> string -> string -> unit +(** mount a guest disk with mount options and vfstype *) + +val debug : t -> string -> string array -> string +(** debugging and internals *) + +val lvremove : t -> string -> unit +(** remove an LVM logical volume *) + +val vgremove : t -> string -> unit +(** remove an LVM volume group *) + +val pvremove : t -> string -> unit +(** remove an LVM physical volume *) + +val set_e2label : t -> string -> string -> unit +(** set the ext2/3/4 filesystem label *) + +val get_e2label : t -> string -> string +(** get the ext2/3/4 filesystem label *) + +val set_e2uuid : t -> string -> string -> unit +(** set the ext2/3/4 filesystem UUID *) + +val get_e2uuid : t -> string -> string +(** get the ext2/3/4 filesystem UUID *) + +val fsck : t -> string -> string -> int +(** run the filesystem checker *) + +val zero : t -> string -> unit +(** write zeroes to the device *) + +val grub_install : t -> string -> string -> unit +(** install GRUB *) +