1 (* libguestfs generated file
2 * WARNING: THIS FILE IS GENERATED BY 'src/generator.ml'.
3 * ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.
5 * Copyright (C) 2009 Red Hat Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 (** For API documentation you should refer to the C API
23 in the guestfs(3) manual page. The OCaml API uses almost
24 exactly the same calls. *)
27 (** A [guestfs_h] handle. *)
29 exception Error of string
30 (** This exception is raised when there is an error. *)
32 val create : unit -> t
35 (** Handles are closed by the garbage collector when they become
36 unreferenced, but callers can also call this in order to
37 provide predictable cleanup. *)
49 pv_pe_alloc_count : int64;
64 vg_extent_size : int64;
65 vg_extent_count : int64;
66 vg_free_count : int64;
84 lv_kernel_major : int64;
85 lv_kernel_minor : int64;
89 snap_percent : float option;
90 copy_percent : float option;
133 val test0 : t -> string -> string option -> string array -> bool -> int -> string -> string -> unit
134 (** internal test function - do not use *)
136 val test0rint : t -> string -> int
137 (** internal test function - do not use *)
139 val test0rinterr : t -> int
140 (** internal test function - do not use *)
142 val test0rint64 : t -> string -> int64
143 (** internal test function - do not use *)
145 val test0rint64err : t -> int64
146 (** internal test function - do not use *)
148 val test0rbool : t -> string -> bool
149 (** internal test function - do not use *)
151 val test0rboolerr : t -> bool
152 (** internal test function - do not use *)
154 val test0rconststring : t -> string -> string
155 (** internal test function - do not use *)
157 val test0rconststringerr : t -> string
158 (** internal test function - do not use *)
160 val test0rstring : t -> string -> string
161 (** internal test function - do not use *)
163 val test0rstringerr : t -> string
164 (** internal test function - do not use *)
166 val test0rstringlist : t -> string -> string array
167 (** internal test function - do not use *)
169 val test0rstringlisterr : t -> string array
170 (** internal test function - do not use *)
172 val test0rintbool : t -> string -> int * bool
173 (** internal test function - do not use *)
175 val test0rintboolerr : t -> int * bool
176 (** internal test function - do not use *)
178 val test0rpvlist : t -> string -> lvm_pv array
179 (** internal test function - do not use *)
181 val test0rpvlisterr : t -> lvm_pv array
182 (** internal test function - do not use *)
184 val test0rvglist : t -> string -> lvm_vg array
185 (** internal test function - do not use *)
187 val test0rvglisterr : t -> lvm_vg array
188 (** internal test function - do not use *)
190 val test0rlvlist : t -> string -> lvm_lv array
191 (** internal test function - do not use *)
193 val test0rlvlisterr : t -> lvm_lv array
194 (** internal test function - do not use *)
196 val test0rstat : t -> string -> stat
197 (** internal test function - do not use *)
199 val test0rstaterr : t -> stat
200 (** internal test function - do not use *)
202 val test0rstatvfs : t -> string -> statvfs
203 (** internal test function - do not use *)
205 val test0rstatvfserr : t -> statvfs
206 (** internal test function - do not use *)
208 val test0rhashtable : t -> string -> (string * string) list
209 (** internal test function - do not use *)
211 val test0rhashtableerr : t -> (string * string) list
212 (** internal test function - do not use *)
214 val launch : t -> unit
215 (** launch the qemu subprocess *)
217 val wait_ready : t -> unit
218 (** wait until the qemu subprocess launches *)
220 val kill_subprocess : t -> unit
221 (** kill the qemu subprocess *)
223 val add_drive : t -> string -> unit
224 (** add an image to examine or modify *)
226 val add_cdrom : t -> string -> unit
227 (** add a CD-ROM disk image to examine *)
229 val add_drive_ro : t -> string -> unit
230 (** add a drive in snapshot mode (read-only) *)
232 val config : t -> string -> string option -> unit
233 (** add qemu parameters *)
235 val set_qemu : t -> string -> unit
236 (** set the qemu binary *)
238 val get_qemu : t -> string
239 (** get the qemu binary *)
241 val set_path : t -> string -> unit
242 (** set the search path *)
244 val get_path : t -> string
245 (** get the search path *)
247 val set_append : t -> string -> unit
248 (** add options to kernel command line *)
250 val get_append : t -> string
251 (** get the additional kernel options *)
253 val set_autosync : t -> bool -> unit
254 (** set autosync mode *)
256 val get_autosync : t -> bool
257 (** get autosync mode *)
259 val set_verbose : t -> bool -> unit
260 (** set verbose mode *)
262 val get_verbose : t -> bool
263 (** get verbose mode *)
265 val is_ready : t -> bool
266 (** is ready to accept commands *)
268 val is_config : t -> bool
269 (** is in configuration state *)
271 val is_launching : t -> bool
272 (** is launching subprocess *)
274 val is_busy : t -> bool
275 (** is busy processing a command *)
277 val get_state : t -> int
278 (** get the current state *)
280 val set_busy : t -> unit
281 (** set state to busy *)
283 val set_ready : t -> unit
284 (** set state to ready *)
286 val end_busy : t -> unit
287 (** leave the busy state *)
289 val set_memsize : t -> int -> unit
290 (** set memory allocated to the qemu subprocess *)
292 val get_memsize : t -> int
293 (** get memory allocated to the qemu subprocess *)
295 val mount : t -> string -> string -> unit
296 (** mount a guest disk at a position in the filesystem *)
299 (** sync disks, writes are flushed through to the disk image *)
301 val touch : t -> string -> unit
302 (** update file timestamps or create a new file *)
304 val cat : t -> string -> string
305 (** list the contents of a file *)
307 val ll : t -> string -> string
308 (** list the files in a directory (long format) *)
310 val ls : t -> string -> string array
311 (** list the files in a directory *)
313 val list_devices : t -> string array
314 (** list the block devices *)
316 val list_partitions : t -> string array
317 (** list the partitions *)
319 val pvs : t -> string array
320 (** list the LVM physical volumes (PVs) *)
322 val vgs : t -> string array
323 (** list the LVM volume groups (VGs) *)
325 val lvs : t -> string array
326 (** list the LVM logical volumes (LVs) *)
328 val pvs_full : t -> lvm_pv array
329 (** list the LVM physical volumes (PVs) *)
331 val vgs_full : t -> lvm_vg array
332 (** list the LVM volume groups (VGs) *)
334 val lvs_full : t -> lvm_lv array
335 (** list the LVM logical volumes (LVs) *)
337 val read_lines : t -> string -> string array
338 (** read file as lines *)
340 val aug_init : t -> string -> int -> unit
341 (** create a new Augeas handle *)
343 val aug_close : t -> unit
344 (** close the current Augeas handle *)
346 val aug_defvar : t -> string -> string option -> int
347 (** define an Augeas variable *)
349 val aug_defnode : t -> string -> string -> string -> int * bool
350 (** define an Augeas node *)
352 val aug_get : t -> string -> string
353 (** look up the value of an Augeas path *)
355 val aug_set : t -> string -> string -> unit
356 (** set Augeas path to value *)
358 val aug_insert : t -> string -> string -> bool -> unit
359 (** insert a sibling Augeas node *)
361 val aug_rm : t -> string -> int
362 (** remove an Augeas path *)
364 val aug_mv : t -> string -> string -> unit
365 (** move Augeas node *)
367 val aug_match : t -> string -> string array
368 (** return Augeas nodes which match path *)
370 val aug_save : t -> unit
371 (** write all pending Augeas changes to disk *)
373 val aug_load : t -> unit
374 (** load files into the tree *)
376 val aug_ls : t -> string -> string array
377 (** list Augeas nodes under a path *)
379 val rm : t -> string -> unit
382 val rmdir : t -> string -> unit
383 (** remove a directory *)
385 val rm_rf : t -> string -> unit
386 (** remove a file or directory recursively *)
388 val mkdir : t -> string -> unit
389 (** create a directory *)
391 val mkdir_p : t -> string -> unit
392 (** create a directory and parents *)
394 val chmod : t -> int -> string -> unit
395 (** change file mode *)
397 val chown : t -> int -> int -> string -> unit
398 (** change file owner and group *)
400 val exists : t -> string -> bool
401 (** test if file or directory exists *)
403 val is_file : t -> string -> bool
404 (** test if file exists *)
406 val is_dir : t -> string -> bool
407 (** test if file exists *)
409 val pvcreate : t -> string -> unit
410 (** create an LVM physical volume *)
412 val vgcreate : t -> string -> string array -> unit
413 (** create an LVM volume group *)
415 val lvcreate : t -> string -> string -> int -> unit
416 (** create an LVM volume group *)
418 val mkfs : t -> string -> string -> unit
419 (** make a filesystem *)
421 val sfdisk : t -> string -> int -> int -> int -> string array -> unit
422 (** create partitions on a block device *)
424 val write_file : t -> string -> string -> int -> unit
427 val umount : t -> string -> unit
428 (** unmount a filesystem *)
430 val mounts : t -> string array
431 (** show mounted filesystems *)
433 val umount_all : t -> unit
434 (** unmount all filesystems *)
436 val lvm_remove_all : t -> unit
437 (** remove all LVM LVs, VGs and PVs *)
439 val file : t -> string -> string
440 (** determine file type *)
442 val command : t -> string array -> string
443 (** run a command from the guest filesystem *)
445 val command_lines : t -> string array -> string array
446 (** run a command, returning lines *)
448 val stat : t -> string -> stat
449 (** get file information *)
451 val lstat : t -> string -> stat
452 (** get file information for a symbolic link *)
454 val statvfs : t -> string -> statvfs
455 (** get file system statistics *)
457 val tune2fs_l : t -> string -> (string * string) list
458 (** get ext2/ext3/ext4 superblock details *)
460 val blockdev_setro : t -> string -> unit
461 (** set block device to read-only *)
463 val blockdev_setrw : t -> string -> unit
464 (** set block device to read-write *)
466 val blockdev_getro : t -> string -> bool
467 (** is block device set to read-only *)
469 val blockdev_getss : t -> string -> int
470 (** get sectorsize of block device *)
472 val blockdev_getbsz : t -> string -> int
473 (** get blocksize of block device *)
475 val blockdev_setbsz : t -> string -> int -> unit
476 (** set blocksize of block device *)
478 val blockdev_getsz : t -> string -> int64
479 (** get total size of device in 512-byte sectors *)
481 val blockdev_getsize64 : t -> string -> int64
482 (** get total size of device in bytes *)
484 val blockdev_flushbufs : t -> string -> unit
485 (** flush device buffers *)
487 val blockdev_rereadpt : t -> string -> unit
488 (** reread partition table *)
490 val upload : t -> string -> string -> unit
491 (** upload a file from the local machine *)
493 val download : t -> string -> string -> unit
494 (** download a file to the local machine *)
496 val checksum : t -> string -> string -> string
497 (** compute MD5, SHAx or CRC checksum of file *)
499 val tar_in : t -> string -> string -> unit
500 (** unpack tarfile to directory *)
502 val tar_out : t -> string -> string -> unit
503 (** pack directory into tarfile *)
505 val tgz_in : t -> string -> string -> unit
506 (** unpack compressed tarball to directory *)
508 val tgz_out : t -> string -> string -> unit
509 (** pack directory into compressed tarball *)
511 val mount_ro : t -> string -> string -> unit
512 (** mount a guest disk, read-only *)
514 val mount_options : t -> string -> string -> string -> unit
515 (** mount a guest disk with mount options *)
517 val mount_vfs : t -> string -> string -> string -> string -> unit
518 (** mount a guest disk with mount options and vfstype *)
520 val debug : t -> string -> string array -> string
521 (** debugging and internals *)
523 val lvremove : t -> string -> unit
524 (** remove an LVM logical volume *)
526 val vgremove : t -> string -> unit
527 (** remove an LVM volume group *)
529 val pvremove : t -> string -> unit
530 (** remove an LVM physical volume *)
532 val set_e2label : t -> string -> string -> unit
533 (** set the ext2/3/4 filesystem label *)
535 val get_e2label : t -> string -> string
536 (** get the ext2/3/4 filesystem label *)
538 val set_e2uuid : t -> string -> string -> unit
539 (** set the ext2/3/4 filesystem UUID *)
541 val get_e2uuid : t -> string -> string
542 (** get the ext2/3/4 filesystem UUID *)
544 val fsck : t -> string -> string -> int
545 (** run the filesystem checker *)
547 val zero : t -> string -> unit
548 (** write zeroes to the device *)
550 val grub_install : t -> string -> string -> unit
553 val cp : t -> string -> string -> unit
556 val cp_a : t -> string -> string -> unit
557 (** copy a file or directory recursively *)
559 val mv : t -> string -> string -> unit
562 val drop_caches : t -> int -> unit
563 (** drop kernel page cache, dentries and inodes *)
565 val dmesg : t -> string
566 (** return kernel messages *)
568 val ping_daemon : t -> unit
569 (** ping the guest daemon *)
571 val equal : t -> string -> string -> bool
572 (** test if two files have equal contents *)
574 val strings : t -> string -> string array
575 (** print the printable strings in a file *)
577 val strings_e : t -> string -> string -> string array
578 (** print the printable strings in a file *)
580 val hexdump : t -> string -> string
581 (** dump a file in hexadecimal *)
583 val zerofree : t -> string -> unit
584 (** zero unused inodes and disk blocks on ext2/3 filesystem *)
586 val pvresize : t -> string -> unit
587 (** resize an LVM physical volume *)
589 val sfdisk_N : t -> string -> int -> int -> int -> int -> string -> unit
590 (** modify a single partition on a block device *)
592 val sfdisk_l : t -> string -> string
593 (** display the partition table *)
595 val sfdisk_kernel_geometry : t -> string -> string
596 (** display the kernel geometry *)
598 val sfdisk_disk_geometry : t -> string -> string
599 (** display the disk geometry from the partition table *)
601 val vg_activate_all : t -> bool -> unit
602 (** activate or deactivate all volume groups *)
604 val vg_activate : t -> bool -> string array -> unit
605 (** activate or deactivate some volume groups *)
607 val lvresize : t -> string -> int -> unit
608 (** resize an LVM logical volume *)
610 val resize2fs : t -> string -> unit
611 (** resize an ext2/ext3 filesystem *)
613 val find : t -> string -> string array
614 (** find all files and directories *)
616 val e2fsck_f : t -> string -> unit
617 (** check an ext2/ext3 filesystem *)
619 val sleep : t -> int -> unit
620 (** sleep for some seconds *)
622 val ntfs_3g_probe : t -> bool -> string -> int
623 (** probe NTFS volume *)
625 val sh : t -> string -> string
626 (** run a command via the shell *)
628 val sh_lines : t -> string -> string array
629 (** run a command via the shell returning lines *)
631 val glob_expand : t -> string -> string array
632 (** expand a wildcard path *)
634 val scrub_device : t -> string -> unit
635 (** scrub (securely wipe) a device *)
637 val scrub_file : t -> string -> unit
638 (** scrub (securely wipe) a file *)
640 val scrub_freespace : t -> string -> unit
641 (** scrub (securely wipe) free space *)
643 val mkdtemp : t -> string -> string
644 (** create a temporary directory *)
646 val wc_l : t -> string -> int
647 (** count lines in a file *)
649 val wc_w : t -> string -> int
650 (** count words in a file *)
652 val wc_c : t -> string -> int
653 (** count characters in a file *)
655 val head : t -> string -> string array
656 (** return first 10 lines of a file *)
658 val head_n : t -> int -> string -> string array
659 (** return first N lines of a file *)
661 val tail : t -> string -> string array
662 (** return last 10 lines of a file *)
664 val tail_n : t -> int -> string -> string array
665 (** return last N lines of a file *)
668 (** report file system disk space usage *)
670 val df_h : t -> string
671 (** report file system disk space usage (human readable) *)
673 val du : t -> string -> int64
674 (** estimate file space usage *)
676 val initrd_list : t -> string -> string array
677 (** list files in an initrd *)
679 val mount_loop : t -> string -> string -> unit
680 (** mount a file using the loop device *)
682 val mkswap : t -> string -> unit
683 (** create a swap partition *)
685 val mkswap_L : t -> string -> string -> unit
686 (** create a swap partition with a label *)
688 val mkswap_U : t -> string -> string -> unit
689 (** create a swap partition with an explicit UUID *)
691 val mknod : t -> int -> int -> int -> string -> unit
692 (** make block, character or FIFO devices *)
694 val mkfifo : t -> int -> string -> unit
695 (** make FIFO (named pipe) *)
697 val mknod_b : t -> int -> int -> int -> string -> unit
698 (** make block device node *)
700 val mknod_c : t -> int -> int -> int -> string -> unit
701 (** make char device node *)
703 val umask : t -> int -> int
704 (** set file mode creation mask (umask) *)
706 val readdir : t -> string -> dirent array
707 (** read directories entries *)