guestfs-ocaml(3) | Virtualization Support | 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.
2019-02-07 | libguestfs-1.40.2 |