guestfs-ocaml(3)

НАЗВА
guestfs-ocaml — як використовувати libguestfs з OCaml

КОРОТКИЙ ОПИС
Стиль Module:

 let g = Guestfs.create () in
 Guestfs.add_drive_opts g ~format:"raw" ~readonly:true "disk.img";
 Guestfs.launch g;

Об’єктно-орієнтований стиль:

 let g = new Guestfs.guestfs () in
 g#add_drive_opts ~format:"raw" ~readonly:true "disk.img";
 g#launch ();

 ocamlfind opt prog.ml -package guestfs -linkpkg -o prog
or:
 ocamlopt -I +guestfs mlguestfs.cmxa prog.ml -o prog

ОПИС
На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування OCaml. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з guestfs(3).

  СТИЛІ ПРОГРАМУВАННЯ
Існує два різних стилі програмування, підтримку яких передбачено у прив'язках до OCaml. Ви можете скористатися модульним стилем, де кожну функцію C буде прив'язано до функції OCaml:

 int guestfs_set_verbose (guestfs_h *g, int flag);

перетворюється на:

 val Guestfs.set_verbose : Guestfs.t -> bool -> unit

Крім того, ви можете скористатися об'єктно-орієнтованим стилем, викликаючи методи на класі "Guestfs.guestfs":

 method set_verbose : bool -> unit

Код у об'єктно-орієнтованому стилі, зазвичай, є коротшим, а незначна втрата швидкодії є непомітною у загальному потоці виконання функцій libguestfs.

  ЗАКРИТТЯ ДЕСКРИПТОРА
Дескриптор закривається, коли його знищує збирач сміття. Оскільки дескриптори libguestfs містять багато від стану, їх також можна закривати (і отже, звільняти) явним чином, викликаючи "Guestfs.close" або метод "#close".

  ВИНЯТКИ
Помилки функцій libguestfs пов'язуються із виключенням "Guestfs.Error". Це виключення має єдиний параметр, яким є повідомлення щодо помилки (рядок).

Спроба виклику будь-якої функції чи методу для закритого дескриптора призводить до "Guestfs.Handle_closed". Єдиним параметром цього виключення є назва функції, яку було викликано.

ПРИКЛАД. СТВОРЕННЯ ОБРАЗУ ДИСКА
@CREATE_DISK@

ПРИКЛАД. ПЕРЕВІРКА ОБРАЗУ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ
@INSPECT_VM@

ПРИКЛАД: ВМИКАННЯ ДІАГНОСТИКИ І ЖУРНАЛЮВАННЯ
@DEBUG_LOGGING@

ТАКОЖ ПЕРЕГЛЯНЬТЕ
guestfs(3), guestfs-examples(3), guestfs-erlang(3), guestfs-gobject(3), guestfs-golang(3), guestfs-java(3), guestfs-lua(3), guestfs-perl(3), guestfs-python(3), guestfs-recipes(1), guestfs-ruby(3), http://libguestfs.org/, http://caml.inria.fr/.

АВТОРИ
Richard W.M. Jones ("rjones at redhat dot com")

АВТОРСЬКІ ПРАВА
© Red Hat Inc., 2010–2012

LICENSE

BUGS
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

When reporting a bug, please supply:

•   The version of libguestfs.

•   Where you got libguestfs (eg. which Linux distro, compiled from source, etc)

•   Describe the bug accurately and give a way to reproduce it.

•   Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.