Module Guestfs

module Guestfs: sig .. end
libguestfs bindings for OCaml.

For API documentation, the canonical reference is the guestfs(3) man page. The OCaml API uses almost exactly the same calls.

For examples written in OCaml see the guestfs-ocaml(3) man page.



Module style API

This is the module-style API. There is also an object-oriented API (see the end of this file and Guestfs.guestfs) which is functionally completely equivalent, but is more compact.

Handles


type t 
A guestfs_h handle.
exception Error of string
This exception is raised when there is an error.
exception Handle_closed of string
This exception is raised if you use a Guestfs.t handle after calling Guestfs.close on it. The string is the name of the function that was called incorrectly.
val create : ?environment:bool -> ?close_on_exit:bool -> unit -> t
Create a Guestfs.t handle.

?environment defaults to true. If set to false, it sets the GUESTFS_CREATE_NO_ENVIRONMENT flag.

?close_on_exit defaults to true. If set to false, it sets the GUESTFS_CREATE_NO_CLOSE_ON_EXIT flag.

val close : t -> unit
Close the Guestfs.t handle and free up all resources used by it immediately.

Handles are closed by the garbage collector when they become unreferenced, but callers can call this in order to provide predictable cleanup.


Events


type event = 
| EVENT_CLOSE
| EVENT_SUBPROCESS_QUIT
| EVENT_LAUNCH_DONE
| EVENT_PROGRESS
| EVENT_APPLIANCE
| EVENT_LIBRARY
| EVENT_TRACE
| EVENT_ENTER
| EVENT_LIBVIRT_AUTH
| EVENT_WARNING
val event_all : event list
A list containing all event types.
type event_handle 
The opaque event handle which can be used to delete event callbacks.
type event_callback = event -> event_handle -> string -> int64 array -> unit 
The event callback.
val set_event_callback : t ->
event_callback -> event list -> event_handle
set_event_callback g f es sets f as the event callback function for all events in the set es.

Note that if the closure captures a reference to the handle, this reference will prevent the handle from being automatically closed by the garbage collector.

val delete_event_callback : t -> event_handle -> unit
delete_event_callback g eh removes a previously registered event callback. See Guestfs.set_event_callback.
val event_to_string : event list -> string
event_to_string events returns the event(s) as a printable string for debugging etc.

Errors


val last_errno : t -> int
last_errno g returns the last errno that happened on the handle g (or 0 if there was no errno). Note that the returned integer is the raw errno number, and it is not related to the Unix.error type.

Some raw errno numbers are exposed by the Guestfs.Errno submodule, and we can add more as required.

last_errno can be overwritten by subsequent operations on a handle, so if you want to capture the errno correctly, you must call this in the Guestfs.Error exception handler, before any other operation on g.


The Guestfs.Errno submodule exposes some raw errno numbers, which you can use to test the return value of Guestfs.last_errno.
module Errno: sig .. end

Structs


type application = {
   app_name : string;
   app_display_name : string;
   app_epoch : int32;
   app_version : string;
   app_release : string;
   app_install_path : string;
   app_trans_path : string;
   app_publisher : string;
   app_url : string;
   app_source_package : string;
   app_summary : string;
   app_description : string;
}
type application2 = {
   app2_name : string;
   app2_display_name : string;
   app2_epoch : int32;
   app2_version : string;
   app2_release : string;
   app2_arch : string;
   app2_install_path : string;
   app2_trans_path : string;
   app2_publisher : string;
   app2_url : string;
   app2_source_package : string;
   app2_summary : string;
   app2_description : string;
   app2_spare1 : string;
   app2_spare2 : string;
   app2_spare3 : string;
   app2_spare4 : string;
}
type btrfsbalance = {
   btrfsbalance_status : string;
   btrfsbalance_total : int64;
   btrfsbalance_balanced : int64;
   btrfsbalance_considered : int64;
   btrfsbalance_left : int64;
}
type btrfsqgroup = {
   btrfsqgroup_id : string;
   btrfsqgroup_rfer : int64;
   btrfsqgroup_excl : int64;
}
type btrfsscrub = {
   btrfsscrub_data_extents_scrubbed : int64;
   btrfsscrub_tree_extents_scrubbed : int64;
   btrfsscrub_data_bytes_scrubbed : int64;
   btrfsscrub_tree_bytes_scrubbed : int64;
   btrfsscrub_read_errors : int64;
   btrfsscrub_csum_errors : int64;
   btrfsscrub_verify_errors : int64;
   btrfsscrub_no_csum : int64;
   btrfsscrub_csum_discards : int64;
   btrfsscrub_super_errors : int64;
   btrfsscrub_malloc_errors : int64;
   btrfsscrub_uncorrectable_errors : int64;
   btrfsscrub_unverified_errors : int64;
   btrfsscrub_corrected_errors : int64;
   btrfsscrub_last_physical : int64;
}
type btrfssubvolume = {
   btrfssubvolume_id : int64;
   btrfssubvolume_top_level_id : int64;
   btrfssubvolume_path : string;
}
type dirent = {
   ino : int64;
   ftyp : char;
   name : string;
}
type hivex_node = {
   hivex_node_h : int64;
}
type hivex_value = {
   hivex_value_h : int64;
}
type inotify_event = {
   in_wd : int64;
   in_mask : int32;
   in_cookie : int32;
   in_name : string;
}
type int_bool = {
   i : int32;
   b : int32;
}
type isoinfo = {
   iso_system_id : string;
   iso_volume_id : string;
   iso_volume_space_size : int32;
   iso_volume_set_size : int32;
   iso_volume_sequence_number : int32;
   iso_logical_block_size : int32;
   iso_volume_set_id : string;
   iso_publisher_id : string;
   iso_data_preparer_id : string;
   iso_application_id : string;
   iso_copyright_file_id : string;
   iso_abstract_file_id : string;
   iso_bibliographic_file_id : string;
   iso_volume_creation_t : int64;
   iso_volume_modification_t : int64;
   iso_volume_expiration_t : int64;
   iso_volume_effective_t : int64;
}
type lvm_lv = {
   lv_name : string;
   lv_uuid : string;
   lv_attr : string;
   lv_major : int64;
   lv_minor : int64;
   lv_kernel_major : int64;
   lv_kernel_minor : int64;
   lv_size : int64;
   seg_count : int64;
   origin : string;
   snap_percent : float option;
   copy_percent : float option;
   move_pv : string;
   lv_tags : string;
   mirror_log : string;
   modules : string;
}
type lvm_pv = {
   pv_name : string;
   pv_uuid : string;
   pv_fmt : string;
   pv_size : int64;
   dev_size : int64;
   pv_free : int64;
   pv_used : int64;
   pv_attr : string;
   pv_pe_count : int64;
   pv_pe_alloc_count : int64;
   pv_tags : string;
   pe_start : int64;
   pv_mda_count : int64;
   pv_mda_free : int64;
}
type lvm_vg = {
   vg_name : string;
   vg_uuid : string;
   vg_fmt : string;
   vg_attr : string;
   vg_size : int64;
   vg_free : int64;
   vg_sysid : string;
   vg_extent_size : int64;
   vg_extent_count : int64;
   vg_free_count : int64;
   max_lv : int64;
   max_pv : int64;
   pv_count : int64;
   lv_count : int64;
   snap_count : int64;
   vg_seqno : int64;
   vg_tags : string;
   vg_mda_count : int64;
   vg_mda_free : int64;
}
type mdstat = {
   mdstat_device : string;
   mdstat_index : int32;
   mdstat_flags : string;
}
type partition = {
   part_num : int32;
   part_start : int64;
   part_end : int64;
   part_size : int64;
}
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 statns = {
   st_dev : int64;
   st_ino : int64;
   st_mode : int64;
   st_nlink : int64;
   st_uid : int64;
   st_gid : int64;
   st_rdev : int64;
   st_size : int64;
   st_blksize : int64;
   st_blocks : int64;
   st_atime_sec : int64;
   st_atime_nsec : int64;
   st_mtime_sec : int64;
   st_mtime_nsec : int64;
   st_ctime_sec : int64;
   st_ctime_nsec : int64;
   st_spare1 : int64;
   st_spare2 : int64;
   st_spare3 : int64;
   st_spare4 : int64;
   st_spare5 : int64;
   st_spare6 : 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;
}
type tsk_dirent = {
   tsk_inode : int64;
   tsk_type : char;
   tsk_size : int64;
   tsk_name : string;
   tsk_flags : int32;
   tsk_atime_sec : int64;
   tsk_atime_nsec : int64;
   tsk_mtime_sec : int64;
   tsk_mtime_nsec : int64;
   tsk_ctime_sec : int64;
   tsk_ctime_nsec : int64;
   tsk_crtime_sec : int64;
   tsk_crtime_nsec : int64;
   tsk_nlink : int64;
   tsk_link : string;
   tsk_spare1 : int64;
}
type utsname = {
   uts_sysname : string;
   uts_release : string;
   uts_version : string;
   uts_machine : string;
}
type version = {
   major : int64;
   minor : int64;
   release : int64;
   extra : string;
}
type xattr = {
   attrname : string;
   attrval : string;
}
type xfsinfo = {
   xfs_mntpoint : string;
   xfs_inodesize : int32;
   xfs_agcount : int32;
   xfs_agsize : int32;
   xfs_sectsize : int32;
   xfs_attr : int32;
   xfs_blocksize : int32;
   xfs_datablocks : int64;
   xfs_imaxpct : int32;
   xfs_sunit : int32;
   xfs_swidth : int32;
   xfs_dirversion : int32;
   xfs_dirblocksize : int32;
   xfs_cimode : int32;
   xfs_logname : string;
   xfs_logblocksize : int32;
   xfs_logblocks : int32;
   xfs_logversion : int32;
   xfs_logsectsize : int32;
   xfs_logsunit : int32;
   xfs_lazycount : int32;
   xfs_rtname : string;
   xfs_rtextsize : int32;
   xfs_rtblocks : int64;
   xfs_rtextents : int64;
}
type yara_detection = {
   yara_name : string;
   yara_rule : string;
}

Actions


val acl_delete_def_file : t -> string -> unit
delete the default POSIX ACL of a directory

This function depends on the feature "acl". See also Guestfs.feature_available.
Since 1.19.63

val acl_get_file : t -> string -> string -> string
get the POSIX ACL attached to a file

This function depends on the feature "acl". See also Guestfs.feature_available.
Since 1.19.63

val acl_set_file : t -> string -> string -> string -> unit
set the POSIX ACL attached to a file

This function depends on the feature "acl". See also Guestfs.feature_available.
Since 1.19.63

val add_cdrom : t -> string -> unit
Deprecated.Use Guestfs.add_drive_ro instead
add a CD-ROM disk image to examine
Since 0.3
val add_domain : t ->
?libvirturi:string ->
?readonly:bool ->
?iface:string ->
?live:bool ->
?allowuuid:bool ->
?readonlydisk:string ->
?cachemode:string -> ?discard:string -> ?copyonread:bool -> string -> int
add the disk(s) from a named libvirt domain
Since 1.7.4
val add_drive : t ->
?readonly:bool ->
?format:string ->
?iface:string ->
?name:string ->
?label:string ->
?protocol:string ->
?server:string array ->
?username:string ->
?secret:string ->
?cachemode:string -> ?discard:string -> ?copyonread:bool -> string -> unit
add an image to examine or modify
Since 0.3
val add_drive_opts : t ->
?readonly:bool ->
?format:string ->
?iface:string ->
?name:string ->
?label:string ->
?protocol:string ->
?server:string array ->
?username:string ->
?secret:string ->
?cachemode:string -> ?discard:string -> ?copyonread:bool -> string -> unit
alias for Guestfs.add_drive
Since 0.3
val add_drive_ro : t -> string -> unit
add a drive in snapshot mode (read-only)
Since 1.0.38
val add_drive_ro_with_if : t -> string -> string -> unit
Deprecated.Use Guestfs.add_drive instead
add a drive read-only specifying the QEMU block emulation to use
Since 1.0.84
val add_drive_scratch : t -> ?name:string -> ?label:string -> int64 -> unit
add a temporary scratch drive
Since 1.23.10
val add_drive_with_if : t -> string -> string -> unit
Deprecated.Use Guestfs.add_drive instead
add a drive specifying the QEMU block emulation to use
Since 1.0.84
val add_libvirt_dom : t ->
?readonly:bool ->
?iface:string ->
?live:bool ->
?readonlydisk:string ->
?cachemode:string -> ?discard:string -> ?copyonread:bool -> int64 -> int
add the disk(s) from a libvirt domain
Since 1.29.14
val aug_clear : t -> string -> unit
clear Augeas path
Since 1.3.4
val aug_close : t -> unit
close the current Augeas handle
Since 0.7
val aug_defnode : t -> string -> string -> string -> int_bool
define an Augeas node
Since 0.7
val aug_defvar : t -> string -> string option -> int
define an Augeas variable
Since 0.7
val aug_get : t -> string -> string
look up the value of an Augeas path
Since 0.7
val aug_init : t -> string -> int -> unit
create a new Augeas handle
Since 0.7
val aug_insert : t -> string -> string -> bool -> unit
insert a sibling Augeas node
Since 0.7
val aug_label : t -> string -> string
return the label from an Augeas path expression
Since 1.23.14
val aug_load : t -> unit
load files into the tree
Since 0.7
val aug_ls : t -> string -> string array
list Augeas nodes under augpath
Since 0.8
val aug_match : t -> string -> string array
return Augeas nodes which match augpath
Since 0.7
val aug_mv : t -> string -> string -> unit
move Augeas node
Since 0.7
val aug_rm : t -> string -> int
remove an Augeas path
Since 0.7
val aug_save : t -> unit
write all pending Augeas changes to disk
Since 0.7
val aug_set : t -> string -> string -> unit
set Augeas path to value
Since 0.7
val aug_setm : t -> string -> string option -> string -> int
set multiple Augeas nodes
Since 1.23.14
val aug_transform : t -> ?remove:bool -> string -> string -> unit
add/remove an Augeas lens transformation
Since 1.35.2
val available : t -> string array -> unit
test availability of some parts of the API
Since 1.0.80
val available_all_groups : t -> string array
return a list of all optional groups
Since 1.3.15
val base64_in : t -> string -> string -> unit
upload base64-encoded data to file
Since 1.3.5
val base64_out : t -> string -> string -> unit
download file and encode as base64
Since 1.3.5
val blkdiscard : t -> string -> unit
discard all blocks on a device

This function depends on the feature "blkdiscard". See also Guestfs.feature_available.
Since 1.25.44

val blkdiscardzeroes : t -> string -> bool
return true if discarded blocks are read as zeroes

This function depends on the feature "blkdiscardzeroes". See also Guestfs.feature_available.
Since 1.25.44

val blkid : t -> string -> (string * string) list
print block device attributes
Since 1.15.9
val blockdev_flushbufs : t -> string -> unit
flush device buffers
Since 1.9.3
val blockdev_getbsz : t -> string -> int
get blocksize of block device
Since 1.9.3
val blockdev_getro : t -> string -> bool
is block device set to read-only
Since 1.9.3
val blockdev_getsize64 : t -> string -> int64
get total size of device in bytes
Since 1.9.3
val blockdev_getss : t -> string -> int
get sectorsize of block device
Since 1.9.3
val blockdev_getsz : t -> string -> int64
get total size of device in 512-byte sectors
Since 1.9.3
val blockdev_rereadpt : t -> string -> unit
reread partition table
Since 1.9.3
val blockdev_setbsz : t -> string -> int -> unit
Deprecated.There is no documented replacement
set blocksize of block device
Since 1.9.3
val blockdev_setra : t -> string -> int -> unit
set readahead
Since 1.29.10
val blockdev_setro : t -> string -> unit
set block device to read-only
Since 1.9.3
val blockdev_setrw : t -> string -> unit
set block device to read-write
Since 1.9.3
val btrfs_balance_cancel : t -> string -> unit
cancel a running or paused balance

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_balance_pause : t -> string -> unit
pause a running balance

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_balance_resume : t -> string -> unit
resume a paused balance

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_balance_status : t -> string -> btrfsbalance
show the status of a running or paused balance

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.26

val btrfs_device_add : t -> string array -> string -> unit
add devices to a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_device_delete : t -> string array -> string -> unit
remove devices from a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_filesystem_balance : t -> string -> unit
balance a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_filesystem_defragment : t -> ?flush:bool -> ?compress:string -> string -> unit
defragment a file or directory

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_filesystem_resize : t -> ?size:int64 -> string -> unit
resize a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.11.17

val btrfs_filesystem_show : t -> string -> string array
list devices for btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.33.29

val btrfs_filesystem_sync : t -> string -> unit
sync a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_fsck : t -> ?superblock:int64 -> ?repair:bool -> string -> unit
check a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.43

val btrfs_image : t -> ?compresslevel:int -> string array -> string -> unit
create an image of a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.32

val btrfs_qgroup_assign : t -> string -> string -> string -> unit
add a qgroup to a parent qgroup

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_qgroup_create : t -> string -> string -> unit
create a subvolume quota group

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_qgroup_destroy : t -> string -> string -> unit
destroy a subvolume quota group

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_qgroup_limit : t -> string -> int64 -> unit
limit the size of a subvolume

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_qgroup_remove : t -> string -> string -> string -> unit
remove a qgroup from its parent qgroup

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_qgroup_show : t -> string -> btrfsqgroup array
show subvolume quota groups

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_quota_enable : t -> string -> bool -> unit
enable or disable subvolume quota support

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_quota_rescan : t -> string -> unit
trash all qgroup numbers and scan the metadata again with the current config

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_replace : t -> string -> string -> string -> unit
replace a btrfs managed device with another device

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.48

val btrfs_rescue_chunk_recover : t -> string -> unit
recover the chunk tree of btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_rescue_super_recover : t -> string -> unit
recover bad superblocks from good copies

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_scrub_cancel : t -> string -> unit
cancel a running scrub

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_scrub_resume : t -> string -> unit
resume a previously canceled or interrupted scrub

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_scrub_start : t -> string -> unit
read all data from all disks and verify checksums

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.22

val btrfs_scrub_status : t -> string -> btrfsscrub
show status of running or finished scrub

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.26

val btrfs_set_seeding : t -> string -> bool -> unit
enable or disable the seeding feature of device

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.43

val btrfs_subvolume_create : t -> ?qgroupid:string -> string -> unit
create a btrfs subvolume

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_create_opts : t -> ?qgroupid:string -> string -> unit
alias for Guestfs.btrfs_subvolume_create

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_delete : t -> string -> unit
delete a btrfs subvolume or snapshot

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_get_default : t -> string -> int64
get the default subvolume or snapshot of a filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_subvolume_list : t -> string -> btrfssubvolume array
list btrfs snapshots and subvolumes

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_set_default : t -> int64 -> string -> unit
set default btrfs subvolume

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_show : t -> string -> (string * string) list
return detailed information of the subvolume

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.17

val btrfs_subvolume_snapshot : t -> ?ro:bool -> ?qgroupid:string -> string -> string -> unit
create a btrfs snapshot

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfs_subvolume_snapshot_opts : t -> ?ro:bool -> ?qgroupid:string -> string -> string -> unit
alias for Guestfs.btrfs_subvolume_snapshot

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.35

val btrfstune_enable_extended_inode_refs : t -> string -> unit
enable extended inode refs

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.29

val btrfstune_enable_skinny_metadata_extent_refs : t -> string -> unit
enable skinny metadata extent refs

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.29

val btrfstune_seeding : t -> string -> bool -> unit
enable or disable seeding of a btrfs device

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.29.29

val c_pointer : t -> int64
return the C pointer to the guestfs_h handle
Since 1.29.17
val canonical_device_name : t -> string -> string
return canonical device name
Since 1.19.7
val cap_get_file : t -> string -> string
get the Linux capabilities attached to a file

This function depends on the feature "linuxcaps". See also Guestfs.feature_available.
Since 1.19.63

val cap_set_file : t -> string -> string -> unit
set the Linux capabilities attached to a file

This function depends on the feature "linuxcaps". See also Guestfs.feature_available.
Since 1.19.63

val case_sensitive_path : t -> string -> string
return true path on case-insensitive filesystem
Since 1.0.75
val cat : t -> string -> string
list the contents of a file
Since 0.4
val checksum : t -> string -> string -> string
compute MD5, SHAx or CRC checksum of file
Since 1.0.2
val checksum_device : t -> string -> string -> string
compute MD5, SHAx or CRC checksum of the contents of a device
Since 1.3.2
val checksums_out : t -> string -> string -> string -> unit
compute MD5, SHAx or CRC checksum of files in a directory
Since 1.3.7
val chmod : t -> int -> string -> unit
change file mode
Since 0.8
val chown : t -> int -> int -> string -> unit
change file owner and group
Since 0.8
val clear_backend_setting : t -> string -> int
remove a single per-backend settings string
Since 1.27.2
val command : t -> string array -> string
run a command from the guest filesystem
Since 1.9.1
val command_lines : t -> string array -> string array
run a command, returning lines
Since 1.9.1
val compress_device_out : t -> ?level:int -> string -> string -> string -> unit
output compressed device
Since 1.13.15
val compress_out : t -> ?level:int -> string -> string -> string -> unit
output compressed file
Since 1.13.15
val config : t -> string -> string option -> unit
add hypervisor parameters
Since 0.3
val copy_attributes : t ->
?all:bool ->
?mode:bool ->
?xattributes:bool -> ?ownership:bool -> string -> string -> unit
copy the attributes of a path (file/directory) to another
Since 1.25.21
val copy_device_to_device : t ->
?srcoffset:int64 ->
?destoffset:int64 ->
?size:int64 -> ?sparse:bool -> ?append:bool -> string -> string -> unit
copy from source device to destination device
Since 1.13.25
val copy_device_to_file : t ->
?srcoffset:int64 ->
?destoffset:int64 ->
?size:int64 -> ?sparse:bool -> ?append:bool -> string -> string -> unit
copy from source device to destination file
Since 1.13.25
val copy_file_to_device : t ->
?srcoffset:int64 ->
?destoffset:int64 ->
?size:int64 -> ?sparse:bool -> ?append:bool -> string -> string -> unit
copy from source file to destination device
Since 1.13.25
val copy_file_to_file : t ->
?srcoffset:int64 ->
?destoffset:int64 ->
?size:int64 -> ?sparse:bool -> ?append:bool -> string -> string -> unit
copy from source file to destination file
Since 1.13.25
val copy_in : t -> string -> string -> unit
copy local files or directories into an image
Since 1.29.24
val copy_out : t -> string -> string -> unit
copy remote files or directories out of an image
Since 1.29.24
val copy_size : t -> string -> string -> int64 -> unit
Deprecated.Use Guestfs.copy_device_to_device instead
copy size bytes from source to destination using dd
Since 1.0.87
val cp : t -> string -> string -> unit
copy a file
Since 1.0.18
val cp_a : t -> string -> string -> unit
copy a file or directory recursively
Since 1.0.18
val cp_r : t -> string -> string -> unit
copy a file or directory recursively
Since 1.21.38
val cpio_out : t -> ?format:string -> string -> string -> unit
pack directory into cpio file
Since 1.27.9
val dd : t -> string -> string -> unit
Deprecated.Use Guestfs.copy_device_to_device instead
copy from source to destination using dd
Since 1.0.80
val device_index : t -> string -> int
convert device to index
Since 1.19.7
val df : t -> string
report file system disk space usage
Since 1.0.54
val df_h : t -> string
report file system disk space usage (human readable)
Since 1.0.54
val disk_create : t ->
?backingfile:string ->
?backingformat:string ->
?preallocation:string ->
?compat:string -> ?clustersize:int -> string -> string -> int64 -> unit
create a blank disk image
Since 1.25.31
val disk_format : t -> string -> string
detect the disk format of a disk image
Since 1.19.38
val disk_has_backing_file : t -> string -> bool
return whether disk has a backing file
Since 1.19.39
val disk_virtual_size : t -> string -> int64
return virtual size of a disk
Since 1.19.39
val dmesg : t -> string
return kernel messages
Since 1.0.18
val download : t -> string -> string -> unit
download a file to the local machine
Since 1.0.2
val download_blocks : t -> ?unallocated:bool -> string -> int64 -> int64 -> string -> unit
download the given data units from the disk

This function depends on the feature "sleuthkit". See also Guestfs.feature_available.
Since 1.33.45

val download_inode : t -> string -> int64 -> string -> unit
download a file to the local machine given its inode

This function depends on the feature "sleuthkit". See also Guestfs.feature_available.
Since 1.33.14

val download_offset : t -> string -> string -> int64 -> int64 -> unit
download a file to the local machine with offset and size
Since 1.5.17
val drop_caches : t -> int -> unit
drop kernel page cache, dentries and inodes
Since 1.0.18
val du : t -> string -> int64
estimate file space usage
Since 1.0.54
val e2fsck : t -> ?correct:bool -> ?forceall:bool -> string -> unit
check an ext2/ext3 filesystem
Since 1.15.17
val e2fsck_f : t -> string -> unit
Deprecated.Use Guestfs.e2fsck instead
check an ext2/ext3 filesystem
Since 1.0.29
val echo_daemon : t -> string array -> string
echo arguments back to the client
Since 1.0.69
val egrep : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val egrepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val equal : t -> string -> string -> bool
test if two files have equal contents
Since 1.0.18
val exists : t -> string -> bool
test if file or directory exists
Since 0.8
val extlinux : t -> string -> unit
install the SYSLINUX bootloader on an ext2/3/4 or btrfs filesystem

This function depends on the feature "extlinux". See also Guestfs.feature_available.
Since 1.21.27

val fallocate : t -> string -> int -> unit
Deprecated.Use Guestfs.fallocate64 instead
preallocate a file in the guest filesystem
Since 1.0.66
val fallocate64 : t -> string -> int64 -> unit
preallocate a file in the guest filesystem
Since 1.3.17
val feature_available : t -> string array -> bool
test availability of some parts of the API
Since 1.21.26
val fgrep : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val fgrepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val file : t -> string -> string
determine file type
Since 1.9.1
val file_architecture : t -> string -> string
detect the architecture of a binary file
Since 1.5.3
val filesize : t -> string -> int64
return the size of the file in bytes
Since 1.0.82
val filesystem_available : t -> string -> bool
check if filesystem is available
Since 1.19.5
val filesystem_walk : t -> string -> tsk_dirent array
walk through the filesystem content

This function depends on the feature "libtsk". See also Guestfs.feature_available.
Since 1.33.39

val fill : t -> int -> int -> string -> unit
fill a file with octets
Since 1.0.79
val fill_dir : t -> string -> int -> unit
fill a directory with empty files
Since 1.19.32
val fill_pattern : t -> string -> int -> string -> unit
fill a file with a repeating pattern of bytes
Since 1.3.12
val find : t -> string -> string array
find all files and directories
Since 1.0.27
val find0 : t -> string -> string -> unit
find all files and directories, returning NUL-separated list
Since 1.0.74
val find_inode : t -> string -> int64 -> tsk_dirent array
search the entries associated to the given inode

This function depends on the feature "libtsk". See also Guestfs.feature_available.
Since 1.35.6

val findfs_label : t -> string -> string
find a filesystem by label
Since 1.5.3
val findfs_uuid : t -> string -> string
find a filesystem by UUID
Since 1.5.3
val fsck : t -> string -> string -> int
run the filesystem checker
Since 1.0.16
val fstrim : t ->
?offset:int64 -> ?length:int64 -> ?minimumfreeextent:int64 -> string -> unit
trim free space in a filesystem

This function depends on the feature "fstrim". See also Guestfs.feature_available.
Since 1.19.6

val get_append : t -> string option
get the additional kernel options
Since 1.0.26
val get_attach_method : t -> string
Deprecated.Use Guestfs.get_backend instead
get the backend
Since 1.9.8
val get_autosync : t -> bool
get autosync mode
Since 0.3
val get_backend : t -> string
get the backend
Since 1.21.26
val get_backend_setting : t -> string -> string
get a single per-backend settings string
Since 1.27.2
val get_backend_settings : t -> string array
get per-backend settings
Since 1.25.24
val get_cachedir : t -> string
get the appliance cache directory
Since 1.19.58
val get_direct : t -> bool
Deprecated.This is replaced by method internal_get_console_socket which is not exported by the OCaml bindings
get direct appliance mode flag
Since 1.0.72
val get_e2attrs : t -> string -> string
get ext2 file attributes of a file
Since 1.17.31
val get_e2generation : t -> string -> int64
get ext2 file generation of a file
Since 1.17.31
val get_e2label : t -> string -> string
Deprecated.Use Guestfs.vfs_label instead
get the ext2/3/4 filesystem label
Since 1.0.15
val get_e2uuid : t -> string -> string
Deprecated.Use Guestfs.vfs_uuid instead
get the ext2/3/4 filesystem UUID
Since 1.0.15
val get_hv : t -> string
get the hypervisor binary
Since 1.23.17
val get_identifier : t -> string
get the handle identifier
Since 1.31.14
val get_libvirt_requested_credential_challenge : t -> int -> string
challenge of i'th requested credential
Since 1.19.52
val get_libvirt_requested_credential_defresult : t -> int -> string
default result of i'th requested credential
Since 1.19.52
val get_libvirt_requested_credential_prompt : t -> int -> string
prompt of i'th requested credential
Since 1.19.52
val get_libvirt_requested_credentials : t -> string array
get list of credentials requested by libvirt
Since 1.19.52
val get_memsize : t -> int
get memory allocated to the hypervisor
Since 1.0.55
val get_network : t -> bool
get enable network flag
Since 1.5.4
val get_path : t -> string
get the search path
Since 0.3
val get_pgroup : t -> bool
get process group flag
Since 1.11.18
val get_pid : t -> int
get PID of hypervisor
Since 1.0.56
val get_program : t -> string
get the program name
Since 1.21.29
val get_qemu : t -> string
Deprecated.Use Guestfs.get_hv instead
get the hypervisor binary (usually qemu)
Since 1.0.6
val get_recovery_proc : t -> bool
get recovery process enabled flag
Since 1.0.77
val get_selinux : t -> bool
Deprecated.Use Guestfs.selinux_relabel instead
get SELinux enabled flag
Since 1.0.67
val get_smp : t -> int
get number of virtual CPUs in appliance
Since 1.13.15
val get_sockdir : t -> string
get the temporary directory for sockets
Since 1.33.8
val get_state : t -> int
get the current state
Since 1.0.2
val get_tmpdir : t -> string
get the temporary directory
Since 1.19.58
val get_trace : t -> bool
get command trace enabled flag
Since 1.0.69
val get_umask : t -> int
get the current umask
Since 1.3.4
val get_verbose : t -> bool
get verbose mode
Since 0.3
val getcon : t -> string
Deprecated.Use Guestfs.selinux_relabel instead
get SELinux security context

This function depends on the feature "selinux". See also Guestfs.feature_available.
Since 1.0.67

val getxattr : t -> string -> string -> string
get a single extended attribute

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.7.24

val getxattrs : t -> string -> xattr array
list extended attributes of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val glob_expand : t -> ?directoryslash:bool -> string -> string array
expand a wildcard path
Since 1.0.50
val glob_expand_opts : t -> ?directoryslash:bool -> string -> string array
alias for Guestfs.glob_expand
Since 1.0.50
val grep : t ->
?extended:bool ->
?fixed:bool ->
?insensitive:bool -> ?compressed:bool -> string -> string -> string array
return lines matching a pattern
Since 1.0.66
val grep_opts : t ->
?extended:bool ->
?fixed:bool ->
?insensitive:bool -> ?compressed:bool -> string -> string -> string array
alias for Guestfs.grep
Since 1.0.66
val grepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val grub_install : t -> string -> string -> unit
install GRUB 1

This function depends on the feature "grub". See also Guestfs.feature_available.
Since 1.0.17

val head : t -> string -> string array
return first 10 lines of a file
Since 1.0.54
val head_n : t -> int -> string -> string array
return first N lines of a file
Since 1.0.54
val hexdump : t -> string -> string
dump a file in hexadecimal
Since 1.0.22
val hivex_close : t -> unit
close the current hivex handle

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_commit : t -> string option -> unit
commit (write) changes back to the hive

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_add_child : t -> int64 -> string -> int64
add a child node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_children : t -> int64 -> hivex_node array
return list of nodes which are subkeys of node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_delete_child : t -> int64 -> unit
delete a node (recursively)

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_get_child : t -> int64 -> string -> int64
return the named child of node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_get_value : t -> int64 -> string -> int64
return the named value

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_name : t -> int64 -> string
return the name of the node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_parent : t -> int64 -> int64
return the parent of node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_set_value : t -> int64 -> string -> int64 -> string -> unit
set or replace a single value in a node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_node_values : t -> int64 -> hivex_value array
return list of values attached to node

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_open : t ->
?verbose:bool -> ?debug:bool -> ?write:bool -> ?unsafe:bool -> string -> unit
open a Windows Registry hive file

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_root : t -> int64
return the root node of the hive

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_value_key : t -> int64 -> string
return the key field from the (key, datatype, data) tuple

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_value_string : t -> int64 -> string
return the data field as a UTF-8 string

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.37.22

val hivex_value_type : t -> int64 -> int64
return the data type from the (key, datatype, data) tuple

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_value_utf8 : t -> int64 -> string
Deprecated.Use Guestfs.hivex_value_string instead
return the data field as a UTF-8 string

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val hivex_value_value : t -> int64 -> string
return the data field from the (key, datatype, data) tuple

This function depends on the feature "hivex". See also Guestfs.feature_available.
Since 1.19.35

val initrd_cat : t -> string -> string -> string
list the contents of a single file in an initrd
Since 1.0.84
val initrd_list : t -> string -> string array
list files in an initrd
Since 1.0.54
val inotify_add_watch : t -> string -> int -> int64
add an inotify watch

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inotify_close : t -> unit
close the inotify handle

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inotify_files : t -> string array
return list of watched files that had events

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inotify_init : t -> int -> unit
create an inotify handle

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inotify_read : t -> inotify_event array
return list of inotify events

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inotify_rm_watch : t -> int -> unit
remove an inotify watch

This function depends on the feature "inotify". See also Guestfs.feature_available.
Since 1.0.66

val inspect_get_arch : t -> string -> string
get architecture of inspected operating system
Since 1.5.3
val inspect_get_distro : t -> string -> string
get distro of inspected operating system
Since 1.5.3
val inspect_get_drive_mappings : t -> string -> (string * string) list
get drive letter mappings
Since 1.9.17
val inspect_get_filesystems : t -> string -> string array
get filesystems associated with inspected operating system
Since 1.5.3
val inspect_get_format : t -> string -> string
Deprecated.There is no documented replacement
get format of inspected operating system
Since 1.9.4
val inspect_get_hostname : t -> string -> string
get hostname of the operating system
Since 1.7.9
val inspect_get_icon : t -> ?favicon:bool -> ?highquality:bool -> string -> string
get the icon corresponding to this operating system
Since 1.11.12
val inspect_get_major_version : t -> string -> int
get major version of inspected operating system
Since 1.5.3
val inspect_get_minor_version : t -> string -> int
get minor version of inspected operating system
Since 1.5.3
val inspect_get_mountpoints : t -> string -> (string * string) list
get mountpoints of inspected operating system
Since 1.5.3
val inspect_get_osinfo : t -> string -> string
get a possible osinfo short ID corresponding to this operating system
Since 1.39.1
val inspect_get_package_format : t -> string -> string
get package format used by the operating system
Since 1.7.5
val inspect_get_package_management : t -> string -> string
get package management tool used by the operating system
Since 1.7.5
val inspect_get_product_name : t -> string -> string
get product name of inspected operating system
Since 1.5.3
val inspect_get_product_variant : t -> string -> string
get product variant of inspected operating system
Since 1.9.13
val inspect_get_roots : t -> string array
return list of operating systems found by last inspection
Since 1.7.3
val inspect_get_type : t -> string -> string
get type of inspected operating system
Since 1.5.3
val inspect_get_windows_current_control_set : t -> string -> string
get Windows CurrentControlSet of inspected operating system
Since 1.9.17
val inspect_get_windows_software_hive : t -> string -> string
get the path of the Windows software hive
Since 1.35.26
val inspect_get_windows_system_hive : t -> string -> string
get the path of the Windows system hive
Since 1.35.26
val inspect_get_windows_systemroot : t -> string -> string
get Windows systemroot of inspected operating system
Since 1.5.25
val inspect_is_live : t -> string -> bool
Deprecated.There is no documented replacement
get live flag for install disk
Since 1.9.4
val inspect_is_multipart : t -> string -> bool
Deprecated.There is no documented replacement
get multipart flag for install disk
Since 1.9.4
val inspect_is_netinst : t -> string -> bool
Deprecated.There is no documented replacement
get netinst (network installer) flag for install disk
Since 1.9.4
val inspect_list_applications : t -> string -> application array
Deprecated.Use Guestfs.inspect_list_applications2 instead
get list of applications installed in the operating system
Since 1.7.8
val inspect_list_applications2 : t -> string -> application2 array
get list of applications installed in the operating system
Since 1.19.56
val inspect_os : t -> string array
inspect disk and return list of operating systems found
Since 1.5.3
val is_blockdev : t -> ?followsymlinks:bool -> string -> bool
test if block device
Since 1.5.10
val is_blockdev_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_blockdev
Since 1.5.10
val is_busy : t -> bool
is busy processing a command
Since 1.0.2
val is_chardev : t -> ?followsymlinks:bool -> string -> bool
test if character device
Since 1.5.10
val is_chardev_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_chardev
Since 1.5.10
val is_config : t -> bool
is in configuration state
Since 1.0.2
val is_dir : t -> ?followsymlinks:bool -> string -> bool
test if a directory
Since 0.8
val is_dir_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_dir
Since 0.8
val is_fifo : t -> ?followsymlinks:bool -> string -> bool
test if FIFO (named pipe)
Since 1.5.10
val is_fifo_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_fifo
Since 1.5.10
val is_file : t -> ?followsymlinks:bool -> string -> bool
test if a regular file
Since 0.8
val is_file_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_file
Since 0.8
val is_launching : t -> bool
is launching subprocess
Since 1.0.2
val is_lv : t -> string -> bool
test if mountable is a logical volume
Since 1.5.3
val is_ready : t -> bool
is ready to accept commands
Since 1.0.2
val is_socket : t -> ?followsymlinks:bool -> string -> bool
test if socket
Since 1.5.10
val is_socket_opts : t -> ?followsymlinks:bool -> string -> bool
alias for Guestfs.is_socket
Since 1.5.10
val is_symlink : t -> string -> bool
test if symbolic link
Since 1.5.10
val is_whole_device : t -> string -> bool
test if a device is a whole device
Since 1.21.9
val is_zero : t -> string -> bool
test if a file contains all zero bytes
Since 1.11.8
val is_zero_device : t -> string -> bool
test if a device contains all zero bytes
Since 1.11.8
val isoinfo : t -> string -> isoinfo
get ISO information from primary volume descriptor of ISO file
Since 1.17.19
val isoinfo_device : t -> string -> isoinfo
get ISO information from primary volume descriptor of device
Since 1.17.19
val journal_close : t -> unit
close the systemd journal

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_get : t -> xattr array
read the current journal entry

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_get_data_threshold : t -> int64
get the data threshold for reading journal entries

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_get_realtime_usec : t -> int64
get the timestamp of the current journal entry

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.27.18

val journal_next : t -> bool
move to the next journal entry

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_open : t -> string -> unit
open the systemd journal

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_set_data_threshold : t -> int64 -> unit
set the data threshold for reading journal entries

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val journal_skip : t -> int64 -> int64
skip forwards or backwards in the journal

This function depends on the feature "journal". See also Guestfs.feature_available.
Since 1.23.11

val kill_subprocess : t -> unit
Deprecated.Use Guestfs.shutdown instead
kill the hypervisor
Since 0.3
val launch : t -> unit
launch the backend
Since 0.3
val lchown : t -> int -> int -> string -> unit
change file owner and group
Since 1.0.77
val ldmtool_create_all : t -> unit
scan and create Windows dynamic disk volumes

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_diskgroup_disks : t -> string -> string array
return the disks in a Windows dynamic disk group

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_diskgroup_name : t -> string -> string
return the name of a Windows dynamic disk group

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_diskgroup_volumes : t -> string -> string array
return the volumes in a Windows dynamic disk group

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_remove_all : t -> unit
remove all Windows dynamic disk volumes

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_scan : t -> string array
scan for Windows dynamic disks

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_scan_devices : t -> string array -> string array
scan for Windows dynamic disks

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_volume_hint : t -> string -> string -> string
return the hint field of a Windows dynamic disk volume

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_volume_partitions : t -> string -> string -> string array
return the partitions in a Windows dynamic disk volume

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val ldmtool_volume_type : t -> string -> string -> string
return the type of a Windows dynamic disk volume

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val lgetxattr : t -> string -> string -> string
get a single extended attribute

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.7.24

val lgetxattrs : t -> string -> xattr array
list extended attributes of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val list_devices : t -> string array
list the block devices
Since 0.4
val list_disk_labels : t -> (string * string) list
mapping of disk labels to devices
Since 1.19.49
val list_dm_devices : t -> string array
list device mapper devices
Since 1.11.15
val list_filesystems : t -> (string * string) list
list filesystems
Since 1.5.15
val list_ldm_partitions : t -> string array
list all Windows dynamic disk partitions

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val list_ldm_volumes : t -> string array
list all Windows dynamic disk volumes

This function depends on the feature "ldm". See also Guestfs.feature_available.
Since 1.20.0

val list_md_devices : t -> string array
list Linux md (RAID) devices
Since 1.15.4
val list_partitions : t -> string array
list the partitions
Since 0.4
val ll : t -> string -> string
list the files in a directory (long format)
Since 0.4
val llz : t -> string -> string
Deprecated.Use Guestfs.lgetxattrs instead
list the files in a directory (long format with SELinux contexts)
Since 1.17.6
val ln : t -> string -> string -> unit
create a hard link
Since 1.0.66
val ln_f : t -> string -> string -> unit
create a hard link
Since 1.0.66
val ln_s : t -> string -> string -> unit
create a symbolic link
Since 1.0.66
val ln_sf : t -> string -> string -> unit
create a symbolic link
Since 1.0.66
val lremovexattr : t -> string -> string -> unit
remove extended attribute of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val ls : t -> string -> string array
list the files in a directory
Since 0.4
val ls0 : t -> string -> string -> unit
get list of files in a directory
Since 1.19.32
val lsetxattr : t -> string -> string -> int -> string -> unit
set extended attribute of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val lstat : t -> string -> stat
Deprecated.Use Guestfs.lstatns instead
get file information for a symbolic link
Since 1.9.2
val lstatlist : t -> string -> string array -> stat array
Deprecated.Use Guestfs.lstatnslist instead
lstat on multiple files
Since 1.0.77
val lstatns : t -> string -> statns
get file information for a symbolic link
Since 1.27.53
val lstatnslist : t -> string -> string array -> statns array
lstat on multiple files
Since 1.27.53
val luks_add_key : t -> string -> string -> string -> int -> unit
add a key on a LUKS encrypted device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.2

val luks_close : t -> string -> unit
close a LUKS device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.1

val luks_format : t -> string -> string -> int -> unit
format a block device as a LUKS encrypted device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.2

val luks_format_cipher : t -> string -> string -> int -> string -> unit
format a block device as a LUKS encrypted device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.2

val luks_kill_slot : t -> string -> string -> int -> unit
remove a key from a LUKS encrypted device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.2

val luks_open : t -> string -> string -> string -> unit
open a LUKS-encrypted block device

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.1

val luks_open_ro : t -> string -> string -> string -> unit
open a LUKS-encrypted block device read-only

This function depends on the feature "luks". See also Guestfs.feature_available.
Since 1.5.1

val lvcreate : t -> string -> string -> int -> unit
create an LVM logical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.8

val lvcreate_free : t -> string -> string -> int -> unit
create an LVM logical volume in % remaining free space

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.17.18

val lvm_canonical_lv_name : t -> string -> string
get canonical name of an LV
Since 1.5.24
val lvm_clear_filter : t -> unit
clear LVM device filter
Since 1.5.1
val lvm_remove_all : t -> unit
remove all LVM LVs, VGs and PVs

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.8

val lvm_set_filter : t -> string array -> unit
set LVM device filter

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.5.1

val lvremove : t -> string -> unit
remove an LVM logical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.13

val lvrename : t -> string -> string -> unit
rename an LVM logical volume
Since 1.0.83
val lvresize : t -> string -> int -> unit
resize an LVM logical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.27

val lvresize_free : t -> string -> int -> unit
expand an LV to fill free space

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.3.3

val lvs : t -> string array
list the LVM logical volumes (LVs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val lvs_full : t -> lvm_lv array
list the LVM logical volumes (LVs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val lvuuid : t -> string -> string
get the UUID of a logical volume
Since 1.0.87
val lxattrlist : t -> string -> string array -> xattr array
lgetxattr on multiple files

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.77

val max_disks : t -> int
maximum number of disks that may be added
Since 1.19.7
val md_create : t ->
?missingbitmap:int64 ->
?nrdevices:int ->
?spare:int -> ?chunk:int64 -> ?level:string -> string -> string array -> unit
create a Linux md (RAID) device

This function depends on the feature "mdadm". See also Guestfs.feature_available.
Since 1.15.6

val md_detail : t -> string -> (string * string) list
obtain metadata for an MD device

This function depends on the feature "mdadm". See also Guestfs.feature_available.
Since 1.15.6

val md_stat : t -> string -> mdstat array
get underlying devices from an MD device

This function depends on the feature "mdadm". See also Guestfs.feature_available.
Since 1.17.21

val md_stop : t -> string -> unit
stop a Linux md (RAID) device

This function depends on the feature "mdadm". See also Guestfs.feature_available.
Since 1.15.6

val mkdir : t -> string -> unit
create a directory
Since 0.8
val mkdir_mode : t -> string -> int -> unit
create a directory with a particular mode
Since 1.0.77
val mkdir_p : t -> string -> unit
create a directory and parents
Since 0.8
val mkdtemp : t -> string -> string
create a temporary directory
Since 1.0.54
val mke2fs : t ->
?blockscount:int64 ->
?blocksize:int64 ->
?fragsize:int64 ->
?blockspergroup:int64 ->
?numberofgroups:int64 ->
?bytesperinode:int64 ->
?inodesize:int64 ->
?journalsize:int64 ->
?numberofinodes:int64 ->
?stridesize:int64 ->
?stripewidth:int64 ->
?maxonlineresize:int64 ->
?reservedblockspercentage:int ->
?mmpupdateinterval:int ->
?journaldevice:string ->
?label:string ->
?lastmounteddir:string ->
?creatoros:string ->
?fstype:string ->
?usagetype:string ->
?uuid:string ->
?forcecreate:bool ->
?writesbandgrouponly:bool ->
?lazyitableinit:bool ->
?lazyjournalinit:bool ->
?testfs:bool ->
?discard:bool ->
?quotatype:bool ->
?extent:bool ->
?filetype:bool ->
?flexbg:bool ->
?hasjournal:bool ->
?journaldev:bool ->
?largefile:bool ->
?quota:bool ->
?resizeinode:bool -> ?sparsesuper:bool -> ?uninitbg:bool -> string -> unit
create an ext2/ext3/ext4 filesystem on device
Since 1.19.44
val mke2fs_J : t -> string -> int -> string -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 filesystem with external journal
Since 1.0.68
val mke2fs_JL : t -> string -> int -> string -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 filesystem with external journal
Since 1.0.68
val mke2fs_JU : t -> string -> int -> string -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 filesystem with external journal

This function depends on the feature "linuxfsuuid". See also Guestfs.feature_available.
Since 1.0.68

val mke2journal : t -> int -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 external journal
Since 1.0.68
val mke2journal_L : t -> int -> string -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 external journal with label
Since 1.0.68
val mke2journal_U : t -> int -> string -> string -> unit
Deprecated.Use Guestfs.mke2fs instead
make ext2/3/4 external journal with UUID

This function depends on the feature "linuxfsuuid". See also Guestfs.feature_available.
Since 1.0.68

val mkfifo : t -> int -> string -> unit
make FIFO (named pipe)

This function depends on the feature "mknod". See also Guestfs.feature_available.
Since 1.0.55

val mkfs : t ->
?blocksize:int ->
?features:string ->
?inode:int -> ?sectorsize:int -> ?label:string -> string -> string -> unit
make a filesystem
Since 0.8
val mkfs_opts : t ->
?blocksize:int ->
?features:string ->
?inode:int -> ?sectorsize:int -> ?label:string -> string -> string -> unit
alias for Guestfs.mkfs
Since 0.8
val mkfs_b : t -> string -> int -> string -> unit
Deprecated.Use Guestfs.mkfs instead
make a filesystem with block size
Since 1.0.68
val mkfs_btrfs : t ->
?allocstart:int64 ->
?bytecount:int64 ->
?datatype:string ->
?leafsize:int ->
?label:string ->
?metadata:string -> ?nodesize:int -> ?sectorsize:int -> string array -> unit
create a btrfs filesystem

This function depends on the feature "btrfs". See also Guestfs.feature_available.
Since 1.17.25

val mklost_and_found : t -> string -> unit
make lost+found directory on an ext2/3/4 filesystem
Since 1.19.56
val mkmountpoint : t -> string -> unit
create a mountpoint
Since 1.0.62
val mknod : t -> int -> int -> int -> string -> unit
make block, character or FIFO devices

This function depends on the feature "mknod". See also Guestfs.feature_available.
Since 1.0.55

val mknod_b : t -> int -> int -> int -> string -> unit
make block device node

This function depends on the feature "mknod". See also Guestfs.feature_available.
Since 1.0.55

val mknod_c : t -> int -> int -> int -> string -> unit
make char device node

This function depends on the feature "mknod". See also Guestfs.feature_available.
Since 1.0.55

val mksquashfs : t ->
?compress:string -> ?excludes:string array -> string -> string -> unit
create a squashfs filesystem

This function depends on the feature "squashfs". See also Guestfs.feature_available.
Since 1.35.25

val mkswap : t -> ?label:string -> ?uuid:string -> string -> unit
create a swap partition
Since 1.0.55
val mkswap_opts : t -> ?label:string -> ?uuid:string -> string -> unit
alias for Guestfs.mkswap
Since 1.0.55
val mkswap_L : t -> string -> string -> unit
Deprecated.Use Guestfs.mkswap instead
create a swap partition with a label
Since 1.0.55
val mkswap_U : t -> string -> string -> unit
Deprecated.Use Guestfs.mkswap instead
create a swap partition with an explicit UUID

This function depends on the feature "linuxfsuuid". See also Guestfs.feature_available.
Since 1.0.55

val mkswap_file : t -> string -> unit
create a swap file
Since 1.0.66
val mktemp : t -> ?suffix:string -> string -> string
create a temporary file
Since 1.19.53
val modprobe : t -> string -> unit
load a kernel module

This function depends on the feature "linuxmodules". See also Guestfs.feature_available.
Since 1.0.68

val mount : t -> string -> string -> unit
mount a guest disk at a position in the filesystem
Since 0.3
val mount_local : t ->
?readonly:bool ->
?options:string -> ?cachetimeout:int -> ?debugcalls:bool -> string -> unit
mount on the local filesystem
Since 1.17.22
val mount_local_run : t -> unit
run main loop of mount on the local filesystem
Since 1.17.22
val mount_loop : t -> string -> string -> unit
mount a file using the loop device
Since 1.0.54
val mount_options : t -> string -> string -> string -> unit
mount a guest disk with mount options
Since 1.0.10
val mount_ro : t -> string -> string -> unit
mount a guest disk, read-only
Since 1.0.10
val mount_vfs : t -> string -> string -> string -> string -> unit
mount a guest disk with mount options and vfstype
Since 1.0.10
val mountable_device : t -> string -> string
extract the device part of a mountable
Since 1.33.15
val mountable_subvolume : t -> string -> string
extract the subvolume part of a mountable
Since 1.33.15
val mountpoints : t -> (string * string) list
show mountpoints
Since 1.0.62
val mounts : t -> string array
show mounted filesystems
Since 0.8
val mv : t -> string -> string -> unit
move a file
Since 1.0.18
val nr_devices : t -> int
return number of whole block devices (disks) added
Since 1.19.15
val ntfs_3g_probe : t -> bool -> string -> int
probe NTFS volume

This function depends on the feature "ntfs3g". See also Guestfs.feature_available.
Since 1.0.43

val ntfscat_i : t -> string -> int64 -> string -> unit
download a file to the local machine given its inode
Since 1.33.14
val ntfsclone_in : t -> string -> string -> unit
restore NTFS from backup file

This function depends on the feature "ntfs3g". See also Guestfs.feature_available.
Since 1.17.9

val ntfsclone_out : t ->
?metadataonly:bool ->
?rescue:bool ->
?ignorefscheck:bool ->
?preservetimestamps:bool -> ?force:bool -> string -> string -> unit
save NTFS to backup file

This function depends on the feature "ntfs3g". See also Guestfs.feature_available.
Since 1.17.9

val ntfsfix : t -> ?clearbadsectors:bool -> string -> unit
fix common errors and force Windows to check NTFS

This function depends on the feature "ntfs3g". See also Guestfs.feature_available.
Since 1.17.9

val ntfsresize : t -> ?size:int64 -> ?force:bool -> string -> unit
resize an NTFS filesystem

This function depends on the feature "ntfsprogs". See also Guestfs.feature_available.
Since 1.3.2

val ntfsresize_opts : t -> ?size:int64 -> ?force:bool -> string -> unit
alias for Guestfs.ntfsresize

This function depends on the feature "ntfsprogs". See also Guestfs.feature_available.
Since 1.3.2

val ntfsresize_size : t -> string -> int64 -> unit
Deprecated.Use Guestfs.ntfsresize instead
resize an NTFS filesystem (with size)

This function depends on the feature "ntfsprogs". See also Guestfs.feature_available.
Since 1.3.14

val parse_environment : t -> unit
parse the environment and set handle flags accordingly
Since 1.19.53
val parse_environment_list : t -> string array -> unit
parse the environment and set handle flags accordingly
Since 1.19.53
val part_add : t -> string -> string -> int64 -> int64 -> unit
add a partition to the device
Since 1.0.78
val part_del : t -> string -> int -> unit
delete a partition
Since 1.3.2
val part_disk : t -> string -> string -> unit
partition whole disk with a single primary partition
Since 1.0.78
val part_expand_gpt : t -> string -> unit
move backup GPT header to the end of the disk

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.33.2

val part_get_bootable : t -> string -> int -> bool
return true if a partition is bootable
Since 1.3.2
val part_get_disk_guid : t -> string -> string
get the GUID of a GPT-partitioned disk

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.33.2

val part_get_gpt_attributes : t -> string -> int -> int64
get the attribute flags of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.21.1

val part_get_gpt_guid : t -> string -> int -> string
get the GUID of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.29.25

val part_get_gpt_type : t -> string -> int -> string
get the type GUID of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.21.1

val part_get_mbr_id : t -> string -> int -> int
get the MBR type byte (ID byte) from a partition
Since 1.3.2
val part_get_mbr_part_type : t -> string -> int -> string
get the MBR partition type
Since 1.29.32
val part_get_name : t -> string -> int -> string
get partition name
Since 1.25.33
val part_get_parttype : t -> string -> string
get the partition table type
Since 1.0.78
val part_init : t -> string -> string -> unit
create an empty partition table
Since 1.0.78
val part_list : t -> string -> partition array
list partitions on a device
Since 1.0.78
val part_resize : t -> string -> int -> int64 -> unit
resize a partition
Since 1.37.20
val part_set_bootable : t -> string -> int -> bool -> unit
make a partition bootable
Since 1.0.78
val part_set_disk_guid : t -> string -> string -> unit
set the GUID of a GPT-partitioned disk

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.33.2

val part_set_disk_guid_random : t -> string -> unit
set the GUID of a GPT-partitioned disk to random value

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.33.2

val part_set_gpt_attributes : t -> string -> int -> int64 -> unit
set the attribute flags of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.21.1

val part_set_gpt_guid : t -> string -> int -> string -> unit
set the GUID of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.29.25

val part_set_gpt_type : t -> string -> int -> string -> unit
set the type GUID of a GPT partition

This function depends on the feature "gdisk". See also Guestfs.feature_available.
Since 1.21.1

val part_set_mbr_id : t -> string -> int -> int -> unit
set the MBR type byte (ID byte) of a partition
Since 1.3.2
val part_set_name : t -> string -> int -> string -> unit
set partition name
Since 1.0.78
val part_to_dev : t -> string -> string
convert partition name to device name
Since 1.5.15
val part_to_partnum : t -> string -> int
convert partition name to partition number
Since 1.13.25
val ping_daemon : t -> unit
ping the guest daemon
Since 1.0.18
val pread : t -> string -> int -> int64 -> string
read part of a file
Since 1.0.77
val pread_device : t -> string -> int -> int64 -> string
read part of a device
Since 1.5.21
val pvchange_uuid : t -> string -> unit
generate a new random UUID for a physical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.19.26

val pvchange_uuid_all : t -> unit
generate new random UUIDs for all physical volumes

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.19.26

val pvcreate : t -> string -> unit
create an LVM physical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.8

val pvremove : t -> string -> unit
remove an LVM physical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.13

val pvresize : t -> string -> unit
resize an LVM physical volume

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.26

val pvresize_size : t -> string -> int64 -> unit
resize an LVM physical volume (with size)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.3.14

val pvs : t -> string array
list the LVM physical volumes (PVs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val pvs_full : t -> lvm_pv array
list the LVM physical volumes (PVs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val pvuuid : t -> string -> string
get the UUID of a physical volume
Since 1.0.87
val pwrite : t -> string -> string -> int64 -> int
write to part of a file
Since 1.3.14
val pwrite_device : t -> string -> string -> int64 -> int
write to part of a device
Since 1.5.20
val read_file : t -> string -> string
read a file
Since 1.0.63
val read_lines : t -> string -> string array
read file as lines
Since 0.7
val readdir : t -> string -> dirent array
read directories entries
Since 1.0.55
val readlink : t -> string -> string
read the target of a symbolic link
Since 1.0.66
val readlinklist : t -> string -> string array -> string array
readlink on multiple files
Since 1.0.77
val realpath : t -> string -> string
canonicalized absolute pathname
Since 1.0.66
val remount : t -> ?rw:bool -> string -> unit
remount a filesystem with different options
Since 1.23.2
val remove_drive : t -> string -> unit
remove a disk image
Since 1.19.49
val removexattr : t -> string -> string -> unit
remove extended attribute of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val rename : t -> string -> string -> unit
rename a file on the same filesystem
Since 1.21.5
val resize2fs : t -> string -> unit
resize an ext2, ext3 or ext4 filesystem
Since 1.0.27
val resize2fs_M : t -> string -> unit
resize an ext2, ext3 or ext4 filesystem to the minimum size
Since 1.9.4
val resize2fs_size : t -> string -> int64 -> unit
resize an ext2, ext3 or ext4 filesystem (with size)
Since 1.3.14
val rm : t -> string -> unit
remove a file
Since 0.8
val rm_f : t -> string -> unit
remove a file ignoring errors
Since 1.19.42
val rm_rf : t -> string -> unit
remove a file or directory recursively
Since 0.8
val rmdir : t -> string -> unit
remove a directory
Since 0.8
val rmmountpoint : t -> string -> unit
remove a mountpoint
Since 1.0.62
val rsync : t -> ?archive:bool -> ?deletedest:bool -> string -> string -> unit
synchronize the contents of two directories

This function depends on the feature "rsync". See also Guestfs.feature_available.
Since 1.19.29

val rsync_in : t -> ?archive:bool -> ?deletedest:bool -> string -> string -> unit
synchronize host or remote filesystem with filesystem

This function depends on the feature "rsync". See also Guestfs.feature_available.
Since 1.19.29

val rsync_out : t -> ?archive:bool -> ?deletedest:bool -> string -> string -> unit
synchronize filesystem with host or remote filesystem

This function depends on the feature "rsync". See also Guestfs.feature_available.
Since 1.19.29

val scrub_device : t -> string -> unit
scrub (securely wipe) a device

This function depends on the feature "scrub". See also Guestfs.feature_available.
Since 1.0.52

val scrub_file : t -> string -> unit
scrub (securely wipe) a file

This function depends on the feature "scrub". See also Guestfs.feature_available.
Since 1.0.52

val scrub_freespace : t -> string -> unit
scrub (securely wipe) free space

This function depends on the feature "scrub". See also Guestfs.feature_available.
Since 1.0.52

val selinux_relabel : t -> ?force:bool -> string -> string -> unit
relabel parts of the filesystem

This function depends on the feature "selinuxrelabel". See also Guestfs.feature_available.
Since 1.33.43

val set_append : t -> string option -> unit
add options to kernel command line
Since 1.0.26
val set_attach_method : t -> string -> unit
Deprecated.Use Guestfs.set_backend instead
set the backend
Since 1.9.8
val set_autosync : t -> bool -> unit
set autosync mode
Since 0.3
val set_backend : t -> string -> unit
set the backend
Since 1.21.26
val set_backend_setting : t -> string -> string -> unit
set a single per-backend settings string
Since 1.27.2
val set_backend_settings : t -> string array -> unit
replace per-backend settings strings
Since 1.25.24
val set_cachedir : t -> string option -> unit
set the appliance cache directory
Since 1.19.58
val set_direct : t -> bool -> unit
Deprecated.This is replaced by method internal_get_console_socket which is not exported by the OCaml bindings
enable or disable direct appliance mode
Since 1.0.72
val set_e2attrs : t -> ?clear:bool -> string -> string -> unit
set ext2 file attributes of a file
Since 1.17.31
val set_e2generation : t -> string -> int64 -> unit
set ext2 file generation of a file
Since 1.17.31
val set_e2label : t -> string -> string -> unit
Deprecated.Use Guestfs.set_label instead
set the ext2/3/4 filesystem label
Since 1.0.15
val set_e2uuid : t -> string -> string -> unit
Deprecated.Use Guestfs.set_uuid instead
set the ext2/3/4 filesystem UUID
Since 1.0.15
val set_hv : t -> string -> unit
set the hypervisor binary
Since 1.23.17
val set_identifier : t -> string -> unit
set the handle identifier
Since 1.31.14
val set_label : t -> string -> string -> unit
set filesystem label
Since 1.17.9
val set_libvirt_requested_credential : t -> int -> string -> unit
pass requested credential back to libvirt
Since 1.19.52
val set_libvirt_supported_credentials : t -> string array -> unit
set libvirt credentials supported by calling program
Since 1.19.52
val set_memsize : t -> int -> unit
set memory allocated to the hypervisor
Since 1.0.55
val set_network : t -> bool -> unit
set enable network flag
Since 1.5.4
val set_path : t -> string option -> unit
set the search path
Since 0.3
val set_pgroup : t -> bool -> unit
set process group flag
Since 1.11.18
val set_program : t -> string -> unit
set the program name
Since 1.21.29
val set_qemu : t -> string option -> unit
Deprecated.Use Guestfs.set_hv instead
set the hypervisor binary (usually qemu)
Since 1.0.6
val set_recovery_proc : t -> bool -> unit
enable or disable the recovery process
Since 1.0.77
val set_selinux : t -> bool -> unit
Deprecated.Use Guestfs.selinux_relabel instead
set SELinux enabled or disabled at appliance boot
Since 1.0.67
val set_smp : t -> int -> unit
set number of virtual CPUs in appliance
Since 1.13.15
val set_tmpdir : t -> string option -> unit
set the temporary directory
Since 1.19.58
val set_trace : t -> bool -> unit
enable or disable command traces
Since 1.0.69
val set_uuid : t -> string -> string -> unit
set the filesystem UUID
Since 1.23.10
val set_uuid_random : t -> string -> unit
set a random UUID for the filesystem
Since 1.29.50
val set_verbose : t -> bool -> unit
set verbose mode
Since 0.3
val setcon : t -> string -> unit
Deprecated.Use Guestfs.selinux_relabel instead
set SELinux security context

This function depends on the feature "selinux". See also Guestfs.feature_available.
Since 1.0.67

val setxattr : t -> string -> string -> int -> string -> unit
set extended attribute of a file or directory

This function depends on the feature "linuxxattrs". See also Guestfs.feature_available.
Since 1.0.59

val sfdisk : t -> string -> int -> int -> int -> string array -> unit
Deprecated.Use Guestfs.part_add instead
create partitions on a block device
Since 0.8
val sfdiskM : t -> string -> string array -> unit
Deprecated.Use Guestfs.part_add instead
create partitions on a block device
Since 1.0.55
val sfdisk_N : t -> string -> int -> int -> int -> int -> string -> unit
Deprecated.Use Guestfs.part_add instead
modify a single partition on a block device
Since 1.0.26
val sfdisk_disk_geometry : t -> string -> string
display the disk geometry from the partition table
Since 1.0.26
val sfdisk_kernel_geometry : t -> string -> string
display the kernel geometry
Since 1.0.26
val sfdisk_l : t -> string -> string
Deprecated.Use Guestfs.part_list instead
display the partition table
Since 1.0.26
val sh : t -> string -> string
run a command via the shell
Since 1.0.50
val sh_lines : t -> string -> string array
run a command via the shell returning lines
Since 1.0.50
val shutdown : t -> unit
shutdown the hypervisor
Since 1.19.16
val sleep : t -> int -> unit
sleep for some seconds
Since 1.0.41
val stat : t -> string -> stat
Deprecated.Use Guestfs.statns instead
get file information
Since 1.9.2
val statns : t -> string -> statns
get file information
Since 1.27.53
val statvfs : t -> string -> statvfs
get file system statistics
Since 1.9.2
val strings : t -> string -> string array
print the printable strings in a file
Since 1.0.22
val strings_e : t -> string -> string -> string array
print the printable strings in a file
Since 1.0.22
val swapoff_device : t -> string -> unit
disable swap on device
Since 1.0.66
val swapoff_file : t -> string -> unit
disable swap on file
Since 1.0.66
val swapoff_label : t -> string -> unit
disable swap on labeled swap partition
Since 1.0.66
val swapoff_uuid : t -> string -> unit
disable swap on swap partition by UUID

This function depends on the feature "linuxfsuuid". See also Guestfs.feature_available.
Since 1.0.66

val swapon_device : t -> string -> unit
enable swap on device
Since 1.0.66
val swapon_file : t -> string -> unit
enable swap on file
Since 1.0.66
val swapon_label : t -> string -> unit
enable swap on labeled swap partition
Since 1.0.66
val swapon_uuid : t -> string -> unit
enable swap on swap partition by UUID

This function depends on the feature "linuxfsuuid". See also Guestfs.feature_available.
Since 1.0.66

val sync : t -> unit
sync disks, writes are flushed through to the disk image
Since 0.3
val syslinux : t -> ?directory:string -> string -> unit
install the SYSLINUX bootloader

This function depends on the feature "syslinux". See also Guestfs.feature_available.
Since 1.21.27

val tail : t -> string -> string array
return last 10 lines of a file
Since 1.0.54
val tail_n : t -> int -> string -> string array
return last N lines of a file
Since 1.0.54
val tar_in : t ->
?compress:string ->
?xattrs:bool -> ?selinux:bool -> ?acls:bool -> string -> string -> unit
unpack tarfile to directory
Since 1.0.3
val tar_in_opts : t ->
?compress:string ->
?xattrs:bool -> ?selinux:bool -> ?acls:bool -> string -> string -> unit
alias for Guestfs.tar_in
Since 1.0.3
val tar_out : t ->
?compress:string ->
?numericowner:bool ->
?excludes:string array ->
?xattrs:bool -> ?selinux:bool -> ?acls:bool -> string -> string -> unit
pack directory into tarfile
Since 1.0.3
val tar_out_opts : t ->
?compress:string ->
?numericowner:bool ->
?excludes:string array ->
?xattrs:bool -> ?selinux:bool -> ?acls:bool -> string -> string -> unit
alias for Guestfs.tar_out
Since 1.0.3
val tgz_in : t -> string -> string -> unit
Deprecated.Use Guestfs.tar_in instead
unpack compressed tarball to directory
Since 1.0.3
val tgz_out : t -> string -> string -> unit
Deprecated.Use Guestfs.tar_out instead
pack directory into compressed tarball
Since 1.0.3
val touch : t -> string -> unit
update file timestamps or create a new file
Since 0.3
val truncate : t -> string -> unit
truncate a file to zero size
Since 1.0.77
val truncate_size : t -> string -> int64 -> unit
truncate a file to a particular size
Since 1.0.77
val tune2fs : t ->
?force:bool ->
?maxmountcount:int ->
?mountcount:int ->
?errorbehavior:string ->
?group:int64 ->
?intervalbetweenchecks:int ->
?reservedblockspercentage:int ->
?lastmounteddirectory:string ->
?reservedblockscount:int64 -> ?user:int64 -> string -> unit
adjust ext2/ext3/ext4 filesystem parameters
Since 1.15.4
val tune2fs_l : t -> string -> (string * string) list
get ext2/ext3/ext4 superblock details
Since 1.9.2
val txz_in : t -> string -> string -> unit
Deprecated.Use Guestfs.tar_in instead
unpack compressed tarball to directory

This function depends on the feature "xz". See also Guestfs.feature_available.
Since 1.3.2

val txz_out : t -> string -> string -> unit
Deprecated.Use Guestfs.tar_out instead
pack directory into compressed tarball

This function depends on the feature "xz". See also Guestfs.feature_available.
Since 1.3.2

val umask : t -> int -> int
set file mode creation mask (umask)
Since 1.0.55
val umount : t -> ?force:bool -> ?lazyunmount:bool -> string -> unit
unmount a filesystem
Since 0.8
val umount_opts : t -> ?force:bool -> ?lazyunmount:bool -> string -> unit
alias for Guestfs.umount
Since 0.8
val umount_all : t -> unit
unmount all filesystems
Since 0.8
val umount_local : t -> ?retry:bool -> unit
unmount a locally mounted filesystem
Since 1.17.22
val upload : t -> string -> string -> unit
upload a file from the local machine
Since 1.0.2
val upload_offset : t -> string -> string -> int64 -> unit
upload a file from the local machine with offset
Since 1.5.17
val user_cancel : t -> unit
cancel the current upload or download operation
Since 1.11.18
val utimens : t -> string -> int64 -> int64 -> int64 -> int64 -> unit
set timestamp of a file with nanosecond precision
Since 1.0.77
val utsname : t -> utsname
appliance kernel version
Since 1.19.27
val version : t -> version
get the library version number
Since 1.0.58
val vfs_label : t -> string -> string
get the filesystem label
Since 1.3.18
val vfs_minimum_size : t -> string -> int64
get minimum filesystem size
Since 1.31.18
val vfs_type : t -> string -> string
get the Linux VFS type corresponding to a mounted device
Since 1.0.75
val vfs_uuid : t -> string -> string
get the filesystem UUID
Since 1.3.18
val vg_activate : t -> bool -> string array -> unit
activate or deactivate some volume groups

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.26

val vg_activate_all : t -> bool -> unit
activate or deactivate all volume groups

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.26

val vgchange_uuid : t -> string -> unit
generate a new random UUID for a volume group

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.19.26

val vgchange_uuid_all : t -> unit
generate new random UUIDs for all volume groups

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.19.26

val vgcreate : t -> string -> string array -> unit
create an LVM volume group

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.8

val vglvuuids : t -> string -> string array
get the LV UUIDs of all LVs in the volume group
Since 1.0.87
val vgmeta : t -> string -> string
get volume group metadata

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.17.20

val vgpvuuids : t -> string -> string array
get the PV UUIDs containing the volume group
Since 1.0.87
val vgremove : t -> string -> unit
remove an LVM volume group

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 1.0.13

val vgrename : t -> string -> string -> unit
rename an LVM volume group
Since 1.0.83
val vgs : t -> string array
list the LVM volume groups (VGs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val vgs_full : t -> lvm_vg array
list the LVM volume groups (VGs)

This function depends on the feature "lvm2". See also Guestfs.feature_available.
Since 0.4

val vgscan : t -> unit
rescan for LVM physical volumes, volume groups and logical volumes
Since 1.3.2
val vguuid : t -> string -> string
get the UUID of a volume group
Since 1.0.87
val wait_ready : t -> unit
Deprecated.There is no documented replacement
wait until the hypervisor launches (no op)
Since 0.3
val wc_c : t -> string -> int
count characters in a file
Since 1.0.54
val wc_l : t -> string -> int
count lines in a file
Since 1.0.54
val wc_w : t -> string -> int
count words in a file
Since 1.0.54
val wipefs : t -> string -> unit
wipe a filesystem signature from a device

This function depends on the feature "wipefs". See also Guestfs.feature_available.
Since 1.17.6

val write : t -> string -> string -> unit
create a new file
Since 1.3.14
val write_append : t -> string -> string -> unit
append content to end of file
Since 1.11.18
val write_file : t -> string -> string -> int -> unit
Deprecated.Use Guestfs.write instead
create a file
Since 0.8
val xfs_admin : t ->
?extunwritten:bool ->
?imgfile:bool ->
?v2log:bool ->
?projid32bit:bool ->
?lazycounter:bool -> ?label:string -> ?uuid:string -> string -> unit
change parameters of an XFS filesystem

This function depends on the feature "xfs". See also Guestfs.feature_available.
Since 1.19.33

val xfs_growfs : t ->
?datasec:bool ->
?logsec:bool ->
?rtsec:bool ->
?datasize:int64 ->
?logsize:int64 ->
?rtsize:int64 -> ?rtextsize:int64 -> ?maxpct:int -> string -> unit
expand an existing XFS filesystem

This function depends on the feature "xfs". See also Guestfs.feature_available.
Since 1.19.28

val xfs_info : t -> string -> xfsinfo
get geometry of XFS filesystem

This function depends on the feature "xfs". See also Guestfs.feature_available.
Since 1.19.21

val xfs_repair : t ->
?forcelogzero:bool ->
?nomodify:bool ->
?noprefetch:bool ->
?forcegeometry:bool ->
?maxmem:int64 ->
?ihashsize:int64 ->
?bhashsize:int64 ->
?agstride:int64 -> ?logdev:string -> ?rtdev:string -> string -> int
repair an XFS filesystem

This function depends on the feature "xfs". See also Guestfs.feature_available.
Since 1.19.36

val yara_destroy : t -> unit
destroy previously loaded yara rules

This function depends on the feature "libyara". See also Guestfs.feature_available.
Since 1.37.13

val yara_load : t -> string -> unit
load yara rules within libguestfs

This function depends on the feature "libyara". See also Guestfs.feature_available.
Since 1.37.13

val yara_scan : t -> string -> yara_detection array
scan a file with the loaded yara rules

This function depends on the feature "libyara". See also Guestfs.feature_available.
Since 1.37.13

val zegrep : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val zegrepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val zero : t -> string -> unit
write zeroes to the device
Since 1.0.16
val zero_device : t -> string -> unit
write zeroes to an entire device
Since 1.3.1
val zero_free_space : t -> string -> unit
zero free space in a filesystem
Since 1.17.18
val zerofree : t -> string -> unit
zero unused inodes and disk blocks on ext2/3 filesystem

This function depends on the feature "zerofree". See also Guestfs.feature_available.
Since 1.0.26

val zfgrep : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val zfgrepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val zfile : t -> string -> string -> string
Deprecated.Use Guestfs.file instead
determine file type inside a compressed file
Since 1.0.59
val zgrep : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66
val zgrepi : t -> string -> string -> string array
Deprecated.Use Guestfs.grep instead
return lines matching a pattern
Since 1.0.66

Object-oriented API

This is an alternate way of calling the API using an object-oriented style, so you can use g#add_drive_opts filename instead of Guestfs.add_drive_opts g filename. Apart from the different style, it offers exactly the same functionality.

Calling new guestfs () creates both the object and the handle. The object and handle are closed either implicitly when the object is garbage collected, or explicitly by calling the g#close () method.

You can get the Guestfs.t handle by calling g#ocaml_handle.

Note that methods that take no required parameters (except the implicit handle) get an extra unit () parameter. This is so you can create a closure from the method easily. For example g#get_verbose () calls the method, whereas g#get_verbose is a function.

class guestfs : ?environment:bool -> ?close_on_exit:bool -> unit -> object .. end