
=begin коментар

libguestfs generated file
 WARNING: THIS FILE IS GENERATED FROM THE FOLLOWING FILES:
          generator/c.ml
          and from the code in the generator/ subdirectory.
 ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.

 Copyright (C) 2009-2020 Red Hat Inc.

 Ця програма є вільним програмним забезпеченням; ви можете поширювати та/або
 змінювати її за умов дотримання GNU General Public License  утому вигляді, що
 оприлюднений Free Software Foundation; версії 2 цієї Ліцензії, або (якщо
 забажаєте) будь-якої випущеної пізніше.

 Ця програма поширюється у сподіванні, що вона буде корисною, але БЕЗ
 БУДЬ-ЯКИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ; навіть без очевидної гарантії
 ПРАЦЕЗДАТНОСТІ або ПРИДАТНОСТІ ДЛЯ ВИКОРИСТАННЯ З ПЕВНОЮ МЕТОЮ. Докладніше
 про це можна дізнатися з GNU General Public License.

 Ви маєте отримати копію GNU General Public License разом з цією програмою;
 якщо це не так, повідомте про факт за адресою Free Software Foundation, Inc.,
 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

=end коментар

=head2 guestfs_acl_delete_def_file

 int
 guestfs_acl_delete_def_file (guestfs_h *g,
                              const char *dir);

Ця функція вилучає типовий список керування доступом POSIX (ACL), який
пов'язано із каталогом C<dir>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<acl>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.63)

=head2 guestfs_acl_get_file

 char *
 guestfs_acl_get_file (guestfs_h *g,
                       const char *path,
                       const char *acltype);

Ця функція повертає список керування доступом POSIX (ACL), пов'язаний із
C<path>. ACL буде повернуто у «довгій тестовій формі» (див. L<acl(5)>).

Можливі значення параметра C<acltype>:

=over 4

=item C<access>

Повертає звичайний (на доступ) ACL для будь-якого файла, каталогу або іншого
об'єкта файлової системи.

=item C<default>

Повертає типовий ACL. Зазвичай, це має сенс лише, якщо C<шлях> — це каталог.

=back

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<acl>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.63)

=head2 guestfs_acl_set_file

 int
 guestfs_acl_set_file (guestfs_h *g,
                       const char *path,
                       const char *acltype,
                       const char *acl);

Ця функція встановлює список керування доступом POSIX (ACL), пов'язаний із
шляхом C<path>.

Можливі значення параметра C<acltype>:

=over 4

=item C<access>

Встановлює звичайний (на доступ) ACL для будь-якого файла, каталогу або
іншого об'єкта файлової системи.

=item C<default>

Встановлює типовий ACL. Зазвичай, це має сенс лише, якщо C<шлях> — це
каталог.

=back

Значенням параметра C<acl> є новий ACL у «довгій текстовий формі» або
«скороченій текстовій формі» (див. L<acl(5)>). Новий ACL повністю заміняє
будь-який попередній ACL файла. ACL має містити повні права доступу Unix
(наприклад, C<u::rwx,g::rx,o::rx>).

Якщо ви вказуєте окремих користувачів або групи, слід вказувати і поле маски
(наприклад, C<m::rwx>), за яким слід вказувати  поля
C<u:I<ідентифікатор>:...> і/або C<g:I<ідентифікатор>:...>. Отже, повний
рядок ACL може виглядати ось так:

 u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx
 \      Права Unix        / \маска/ \      ACL        /

Вам слід використовувати числові значення UID і GID. Щоб пов'язати імена
користувачів та назви груп із правильними значенням ідентифікаторів у
контексті гостьової системи, скористайтеся функціями Augeas
(див. C<guestfs_aug_init>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<acl>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.63)

=head2 guestfs_add_cdrom

 int
 guestfs_add_cdrom (guestfs_h *g,
                    const char *filename);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_add_drive_ro>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця функція додає віртуальний образ компакт-диска до гостьової системи.

Образ додається як придатний лише для читання диск, отже ця функція
еквівалентна до C<guestfs_add_drive_ro>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_add_domain

 int
 guestfs_add_domain (guestfs_h *g,
                     const char *dom,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_ADD_DOMAIN_LIBVIRTURI, const char *libvirturi,
 GUESTFS_ADD_DOMAIN_READONLY, int readonly,
 GUESTFS_ADD_DOMAIN_IFACE, const char *iface,
 GUESTFS_ADD_DOMAIN_LIVE, int live,
 GUESTFS_ADD_DOMAIN_ALLOWUUID, int allowuuid,
 GUESTFS_ADD_DOMAIN_READONLYDISK, const char *readonlydisk,
 GUESTFS_ADD_DOMAIN_CACHEMODE, const char *cachemode,
 GUESTFS_ADD_DOMAIN_DISCARD, const char *discard,
 GUESTFS_ADD_DOMAIN_COPYONREAD, int copyonread,

Ця функція додає диски, долучені до вказаного за назвою домену libvirt
C<dom>. Вона працює шляхом з'єднання із libvirt,
 надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих
даних для дисків і виклику C<guestfs_add_drive_opts> для кожного з дисків.

Буде повернуто значення кількості доданих дисків. Ця операція є атомарною:
якщо буде повернуто помилку, жодного диска не додано.

Ця функція виконує деякі мінімальні перевірки, щоб переконатися, що домен
libvirt не запущено (якщо C<readonly> не дорівнює true). У майбутніх версіях
ми спробуємо реалізувати блокування libvirt для кожного диска.

Disks must be accessible locally.  This often means that adding disks from a
remote libvirt connection (see L<https://libvirt.org/remote.html>)  will
fail unless those disks are accessible via the same device path locally too.

The optional C<libvirturi> parameter sets the libvirt URI (see
L<https://libvirt.org/uri.html>).  If this is not set then we connect to the
default libvirt URI (or one set through an environment variable, see the
libvirt documentation for full details).

Необов'язковий прапорець C<live> керує тим, чи буде цей виклик намагатися
з'єднатися із запущеним процесом C<guestfsd> віртуальної машини, якщо буде
виявлено відповідний елемент E<lt>channelE<gt> у визначення XML
libvirt. Типовою поведінкою (якщо прапорець не встановлено) є поведінка, за
якої спроби робитися не буде. Див. L<guestfs(3)/ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ
ФОНОВИХ СЛУЖБ>, щоб дізнатися більше.

Якщо прапорець C<allowuuid> має значення true (типовим значенням є false),
тоді I<може> бути передано UUID замість назви домену. Рядок C<dom>
обробляється спочатку як UUID і виконується пошук. Якщо нічого не вдасться
знайти, C<dom> обробляється як назва, як завжди.

Необов'язковий параметр C<readonlydisk> керує тим, що ми робимо із дисками,
які позначено як E<lt>readonly/E<gt> у XML libvirt. Можливі значення:

=over 4

=item readonlydisk = "error"

Якщо C<readonly> має значення false:

Увесь виклик буде перервано із повідомленням про помилку, якщо буде виявлено
хоча б один диск із прапорцем E<lt>readonly/E<gt>.

Якщо C<readonly> має значення true:

Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання.

=item readonlydisk = "read"

Якщо C<readonly> має значення false:

Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання. Інші диски
додано для читання і запису.

Якщо C<readonly> має значення true:

Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання.

=item readonlydisk = "write" (типово)

Якщо C<readonly> має значення false:

Диски із прапорцем E<lt>readonly/E<gt> додано для читання і запису.

Якщо C<readonly> має значення true:

Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання.

=item readonlydisk = "ignore"

Якщо C<readonly> має значення true або false:

Диски з прапорцем E<lt>readonly/E<gt> буде пропущено.

=back

If present, the value of C<logical_block_size> attribute of
E<lt>blockio/E<gt> tag in libvirt XML will be passed as C<blocksize>
parameter to C<guestfs_add_drive_opts>.

Інші необов'язкові параметри передаються безпосередньо до
C<guestfs_add_drive_opts>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.7.4)

=head2 guestfs_add_domain_va

 int
 guestfs_add_domain_va (guestfs_h *g,
                        const char *dom,
                        va_list args);

Це «варіант з va_list» L</guestfs_add_domain>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_domain_argv

 int
 guestfs_add_domain_argv (guestfs_h *g,
                          const char *dom,
                          const struct guestfs_add_domain_argv *optargs);

Це «варіант з argv» L</guestfs_add_domain>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_drive

 int
 guestfs_add_drive (guestfs_h *g,
                    const char *filename);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_add_drive_opts> без додаткових
аргументів.

(Додано у 0.3)



=head2 guestfs_add_drive_opts

 int
 guestfs_add_drive_opts (guestfs_h *g,
                         const char *filename,
                         ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_ADD_DRIVE_OPTS_READONLY, int readonly,
 GUESTFS_ADD_DRIVE_OPTS_FORMAT, const char *format,
 GUESTFS_ADD_DRIVE_OPTS_IFACE, const char *iface,
 GUESTFS_ADD_DRIVE_OPTS_NAME, const char *name,
 GUESTFS_ADD_DRIVE_OPTS_LABEL, const char *label,
 GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, const char *protocol,
 GUESTFS_ADD_DRIVE_OPTS_SERVER, char *const *server,
 GUESTFS_ADD_DRIVE_OPTS_USERNAME, const char *username,
 GUESTFS_ADD_DRIVE_OPTS_SECRET, const char *secret,
 GUESTFS_ADD_DRIVE_OPTS_CACHEMODE, const char *cachemode,
 GUESTFS_ADD_DRIVE_OPTS_DISCARD, const char *discard,
 GUESTFS_ADD_DRIVE_OPTS_COPYONREAD, int copyonread,
 GUESTFS_ADD_DRIVE_OPTS_BLOCKSIZE, int blocksize,

Ця функція додає образ диска, який має назву F<filename>, до
дескриптора. F<filename> може бути звичайним файлом основної системи або
пристроєм основної системи.

Якщо цю функцію викликають до C<guestfs_launch> (типовий випадок), тоді,
коли ви вперше викликаєте цю функцію, диск з'являється у програмному
інтерфейсі як F</dev/sda>, другого разу — F</dev/sdb>, тощо.

У libguestfs E<ge> 1.20 ви можете викликати цю функцію і після запуску (з
певними обмеженнями). Це називається «з'єднання у «гарячому» режимі». При
такому з'єднанні вам слід вказати мітку (C<label>), щоб новий диск отримав
передбачувану назву. Докладніший опис наведено у розділі
L<guestfs(3)/З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>.

Вам не обов'язково мати права адміністратора (root), коли ви використовуєте
libguestfs. Втім, вам, очевидно, знадобляться достатні права доступу до
файла, щоб виконувати відповідні дії із файлом (тобто доступ до читання,
якщо ви хочете читати дані з образу, або доступ до запису, якщо ви хочете
вносити зміни до образу).

Цей виклик перевіряє, чи існує F<filename>.

F<filename> може бути спеціальним рядком
C<"/dev/null">. Див. L<guestfs(3)/НУЛЬОВІ ДИСКИ>.

Необов'язковими аргументами є:

=over 4

=item C<readonly>

Якщо має значення true, образ вважатиметься придатним лише для
читання. Запис буде дозволено, але дані зберігатимуться у тимчасовому
знімку-накладці, який наприкінці сеансу роботи буде відкинуто. Зміни до
диска, який ви додаєте, внесено не буде.

=item C<format>

Примусово встановлює формат образу. Якщо ви не вкажете його (або
скористаєтеся C<guestfs_add_drive> чи C<guestfs_add_drive_ro>), формат
визначатиметься автоматично. Серед можливих форматів C<raw> і C<qcow2>.

Автоматичне визначення формату є потенційною вадою захисту, якщо ви маєте
справу з образами у форматі raw із ненадійних джерел. Див. CVE-2010-3851 і
RHBZ#642934. Вказування формату явним чином закриває цю дірку у захисті.

=item C<iface>

Цей рідкісний параметр надає вам змогу емулювати поведінку застарілого
виклику C<guestfs_add_drive_with_if> (q.v.)

=item C<name>

Назва, яку диск має у початковій гостьовій системі, наприклад,
F</dev/sdb>. Використовується як підказка для процесу інспектування
гостьової системи, якщо така назва наявна.

=item C<label>

Надати диску мітку. Мітка має бути унікальним коротким рядком, у якому
використано I<лише> символи ASCII C<[a-zA-Z]>. Окрім звичайної назви у
програмному інтерфейсі (наприклад F</dev/sda>), диск також можна буде
називати F</dev/disk/guestfs/I<мітка>>.

Див. L<guestfs(3)/МІТКИ ДИСКІВ>.

=item C<protocol>

Необов'язковим аргументом протоколу можна скористатися для вибору
альтернативного протоколу джерела.

Див. також L<guestfs(3)/REMOTE STORAGE>.

=over 4

=item C<protocol = "file">

F<filename> вважатиметься локальним файлом або пристроєм. Це типова
поведінка програми, якщо не вказано додатковий параметр протоколу.

=item C<protocol = "ftp"|"ftps"|"http"|"https"|"tftp">

З'єднатися із віддаленим сервером FTP, HTTP або TFTP. Також має бути надано
параметр C<server>, див. нижче.

Див. також L<guestfs(3)/FTP, HTTP AND TFTP>

=item C<protocol = "gluster">

З'єднатися із сервером GlusterFS. Також має бути надано параметр C<server>,
див. нижче.

Див. також L<guestfs(3)/GLUSTER>.

=item C<protocol = "iscsi">

З'єднатися із сервером iSCSI. Також має бути надано параметр C<server>,
див. нижче. Має бути надано параметр C<username>, див. нижче. Має бути
надано параметр C<secret>, див. нижче.

Див. також L<guestfs(3)/ISCSI>.

=item C<protocol = "nbd">

З'єднатися із сервером Network Block Device. Також має бути надано параметр
C<server>, див. нижче.

Див. також L<guestfs(3)/NETWORK BLOCK DEVICE>.

=item C<protocol = "rbd">

З'єднатися із сервером Ceph (librbd/RBD). Також має бути надано параметр
C<server>, див. нижче. Має бути надано параметр C<username>, див. нижче. Має
бути надано параметр C<secret>, див. нижче.

Див. також L<guestfs(3)/CEPH>.

=item C<protocol = "sheepdog">

З'єднатися із сервером Sheepdog. Також може бути надано параметр C<server>,
див. нижче.

Див. також L<guestfs(3)/SHEEPDOG>.

=item C<protocol = "ssh">

Встановити з’єднання з сервером Secure Shell (ssh).

Має бути надано параметр C<server>. Може бути надано параметр C<username>,
див. нижче.

Див. також L<guestfs(3)/SSH>.

=back

=item C<server>

Для протоколів, які потребують доступу до віддаленого сервера, це список
серверів.

 Протокол       Кількість потрібних серверів
 --------       --------------------------
 file           Список має бути порожнім або не слід користуватися параметром взагалі
 ftp|ftps|http|https|tftp  Точно один
 gluster        Точно один
 iscsi          Точно один
 nbd            Точно один
 rbd            Нуль або більше
 sheepdog       Нуль або більше
 ssh            Точно один

Кожен елемент у списку є рядком, який вказує на сервер. Рядок має бути
записано у одному з таких форматів:

 назва_вузла
 назва_вузла:порт
 tcp:назва_вузла
 tcp:назва_вузла:порт
 unix:/шлях/до/сокета

Якщо номер порту не вказано, буде використано стандартний для протоколу
номер (див. F</etc/services>).

=item C<username>

Для протоколів C<ftp>, C<ftps>, C<http>, C<https>, C<iscsi>, C<rbd>, C<ssh>
та C<tftp> визначає ім’я користувача віддаленої системи.

Якщо не вказано, для C<ssh> буде використано ім'я локального користувача, а
для ceph спроба пройти розпізнавання не виконуватиметься. Втім, зауважте, що
іноді це може призводити до неочікуваних результатів, наприклад, якщо
використовується модуль обробки libvirt, і модуль обробки libvirt
налаштовано на запуск базової системи qemu від імені спеціального
користувача, зокрема C<qemu.qemu>. Якщо сумніваєтеся, вкажіть потрібне вам
ім'я користувача віддаленої системи.

=item C<secret>

Лише для протоколу C<rbd> це визначає «ключ», яким слід скористатися для
з'єднання із віддаленим пристроєм. Дані має бути вказано у кодуванні base64.

Якщо не вказано, буде виконано пошук ключа, який відповідає вказаному імені
користувача у типовому сховищі ключів. Якщо імені користувача не вказано,
спроба пройти розпізнавання не виконуватиметься.

=item C<cachemode>

Вкажіть, має libguestfs зважати на дії з синхронізації (безпечно, але
повільно) чи ні (небезпечно, але швидко). Можливими значеннями цього рядка
можуть бути:

=over 4

=item C<cachemode = "writeback">

Типове значення.

Дії із запису у програмному інтерфейсі не повертають керування, аж доки не
буде завершено виклик L<write(2)> у основній системі [втім, слід зауважити,
що це не означає, що щось буде записано на диск].

Дії із синхронізації у програмному інтерфейсі, зокрема неявні синхронізації,
спричинені журналюванням файлової системи, не повертатимуть керування, аж
доки не буде завершено виклик L<fdatasync(2)> у основній системі, що
означатиме, що дані було надіслано на диск.

=item C<cachemode = "unsafe">

У цьому режимі надійність не гарантовано. Libguestfs може кешувати дані і
ігнорувати запити щодо синхронізації. Пасує лише тестовим та тимчасовим
дискам.

=back

=item C<discard>

Увімкнути або вимкнути підтримку відкидання (або обрізання чи скасовування
прив'язки) для цього диска. Якщо увімкнено, дії, подібні до
C<guestfs_fstrim> зможуть відкидати / утоншувати / пробивати дірки у
підлеглому файлі або пристрої основної системи.

Можливі варіанти параметрів відкидання:

=over 4

=item C<discard = "disable">

Вимкнути підтримку відкидання. Типова поведінка.

=item C<discard = "enable">

Увімкнути підтримку відкидання. Завершується помилкою, якщо відкидання
неможливе.

=item C<discard = "besteffort">

Увімкнути, якщо можна, підтримку відкидання, але не завершувати роботу із
повідомленням щодо помилки, якщо такої підтримки не передбачено.

Оскільки підтримку відкидання передбачено не для усіх модулів обробки і не
для усіх підлеглих систем, це непоганий варіант, якщо ви хочете скористатися
відкиданням, якщо воно можливе, але не маєте нічого проти того, щоб воно не
працювало.

=back

=item C<copyonread>

Булевий параметр C<copyonread> вмикає підтримку копіювання під час
читання. Це стосується лише форматів дисків, які мають резервні файли, і
спричиняє до того, що дані читання зберігатимуться у накладному шарі, що
пришвидшуватиме повторні читання тих сами даних з диска.

Типовим є значення false.

=item C<blocksize>

This parameter sets the sector size of the disk.  Possible values are C<512>
(the default if the parameter is omitted) or C<4096>.  Use C<4096> when
handling an "Advanced Format" disk that uses 4K sector size
(L<https://en.wikipedia.org/wiki/Advanced_Format>).

Only a subset of the backends support this parameter (currently only the
libvirt and direct backends do).

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_add_drive_opts_va

 int
 guestfs_add_drive_opts_va (guestfs_h *g,
                            const char *filename,
                            va_list args);

Це «варіант з va_list» L</guestfs_add_drive_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_drive_opts_argv

 int
 guestfs_add_drive_opts_argv (guestfs_h *g,
                              const char *filename,
                              const struct guestfs_add_drive_opts_argv *optargs);

Це «варіант з argv» L</guestfs_add_drive_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_drive_ro

 int
 guestfs_add_drive_ro (guestfs_h *g,
                       const char *filename);

Ця функція є еквівалентом виклику C<guestfs_add_drive_opts> із додатковим
параметром C<GUESTFS_ADD_DRIVE_OPTS_READONLY>, який встановлено у значення
1, отже диск додається лише для читання, а формат визначається автоматично.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.38)

=head2 guestfs_add_drive_ro_with_if

 int
 guestfs_add_drive_ro_with_if (guestfs_h *g,
                               const char *filename,
                               const char *iface);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_add_drive>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Те саме, що і C<guestfs_add_drive_ro>, але надає вам змогу вказати емуляцію
інтерфейсу QEMU, яку буде використано під час роботи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.84)

=head2 guestfs_add_drive_scratch

 int
 guestfs_add_drive_scratch (guestfs_h *g,
                            int64_t size,
                            ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_ADD_DRIVE_SCRATCH_NAME, const char *name,
 GUESTFS_ADD_DRIVE_SCRATCH_LABEL, const char *label,
 GUESTFS_ADD_DRIVE_SCRATCH_BLOCKSIZE, int blocksize,

Ця команда додає тимчасовий робочий диск до дескриптора. Параметр C<size>
визначає його віртуальний розмір (у байтах). Робочий диск є початково
порожнім (усі спроби читання повертатимуть лише нулі, аж доки ви не почнете
записувати на нього дані). Диск вилучається після закриття дескриптора.

The optional arguments C<name>, C<label> and C<blocksize> are passed through
to C<guestfs_add_drive_opts>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.23.10)

=head2 guestfs_add_drive_scratch_va

 int
 guestfs_add_drive_scratch_va (guestfs_h *g,
                               int64_t size,
                               va_list args);

Це «варіант з va_list» L</guestfs_add_drive_scratch>

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_drive_scratch_argv

 int
 guestfs_add_drive_scratch_argv (guestfs_h *g,
                                 int64_t size,
                                 const struct guestfs_add_drive_scratch_argv *optargs);

Це «варіант з argv» L</guestfs_add_drive_scratch>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_drive_with_if

 int
 guestfs_add_drive_with_if (guestfs_h *g,
                            const char *filename,
                            const char *iface);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_add_drive>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Те саме, що і C<guestfs_add_drive>, але надає вам змогу вказати емуляцію
інтерфейсу QEMU, яку буде використано під час роботи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.84)

=head2 guestfs_add_libvirt_dom

 int
 guestfs_add_libvirt_dom (guestfs_h *g,
                          void * /* really virDomainPtr */ dom,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_ADD_LIBVIRT_DOM_READONLY, int readonly,
 GUESTFS_ADD_LIBVIRT_DOM_IFACE, const char *iface,
 GUESTFS_ADD_LIBVIRT_DOM_LIVE, int live,
 GUESTFS_ADD_LIBVIRT_DOM_READONLYDISK, const char *readonlydisk,
 GUESTFS_ADD_LIBVIRT_DOM_CACHEMODE, const char *cachemode,
 GUESTFS_ADD_LIBVIRT_DOM_DISCARD, const char *discard,
 GUESTFS_ADD_LIBVIRT_DOM_COPYONREAD, int copyonread,

Ця функція додає диски, долучені до вказаного за назвою домену libvirt
C<dom>. Вона працює шляхом з'єднання із libvirt,
 надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих
даних для дисків і виклику C<guestfs_add_drive_opts> для кожного з дисків.

У програмному інтерфейсі мовою C ми оголошуємо C<void *dom>, але насправді
типом змінної є C<virDomainPtr dom>. Так зроблено, щоб нам не потрібна була
E<lt>libvirt.hE<gt>.

Буде повернуто значення кількості доданих дисків. Ця операція є атомарною:
якщо буде повернуто помилку, жодного диска не додано.

Ця функція виконує деякі мінімальні перевірки, щоб переконатися, що домен
libvirt не запущено (якщо C<readonly> не дорівнює true). У майбутніх версіях
ми спробуємо реалізувати блокування libvirt для кожного диска.

Disks must be accessible locally.  This often means that adding disks from a
remote libvirt connection (see L<https://libvirt.org/remote.html>)  will
fail unless those disks are accessible via the same device path locally too.

Необов'язковий прапорець C<live> керує тим, чи буде цей виклик намагатися
з'єднатися із запущеним процесом C<guestfsd> віртуальної машини, якщо буде
виявлено відповідний елемент E<lt>channelE<gt> у визначення XML
libvirt. Типовою поведінкою (якщо прапорець не встановлено) є поведінка, за
якої спроби робитися не буде. Див. L<guestfs(3)/ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ
ФОНОВИХ СЛУЖБ>, щоб дізнатися більше.

Необов'язковий параметр C<readonlydisk> керує тим, що ми робимо із дисками,
які позначено як E<lt>readonly/E<gt> у XML libvirt. Можливі значення описано
у довідці щодо C<guestfs_add_domain>.

If present, the value of C<logical_block_size> attribute of
E<lt>blockio/E<gt> tag in libvirt XML will be passed as C<blocksize>
parameter to C<guestfs_add_drive_opts>.

Інші необов'язкові параметри передаються безпосередньо до
C<guestfs_add_drive_opts>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.29.14)

=head2 guestfs_add_libvirt_dom_va

 int
 guestfs_add_libvirt_dom_va (guestfs_h *g,
                             void * /* really virDomainPtr */ dom,
                             va_list args);

Це «варіант з va_list» L</guestfs_add_libvirt_dom>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_add_libvirt_dom_argv

 int
 guestfs_add_libvirt_dom_argv (guestfs_h *g,
                               void * /* really virDomainPtr */ dom,
                               const struct guestfs_add_libvirt_dom_argv *optargs);

Це «варіант з argv» L</guestfs_add_libvirt_dom>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_aug_clear

 int
 guestfs_aug_clear (guestfs_h *g,
                    const char *augpath);

Встановлює значення, пов'язане C<path> у C<NULL>. Те саме, що і команда
L<augtool(1)> C<clear>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.4)

=head2 guestfs_aug_close

 int
 guestfs_aug_close (guestfs_h *g);

Закрити поточний дескриптор Augeas і вивільнити усі ресурси, які ним
використовуються. Після виклику слід викликати C<guestfs_aug_init> ще раз,
перш ніж ви зможете скористатися будь-якими іншими функціями Augeas.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_defnode

 struct guestfs_int_bool *
 guestfs_aug_defnode (guestfs_h *g,
                      const char *name,
                      const char *expr,
                      const char *val);

Визначає змінну C<назва>, чиїм значенням є результат обчислення виразу
C<вираз>.

If C<expr> evaluates to an empty nodeset, a node is created, equivalent to
calling C<guestfs_aug_set> C<expr>, C<val>.  C<name> will be the nodeset
containing that single node.

Якщо виконано успішно, повертає пару значень — кількість вузлів у наборі
вузлів та булевий прапорець, якщо було створено вузол.

Ця функція повертає C<struct guestfs_int_bool *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_int_bool>>.

(Додано у 0.7)

=head2 guestfs_aug_defvar

 int
 guestfs_aug_defvar (guestfs_h *g,
                     const char *name,
                     const char *expr);

Визначає змінну Augeas C<назва>, чиїм значенням є результат обчислення
виразу C<вираз>. Якщо значенням C<вираз> є NULL, C<назва> є невизначеною.

Якщо виконано успішно, повертає кількість вузлів у виразі C<вираз> або C<0>,
якщо обробка виразу C<вираз> дає щось, що не є набором вузлів.

У разі помилки цією функцією буде повернуто -1.

(Додано у 0.7)

=head2 guestfs_aug_get

 char *
 guestfs_aug_get (guestfs_h *g,
                  const char *augpath);

Виконати пошук значення, пов'язаного із шляхом C<шлях>. Якщо C<шлях>
визначає точно один вузол, буде повернуто C<значення>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 0.7)

=head2 guestfs_aug_init

 int
 guestfs_aug_init (guestfs_h *g,
                   const char *root,
                   int flags);

Створити дескриптор Augeas для редагування файлів налаштувань. Якщо із цим
сеансом guestfs вже було пов'язано дескриптор Augeas, його буде закрито.

Вам слід викликати цю команду до використання будь-яких інших команд
C<guestfs_aug_*>.

C<корінь> — коренева тека файлової системи. Значенням C<корінь> не повинен
бути NULL. Замість значення NULL слід використовувати F</>.

Прапорці є тими самими, що і прапорці, визначені у E<lt>augeas.hE<gt>,
застосування логічного I<АБО> до таких цілих значень:

=over 4

=item C<AUG_SAVE_BACKUP> = 1

Зберігати початковий файл із додаванням до назви суфікса C<.augsave>.

=item C<AUG_SAVE_NEWFILE> = 2

Зберігати зміни до файла із суфіксом назви C<.augnew> і не перезаписувати
початковий файл. Має вищий пріоритет за C<AUG_SAVE_BACKUP>.

=item C<AUG_TYPE_CHECK> = 4

Лінзи перевірки типів.

Цей параметр буде корисним, лише якщо ви виконуєте діагностику лінз
Augeas. Використання цього параметра може потребувати додаткової пам'яті для
базової системи libguestfs. Ймовірно, вам варто встановити відповідне
значення для змінної середовища C<LIBGUESTFS_MEMSIZE> або викликати
C<guestfs_set_memsize>.

=item C<AUG_NO_STDINC> = 8

Не використовувати стандартний шлях для завантаження модулів.

=item C<AUG_SAVE_NOOP> = 16

Вимкнути дію зі збереження, просто записати, що могло б бути змінено.

=item C<AUG_NO_LOAD> = 32

Не завантажувати ієрархію у C<guestfs_aug_init>.

=back

Щоб закрити дескриптор, ви можете викликати C<guestfs_aug_close>.

Щоб дізнатися більше про Augeas, зверніться до L<http://augeas.net/>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_insert

 int
 guestfs_aug_insert (guestfs_h *g,
                     const char *augpath,
                     const char *label,
                     int before);

Створити мітку-близнюка C<мітка> для шляху C<шлях>, вставивши її до ієрархії
перед або після записом шляху C<шлях> (залежно від додаткового булевого
прапорця C<до>).

C<шлях> має збігатися із точно одним наявним вузлом у ієрархії, а C<мітка>
має бути міткою, тобто не містити F</>, C<*>, або завершуватися індексом у
дужках, C<[N]>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_label

 char *
 guestfs_aug_label (guestfs_h *g,
                    const char *augpath);

Повертає мітку (назву останнього елемента) для виразу шляху Augeas
C<шлях>. C<шлях> має відповідати точно одному вузлу, інакше функцією буде
повернуто повідомлення про помилку.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.23.14)

=head2 guestfs_aug_load

 int
 guestfs_aug_load (guestfs_h *g);

Завантажити файли до ієрархії.

Див. документацію Augeas щодо C<aug_load>, якщо хочете докладнішого опису.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_ls

 char **
 guestfs_aug_ls (guestfs_h *g,
                 const char *augpath);

Скорочена форма запису для побудови списку C<guestfs_aug_match> C<шлях/*> і
упорядковування вузлів-результатів за абеткою.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.8)

=head2 guestfs_aug_match

 char **
 guestfs_aug_match (guestfs_h *g,
                    const char *augpath);

Повертає список шляхів, які відповідають виразу шляху C<шлях>. Повернуті
записи шляхів є достатньо визначеними, щоб відповідати точно одному запису
вузла у поточній ієрархії.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.7)

=head2 guestfs_aug_mv

 int
 guestfs_aug_mv (guestfs_h *g,
                 const char *src,
                 const char *dest);

Пересуває вузол C<джерело> до C<призначення>. C<джерело> має відповідати
точно одному вузлу. C<призначення> буде перезаписано, якщо воно вже існує.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_rm

 int
 guestfs_aug_rm (guestfs_h *g,
                 const char *augpath);

Вилучити C<шлях> і усі його підлеглі об'єкти.

Якщо виконано успішно, повертає кількість вилучених записів.

У разі помилки цією функцією буде повернуто -1.

(Додано у 0.7)

=head2 guestfs_aug_save

 int
 guestfs_aug_save (guestfs_h *g);

Записує зміни з черги на диск.

Прапорці, які передаються C<guestfs_aug_init> впливають на те, як саме буде
збережено файли.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_set

 int
 guestfs_aug_set (guestfs_h *g,
                  const char *augpath,
                  const char *val);

Set the value associated with C<augpath> to C<val>.

У програмному інтерфейсі Augeas можна спорожняти вузол наданням йому
значення NULL. Через недогляд у програмному інтерфейсі libguestfs ви не
зможете цього робити за допомогою цього виклику. Замість цього, доведеться
викликати C<guestfs_aug_clear>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.7)

=head2 guestfs_aug_setm

 int
 guestfs_aug_setm (guestfs_h *g,
                   const char *base,
                   const char *sub,
                   const char *val);

Змінити декілька вузлів Augeas однією командою. C<основа> — вираз, що
відповідає декільком вузлам. C<підлеглий> — вираз шляху відносно шляху
C<основа>. Буде знайдено усі вузли, які відповідають запису C<основа>, а
потім для кожного вузла значення C<підлеглий> буде змінено на
C<значення>. Значенням C<підлеглий> може бути C<NULL>, щоб призведе до
внесення змін до вузлів C<основа>.

Повертає кількість модифікованих вузлів.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.23.14)

=head2 guestfs_aug_transform

 int
 guestfs_aug_transform (guestfs_h *g,
                        const char *lens,
                        const char *file,
                        ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_AUG_TRANSFORM_REMOVE, int remove,

Додати перетворення Augeas до вказаної лінзи C<лінза> так, щоб вона могла
обробляти C<файл>.

Якщо значенням прапорця C<вилучення> є true (типово його значенням є
C<false>), перетворення буде вилучено.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.35.2)

=head2 guestfs_aug_transform_va

 int
 guestfs_aug_transform_va (guestfs_h *g,
                           const char *lens,
                           const char *file,
                           va_list args);

Це «варіант з va_list» L</guestfs_aug_transform>

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_aug_transform_argv

 int
 guestfs_aug_transform_argv (guestfs_h *g,
                             const char *lens,
                             const char *file,
                             const struct guestfs_aug_transform_argv *optargs);

Це «варіант з argv» L</guestfs_aug_transform>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_available

 int
 guestfs_available (guestfs_h *g,
                    char *const *groups);

Ця команда використовується для перевірки доступності певних груп
функціональних можливостей у базовій системі, роботу яких можуть забезпечити
не усі збірки базової системи libguestfs.

Список груп libguestfs та функцій, яким відповідають ці групи, наведено у
розділі L<guestfs(3)/ДОСТУПНІСТЬ>. Ви також можете отримати цей список у
робочому режимі викликом C<guestfs_available_all_groups>.

Аргумент C<групи> є списком назв груп. Приклад: C<["inotify", "augeas"]> має
перевірити доступність функцій inotify Linux та функцій Augeas (редагування
файла налаштувань).

Ця команда не повертає повідомлення про помилку, якщо доступними є I<усі>
вказані групи.

Команда завершується повідомленням про помилку, якщо одна або декілька
запитаних груп є недоступною у базовій системі.

Якщо до списку груп буде включено групу із невідомою назвою, команда завжди
повертатиме повідомлення про помилку.

I<Нотатки:>

=over 4

=item *

C<guestfs_feature_available> є тим самим, що і цей виклик, але із дещо
простішим у користуванні програмним інтерфейсом: цей виклик повертає булеве
true/false замість надсилання повідомлення про помилку.

=item *

Вам слід викликати C<guestfs_launch> до виклику цієї функції.

Причиною є те, що ми не знаємо, підтримку яких груп передбачено у базовій
системі або фоновій службі, доки її не буде запущено, і вона не зможе
відповідати на запити.

=item *

Якщо група функцій доступна, це не обов'язково означає, що функції
працюватимуть. Вам все одно слід перевірити, чи не виникають помилки під час
викликів окремих програмних інтерфейсів, навіть якщо вони доступні.

=item *

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

=item *

Цей виклик було додано у версії C<1.0.80>. У попередніх версіях libguestfs
усе, що ви могли зробити, це спробувати виконати команду, щоб визначити, чи
реалізовано її у фоновій службі. Див. також C<guestfs_version>.

=back

Див. також C<guestfs_filesystem_available>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.80)

=head2 guestfs_available_all_groups

 char **
 guestfs_available_all_groups (guestfs_h *g);

Ця команда повертає список усіх додаткових груп, про які знає ця фонова
служба. Зауважте, що буде повернуто список підтримуваних і непідтримуваних
груп. Щоб визначити групи, підтримку яких передбачено у фоновій службі, вам
слід викликати C<guestfs_available> / C<guestfs_feature_available> для
кожного запису із повернутого списку.

Див. також C<guestfs_available>, C<guestfs_feature_available> і
L<guestfs(3)/AVAILABILITY>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.3.15)

=head2 guestfs_base64_in

 int
 guestfs_base64_in (guestfs_h *g,
                    const char *base64file,
                    const char *filename);

Ця команда вивантажує закодовані у base64 дані з файла C<файл_base64> до
файла F<назва_файла>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.5)

=head2 guestfs_base64_out

 int
 guestfs_base64_out (guestfs_h *g,
                     const char *filename,
                     const char *base64file);

Ця команда отримує вміст файла F<назва_файла> і записує його до локального
файла C<файл_base64> у кодуванні base64.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.5)

=head2 guestfs_blkdiscard

 int
 guestfs_blkdiscard (guestfs_h *g,
                     const char *device);

Ця команда відкидає усі блоки на блоковому пристрої C<пристрій>, вивільняючи
місце і передаючи його основній системі.

Ця операція потребує підтримки у libguestfs, файловій системі основної
системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція
призведе до помилки або навіть виконуватиметься, але без усіляких
наслідків. Вам слід встановити атрибут C<discard> на підлеглому диску
(див. C<guestfs_add_drive_opts>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<blkdiscard>. Див. також L</guestfs_feature_available>.

(Додано у 1.25.44)

=head2 guestfs_blkdiscardzeroes

 int
 guestfs_blkdiscardzeroes (guestfs_h *g,
                           const char *device);

Цей виклик повертає true, якщо блоки на пристрої C<пристрій>, які було
відкинуто викликом C<guestfs_blkdiscard>, повернуто як блоки у нуль байтів
під час наступного читання.

Якщо повертає false, може так статися, що відкинуті блоки читаються як
застарілі або випадкові дані.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<blkdiscardzeroes>. Див. також L</guestfs_feature_available>.

(Додано у 1.25.44)

=head2 guestfs_blkid

 char **
 guestfs_blkid (guestfs_h *g,
                const char *device);

Ця команда повертає атрибути блокового пристрою C<пристрій>. У виведеному
хеші зазвичай є вказані нижче поля. Також у ньому можуть бути інші поля.

=over 

=item C<UUID>

Код UUID цього пристрою.

=item C<МІТКА>

Мітка пристрою.

=item C<ВЕРСІЯ>

Версія програми blkid.

=item C<ТИП>

Тип файлової системи або RAID для цього пристрою.

=item C<ВИКОРИСТАННЯ>

Призначення цього пристрою, наприклад C<filesystem> або C<raid>.

=back

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.15.9)

=head2 guestfs_blockdev_flushbufs

 int
 guestfs_blockdev_flushbufs (guestfs_h *g,
                             const char *device);

Ця команда наказує ядру спорожнити внутрішні буфери, які пов'язано із
пристроєм C<пристрій>.

Використовується програма L<blockdev(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_blockdev_getbsz

 int
 guestfs_blockdev_getbsz (guestfs_h *g,
                          const char *device);

Повертає розмір блоку для пристрою.

Зауваження: цей розмір відрізняється від I<розміру у блоках> і I<розміру
блоку файлової системи>. Крім того, цей параметр насправді ніде не
використовується. Вам, ймовірно, не знадобляться ці дані. Файлові системі
мають власні правила щодо вибору розміру блоку.

Використовується програма L<blockdev(8)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.9.3)

=head2 guestfs_blockdev_getro

 int
 guestfs_blockdev_getro (guestfs_h *g,
                         const char *device);

Повертає булеве значення, яке визначається тим, чи призначено блоковий
пристрій лише для читання (true, якщо пристрій призначено лише для читання,
false, якщо ні).

Використовується програма L<blockdev(8)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_blockdev_getsize64

 int64_t
 guestfs_blockdev_getsize64 (guestfs_h *g,
                             const char *device);

Повертає розмір пристрою у байтах.

Див. також C<guestfs_blockdev_getsz>.

Використовується програма L<blockdev(8)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.9.3)

=head2 guestfs_blockdev_getss

 int
 guestfs_blockdev_getss (guestfs_h *g,
                         const char *device);

Ця команда повертає розмір сектора на блоковому пристрої. Зазвичай, розміром
є 512, але на сучасних пристроях розмір може бути більшим.

(Зауважте, що це не розмір у секторах. Щоб отримати розмір у секторах,
скористайтеся C<guestfs_blockdev_getsz>).

Використовується програма L<blockdev(8)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.9.3)

=head2 guestfs_blockdev_getsz

 int64_t
 guestfs_blockdev_getsz (guestfs_h *g,
                         const char *device);

Цей повертає розмір пристрою у одиницях 512-байтових секторах (навіть якщо
розмір сектора не дорівнює 512 байтів ...дивно).

Див. також C<guestfs_blockdev_getss>, щоб дізнатися справжній розмір сектора
пристрою, і C<guestfs_blockdev_getsize64> для отримання кориснішого
I<розміру у байтах>.

Використовується програма L<blockdev(8)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.9.3)

=head2 guestfs_blockdev_rereadpt

 int
 guestfs_blockdev_rereadpt (guestfs_h *g,
                            const char *device);

Повторно прочитати таблицю розділів з пристрою C<пристрій>.

Використовується програма L<blockdev(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_blockdev_setbsz

 int
 guestfs_blockdev_setbsz (guestfs_h *g,
                          const char *device,
                          int blocksize);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Цей виклик не виконує ніяких дій і ніколи цього не робив через ваду у
blockdev. B<Не використовуйте його.>

Якщо вам потрібно встановити розмір блоку файлової системи, скористайтеся
параметром C<blocksize> C<guestfs_mkfs>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_blockdev_setra

 int
 guestfs_blockdev_setra (guestfs_h *g,
                         const char *device,
                         int sectors);

Встановити випереджальне читання (у 512-байтових секторах) для пристрою.

Використовується програма L<blockdev(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.29.10)

=head2 guestfs_blockdev_setro

 int
 guestfs_blockdev_setro (guestfs_h *g,
                         const char *device);

Переводити блоковий пристрій з назвою C<пристрій> у режим лише читання.

Використовується програма L<blockdev(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_blockdev_setrw

 int
 guestfs_blockdev_setrw (guestfs_h *g,
                         const char *device);

Встановлює для блокового пристрою із назвою C<пристрій> режим
читання-запису.

Використовується програма L<blockdev(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.3)

=head2 guestfs_btrfs_balance_cancel

 int
 guestfs_btrfs_balance_cancel (guestfs_h *g,
                               const char *path);

Скасувати поточний баланс на файловій системі btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_balance_pause

 int
 guestfs_btrfs_balance_pause (guestfs_h *g,
                              const char *path);

Призупинити запущений баланс у файловій системі btrfs

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_balance_resume

 int
 guestfs_btrfs_balance_resume (guestfs_h *g,
                               const char *path);

Поновити призупинений баланс на файловій системі btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_balance_status

 struct guestfs_btrfsbalance *
 guestfs_btrfs_balance_status (guestfs_h *g,
                               const char *path);

Показати стан використовуваного або призупиненого балансу на файловій
системі btrfs.

Ця функція повертає C<struct guestfs_btrfsbalance *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_btrfsbalance>>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.26)

=head2 guestfs_btrfs_device_add

 int
 guestfs_btrfs_device_add (guestfs_h *g,
                           char *const *devices,
                           const char *fs);

Додати список пристроїв у записі C<пристрої> до файлової системи btrfs,
змонтованої до файлової системи C<файлова система>.  Якщо C<пристрої> є
порожнім списком, не виконувати ніяких дій.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_device_delete

 int
 guestfs_btrfs_device_delete (guestfs_h *g,
                              char *const *devices,
                              const char *fs);

Вилучити C<пристрої> з файлової системи btrfs, змонтованої до точки
C<файлова система>. Якщо запис C<пристрої> є порожнім списком, не виконувати
ніяких дій.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_filesystem_balance

 int
 guestfs_btrfs_filesystem_balance (guestfs_h *g,
                                   const char *fs);

Збалансувати фрагменти файлової системи btrfs, змонтованої до точки
C<файлова_система>, між підлеглими пристроями.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_filesystem_defragment

 int
 guestfs_btrfs_filesystem_defragment (guestfs_h *g,
                                      const char *path,
                                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_FILESYSTEM_DEFRAGMENT_FLUSH, int flush,
 GUESTFS_BTRFS_FILESYSTEM_DEFRAGMENT_COMPRESS, const char *compress,

Виконати дефрагментацію файла або каталогу на файловій системі btrfs. Для
параметра «стискання» передбачено два значення: zlib або lzo.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_filesystem_defragment_va

 int
 guestfs_btrfs_filesystem_defragment_va (guestfs_h *g,
                                         const char *path,
                                         va_list args);

Це «варіант з va_list» L</guestfs_btrfs_filesystem_defragment>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_filesystem_defragment_argv

 int
 guestfs_btrfs_filesystem_defragment_argv (guestfs_h *g,
                                           const char *path,
                                           const struct guestfs_btrfs_filesystem_defragment_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_filesystem_defragment>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_filesystem_resize

 int
 guestfs_btrfs_filesystem_resize (guestfs_h *g,
                                  const char *mountpoint,
                                  ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_FILESYSTEM_RESIZE_SIZE, int64_t size,

Ця команда змінює розмір файлової системи btrfs.

Зауважте, що на відміну від інших викликів команд зміни розмірів, файлову
систему має бути змонтовано, а параметром команди є точка монтування, а не
пристрій (це вимога самої btrfs).

Додатковими параметрами є:

=over 4

=item C<розмір>

Новий розмір (у байтах) файлової системи. Якщо не вказано, файлову систему
буде розширено до максимального розміру.

=back

Див. також L<btrfs(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.11.17)

=head2 guestfs_btrfs_filesystem_resize_va

 int
 guestfs_btrfs_filesystem_resize_va (guestfs_h *g,
                                     const char *mountpoint,
                                     va_list args);

Це «варіант з va_list» L</guestfs_btrfs_filesystem_resize>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_filesystem_resize_argv

 int
 guestfs_btrfs_filesystem_resize_argv (guestfs_h *g,
                                       const char *mountpoint,
                                       const struct guestfs_btrfs_filesystem_resize_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_filesystem_resize>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_filesystem_show

 char **
 guestfs_btrfs_filesystem_show (guestfs_h *g,
                                const char *device);

Вивести усі пристрої, на які поширюються файлові системи з пристрою
C<пристрій>.

Якщо у системі наявні не усі пристрої для файлових систем, ця функція
завершується повідомленням про помилку, а для C<errno> встановлюється
значення C<ENODEV>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.29)

=head2 guestfs_btrfs_filesystem_sync

 int
 guestfs_btrfs_filesystem_sync (guestfs_h *g,
                                const char *fs);

Примусово синхронізувати файлову систему btrfs, яку змонтовано до точки
C<файлова_система>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_fsck

 int
 guestfs_btrfs_fsck (guestfs_h *g,
                     const char *device,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_FSCK_SUPERBLOCK, int64_t superblock,
 GUESTFS_BTRFS_FSCK_REPAIR, int repair,

Використовується для перевірки файлової системи btrfs, C<пристрій> — файл
пристрою, у якому зберігається файлова система.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.43)

=head2 guestfs_btrfs_fsck_va

 int
 guestfs_btrfs_fsck_va (guestfs_h *g,
                        const char *device,
                        va_list args);

Це «варіант з va_list» L</guestfs_btrfs_fsck>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_fsck_argv

 int
 guestfs_btrfs_fsck_argv (guestfs_h *g,
                          const char *device,
                          const struct guestfs_btrfs_fsck_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_fsck>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_image

 int
 guestfs_btrfs_image (guestfs_h *g,
                      char *const *source,
                      const char *image,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_IMAGE_COMPRESSLEVEL, int compresslevel,

Використовується для створення образу файлової системи btrfs. Усі дані буде
перезаписано нулями, але метадані і подібні дані буде збережено.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.32)

=head2 guestfs_btrfs_image_va

 int
 guestfs_btrfs_image_va (guestfs_h *g,
                         char *const *source,
                         const char *image,
                         va_list args);

Це «варіант з va_list» L</guestfs_btrfs_image>

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_image_argv

 int
 guestfs_btrfs_image_argv (guestfs_h *g,
                           char *const *source,
                           const char *image,
                           const struct guestfs_btrfs_image_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_image>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_qgroup_assign

 int
 guestfs_btrfs_qgroup_assign (guestfs_h *g,
                              const char *src,
                              const char *dst,
                              const char *path);

Додає q-групу C<джерело> до батьківської q-групи C<призначення>. Ця команда
може групувати декілька q-груп до батьківської q-групи для спільного
використання загальних обмежень.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_qgroup_create

 int
 guestfs_btrfs_qgroup_create (guestfs_h *g,
                              const char *qgroupid,
                              const char *subvolume);

Створити групу квот (q-групу) для підтому C<підтом>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_qgroup_destroy

 int
 guestfs_btrfs_qgroup_destroy (guestfs_h *g,
                               const char *qgroupid,
                               const char *subvolume);

Знищити групу квот.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_qgroup_limit

 int
 guestfs_btrfs_qgroup_limit (guestfs_h *g,
                             const char *subvolume,
                             int64_t size);

Обмежити розмір підтому із шляхом C<підтом>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_qgroup_remove

 int
 guestfs_btrfs_qgroup_remove (guestfs_h *g,
                              const char *src,
                              const char *dst,
                              const char *path);

Вилучити q-групу C<джерело> з батьківської q-групи C<призначення>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_qgroup_show

 struct guestfs_btrfsqgroup_list *
 guestfs_btrfs_qgroup_show (guestfs_h *g,
                            const char *path);

Вивести усі групи квот підтомів у файловій системі btrfs разом із даними
щодо їхнього використання.

Ця функція повертає C<struct guestfs_btrfsqgroup_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_btrfsqgroup_list>>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_quota_enable

 int
 guestfs_btrfs_quota_enable (guestfs_h *g,
                             const char *fs,
                             int enable);

Увімкнути або вимкнути підтримку квот підтомів для файлової системи, яка
містить C<шлях>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_quota_rescan

 int
 guestfs_btrfs_quota_rescan (guestfs_h *g,
                             const char *fs);

Викинути усі числові дані qgroup і виконати повторне сканування з поточними
налаштуваннями.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_replace

 int
 guestfs_btrfs_replace (guestfs_h *g,
                        const char *srcdev,
                        const char *targetdev,
                        const char *mntpoint);

Замінити пристрій файлової системи btrfs. На «живій» файловій системі
здублювати на пристрій призначення дані, які на поточний момент зберігаються
на пристрої джерела. Після завершення операції пристрій джерела буде витерто
і вилучено з файлової системи.

 C<пристрій_призначення> повинен мати той самий або більший розмір за
C<пристрій_джерела>. Пристрої, які на поточний момент змонтовано, не можна
використовувати як C<пристрій_призначення>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.48)

=head2 guestfs_btrfs_rescue_chunk_recover

 int
 guestfs_btrfs_rescue_chunk_recover (guestfs_h *g,
                                     const char *device);

Відновити дерево фрагментів файлової системи btrfs шляхом послідовного
сканування пристроїв.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_rescue_super_recover

 int
 guestfs_btrfs_rescue_super_recover (guestfs_h *g,
                                     const char *device);

Відновити пошкоджені суперблоки із якісних копій.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_scrub_cancel

 int
 guestfs_btrfs_scrub_cancel (guestfs_h *g,
                             const char *path);

Скасувати витирання, що виконується у файловій системі btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_scrub_resume

 int
 guestfs_btrfs_scrub_resume (guestfs_h *g,
                             const char *path);

Відновити раніше скасований або перерваний зріз на файловій системі btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_scrub_start

 int
 guestfs_btrfs_scrub_start (guestfs_h *g,
                            const char *path);

Читає усі дані і метадані на файловій системі і використовує контрольні суми
та копії-дублікати зі сховища даних RAID для ідентифікації та відновлення
усіх пошкоджених даних.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.22)

=head2 guestfs_btrfs_scrub_status

 struct guestfs_btrfsscrub *
 guestfs_btrfs_scrub_status (guestfs_h *g,
                             const char *path);

Показати дані щодо стану витирання, яке виконується або завершено на
файловій системі btrfs.

Ця функція повертає C<struct guestfs_btrfsscrub *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_btrfsscrub>>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.26)

=head2 guestfs_btrfs_set_seeding

 int
 guestfs_btrfs_set_seeding (guestfs_h *g,
                            const char *device,
                            int seeding);

Увімкнути або вимкнути можливість розсіювання для пристрою, на якому
міститься файлова система btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.43)

=head2 guestfs_btrfs_subvolume_create

 int
 guestfs_btrfs_subvolume_create (guestfs_h *g,
                                 const char *dest);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_btrfs_subvolume_create_opts> без
додаткових аргументів.

(Додано у 1.17.35)



=head2 guestfs_btrfs_subvolume_create_opts

 int
 guestfs_btrfs_subvolume_create_opts (guestfs_h *g,
                                      const char *dest,
                                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_SUBVOLUME_CREATE_OPTS_QGROUPID, const char *qgroupid,

Створити підтом btrfs. Значенням аргументу C<призначення> є каталог
призначення і назва підтому у формі
F</шлях/до/призначення/назва>. Додатковий параметр C<ідентифікатор q-групи>
відповідає q-групі, до якої слід додати створений підтом.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_subvolume_create_opts_va

 int
 guestfs_btrfs_subvolume_create_opts_va (guestfs_h *g,
                                         const char *dest,
                                         va_list args);

Це «варіант з va_list» L</guestfs_btrfs_subvolume_create_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_subvolume_create_opts_argv

 int
 guestfs_btrfs_subvolume_create_opts_argv (guestfs_h *g,
                                           const char *dest,
                                           const struct guestfs_btrfs_subvolume_create_opts_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_subvolume_create_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_subvolume_delete

 int
 guestfs_btrfs_subvolume_delete (guestfs_h *g,
                                 const char *subvolume);

Вилучити вказаний за назвою підтом або знімок btrfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_subvolume_get_default

 int64_t
 guestfs_btrfs_subvolume_get_default (guestfs_h *g,
                                      const char *fs);

Отримати типовий підтом або знімок файлової системи, змонтований до точки
C<точка монтування>.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_subvolume_list

 struct guestfs_btrfssubvolume_list *
 guestfs_btrfs_subvolume_list (guestfs_h *g,
                               const char *fs);

Виводить список знімків btrfs і підтоми файлової системи btrfs, яку
змонтовано до точки C<файлова_система>.

Ця функція повертає C<struct guestfs_btrfssubvolume_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_btrfssubvolume_list>>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_subvolume_set_default

 int
 guestfs_btrfs_subvolume_set_default (guestfs_h *g,
                                      int64_t id,
                                      const char *fs);

Встановити підтом файлової системи btrfs C<файлова_система>, який буде
типово змонтовано. Див. C<guestfs_btrfs_subvolume_list>, щоб отримати список
підтомів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_subvolume_show

 char **
 guestfs_btrfs_subvolume_show (guestfs_h *g,
                               const char *subvolume);

Повернути докладні дані щодо підтому.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.17)

=head2 guestfs_btrfs_subvolume_snapshot

 int
 guestfs_btrfs_subvolume_snapshot (guestfs_h *g,
                                   const char *source,
                                   const char *dest);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_btrfs_subvolume_snapshot_opts>
без додаткових аргументів.

(Додано у 1.17.35)



=head2 guestfs_btrfs_subvolume_snapshot_opts

 int
 guestfs_btrfs_subvolume_snapshot_opts (guestfs_h *g,
                                        const char *source,
                                        const char *dest,
                                        ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_BTRFS_SUBVOLUME_SNAPSHOT_OPTS_RO, int ro,
 GUESTFS_BTRFS_SUBVOLUME_SNAPSHOT_OPTS_QGROUPID, const char *qgroupid,

Створити знімок підтому btrfs. Значенням аргументу C<призначення> є каталог
призначення і назва знімка у формі F</шлях/до/призначення/назва>. Типово,
новостворений знімок придатний до запису. Якщо значенням додаткового
параметра C<ro> є true, буде створено знімок придатний лише до читання.
Додатковий параметр C<ідентифікатор q-групи> відповідає q-групі, до якої
слід додати створений знімок.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.35)

=head2 guestfs_btrfs_subvolume_snapshot_opts_va

 int
 guestfs_btrfs_subvolume_snapshot_opts_va (guestfs_h *g,
                                           const char *source,
                                           const char *dest,
                                           va_list args);

Це «варіант з va_list» L</guestfs_btrfs_subvolume_snapshot_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfs_subvolume_snapshot_opts_argv

 int
 guestfs_btrfs_subvolume_snapshot_opts_argv (guestfs_h *g,
                                             const char *source,
                                             const char *dest,
                                             const struct guestfs_btrfs_subvolume_snapshot_opts_argv *optargs);

Це «варіант з argv» L</guestfs_btrfs_subvolume_snapshot_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_btrfstune_enable_extended_inode_refs

 int
 guestfs_btrfstune_enable_extended_inode_refs (guestfs_h *g,
                                               const char *device);

Вмикає розширені посилання на inode.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.29)

=head2 guestfs_btrfstune_enable_skinny_metadata_extent_refs

 int
 guestfs_btrfstune_enable_skinny_metadata_extent_refs (guestfs_h *g,
                                                       const char *device);

Вмикає розширені посилання на спрощені метадані.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.29)

=head2 guestfs_btrfstune_seeding

 int
 guestfs_btrfstune_seeding (guestfs_h *g,
                            const char *device,
                            int seeding);

Увімкнути розсіювання пристрою btrfs. Примусово робить файлову систему
придатною лише для читання, щоб її можна було використовувати для побудови
інших файлових систем.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.29)

=head2 guestfs_c_pointer

 int64_t
 guestfs_c_pointer (guestfs_h *g);

In non-C language bindings, this allows you to retrieve the underlying C
pointer to the handle (ie. C<guestfs_h *>).  The purpose of this is to allow
other libraries to interwork with libguestfs.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.29.17)

=head2 guestfs_canonical_device_name

 char *
 guestfs_canonical_device_name (guestfs_h *g,
                                const char *device);

Ця допоміжна функція корисна для показу назв пристроїв користувачеві. Вона
приймає декілька неформатованих назв пристроїв і повертає їх у відповідному
форматі:

=over 4

=item F</dev/hdX>

=item F</dev/vdX>

Дані повертаються у форматі F</dev/sdX>. Зауважте, що це працює для назв
пристроїв і розділів. Це, у наближеному вигляді, обернення алгоритму,
описаного у розділі L<guestfs(3)/ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ>.

=item F</dev/mapper/VG-LV>

=item F</dev/dm-N>

Перетворені до форми F</dev/VG/LV> за допомогою
C<guestfs_lvm_canonical_lv_name>.

=back

Інші рядки повертаються незмінними.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.7)

=head2 guestfs_cap_get_file

 char *
 guestfs_cap_get_file (guestfs_h *g,
                       const char *path);

Ця функція повертає можливості Linux, пов'язані із шляхом C<шлях>. Набір
можливостей повертається у текстовій формі (див. L<cap_to_text(3)>).

Якщо з файлом не пов'язано можливостей, буде повернуто порожній рядок.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<linuxcaps>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.63)

=head2 guestfs_cap_set_file

 int
 guestfs_cap_set_file (guestfs_h *g,
                       const char *path,
                       const char *cap);

Ця функція встановлює можливості Linux, пов'язані із шляхом C<шлях>. Набір
можливостей C<можливості> має бути передано у текстовій формі
(див. L<cap_from_text(3)>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<linuxcaps>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.63)

=head2 guestfs_case_sensitive_path

 char *
 guestfs_case_sensitive_path (guestfs_h *g,
                              const char *path);

Цією функцією можна скористатися для використання записів шляхів без
врахування регістру символів у системах із врахуванням регістру у шляхах. Це
може знадобитися при читанні з файлів налаштувань Windows або реєстру
Windows до справжнього шляху.

Команда працює із особливістю драйвера файлових систем ntfs-3g Linux (та,
ймовірно, інших драйверів), яка полягає у тому, що, хоча у підлеглій
файловій системі регістр символів не враховується, драйвер експортує файлову
систему до Linux як таку, де регістр символів враховується.

Одним із наслідків цього є те, що спеціалізовані каталоги, зокрема
F<C:\windows>, можуть показуватися як F</WINDOWS> або F</windows> (або інші
записи), залежно від точних характеристик їхнього створення. У самій Windows
це не спричиняє ніяких проблем.

Bug or feature? You decide:
L<https://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1>

C<guestfs_case_sensitive_path> намагається визначити справжній регістр
символів кожного запису у шляху. Команда повертає визначений шлях, якщо
існує відповідний повний шлях або його батьківський каталог. Якщо існує
батьківський каталог, але повний шлях не існує, буде визначено регістр для
батьківського каталогу, а решту запису буде додано без змін. Наприклад, якщо
існує файл C<"/Windows/System32/netkvm.sys">:

=over 4

=item C<guestfs_case_sensitive_path> ("/windows/system32/netkvm.sys")

"Windows/System32/netkvm.sys"

=item C<guestfs_case_sensitive_path> ("/windows/system32/NoSuchFile")

"Windows/System32/NoSuchFile"

=item C<guestfs_case_sensitive_path> ("/windows/system33/netkvm.sys")

I<ERROR>

=back

I<Зауваження>: через описану вище поведінку C<guestfs_case_sensitive_path>
не можна використовувати для перевірки наявності файла.

I<Зауваження>: ця функція не обробляє назви дисків, зворотні похилі риски
тощо.

Див. також C<guestfs_realpath>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.75)

=head2 guestfs_cat

 char *
 guestfs_cat (guestfs_h *g,
              const char *path);

Повертає вміст файла із назвою C<шлях>.

Оскільки у C ця функція повертає C<char *>, не існує способу відрізнити
символ C<\0> у вмісті файла і кінець рядка. Для обробки двійкових файлів
скористайтеся функцією C<guestfs_read_file> або C<guestfs_download>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 0.4)

=head2 guestfs_checksum

 char *
 guestfs_checksum (guestfs_h *g,
                   const char *csumtype,
                   const char *path);

Цей виклик обчислює контрольну суму MD5, SHAx або CRC для файла із назвою
C<шлях>.

Тип контрольної суми задається параметром C<тип_контрольної_суми>. Можливі
значення цього параметра:

=over 4

=item C<crc>

Обчислити суму циклічної перевірки надлишковості (CRC) за стандартом POSIX
для команди C<cksum>.

=item C<md5>

Compute the MD5 hash (using the L<md5sum(1)> program).

=item C<sha1>

Compute the SHA1 hash (using the L<sha1sum(1)> program).

=item C<sha224>

Compute the SHA224 hash (using the L<sha224sum(1)> program).

=item C<sha256>

Compute the SHA256 hash (using the L<sha256sum(1)> program).

=item C<sha384>

Compute the SHA384 hash (using the L<sha384sum(1)> program).

=item C<sha512>

Compute the SHA512 hash (using the L<sha512sum(1)> program).

=back

Контрольна сума повертається у форматі рядка, придатного до друку (ASCII)

Щоб отримати контрольну суму пристрою, скористайтеся
C<guestfs_checksum_device>.

Щоб отримати контрольні суми декількох файлів одразу, скористайтеся
C<guestfs_checksums_out>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.2)

=head2 guestfs_checksum_device

 char *
 guestfs_checksum_device (guestfs_h *g,
                          const char *csumtype,
                          const char *device);

Цей виклик обчислює контрольну суму MD5, SHAx або CRC для вмісту пристрою із
назвою C<пристрій>. Типи підтримуваних контрольних сум описано у
документації до команди C<guestfs_checksum>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.3.2)

=head2 guestfs_checksums_out

 int
 guestfs_checksums_out (guestfs_h *g,
                        const char *csumtype,
                        const char *directory,
                        const char *sumsfile);

Ця команда обчислює контрольні суми звичайних файлів у каталозі F<каталог> і
видає список контрольних сум до локального файла результатів C<файл_сум>.

Командою можна скористатися для перевірки цілісності віртуальної
машини. Втім, щоб забезпечити надійний захист, вам слід звернути увагу на
виведені командою обчислення контрольних сум дані (використовується програма
з GNU coreutils). Зокрема, якщо назва файла складається із символів, які
непридатні до друку, coreutils використовує спеціалізований синтаксис із
символом зворотної похилої риски. Щоб дізнатися більше, ознайомтеся із
файлом info GNU coreutils.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.7)

=head2 guestfs_chmod

 int
 guestfs_chmod (guestfs_h *g,
                int mode,
                const char *path);

Змінити режим (права доступу) для шляху C<шлях> на C<режим>. Передбачено
підтримку лише числових записів режимів.

I<Зауваження>: при використанні цієї команди з guestfish, C<режим>, типово,
має бути вказано у десятковій формі, якщо не буде додано префікса C<0> для
вісімкової форми запису, тобто слід вказувати C<0700> замість C<700>.

На встановлений режим доступу впливає umask.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_chown

 int
 guestfs_chown (guestfs_h *g,
                int owner,
                int group,
                const char *path);

Змінити власника файла на C<власник> і групу на C<група>.

Передбачено підтримку лише числових uid і gid. Якщо ви хочете скористатися
текстовими назвами, вам доведеться знайти і обробити файл паролів власноруч
(підтримка Augeas робить це завдання відносно простим).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_clear_backend_setting

 int
 guestfs_clear_backend_setting (guestfs_h *g,
                                const char *name);

Якщо рядок параметрів модуля дорівнює C<"name"> або починається з
C<"name=">, цей рядок вилучається з параметрів модуля.

Цей виклик повертає кількість рядків, які було вилучено (може бути значення
0, 1 або більше за 1).

Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.27.2)

=head2 guestfs_command

 char *
 guestfs_command (guestfs_h *g,
                  char *const *arguments);

Цей виклик запускає команду з гостьової файлової системи. Файлову систему
має бути змонтовано, вона має містити сумісну операційну систему (тобто
якусь систему Linux із такою або сумісною архітектурою процесора).

Єдиним параметром є список аргументів у стилі argv. Першим елементом цього
списку є назва програми, яку слід запустити. Наступні елементи є параметрами
цієї програми. Список має бути непорожнім (тобто містити принаймні назву
програми). Зауважте, що команда працює безпосередньо і I<не> викликає
командної оболонки (див. C<guestfs_sh>).

Повернутим значенням є усі дані, виведені командою до I<stdout>.

Якщо команда повертає ненульовий стан виходу, тоді ця функція повертає
повідомлення про помилку. Рядок повідомлення про помилку міститиме вміст
I<stderr> від команди.

Змінна середовища C<$PATH> міститиме принаймні F</usr/bin> і F</bin>. Якщо
вам потрібна програм з іншої теки, вам слід вказати шлях до неї повністю у
першому параметрі.

Бібліотеки спільного використання та файли даних, потрібні для запуску
програми, мають бути доступними у файлових системах, які змонтовано до
належних точок монтування. Забезпечити відповідність монтування усіх
файлових систем має функція або програма, з якої викликається команда.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.9.1)

=head2 guestfs_command_lines

 char **
 guestfs_command_lines (guestfs_h *g,
                        char *const *arguments);

Те саме, що і C<guestfs_command>, але результат буде поділено на список
рядків.

Див. також C<guestfs_sh_lines>

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.9.1)

=head2 guestfs_compress_device_out

 int
 guestfs_compress_device_out (guestfs_h *g,
                              const char *ctype,
                              const char *device,
                              const char *zdevice,
                              ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COMPRESS_DEVICE_OUT_LEVEL, int level,

Ця команда стискає вміст пристрою C<пристрій> і записує його до локального
файла C<z-пристрій>.

Параметр C<тип_стискання> і необов'язковий параметр C<рівень> мають те саме
значення, що і у команді C<guestfs_compress_out>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.13.15)

=head2 guestfs_compress_device_out_va

 int
 guestfs_compress_device_out_va (guestfs_h *g,
                                 const char *ctype,
                                 const char *device,
                                 const char *zdevice,
                                 va_list args);

Це «варіант з va_list» L</guestfs_compress_device_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_compress_device_out_argv

 int
 guestfs_compress_device_out_argv (guestfs_h *g,
                                   const char *ctype,
                                   const char *device,
                                   const char *zdevice,
                                   const struct guestfs_compress_device_out_argv *optargs);

Це «варіант з argv» L</guestfs_compress_device_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_compress_out

 int
 guestfs_compress_out (guestfs_h *g,
                       const char *ctype,
                       const char *file,
                       const char *zfile,
                       ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COMPRESS_OUT_LEVEL, int level,

Ця команда стискає вміст файла C<файл> і записує його до локального файла
C<z-файл>.

Вибір програми для стискання керується параметром C<тип_стискання>. Поточні
варіанти значень: C<compress>, C<gzip>, C<bzip2>, C<xz> або C<lzop>. У
деяких збірках libguestfs передбачено підтримку не усіх типів
стискання. Якщо підтримки типу стискання не передбачено, буде виведено
повідомлення про помилку, яке міститиме рядок «not supported».

Необов'язковий параметр C<рівень> керує рівнем стискання. Значення і типові
параметри залежать від використаної програми для стискання.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.13.15)

=head2 guestfs_compress_out_va

 int
 guestfs_compress_out_va (guestfs_h *g,
                          const char *ctype,
                          const char *file,
                          const char *zfile,
                          va_list args);

Це «варіант з va_list» L</guestfs_compress_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_compress_out_argv

 int
 guestfs_compress_out_argv (guestfs_h *g,
                            const char *ctype,
                            const char *file,
                            const char *zfile,
                            const struct guestfs_compress_out_argv *optargs);

Це «варіант з argv» L</guestfs_compress_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_config

 int
 guestfs_config (guestfs_h *g,
                 const char *hvparam,
                 const char *hvvalue);

Цією командою можна скористатися для додавання довільних параметрів
гіпервізору у формі I<-параметр значення>. Насправді, параметр не є зовсім
довільним — ми не даємо вам встановлювати певні параметри, які суперечать
параметрам, які ви використовуєте.

Першим символом рядка C<параметр-г-в> має бути C<-> (дефіс).

C<hvvalue> може дорівнювати NULL.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_copy_attributes

 int
 guestfs_copy_attributes (guestfs_h *g,
                          const char *src,
                          const char *dest,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COPY_ATTRIBUTES_ALL, int all,
 GUESTFS_COPY_ATTRIBUTES_MODE, int mode,
 GUESTFS_COPY_ATTRIBUTES_XATTRIBUTES, int xattributes,
 GUESTFS_COPY_ATTRIBUTES_OWNERSHIP, int ownership,

Копіювати атрибути шляху (який може вказувати на файл або каталог) до іншого
шляху.

By default B<no> attribute is copied, so make sure to specify any (or C<all>
to copy everything).

Додаткові аргументи вказують, які атрибути має бути скопійовано:

=over 4

=item C<mode>

Копіювати частину режиму файла з запису C<джерело> до запису
C<призначення>. Скопіювати можна лише права доступу UNIX і липкі біти,
setuid або setgid.

=item C<xattributes>

Копіювати розширені атрибути Linux (xattrs) з запису C<джерело> до запису
C<призначення>. Цей прапорець не виконує ніяких дій, якщо можливість
I<linuxxattrs> недоступна (див. C<guestfs_feature_available>).

=item C<ownership>

Копіювати uid власника і gid групи з запису C<джерело> до запису
C<призначення>.

=item C<all>

Копіювати B<усі> атрибути із запису C<джерело> до запису
C<призначення>. Вмикання цього прапорця вмикає усі інші прапорці, якщо їх ще
не було вказано.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.25.21)

=head2 guestfs_copy_attributes_va

 int
 guestfs_copy_attributes_va (guestfs_h *g,
                             const char *src,
                             const char *dest,
                             va_list args);

Це «варіант з va_list» L</guestfs_copy_attributes>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_attributes_argv

 int
 guestfs_copy_attributes_argv (guestfs_h *g,
                               const char *src,
                               const char *dest,
                               const struct guestfs_copy_attributes_argv *optargs);

Це «варіант з argv» L</guestfs_copy_attributes>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_device_to_device

 int
 guestfs_copy_device_to_device (guestfs_h *g,
                                const char *src,
                                const char *dest,
                                ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COPY_DEVICE_TO_DEVICE_SRCOFFSET, int64_t srcoffset,
 GUESTFS_COPY_DEVICE_TO_DEVICE_DESTOFFSET, int64_t destoffset,
 GUESTFS_COPY_DEVICE_TO_DEVICE_SIZE, int64_t size,
 GUESTFS_COPY_DEVICE_TO_DEVICE_SPARSE, int sparse,
 GUESTFS_COPY_DEVICE_TO_DEVICE_APPEND, int append,

Чотири виклики — C<guestfs_copy_device_to_device>,
C<guestfs_copy_device_to_file>, C<guestfs_copy_file_to_device> та
C<guestfs_copy_file_to_file> — надають вам змогу копіювати дані джерела
(пристрою або файла) до призначення (пристрою або файла).

Можливе створення часткових копій, оскільки ви можете додатково вказати
зміщення у джерелі, зміщення у призначенні і розмір копії. Усі ці значення
слід вказувати у байтах. Якщо значення не вказано, обидва зміщення
вважатимуться нульовими, а розмір копії вважатиметься якомога більшим, аж
доки під час копіювання не буде досягнуто кінця джерела.

Джерело і призначення можуть бути одним і тим самим об'єктом. Втім, області
перекриття може бути скопійовано неправильно.

Якщо призначенням є файл, його буде, якщо потрібно, створено. Якщо файл
призначення є недостатньо великим, його буде розширено.

Якщо призначенням є файл і не встановлено прапорець C<append>, файл
призначення буде обрізано. Якщо встановлено прапорець C<append>, копію буде
дописано до початкового файла призначення. У поточній версії прапорець
C<append> не можна встановлювати для пристроїв.

Якщо значенням прапорця C<sparse> є true, виклик уникатиме запису блоку, які
містять лише нулі, що має допомогти у певних ситуаціях, коли резервний диск
є обмеженим у ресурсах. Зауважте, що якщо призначення ще не занулено,
використання цього параметра призведе до некоректних результатів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.13.25)

=head2 guestfs_copy_device_to_device_va

 int
 guestfs_copy_device_to_device_va (guestfs_h *g,
                                   const char *src,
                                   const char *dest,
                                   va_list args);

Це «варіант з va_list» L</guestfs_copy_device_to_device>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_device_to_device_argv

 int
 guestfs_copy_device_to_device_argv (guestfs_h *g,
                                     const char *src,
                                     const char *dest,
                                     const struct guestfs_copy_device_to_device_argv *optargs);

Це «варіант з argv» L</guestfs_copy_device_to_device>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_device_to_file

 int
 guestfs_copy_device_to_file (guestfs_h *g,
                              const char *src,
                              const char *dest,
                              ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COPY_DEVICE_TO_FILE_SRCOFFSET, int64_t srcoffset,
 GUESTFS_COPY_DEVICE_TO_FILE_DESTOFFSET, int64_t destoffset,
 GUESTFS_COPY_DEVICE_TO_FILE_SIZE, int64_t size,
 GUESTFS_COPY_DEVICE_TO_FILE_SPARSE, int sparse,
 GUESTFS_COPY_DEVICE_TO_FILE_APPEND, int append,

Див. C<guestfs_copy_device_to_device>, щоб ознайомитися із загальним описом
цього виклику.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.13.25)

=head2 guestfs_copy_device_to_file_va

 int
 guestfs_copy_device_to_file_va (guestfs_h *g,
                                 const char *src,
                                 const char *dest,
                                 va_list args);

Це «варіант з va_list» L</guestfs_copy_device_to_file>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_device_to_file_argv

 int
 guestfs_copy_device_to_file_argv (guestfs_h *g,
                                   const char *src,
                                   const char *dest,
                                   const struct guestfs_copy_device_to_file_argv *optargs);

Це «варіант з argv» L</guestfs_copy_device_to_file>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_file_to_device

 int
 guestfs_copy_file_to_device (guestfs_h *g,
                              const char *src,
                              const char *dest,
                              ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COPY_FILE_TO_DEVICE_SRCOFFSET, int64_t srcoffset,
 GUESTFS_COPY_FILE_TO_DEVICE_DESTOFFSET, int64_t destoffset,
 GUESTFS_COPY_FILE_TO_DEVICE_SIZE, int64_t size,
 GUESTFS_COPY_FILE_TO_DEVICE_SPARSE, int sparse,
 GUESTFS_COPY_FILE_TO_DEVICE_APPEND, int append,

Див. C<guestfs_copy_device_to_device>, щоб ознайомитися із загальним описом
цього виклику.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.13.25)

=head2 guestfs_copy_file_to_device_va

 int
 guestfs_copy_file_to_device_va (guestfs_h *g,
                                 const char *src,
                                 const char *dest,
                                 va_list args);

Це «варіант з va_list» L</guestfs_copy_file_to_device>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_file_to_device_argv

 int
 guestfs_copy_file_to_device_argv (guestfs_h *g,
                                   const char *src,
                                   const char *dest,
                                   const struct guestfs_copy_file_to_device_argv *optargs);

Це «варіант з argv» L</guestfs_copy_file_to_device>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_file_to_file

 int
 guestfs_copy_file_to_file (guestfs_h *g,
                            const char *src,
                            const char *dest,
                            ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_COPY_FILE_TO_FILE_SRCOFFSET, int64_t srcoffset,
 GUESTFS_COPY_FILE_TO_FILE_DESTOFFSET, int64_t destoffset,
 GUESTFS_COPY_FILE_TO_FILE_SIZE, int64_t size,
 GUESTFS_COPY_FILE_TO_FILE_SPARSE, int sparse,
 GUESTFS_COPY_FILE_TO_FILE_APPEND, int append,

Див. C<guestfs_copy_device_to_device>, щоб ознайомитися із загальним описом
цього виклику.

Це B<не> функція для копіювання файлів. Цю функцію призначено для копіювання
блоків у наявних файлах. Загальними функціями для копіювання та пересування
файлів є функції C<guestfs_cp>, C<guestfs_cp-a> та C<guestfs_mv>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.13.25)

=head2 guestfs_copy_file_to_file_va

 int
 guestfs_copy_file_to_file_va (guestfs_h *g,
                               const char *src,
                               const char *dest,
                               va_list args);

Це «варіант з va_list» L</guestfs_copy_file_to_file>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_file_to_file_argv

 int
 guestfs_copy_file_to_file_argv (guestfs_h *g,
                                 const char *src,
                                 const char *dest,
                                 const struct guestfs_copy_file_to_file_argv *optargs);

Це «варіант з argv» L</guestfs_copy_file_to_file>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_copy_in

 int
 guestfs_copy_in (guestfs_h *g,
                  const char *localpath,
                  const char *remotedir);

C<guestfs_copy_in> копіює локальні файли або каталоги рекурсивно до образу
диска, розташувавши його у каталозі із назвою C<remotedir> (який має
існувати).

Не можна використовувати символи-замінники.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.29.24)

=head2 guestfs_copy_out

 int
 guestfs_copy_out (guestfs_h *g,
                   const char *remotepath,
                   const char *localdir);

C<guestfs_copy_out> копіює віддалені файли або каталоги рекурсивно з образу
диска, розташовуючи їх на диску основної системи у каталозі із назвою
F</локальний_каталог> (цей каталог має існувати). Ця метакоманда guestfish
перетворюється у послідовність L</download>, L</tar-out> та інших команд,
якщо це потрібно.

Щоб отримати поточний каталог, скористайтеся C<.>, ось так:

 C<guestfs_copy_out> /home .

Не можна використовувати символи-замінники.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.29.24)

=head2 guestfs_copy_size

 int
 guestfs_copy_size (guestfs_h *g,
                    const char *src,
                    const char *dest,
                    int64_t size);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_copy_device_to_device>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда копіює точно C<розмір> байтів з одного пристрою або файла джерела
C<джерело> до іншого пристрою або файла C<призначення>.

Зауважте, що команду не вдасться виконати успішно, якщо джерело є надто
малим або призначення є недостатньо великим.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.87)

=head2 guestfs_cp

 int
 guestfs_cp (guestfs_h *g,
             const char *src,
             const char *dest);

Копіює файл з C<джерело> до C<призначення>, де C<призначення> — або назва
файла призначення або назва каталогу призначення.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_cp_a

 int
 guestfs_cp_a (guestfs_h *g,
               const char *src,
               const char *dest);

Копіює файл або каталог з C<джерела> до C<призначення> рекурсивно з
використанням команди C<cp -a>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_cp_r

 int
 guestfs_cp_r (guestfs_h *g,
               const char *src,
               const char *dest);

Копіює файл або каталог з C<джерела> до C<призначення> рекурсивно з
використанням команди C<cp -rP>.

Більшості користувачів слід використовувати C<guestfs_cp_a> замість цієї
команди. Ця команда корисна, якщо вам не хочеться зберігати права доступу,
оскільки у файловій системі призначення їх не передбачено (в основному при
записів до файлових систем FAT DOS).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.21.38)

=head2 guestfs_cpio_out

 int
 guestfs_cpio_out (guestfs_h *g,
                   const char *directory,
                   const char *cpiofile,
                   ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_CPIO_OUT_FORMAT, const char *format,

Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла
C<файл cpio>.

Передбачено додатковий параметр C<format>, яким можна скористатися для
вибору формату. У поточній версії передбачено підтримку лише таких форматів:

=over 4

=item C<newc>

Новий портативний формат (SVR4). Цей формат вважається сумісним із
cpio-подібним форматом, який використовується ядром Linux для initramfs.

Цей формат є типовим.

=item C<crc>

Новий портативний формат (SVR4) із контрольною сумою.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.27.9)

=head2 guestfs_cpio_out_va

 int
 guestfs_cpio_out_va (guestfs_h *g,
                      const char *directory,
                      const char *cpiofile,
                      va_list args);

Це «варіант з va_list» L</guestfs_cpio_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_cpio_out_argv

 int
 guestfs_cpio_out_argv (guestfs_h *g,
                        const char *directory,
                        const char *cpiofile,
                        const struct guestfs_cpio_out_argv *optargs);

Це «варіант з argv» L</guestfs_cpio_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_cryptsetup_close

 int
 guestfs_cryptsetup_close (guestfs_h *g,
                           const char *device);

This closes an encrypted device that was created earlier by
C<guestfs_cryptsetup_open>.  The C<device> parameter must be the name of the
mapping device (ie. F</dev/mapper/mapname>)  and I<not> the name of the
underlying block device.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Added in 1.43.2)

=head2 guestfs_cryptsetup_open

 int
 guestfs_cryptsetup_open (guestfs_h *g,
                          const char *device,
                          const char *key,
                          const char *mapname,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_CRYPTSETUP_OPEN_READONLY, int readonly,
 GUESTFS_CRYPTSETUP_OPEN_CRYPTTYPE, const char *crypttype,

This command opens a block device which has been encrypted according to the
Linux Unified Key Setup (LUKS) standard, Windows BitLocker, or some other
types.

C<пристрій> — шифрований блоковий пристрій або розділ.

The caller must supply one of the keys associated with the encrypted block
device, in the C<key> parameter.

Ця команда створює блоковий пристрій із назвою
F</dev/mapper/назва_прив'язки>. Читання та запис на цій блоковий пристрій
відбувається із розшифровуванням та шифруванням на підлеглому пристрої
C<пристрій>.

C<mapname> cannot be C<"control"> because that name is reserved by
device-mapper.

If the optional C<crypttype> parameter is not present then libguestfs tries
to guess the correct type (for example LUKS or BitLocker).  However you can
override this by specifying one of the following types:

=over 4

=item C<luks>

A Linux LUKS device.

=item C<bitlk>

A Windows BitLocker device.

=back

The optional C<readonly> flag, if set to true, creates a read-only mapping.

Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх
можна зробити за допомогою виклику L<guestfs_lvm_scan> зі значенням
параметра C<activate> рівним C<true>.

Скористайтеся командою C<guestfs_list_dm_devices>, щоб отримати список усіх
пристроїв засобу прив'язування пристроїв.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Added in 1.43.2)

=head2 guestfs_cryptsetup_open_va

 int
 guestfs_cryptsetup_open_va (guestfs_h *g,
                             const char *device,
                             const char *key,
                             const char *mapname,
                             va_list args);

This is the "va_list variant" of L</guestfs_cryptsetup_open>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_cryptsetup_open_argv

 int
 guestfs_cryptsetup_open_argv (guestfs_h *g,
                               const char *device,
                               const char *key,
                               const char *mapname,
                               const struct guestfs_cryptsetup_open_argv *optargs);

This is the "argv variant" of L</guestfs_cryptsetup_open>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_dd

 int
 guestfs_dd (guestfs_h *g,
             const char *src,
             const char *dest);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_copy_device_to_device>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда копіює з одного пристрою або файла джерела C<джерело> до іншого
пристрою або файла C<призначення>.  Зазвичай, цією командою слід
користуватися для копіювання на пристрій чи розділ з пристрою чи розділу,
наприклад, для дублювання файлової системи.

Якщо призначенням є пристрій, він має бути таким самим або більшим за
розміром за файл або пристрій джерела, інакше копіювання виконати не
вдасться. Ця команда не може виконувати часткове копіювання
(див. C<guestfs_copy_device_to_device>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.80)

=head2 guestfs_device_index

 int
 guestfs_device_index (guestfs_h *g,
                       const char *device);

Ця функція приймає назву пристрою (наприклад, «/dev/sdb») і повертає індекс
пристрою у списку пристроїв.

Нумерація індексів починається з 0. Іменований пристрій має існувати,
наприклад, як рядок, повернутий з C<guestfs_list_devices>.

Див. також C<guestfs_list_devices>, C<guestfs_part_to_dev>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.19.7)

=head2 guestfs_df

 char *
 guestfs_df (guestfs_h *g);

This command runs the L<df(1)> command to report disk space used.

Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не>
призначено для випадків, коли ви намагаєтеся обробити виведений командою
рядок. Скористайтеся командою C<guestfs_statvfs>, якщо віддаєте команди з
інших програм.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.54)

=head2 guestfs_df_h

 char *
 guestfs_df_h (guestfs_h *g);

Ця команда запускає програму C<df -h> для отримання даних щодо використаного
місця на диску у зручному для читання форматі.

Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не>
призначено для випадків, коли ви намагаєтеся обробити виведений командою
рядок. Скористайтеся командою C<guestfs_statvfs>, якщо віддаєте команди з
інших програм.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.54)

=head2 guestfs_disk_create

 int
 guestfs_disk_create (guestfs_h *g,
                      const char *filename,
                      const char *format,
                      int64_t size,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_DISK_CREATE_BACKINGFILE, const char *backingfile,
 GUESTFS_DISK_CREATE_BACKINGFORMAT, const char *backingformat,
 GUESTFS_DISK_CREATE_PREALLOCATION, const char *preallocation,
 GUESTFS_DISK_CREATE_COMPAT, const char *compat,
 GUESTFS_DISK_CREATE_CLUSTERSIZE, int clustersize,

Створити порожній образ диска із назвою F<назва_файла> (файл основної
системи) із форматом C<формат> (зазвичай, C<raw> або C<qcow2>). Розмір
визначається параметром C<розмір> у байтах.

Якщо команда використовується із необов'язковим параметром C<backingfile>,
знімок створюється на основі файла резервної копії. У цьому випадку
C<розмір> має бути передано як C<-1>. Розмір знімка є таким самим, як і
розмір файла резервної копії, який визначається автоматично. Вам також варто
передати C<backingformat> для опису формату C<backingfile>.

Якщо F<назва_файла> відповідає блоковому пристрою, пристрій буде
форматовано. Параметр C<розмір> ігнорується, оскільки блокові пристрої мають
незмінний встановлений розмір.

Іншими необов’язковими параметрами є:

=over 4

=item C<preallocation>

Якщо форматом є C<raw>, цей параметр може мати значення C<off> (або
C<sparse>) або C<full> для створення розрідженого або повністю розподіленого
файла, відповідно. Типовим є значення C<off>.

Якщо форматом є C<qcow2>, цей параметр може мати значення C<off> (або
C<sparse>), C<metadata> або C<full>. Попереднє отримання місця під метадані
є швидшим, коли виконується багато записів, але використовує більше
місця. Типовим є значення C<off>.

=item C<compat>

Лише C<qcow2>: передайте рядок C<1.1>, щоб скористатися розширеним форматом
qcow2, підтримку якого передбачено у qemu E<ge> 1.1.

=item C<clustersize>

Лише C<qcow2>: змінити розмір кластера qcow2. Типовим є 65536
(байтів). Встановлювати можна будь-яке значення, яке є степенем двійки від
512 до 2097152.

=back

Зауважте, що цей виклик не додає новий диск до дескриптора. Вам доведеться
викликати C<guestfs_add_drive_opts> окремо.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.25.31)

=head2 guestfs_disk_create_va

 int
 guestfs_disk_create_va (guestfs_h *g,
                         const char *filename,
                         const char *format,
                         int64_t size,
                         va_list args);

Це «варіант з va_list» L</guestfs_disk_create>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_disk_create_argv

 int
 guestfs_disk_create_argv (guestfs_h *g,
                           const char *filename,
                           const char *format,
                           int64_t size,
                           const struct guestfs_disk_create_argv *optargs);

Це «варіант з argv» L</guestfs_disk_create>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_disk_format

 char *
 guestfs_disk_format (guestfs_h *g,
                      const char *filename);

Визначити і повернути формат образу диска із назвою
F<назва_файла>. Значенням F<назва_файла> може бути також пристрій основної
системи. Якщо формат образу диска визначити не вдасться, буде повернуто
рядок C<"unknown">.

Зауважте, що визначення формату диска може бути небезпечною дією за певних
обставин. Див. L<guestfs(3)/CVE-2010-3851>.

Див. також: L<guestfs(3)/ФОРМАТИ ОБРАЗІВ ДИСКІВ>

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.38)

=head2 guestfs_disk_has_backing_file

 int
 guestfs_disk_has_backing_file (guestfs_h *g,
                                const char *filename);

Визначає і повідомляє, чи є у образу диска F<назва_файла> файл резервної
копії.

Зауважте, що визначення можливостей диска може, за певних обставин,
зашкодити захисту системи. Див. L<guestfs(3)/CVE-2010-3851>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.19.39)

=head2 guestfs_disk_virtual_size

 int64_t
 guestfs_disk_virtual_size (guestfs_h *g,
                            const char *filename);

Визначає і повідомляє віртуальний розмір у байтах образу диска із назвою
F<назва_файла>.

Зауважте, що визначення можливостей диска може, за певних обставин,
зашкодити захисту системи. Див. L<guestfs(3)/CVE-2010-3851>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.19.39)

=head2 guestfs_dmesg

 char *
 guestfs_dmesg (guestfs_h *g);

This returns the kernel messages (L<dmesg(1)> output) from the guest
kernel.  This is sometimes useful for extended debugging of problems.

Іншим способом отримання тих самих даних є вмикання докладних повідомлень за
допомогою C<guestfs_set_verbose> або встановленням змінної середовища
C<LIBGUESTFS_DEBUG=1> перед запуском програми.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.18)

=head2 guestfs_download

 int
 guestfs_download (guestfs_h *g,
                   const char *remotefilename,
                   const char *filename);

Отримати файл F<назва_віддаленого_файла> і зберегти його як F<назва_файла>
на локальній машині.

Значенням параметра F<назва_файла> також може бути іменований канал обробки
даних.

Див. також C<guestfs_upload>, C<guestfs_cat>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.2)

=head2 guestfs_download_blocks

 int
 guestfs_download_blocks (guestfs_h *g,
                          const char *device,
                          int64_t start,
                          int64_t stop,
                          const char *filename,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_DOWNLOAD_BLOCKS_UNALLOCATED, int unallocated,

Отримати модулі даних з адреси F<початок> до адреси F<кінець> з розділу
диска (наприклад F</dev/sda1>) і зберегти їх до файла F<назва_файла> у
локальній машині.

Використання цього програмного інтерфейсу на форматах образів розріджених
дисків, зокрема QCOW може призвести до великих заповнених нулями файлів,
отриманих до основної системи.

Розмір модуля даних залежить від реалізації файлової системи. На файлових
системах NTFS модулі даних називаються кластерами, а у ExtX вони називаються
фрагментами.

Якщо для необов'язкового прапорця C<unallocated> встановлено значення true
(типовим значенням є false), буде видобуто лише нерозміщені блоки. Це
корисно для виявлення прихованих даних або отримання вилучених файлів,
модулі даних яких ще не перезаписано.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<sleuthkit>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.45)

=head2 guestfs_download_blocks_va

 int
 guestfs_download_blocks_va (guestfs_h *g,
                             const char *device,
                             int64_t start,
                             int64_t stop,
                             const char *filename,
                             va_list args);

Це «варіант з va_list» L</guestfs_download_blocks>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_download_blocks_argv

 int
 guestfs_download_blocks_argv (guestfs_h *g,
                               const char *device,
                               int64_t start,
                               int64_t stop,
                               const char *filename,
                               const struct guestfs_download_blocks_argv *optargs);

Це «варіант з argv» L</guestfs_download_blocks>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_download_inode

 int
 guestfs_download_inode (guestfs_h *g,
                         const char *device,
                         int64_t inode,
                         const char *filename);

Отримати файл, заданий за допомогою inode, з розділу диска (наприклад
F</dev/sda1>) і зберегти його із назвою F<назва_файла> у локальній системі.

Для виконання цієї команди диск не обов'язково має бути змонтовано.

Команда здатна отримувати вилучені файли та файли недоступні системі.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<sleuthkit>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.14)

=head2 guestfs_download_offset

 int
 guestfs_download_offset (guestfs_h *g,
                          const char *remotefilename,
                          const char *filename,
                          int64_t offset,
                          int64_t size);

Отримати файл F<назва_віддаленого_файла> і зберегти його як F<назва_файла>
на локальній машині.

Читання відбувається з файла F<назва_віддаленого_файла>, розмір визначається
параметром C<розмір>, читання розпочинається з позиції C<відступ> (вказана
область має перебувати у межах файла або пристрою).

Зауважте, що немає обмеження на обсяг даних, які може бути отримано за
допомогою цього виклику, на відміну від команди C<guestfs_pread>, і цей
виклик завжди читає дані до кінця, якщо не станеться помилки.

Див. також C<guestfs_download>, C<guestfs_pread>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.5.17)

=head2 guestfs_drop_caches

 int
 guestfs_drop_caches (guestfs_h *g,
                      int whattodrop);

This instructs the guest kernel to drop its page cache, and/or dentries and
inode caches.  The parameter C<whattodrop> tells the kernel what precisely
to drop, see L<https://linux-mm.org/Drop_Caches>

Встановлення для C<що_скидати> значення 3 призведе до скидання усього.

Це автоматично викликає L<sync(2)> перед операцією, отже вивільняє
максимальний обсяг пам'яті гостьової системи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_du

 int64_t
 guestfs_du (guestfs_h *g,
             const char *path);

Ця команда викликає команду C<du -s> для оцінки використання місця на диску
для шляху C<шлях>.

C<шлях> може бути адресою файла або каталогу. Якщо C<шлях> є каталогом,
оцінка включатиме дані для самого каталогу та усіх його підкаталогів
(рекурсивно).

Результатом є оцінка розміру у I<кілобайтах> (тобто у одиницях, які
відповідають 1024 байтам).

У разі помилки цією функцією буде повернуто -1.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.54)

=head2 guestfs_e2fsck

 int
 guestfs_e2fsck (guestfs_h *g,
                 const char *device,
                 ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_E2FSCK_CORRECT, int correct,
 GUESTFS_E2FSCK_FORCEALL, int forceall,

Ця команда виконує перевірку файлової системи ext2/ext3 на пристрої
C<пристрій>. Вона може приймати такі необов'язкові аргументи:

=over 4

=item C<correct>

Автоматично виправляти файлову систему. Використання цього параметра
призведе до того, що e2fsck автоматично виправлятиме усі проблеми файлової
системи, які може бути безпечно виправлено без втручання людини.

Цей параметр не можна використовувати одночасно із параметром C<forceall>.

=item C<forceall>

Припускати відповідь «так» на усі питання; уможливлює неінтерактивне
використання e2fsck.

Цей параметр не можна використовувати одночасно із параметром C<correct>.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.15.17)

=head2 guestfs_e2fsck_va

 int
 guestfs_e2fsck_va (guestfs_h *g,
                    const char *device,
                    va_list args);

Це «варіант з va_list» L</guestfs_e2fsck>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_e2fsck_argv

 int
 guestfs_e2fsck_argv (guestfs_h *g,
                      const char *device,
                      const struct guestfs_e2fsck_argv *optargs);

Це «варіант з argv» L</guestfs_e2fsck>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_e2fsck_f

 int
 guestfs_e2fsck_f (guestfs_h *g,
                   const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_e2fsck>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда виконує команду C<e2fsck -p -f пристрій>, тобто запускає засіб
перевірки файлової системи ext2/ext3 для пристрою C<пристрій> у
неінтерактивному режимі (I<-p>), навіть якщо файлову систему позначено як
безпомилкову (I<-f>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.29)

=head2 guestfs_echo_daemon

 char *
 guestfs_echo_daemon (guestfs_h *g,
                      char *const *words);

Ця команда з'єднує список слів C<слова>, у якому окремі слова розділено
пробілами, і повертає рядок-результат.

Ви можете скористатися цією командою для перевірки з'єднання із фоновою
службою.

Див. також C<guestfs_ping_daemon>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.69)

=head2 guestfs_egrep

 char **
 guestfs_egrep (guestfs_h *g,
                const char *regex,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

This calls the external L<egrep(1)> program and returns the matching lines.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_egrepi

 char **
 guestfs_egrepi (guestfs_h *g,
                 const char *regex,
                 const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Викликає зовнішню програму C<egrep -i> і повертає рядки-відповідники.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_equal

 int
 guestfs_equal (guestfs_h *g,
                const char *file1,
                const char *file2);

Порівнює два файли, F<файл1> і F<файл2> і повертає true, якщо їхній вміст
повністю ідентичний; якщо це не так, повертає false.

Для порівнювання використовується зовнішня програма L<cmp(1)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_exists

 int
 guestfs_exists (guestfs_h *g,
                 const char *path);

Ця команда повертає C<true> тоді і лише тоді, коли існує файл, каталог (або
будь-який інший об'єкт файлової системи) із вказаною назвою C<шлях>.

Див. також C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_extlinux

 int
 guestfs_extlinux (guestfs_h *g,
                   const char *directory);

Встановлює завантажувач SYSLINUX на пристрій, змонтований до каталогу
F<directory>. На відміну від команди C<guestfs_syslinux>, якій потрібна
файлова система FAT, ця команда може бути використана для файлових систем
ext2/3/4 та btrfs.

Параметр F<каталог> може бути точкою монтування або каталогом у точці
монтування.

Крім того, вам слід позначити розділ як «активний»
(C<guestfs_part_set_bootable>), і на першому секторі усього диска має бути
встановлено MBR (наприклад, за допомогою C<guestfs_pwrite_device>). До
складу пакунка SYSLINUX включено деякі з відповідних MBR. Щоб дізнатися
більше, див. сторінку підручника L<extlinux(1)>.

Додатково налаштувати SYSLINUX можна за допомогою файла із назвою
F<extlinux.conf> у каталозі файлової системи F<каталог>. Докладніше про це
та вміст файла можна дізнатися зі сторінки підручника L<extlinux(1)>.

Див. також C<guestfs_syslinux>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<extlinux>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.27)

=head2 guestfs_f2fs_expand

 int
 guestfs_f2fs_expand (guestfs_h *g,
                      const char *device);

Розгортає файлову систему f2fs, щоб її розмір збігався із розміром базового
пристрою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<f2fs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.39.3)

=head2 guestfs_fallocate

 int
 guestfs_fallocate (guestfs_h *g,
                    const char *path,
                    int len);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_fallocate64>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда отримує місце для файла (заповнене нульовими байтами) із назвою
C<шлях> і розміром C<довжина> байтів. Якщо файл вже існує, його буде
перезаписано.

Не слід плутати цю команду із специфічною для guestfish командою C<alloc>,
яка отримує місце для файла у основній системі і долучає його як пристрій.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_fallocate64

 int
 guestfs_fallocate64 (guestfs_h *g,
                      const char *path,
                      int64_t len);

Ця команда отримує місце для файла (заповнене нульовими байтами) із назвою
C<шлях> і розміром C<довжина> байтів. Якщо файл вже існує, його буде
перезаписано.

Зауважте, що ця команда отримує блоки на диску для файла. Щоб створити
розріджений файл, скористайтеся C<guestfs_truncate_size>.

Застаріла команда C<guestfs_fallocate> виконує те саме завдання, але через
недогляд функція надає змогу використовувати лише 30-бітові довжини, що
обмежує максимальний можливий розмір створених за допомогою цієї команди
файлів 1 ГБ.

Не слід плутати цю команду із специфічними для guestfish командами C<alloc>
та C<sparse>, які створюють файл у основній системі і долучають його як
пристрій.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.17)

=head2 guestfs_feature_available

 int
 guestfs_feature_available (guestfs_h *g,
                            char *const *groups);

Те саме, що і C<guestfs_available>, але повертає простий результат у булевій
формі true або false замість виклику виключення, якщо можливості не буде
виявлено. Із іншими аспектами документації можна ознайомитися у розділі
C<guestfs_available>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.21.26)

=head2 guestfs_fgrep

 char **
 guestfs_fgrep (guestfs_h *g,
                const char *pattern,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

This calls the external L<fgrep(1)> program and returns the matching lines.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_fgrepi

 char **
 guestfs_fgrepi (guestfs_h *g,
                 const char *pattern,
                 const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Викликає зовнішню програму C<fgrep -i> і повертає рядки-відповідники.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_file

 char *
 guestfs_file (guestfs_h *g,
               const char *path);

Для визначення типу або вмісту файла використовується стандартна програма
L<file(1)>.

Цей виклик також прозоро обробляє різні типи стиснутих файлів.

Команда, яку буде виконано, — це C<file -zb шлях>. Зокрема, слід зауважити,
що до виведених даних не буде додано назву файла (параметр I<-b>).

Виведені дані залежать від того, що виведе підлегла команда L<file(1)>, їх
може бути змінено у майбутньому у спосіб, який залишається поза нашим
контролем. Іншими словами, ABI щодо виведених даних не гарантовано.

Див. також: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>,
C<guestfs_is_file>, C<guestfs_is_blockdev> (тощо), C<guestfs_is_zero>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.9.1)

=head2 guestfs_file_architecture

 char *
 guestfs_file_architecture (guestfs_h *g,
                            const char *filename);

Визначає архітектуру виконуваного файла F<назва_файла> і повертає її
значення, якщо воно визначене у програмі.

Архітектурами, визначеними у поточній версії є:

=over 4

=item "aarch64"

64-бітовий ARM.

=item "arm"

32-бітовий ARM.

=item "i386"

Цей рядок буде повернуто для всіх виконуваних файлів для 32-бітових
процесорів i386, i486, i586, i686, незалежно від точного значення версії
процесора, визначеного для виконуваного файла.

=item "ia64"

Intel Itanium.

=item "ppc"

32-бітовий Power PC.

=item "ppc64"

64-бітовий Power PC (зворотний порядок байтів).

=item "ppc64le"

64-бітовий Power PC (прямий порядок байтів).

=item "riscv32"

=item "riscv64"

=item "riscv128"

32-, 64- і 128- бітові різновиди RISC-V.

=item "s390"

31-бітовий IBM S/390.

=item "s390x"

64-бітовий IBM S/390.

=item "sparc"

32-бітовий SPARC.

=item "sparc64"

64-бітовий SPARC V9 або новіша версія.

=item "x86_64"

64-бітовий x86-64.

=back

У майбутніх версіях Libguestfs може повертати і інші рядки назв архітектур.

Функція працює принаймні для таких типів файлів:

=over 4

=item *

багатьох типів виконуваних файлів Un*x та Linux

=item *

багатьох типів бібліотек спільного використання Un*x та Linux

=item *

виконуваних файлів Windows Win32 та Win64

=item *

DLL Windows Win32 і Win64

виконувані файли та DLL Win32 повертають C<i386>.

виконувані файли та DLL Win64 повертають C<x86_64>.

=item *

модулів ядра Linux

=item *

образів нового стилю initrd Linux

=item *

деяких ядер vmlinuz Linux для архітектур, відмінних від x86

=back

Що не можна зробити у поточній версії:

=over 4

=item *

статичні бібліотеки (libfoo.a)

=item *

initrd Linux у старому стилі, зі стиснутою файловою системою ext2 (RHEL 3)

=item *

ядра vmlinuz Linux x86

Образи vmlinuz архітектури x86 (формат bzImage) складаються із суміші
16-бітового, 32-бітового і стисненого коду. Їх дуже важко
розпаковувати. Якщо ви хочете визначити архітектуру ядра, скористайтеся
архітектурою пов'язаного initrd або модулів ядра.

=back

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_filesize

 int64_t
 guestfs_filesize (guestfs_h *g,
                   const char *file);

Ця команда повертає розмір файла F<файл> у байтах.

Щоб отримати інші статистичні дані щодо файла, скористайтеся
C<guestfs_stat>, C<guestfs_lstat>, C<guestfs_is_dir>, C<guestfs_is_file>
тощо. Щоб отримати розміри блокових пристроїв, скористайтеся
C<guestfs_blockdev_getsize64>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.82)

=head2 guestfs_filesystem_available

 int
 guestfs_filesystem_available (guestfs_h *g,
                               const char *filesystem);

Перевірити, чи передбачено у libguestfs підтримку вказаної за назвою
файлової системи. Аргумент C<файлова_система> є назвою файлової системи,
наприклад, C<ext3>.

Перед використанням цієї команди вам слід викликати C<guestfs_launch>.

Головним чином корисне для перевірки того, що підтримки не передбачено. Те,
що команда повертає true, ще не означає, що певну файлову систему може бути
створено чи змонтовано, оскільки помилки можуть траплятися через інші
причини, зокрема невідповідність версії файлової системи, несумісність
можливостей або недоступність належного засобу
mkfs.E<lt>I<файлова_система>E<gt>.

Див. також C<guestfs_available>, C<guestfs_feature_available>,
L<guestfs(3)/AVAILABILITY>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.19.5)

=head2 guestfs_filesystem_walk

 struct guestfs_tsk_dirent_list *
 guestfs_filesystem_walk (guestfs_h *g,
                          const char *device);

Пройтися внутрішньою структурою розділу диска (наприклад F</dev/sda1>) з
метою визначення і повернення списку усіх файлів та каталогів, які на ньому
зберігаються.

Для виконання цієї команди монтування розділу диска не є обов'язковим.

Буде повернуто усі записи у файловій системі. Ця функція може виводити
список вилучених або недоступних файлів. Записи I<не> упорядковуються.

Структура C<tsk_dirent> містить вказані нижче поля.

=over 4

=item C<tsk_inode>

Номер вузла у файловій системі. Може дорівнювати C<0>, якщо вузол було
вилучено.

=item C<tsk_type>

Базові дані щодо типу файлів. Докладний список значень наведено нижче.

=item C<tsk_size>

Розмір файла у байтах. Може мати значення C<-1>, якщо вузол файла було
вилучено.

=item C<tsk_name>

Шлях до файла відносно його каталогу.

=item C<tsk_flags>

Бітове поле, яке містить додаткові дані щодо запису. Є результатом
застосування логічного АБО до таких значень:

=over 4

=item 0x0001

Якщо встановлено значення C<1>, файл розміщено у файловій системі, і файл є
видимим. Якщо ні, файл було вилучено. За певних обставин функцією
C<download_inode> можна скористатися для відновлення вилучених файлів.

=item 0x0002

У деяких файлових системах, зокрема NTFS та Ext2 і новіших, назву файла
відокремлено від структури метаданих. Цей біт встановлюється у значення
C<1>, якщо назва файла перебуває у нерозміщеному стані, а структура даних —
у розміщеному. Це, загалом кажучи, неявно вказує на те, що метадані було
повторно використано для нового файла. Тому дані щодо типу файла, розміру
файла, часових позначок, кількості посилань та призначення символічного
посилання можуть не відповідати даним початкового вилученого запису.

=item 0x0004

Цей біт встановлюється у значення C<1>, якщо файл було стиснуто з
використанням вбудованої підтримки стискання у файловій системі
(NTFS). Програмний інтерфейс не може визначити застосований рівень
стискання.

=back

=item C<tsk_atime_sec>

=item C<tsk_atime_nsec>

=item C<tsk_mtime_sec>

=item C<tsk_mtime_nsec>

=item C<tsk_ctime_sec>

=item C<tsk_ctime_nsec>

=item C<tsk_crtime_sec>

=item C<tsk_crtime_nsec>

Час доступу, внесення змін, останньої зміни стану та часу створення,
відповідно, у форматі Unix, визначений у секундах і наносекундах.

=item C<tsk_nlink>

Кількість назв файлів, які вказують на цей запис.

=item C<tsk_link>

Якщо записом є символічне посилання, у цьому полі міститиметься шлях до
файла призначення.

=back

Поле C<tsk_type> міститиме один із таких символів:

=over 4

=item 'b'

Блоковий особливий

=item 'c'

Символьний особливий

=item 'd'

Каталог

=item 'f'

FIFO (іменований канал)

=item 'l'

Символічне посилання

=item 'r'

Звичайний файл

=item 's'

Сокет

=item 'h'

Тіньовий inode (Solaris)

=item 'w'

Витерти inode (BSD)

=item 'u'

Невідомий тип файла

=back

Ця функція повертає C<struct guestfs_tsk_dirent_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_tsk_dirent_list>>.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<libtsk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.39)

=head2 guestfs_fill

 int
 guestfs_fill (guestfs_h *g,
               int c,
               int len,
               const char *path);

Ця команда створює новий файл із назвою C<шлях>. Спочатку файл буде
заповнено вісімковими значеннями до довжини C<кількість>. Вісімкове значення
задається параметром C<c>, де C<c> має бути числом у діапазоні C<[0..255]>.

Для заповнення файла нульовими байтами (розріджено) набагато ефективнішим є
використання C<guestfs_truncate_size>. Для створення файла, заповненого
повторюваними вказаними послідовностями байтів, скористайтеся командою
C<guestfs_fill_pattern>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.79)

=head2 guestfs_fill_dir

 int
 guestfs_fill_dir (guestfs_h *g,
                   const char *dir,
                   int nr);

Ця корисна для тестування файлових систем функція створює C<число> порожніх
файлів у каталозі C<каталог> із назвами від C<00000000> до C<число-1> (тобто
кожна назва файла складається з 8 цифр, які доповнено нулями).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.32)

=head2 guestfs_fill_pattern

 int
 guestfs_fill_pattern (guestfs_h *g,
                       const char *pattern,
                       int len,
                       const char *path);

Ця функція подібна до C<guestfs_fill>, але створює файл довжини C<len>,
заповнений повторюваними наборами байтів C<pattern>. Якщо потрібно, взірець
буде обрізано так, щоб довжина файла складала точно C<len> байтів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.3.12)

=head2 guestfs_find

 char **
 guestfs_find (guestfs_h *g,
               const char *directory);

Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з
каталогу F<каталог>. В основному, еквівалентна команді оболонки C<find
каталог -print>, але виведені дані буде дещо оброблено. Опис обробки
наведено нижче.

Ця команда повертає список рядків I<без будь-якого префікса>. Отже, якщо
структура каталогів є такою:

 /tmp/a
 /tmp/b
 /tmp/c/d

повернутий C<guestfs_find> F</tmp> список складатиметься з 4 елементів:

 a
 b
 c
 c/d

Якщо F<каталог> не є каталогом, ця команда повертає помилку.

Список результатів буде впорядковано.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.27)

=head2 guestfs_find0

 int
 guestfs_find0 (guestfs_h *g,
                const char *directory,
                const char *files);

Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з
каталогу F<каталог>, записуючи отриманий список до зовнішнього файла із
назвою F<файли>.

Ця команда працює так само, якC<guestfs_find>, за такими виключеннями:

=over 4

=item *

Список результат записується до зовнішнього файла.

=item *

Записи (назви файлів) у результаті буде відокремлено символами
C<\0>. Див. параметр L<find(1)> I<-print0>.

=item *

Список результатів не буде впорядковано.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.74)

=head2 guestfs_find_inode

 struct guestfs_tsk_dirent_list *
 guestfs_find_inode (guestfs_h *g,
                     const char *device,
                     int64_t inode);

Шукає усі записи, пов'язані із заданим inode.

Для кожного запису буде повернуто структуру
C<tsk_dirent>. Див. C<filesystem_walk>, щоб дізнатися більше про структури
C<tsk_dirent>.

Ця функція повертає C<struct guestfs_tsk_dirent_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_tsk_dirent_list>>.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<libtsk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.35.6)

=head2 guestfs_findfs_label

 char *
 guestfs_findfs_label (guestfs_h *g,
                       const char *label);

Ця команда виконує пошук у файлових системах і повертає ту з них, яка має
вказану мітку. Якщо таких систем не буде знайдено, буде повернуто
повідомлення про помилку.

Щоб визначити мітку файлової системи, скористайтеся C<guestfs_vfs_label>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_findfs_uuid

 char *
 guestfs_findfs_uuid (guestfs_h *g,
                      const char *uuid);

Ця команда виконує пошук у файлових системах і повертає ту з них, яка має
вказаний UUID. Якщо таких систем не буде знайдено, буде повернуто
повідомлення про помилку.

Щоб визначити UUID файлової системи, скористайтеся C<guestfs_vfs_uuid>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_fsck

 int
 guestfs_fsck (guestfs_h *g,
               const char *fstype,
               const char *device);

Виконує перевірку файлової системи (fsck) на пристрої C<пристрій>, де дані
зберігаються у файловій системі типу C<тип_файлової_системи>.

Повернуте ціле число є станом. Зі списком кодів стану C<fsck> можна
ознайомитися у документації до L<fsck(8)>.

Нотатки:

=over 4

=item *

Якщо кодів стану декілька, виводиться їхня сума.

=item *

Ненульовий повернутий код може означати «успіх», наприклад, якщо помилки у
файловій системі було виправлено.

=item *

Підтримки перевірки або відновлення томів NTFS не передбачено (у
linux-ntfs).

=back

Ця команда повністю еквівалентна запуску C<fsck -a -t тип_файлової_системи
пристрій>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.16)

=head2 guestfs_fstrim

 int
 guestfs_fstrim (guestfs_h *g,
                 const char *mountpoint,
                 ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_FSTRIM_OFFSET, int64_t offset,
 GUESTFS_FSTRIM_LENGTH, int64_t length,
 GUESTFS_FSTRIM_MINIMUMFREEEXTENT, int64_t minimumfreeextent,

Обрізати вільне місце на файловій системі, змонтованій до точки монтування
C<точка_монтування>. Файлову систему має бути змонтовано для читання і
запису.

Вміст файлової системи змінено не буде, але усе вільне місце на ній буде
«обрізано», тобто, якщо розглядати пристрій основної системи, повернуто до
пристрою, що зробить образ диска розрідженішим і уможливить повторне
використання невикористаного простору у файлах qcow2 тощо.

Ця операція потребує підтримки у libguestfs, змонтованій файловій системі,
файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї
підтримки немає, операція призведе до помилки або навіть виконуватиметься.

Якщо у драйвері віртуальної файлової системи ядра не передбачено обрізання,
цей виклик завершиться повідомленням про помилку із номером помилки
C<ENOTSUP>. У поточній версії таке трапляється під час спроб обрізання
файлових систем FAT.

Див. також C<guestfs_zero_free_space>. Це дещо інша операція, яка занулює
вільне місце у файловій системі. Ви можете викликати C<guestfs_fstrim>
замість команди або після команди C<guestfs_zero_free_space>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<fstrim>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.6)

=head2 guestfs_fstrim_va

 int
 guestfs_fstrim_va (guestfs_h *g,
                    const char *mountpoint,
                    va_list args);

Це «варіант з va_list» L</guestfs_fstrim>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_fstrim_argv

 int
 guestfs_fstrim_argv (guestfs_h *g,
                      const char *mountpoint,
                      const struct guestfs_fstrim_argv *optargs);

Це «варіант з argv» L</guestfs_fstrim>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_get_append

 const char *
 guestfs_get_append (guestfs_h *g);

Повертає додаткові параметри ядра, які було додано до командного рядка ядра
базової системи libguestfs.

Якщо повернуто C<NULL>, до командного рядка не додавалося параметрів.

Ця функція повертає рядок, який може бути порожнім (NULL). Способу
повернення повідомлення про помилку цією функцією не передбачено. Рядок
належить дескриптору гостьової системи, його I<не слід> звільняти.

(Додано у 1.0.26)

=head2 guestfs_get_attach_method

 char *
 guestfs_get_attach_method (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_get_backend>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає назву поточного модуля.

Див. C<guestfs_set_backend> і L<guestfs(3)/МОДУЛЬ>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.9.8)

=head2 guestfs_get_autosync

 int
 guestfs_get_autosync (guestfs_h *g);

Отримати значення прапорця автоматичної синхронізації.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_get_backend

 char *
 guestfs_get_backend (guestfs_h *g);

Повертає назву поточного модуля.

Ця властивість дескриптора раніше називалася «метод долучення».

Див. C<guestfs_set_backend> і L<guestfs(3)/МОДУЛЬ>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.21.26)

=head2 guestfs_get_backend_setting

 char *
 guestfs_get_backend_setting (guestfs_h *g,
                              const char *name);

Знайти рядок параметрів модуля обробки, який або дорівнює C<"назва">, або
починається із запису C<"назва=">. Якщо знайдено рядок C<"назва">, буде
повернуто рядок C<"1">. Якщо знайдено рядок C<"назва=">, буде повернуто
частину рядка після знаку рівності (може бути повернуто порожній рядок).

Якщо відповідного параметра не знайдено, ця функція повертає повідомлення
про помилку. У такому випадку для номера помилки
(див. C<guestfs_last_errno>) буде встановлено значення C<ESRCH>.

Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.27.2)

=head2 guestfs_get_backend_settings

 char **
 guestfs_get_backend_settings (guestfs_h *g);

Повертає поточні параметри модуля.

Цей виклик повертає рядки параметрів усіх модулів. Якщо вам потрібен лише
якийсь окремий параметр модуля, скористайтеся
C<guestfs_get_backend_setting>.

Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.25.24)

=head2 guestfs_get_cachedir

 char *
 guestfs_get_cachedir (guestfs_h *g);

Отримати назву каталогу, який використовується дескриптором для зберігання
кешу базової системи.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.58)

=head2 guestfs_get_direct

 int
 guestfs_get_direct (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_internal_get_console_socket>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає значення прапорця безпосередньої роботи із базовою системою.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.72)

=head2 guestfs_get_e2attrs

 char *
 guestfs_get_e2attrs (guestfs_h *g,
                      const char *file);

Ця команда повертає атрибути файла, пов'язані із назвою F<файл>.

Атрибути є пов'язаним зі кожним записом inode набором бітів, який впливає на
поведінку файла. Атрибути повертаються як рядок літер (описано нижче). Рядок
може бути порожнім, що означає, що ніяких атрибутів для файла не
встановлено.

Ці атрибути є, лише якщо файл зберігається у файловій системі
ext2/3/4. Використання цієї команди для інших типів файлових систем призведе
до помилки.

У поточній версії передбачено такі повернуті символи (атрибути файла):

=over 4

=item 'A'

Під час доступу до файла його atime не змінюється.

=item 'a'

До файла можна лише дописувати дані.

=item 'c'

Файл стиснено на диску.

=item 'D'

(Лише для каталогів.) Зміни до цього каталогу синхронно записуються на диск.

=item 'd'

Файл не є кандидатом на резервне копіювання (див. L<dump(8)>).

=item 'E'

Файл стиснуто з помилками.

=item 'e'

Файл використовує розширення.

=item 'h'

Файл зберігає свої блоки у одиницях розміру блоків файлової системи замість
секторів.

=item 'I'

(Лише каталоги.) У каталозі використовуються хешовані дерева ієрархії.

=item 'i'

Цей файл є незмінним. До нього не можна вносити зміни, його не можна
вилучати або перейменовувати. На цей файл не можна створювати посилання.

=item 'j'

Файл входить до журналу даних.

=item 's'

Після вилучення файла усі його блоки буде перезаписано нулями.

=item 'S'

Зміни до цього файла синхронно записуються на диск.

=item 'T'

(Лише каталоги.) Це підказка засобу розміщення у блоках щодо того, що
підкаталоги, які містяться у цьому каталозі слід розподілити між
блоками. Якщо немає, засіб розподілу за блоками спробує згрупувати
підкаталоги.

=item 't'

Для файлів вимикає об'єднання «хвостів». (Не використовується у основних
реалізаціях ext2.)

=item 'u'

Коли файл вилучається, його блоки буде збережено, уможливлюючи відновлення
вилученого файла.

=item 'X'

Можна отримувати доступ до необробленого вмісту стисненого файла.

=item 'Z'

Для стисненого файла встановлено прапорець незавершеної зміни.

=back

У майбутніх версіях може бути додано інші атрибути файлів. Тип
встановлюваних атрибутів залежить від типу файла. Докладний опис можна
знайти на сторінці підручника щодо L<chattr(1)>.

Див. також C<guestfs_set_e2attrs>.

Don't confuse these attributes with extended attributes (see
C<guestfs_getxattr>).

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.17.31)

=head2 guestfs_get_e2generation

 int64_t
 guestfs_get_e2generation (guestfs_h *g,
                           const char *file);

Повертає генерацію файла ext2 для файла. Генерація (яку зазвичай називають
«версією») є числом, пов'язаним із inode. Найпоширенішою областю
використання є сервери NFS.

Генерація є характерною особливістю файлової системи ext2/3/4. Використання
цієї команди для інших типів файлових систем призведе до помилки.

Див. C<guestfs_set_e2generation>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.17.31)

=head2 guestfs_get_e2label

 char *
 guestfs_get_e2label (guestfs_h *g,
                      const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_vfs_label>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда повертає мітку файлової системи ext2/3/4 для файлової системи на
пристрої C<пристрій>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.15)

=head2 guestfs_get_e2uuid

 char *
 guestfs_get_e2uuid (guestfs_h *g,
                     const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_vfs_uuid>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда повертає UUID файлової системи ext2/3/4 для файлової системи на
пристрої C<пристрій>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.15)

=head2 guestfs_get_hv

 char *
 guestfs_get_hv (guestfs_h *g);

Повертає назву виконуваного файла поточного гіпервізору.

Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда
поверне типову назву виконуваного файла qemu.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.23.17)

=head2 guestfs_get_identifier

 const char *
 guestfs_get_identifier (guestfs_h *g);

Отримати ідентифікатор дескриптора. Див. C<guestfs_set_identifier>.

Ця функція повертає рядок або NULL, якщо сталася помилка. Рядок належить
дескриптору гостьової системи, його I<не слід> звільняти.

(Додано у 1.31.14)

=head2 guestfs_get_libvirt_requested_credential_challenge

 char *
 guestfs_get_libvirt_requested_credential_challenge (guestfs_h *g,
                                                     int index);

Виконати перевірку (за даними libvirt) реєстраційних даних із номером
C<індекс>. Якщо у libvirt не буде знайдено відповідника для перевірки,
команда поверне порожній рядок, C<"">.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.52)

=head2 guestfs_get_libvirt_requested_credential_defresult

 char *
 guestfs_get_libvirt_requested_credential_defresult (guestfs_h *g,
                                                     int index);

Отримати типовий результат (за даними libvirt) реєстраційних даних із
номером C<індекс>. Якщо у libvirt не буде знайдено відповідника для типового
результату, команда поверне порожній рядок, C<"">.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.52)

=head2 guestfs_get_libvirt_requested_credential_prompt

 char *
 guestfs_get_libvirt_requested_credential_prompt (guestfs_h *g,
                                                  int index);

Отримати запит (за даними libvirt) реєстраційних даних із номером
C<індекс>. Якщо у libvirt не буде знайдено відповідника для запиту, команда
поверне порожній рядок, C<"">.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.52)

=head2 guestfs_get_libvirt_requested_credentials

 char **
 guestfs_get_libvirt_requested_credentials (guestfs_h *g);

Цю команду слід викликати під час зворотного виклику подій для подій типу
C<GUESTFS_EVENT_LIBVIRT_AUTH>.

Повертає список реєстраційних даних, запит на які надсилає libvirt. Можливі
значення є підмножиною рядків, які надаються, коли ви викликаєте
C<guestfs_set_libvirt_supported_credentials>.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.19.52)

=head2 guestfs_get_memsize

 int
 guestfs_get_memsize (guestfs_h *g);

Отримує розмір у мегабайтах отриманої для гіпервізору пам'яті.

Якщо для цього дескриптора не було викликано C<guestfs_set_memsize> і якщо
не було встановлено C<LIBGUESTFS_MEMSIZE>, якщо команда повертає типове
вкомпільоване значення розміру пам'яті (memsize).

Докладніший опис архітектури libguestfs наведено у підручнику з
L<guestfs(3)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.55)

=head2 guestfs_get_network

 int
 guestfs_get_network (guestfs_h *g);

Повертає значення прапорця вмикання мережі.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.4)

=head2 guestfs_get_path

 const char *
 guestfs_get_path (guestfs_h *g);

Повертає поточний шлях пошуку.

Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда
поверне типовий вміст змінної середовища PATH.

Ця функція повертає рядок або NULL, якщо сталася помилка. Рядок належить
дескриптору гостьової системи, його I<не слід> звільняти.

(Додано у 0.3)

=head2 guestfs_get_pgroup

 int
 guestfs_get_pgroup (guestfs_h *g);

Повертає прапорець групи процесів.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.11.18)

=head2 guestfs_get_pid

 int
 guestfs_get_pid (guestfs_h *g);

Повертає ідентифікатор гіпервізору. Якщо жодного гіпервізору не запущено,
команда поверне повідомлення про помилку.

Це внутрішній виклик, який використовується для діагностики і тестування.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.56)

=head2 guestfs_get_program

 const char *
 guestfs_get_program (guestfs_h *g);

Отримати назву програми. Див. C<guestfs_set_program>.

Ця функція повертає рядок або NULL, якщо сталася помилка. Рядок належить
дескриптору гостьової системи, його I<не слід> звільняти.

(Додано у 1.21.29)

=head2 guestfs_get_qemu

 const char *
 guestfs_get_qemu (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_get_hv>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає назву поточного виконуваного файла гіпервізору (типово, qemu).

Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда
поверне типову назву виконуваного файла qemu.

Ця функція повертає рядок або NULL, якщо сталася помилка. Рядок належить
дескриптору гостьової системи, його I<не слід> звільняти.

(Додано у 1.0.6)

=head2 guestfs_get_recovery_proc

 int
 guestfs_get_recovery_proc (guestfs_h *g);

Повертає прапорець вмикання відновлення процесу.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_get_selinux

 int
 guestfs_get_selinux (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_selinux_relabel>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає поточне значення прапорця selinux, який передається базовій системі
під час її завантаження. Див. C<guestfs_set_selinux>.

Докладніший опис архітектури libguestfs наведено у підручнику з
L<guestfs(3)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.67)

=head2 guestfs_get_smp

 int
 guestfs_get_smp (guestfs_h *g);

Повертає кількість віртуальних процесорів, які пов'язано із базовою
системою.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.13.15)

=head2 guestfs_get_sockdir

 char *
 guestfs_get_sockdir (guestfs_h *g);

Отримати назву каталогу, який використовується дескриптором для зберігання
файлів тимчасових сокетів.

This is different from C<guestfs_get_tmpdir>, as we need shorter paths for
sockets (due to the limited buffers of filenames for UNIX sockets), and
C<guestfs_get_tmpdir> may be too long for them.

Типове значення керується змінною середовища C<XDG_RUNTIME_DIR>: якщо
встановлено C<XDG_RUNTIME_DIR>, її значення буде типовим. Якщо ж значення
змінної не встановлено, типовим значенням буде F</tmp>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.33.8)

=head2 guestfs_get_state

 int
 guestfs_get_state (guestfs_h *g);

Повертає поточний стан як непрозоре ціле число. Корисно лише для виведення
діагностичних повідомлень та повідомлень про внутрішні помилки.

Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.2)

=head2 guestfs_get_tmpdir

 char *
 guestfs_get_tmpdir (guestfs_h *g);

Отримати назву каталогу, який використовується дескриптором для зберігання
тимчасових файлів.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.58)

=head2 guestfs_get_trace

 int
 guestfs_get_trace (guestfs_h *g);

Повертає прапорець трасування команди.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.69)

=head2 guestfs_get_umask

 int
 guestfs_get_umask (guestfs_h *g);

Повертає поточне значення umask. Типовим значенням umask є C<022>, якщо інше
значення не було встановлено за допомогою виклику C<guestfs_umask>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.3.4)

=head2 guestfs_get_verbose

 int
 guestfs_get_verbose (guestfs_h *g);

Повертає значення прапорця докладності повідомлень.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_getcon

 char *
 guestfs_getcon (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_selinux_relabel>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда отримує контекст безпеки SELinux фонової служби.

Див. документацію з SELINUX у L<guestfs(3)> та c<guestfs_setcon>

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<selinux>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.67)

=head2 guestfs_getxattr

 char *
 guestfs_getxattr (guestfs_h *g,
                   const char *path,
                   const char *name,
                   size_t *size_r);

Отримати окремий розширений атрибут з файла C<path> за назвою C<name>. У
цьому виклику виконується перехід за символічними посиланнями. Якщо ви
хочете визначити розширений атрибут для самого символічного посилання,
скористайтеся C<guestfs_lgetxattr>.

Зазвичай, краще отримати усі розширені атрибути файла одним викликом
C<guestfs_getxattrs>. Втім, у реалізації деяких файлових систем у Linux є
вади, які заважають отримання повного списку атрибутів. Для таких файлових
систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви
потрібних вам розширених атрибутів і викликати цю функцію.

Значеннями розширених атрибутів є блоки двійкових даних. Якщо розширеного
атрибута із назвою C<назва> не існує, командою буде повернуто повідомлення
про помилку.

Див. також C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.7.24)

=head2 guestfs_getxattrs

 struct guestfs_xattr_list *
 guestfs_getxattrs (guestfs_h *g,
                    const char *path);

Ця команда виводить список розширених атрибутів файла або каталогу C<шлях>.

На рівні системи, ця команда є поєднанням викликів L<listxattr(2)> і
L<getxattr(2)>.

Див. також C<guestfs_lgetxattrs>, L<attr(5)>.

Ця функція повертає C<struct guestfs_xattr_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_xattr_list>>.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_glob_expand

 char **
 guestfs_glob_expand (guestfs_h *g,
                      const char *pattern);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_glob_expand_opts> без додаткових
аргументів.

(Додано у 1.0.50)



=head2 guestfs_glob_expand_opts

 char **
 guestfs_glob_expand_opts (guestfs_h *g,
                           const char *pattern,
                           ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_GLOB_EXPAND_OPTS_DIRECTORYSLASH, int directoryslash,

Ця команда виконує пошук усіх назв шляхів, які збігаються із шаблоном
C<шаблон>, відповідно до правил розгортання замінників, які використовуються
командною оболонкою.

Якщо шляхів знайдено не буде, команда поверне порожній список (не помилку).

Це обгортка навколо функції C L<glob(3)> із прапорцями
C<GLOB_MARK|GLOB_BRACE>. Див. відповідну сторінку підручника, щоб дізнатися
більше.

Аргумент C<directoryslash> визначає, чи слід використовувати прапорець
C<GLOB_MARK> для L<glob(3)>. Типовим його значенням є true
(використовувати). Його можна явним чином вимкнути, щоб команда не повертала
завершальних символів похилої риски у назвах каталогів.

Зауважте, що схожої команди для розгортання назв пристроїв (наприклад
F</dev/sd*>) не існує. З цією метою слід використовувати
C<guestfs_list_devices>, C<guestfs_list_partitions> тощо.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.50)

=head2 guestfs_glob_expand_opts_va

 char **
 guestfs_glob_expand_opts_va (guestfs_h *g,
                              const char *pattern,
                              va_list args);

Це «варіант з va_list» L</guestfs_glob_expand_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_glob_expand_opts_argv

 char **
 guestfs_glob_expand_opts_argv (guestfs_h *g,
                                const char *pattern,
                                const struct guestfs_glob_expand_opts_argv *optargs);

Це «варіант з argv» L</guestfs_glob_expand_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_grep

 char **
 guestfs_grep (guestfs_h *g,
               const char *regex,
               const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_grep_opts> без додаткових
аргументів.

(Додано у 1.0.66)



=head2 guestfs_grep_opts

 char **
 guestfs_grep_opts (guestfs_h *g,
                    const char *regex,
                    const char *path,
                    ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_GREP_OPTS_EXTENDED, int extended,
 GUESTFS_GREP_OPTS_FIXED, int fixed,
 GUESTFS_GREP_OPTS_INSENSITIVE, int insensitive,
 GUESTFS_GREP_OPTS_COMPRESSED, int compressed,

This calls the external L<grep(1)> program and returns the matching lines.

Необов'язковими прапорцями є такі:

=over 4

=item C<extended>

Використовувати розширені формальні вирази. Те саме, що використання
прапорця I<-E>.

=item C<fixed>

Фіксована відповідність (не використовувати формальні вирази). Те саме, що
використання прапорця I<-F>.

=item C<insensitive>

Не враховувати під час пошуку регістр символів. Те саме, що використання
прапорця I<-i>.

=item C<compressed>

Use L<zgrep(1)> instead of L<grep(1)>.  This allows the input to be
compress- or gzip-compressed.

=back

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_grep_opts_va

 char **
 guestfs_grep_opts_va (guestfs_h *g,
                       const char *regex,
                       const char *path,
                       va_list args);

Це «варіант з va_list» L</guestfs_grep_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_grep_opts_argv

 char **
 guestfs_grep_opts_argv (guestfs_h *g,
                         const char *regex,
                         const char *path,
                         const struct guestfs_grep_opts_argv *optargs);

Це «варіант з argv» L</guestfs_grep_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_grepi

 char **
 guestfs_grepi (guestfs_h *g,
                const char *regex,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця функція викликає зовнішню програму C<grep -i> і повертає відповідні
рядки.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_grub_install

 int
 guestfs_grub_install (guestfs_h *g,
                       const char *root,
                       const char *device);

Ця команда встановлює GRUB 1 (Grand Unified Bootloader) на C<пристрій> із
кореневим каталогом C<корінь>.

Нотатки:

=over 4

=item *

У програмному інтерфейсі поточної версії немає способів встановити
завантажувач grub2, який використовується у більшості сучасних гостьових
систем Linux. Команду grub2 можна запустити з самої гостьової системи, втім,
у такого способу запуску є певні проблеми, описані у розділі
L<guestfs(3)/ЗАПУСК КОМАНД>.

=item *

This uses L<grub-install(8)> from the host.  Unfortunately grub is not
always compatible with itself, so this only works in rather narrow
circumstances.  Careful testing with each guest version is advisable.

=item *

Якщо grub-install повідомляє про помилку «No suitable drive was found in the
generated device map.», ймовірно, вам слід спочатку створити файл
F</boot/grub/device.map>, який міститиме прив'язки назв пристроїв grub до
назв пристроїв Linux. Зазвичай, достатньо створити файл з таким вмістом:

 (hd0) /dev/vda

замінивши F</dev/vda> на назву пристрою для встановлення.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<grub>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.17)

=head2 guestfs_head

 char **
 guestfs_head (guestfs_h *g,
               const char *path);

Ця команда повертає перші 10 рядків файла як список рядків.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.54)

=head2 guestfs_head_n

 char **
 guestfs_head_n (guestfs_h *g,
                 int nrlines,
                 const char *path);

Якщо параметр C<к-ть_рядків> є додатним числом, повертає перші
C<к-ть_рядків> рядків з файла C<шлях>.

Якщо значенням параметра C<к-ть_рядків> є від'ємне число, команда повертає
усі рядки з файла C<шлях>, окрім останніх C<к-ть_рядків> рядків.

Якщо значенням параметра C<к-ть_рядків> є нуль, команда повертає порожній
список.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.54)

=head2 guestfs_hexdump

 char *
 guestfs_hexdump (guestfs_h *g,
                  const char *path);

Ця команда виконує C<hexdump -C> для вказаного файла C<шлях>. Результатом
виконання є зручний для читання канонічний шістнадцятковий дамп файла.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.22)

=head2 guestfs_hivex_close

 int
 guestfs_hivex_close (guestfs_h *g);

Закрити поточний елемент керування hivex.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_commit

 int
 guestfs_hivex_commit (guestfs_h *g,
                       const char *filename);

Вносить (записує) зміни до рою.

Якщо значенням необов'язкового параметра F<назва_файла> є null, зміни буде
записано до того самого рою, який було відкрито. Якщо значенням не є null,
зміни буде записано до вказаного альтернативного файла, а початковий рій
залишиться незмінним.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_add_child

 int64_t
 guestfs_hivex_node_add_child (guestfs_h *g,
                               int64_t parent,
                               const char *name);

Додати дочірній вузол до із назвою C<назва> до батьківського запису
C<батьківський_запис>.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_children

 struct guestfs_hivex_node_list *
 guestfs_hivex_node_children (guestfs_h *g,
                              int64_t nodeh);

Повертає список вузлів, які є підключами вузла C<вузол>.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає C<struct guestfs_hivex_node_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_hivex_node_list>>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_delete_child

 int
 guestfs_hivex_node_delete_child (guestfs_h *g,
                                  int64_t nodeh);

Вилучаєe C<вузол>, якщо потрібно, рекурсивно.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_get_child

 int64_t
 guestfs_hivex_node_get_child (guestfs_h *g,
                               int64_t nodeh,
                               const char *name);

Повертає дочірній вузол із назвою C<назва> для вузла C<вузол>, якщо такий
існує. Може повернути C<0>, що означатиме, що вузла із вказаною назвою не
існує.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_get_value

 int64_t
 guestfs_hivex_node_get_value (guestfs_h *g,
                               int64_t nodeh,
                               const char *key);

Повертає значення, пов'язане із вузлом C<вузол>, яке має назву C<ключ>, якщо
таке існує. Може повернути C<0>, що означатиме, що ключа із вказаною назвою
не існує.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_name

 char *
 guestfs_hivex_node_name (guestfs_h *g,
                          int64_t nodeh);

Повернути назву C<nodeh>.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_parent

 int64_t
 guestfs_hivex_node_parent (guestfs_h *g,
                            int64_t nodeh);

Повернути батьківський вузол C<nodeh>.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_set_value

 int
 guestfs_hivex_node_set_value (guestfs_h *g,
                               int64_t nodeh,
                               const char *key,
                               int64_t t,
                               const char *val,
                               size_t val_size);

Встановлює або замінює окреме значення у вузлі C<вузол>. Значенням аргументу
C<ключ> є назва, C<тип> — тип, а C<значення> — дані.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_node_values

 struct guestfs_hivex_value_list *
 guestfs_hivex_node_values (guestfs_h *g,
                            int64_t nodeh);

Повертає масив кортежів (ключ, тип даних, дані), пов'язаний із C<nodeh>.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає C<struct guestfs_hivex_value_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_hivex_value_list>>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_open

 int
 guestfs_hivex_open (guestfs_h *g,
                     const char *filename,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_HIVEX_OPEN_VERBOSE, int verbose,
 GUESTFS_HIVEX_OPEN_DEBUG, int debug,
 GUESTFS_HIVEX_OPEN_WRITE, int write,
 GUESTFS_HIVEX_OPEN_UNSAFE, int unsafe,

Відкриває файл рою реєстру Windows із назвою F<назва_файла>. Якщо вже
існував дескриптор hivex, пов'язаний із цим сеансом guestfs, його буде
закрито.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_open_va

 int
 guestfs_hivex_open_va (guestfs_h *g,
                        const char *filename,
                        va_list args);

Це «варіант з va_list» L</guestfs_hivex_open>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_hivex_open_argv

 int
 guestfs_hivex_open_argv (guestfs_h *g,
                          const char *filename,
                          const struct guestfs_hivex_open_argv *optargs);

Це «варіант з argv» L</guestfs_hivex_open>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_hivex_root

 int64_t
 guestfs_hivex_root (guestfs_h *g);

Повернути кореневий вузол гілки.

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_value_key

 char *
 guestfs_hivex_value_key (guestfs_h *g,
                          int64_t valueh);

Повертає ключ (назву) поля для кортежу (ключ, тип даних, дані).

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_value_string

 char *
 guestfs_hivex_value_string (guestfs_h *g,
                             int64_t valueh);

Ця команда викликає C<guestfs_hivex_value_value> (яка повертає поле даних на
основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок
UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо,
команда повертає повідомлення про помилку).

Команда корисна для читання рядків з реєстру Windows. Втім, вона працює
нестабільно, оскільки реєстр не є строго типізованим, а поля можуть містити
довільні або неочікувані дані.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.37.22)

=head2 guestfs_hivex_value_type

 int64_t
 guestfs_hivex_value_type (guestfs_h *g,
                           int64_t valueh);

Повертає значення поля типу даних для кортежу (ключ, тип даних, дані).

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_value_utf8

 char *
 guestfs_hivex_value_utf8 (guestfs_h *g,
                           int64_t valueh);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_hivex_value_string>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда викликає C<guestfs_hivex_value_value> (яка повертає поле даних на
основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок
UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо,
команда повертає повідомлення про помилку).

Команда корисна для читання рядків з реєстру Windows. Втім, вона працює
нестабільно, оскільки реєстр не є строго типізованим, а поля можуть містити
довільні або неочікувані дані.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_hivex_value_value

 char *
 guestfs_hivex_value_value (guestfs_h *g,
                            int64_t valueh,
                            size_t *size_r);

Повертає значення поля даних для кортежу (ключ, тип даних, дані).

Обгортка до команди L<hivex(3)> із тією ж самою назвою.

Див. також C<guestfs_hivex_value_utf8>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Працездатність цієї функції залежить від можливості C<hivex>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.35)

=head2 guestfs_initrd_cat

 char *
 guestfs_initrd_cat (guestfs_h *g,
                     const char *initrdpath,
                     const char *filename,
                     size_t *size_r);

Ця команда розпаковує файл F<назва_файла> з файла initrd із назвою
F<шлях_initrd>. Назву файла слід вказувати I<без> початкового символу F</>.

Наприклад, у guestfish ви можете скористатися такою командою для вивчення
скрипту завантаження (зазвичай, він має назву F</init>), який міститься у
initrd Linux або образі initramfs:

 initrd-cat /boot/initrd-<версія>.img init

Див. також C<guestfs_initrd_list>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.84)

=head2 guestfs_initrd_list

 char **
 guestfs_initrd_list (guestfs_h *g,
                      const char *path);

Ця команда виводить список файлів, які містяться у initrd.

Записи у списку буде виведено без початкового символу F</>. Список буде
упорядковано за появою файлів (не обов'язково за абеткою). Назви каталогів
буде показано у списку як окремі записи.

У старих ядрах Linux (2.4 і старіших) як initrd використовується стиснена
файлова система ext2. У нашій команді передбачено підтримку I<лише> новішого
формату initramfs (стиснених файлів cpio).

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.54)

=head2 guestfs_inotify_add_watch

 int64_t
 guestfs_inotify_add_watch (guestfs_h *g,
                            const char *path,
                            int mask);

Спостерігати для запису C<шлях> за появою подій зі списку C<маска>.

Зауважте, що якщо запис C<шлях> є каталогом, спостереження вестиметься і за
подіями у каталозі, але I<не> виконуватиметься рекурсивно (у підкаталогах).

Зауваження для викликів з-поза C та з-поза Linux: події inotify визначено у
ABI ядра Linux. Список наведено у F</usr/include/sys/inotify.h>.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inotify_close

 int
 guestfs_inotify_close (guestfs_h *g);

Ця команда закриває дескриптор inotify, який раніше було відкрито
inotify_init. Команда вилучає усі спостереження, викидає усі події з черги і
скасовує надання пам'яті для усіх ресурсів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inotify_files

 char **
 guestfs_inotify_files (guestfs_h *g);

Ця функція є корисною обгорткою навколо C<guestfs_inotify_read>, яка просто
повертає список назв шляхів об'єктів, які було оброблено touch. Список назв
шляхів буде упорядковано, дублікати записів буде вилучено.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inotify_init

 int
 guestfs_inotify_init (guestfs_h *g,
                       int maxevents);

Ця команда створює дескриптор inotify. Підсистемою inotify можна
скористатися для отримання сповіщень щодо подій, які відбуваються із
об'єктами у файловій системі гостьової операційної системи.

Значенням параметра C<maxevents> є максимальна кількість подій, які може
бути додано до черги між викликами C<guestfs_inotify_read> або
C<guestfs_inotify_files>. Якщо буде передано значення C<0>, буде використано
типове значення для ядра (або раніше встановлене значення). Для Linux 2.6.29
типовим значенням є 16384 подій. Якщо обмеження буде перевищено, ядро просто
відкидатиме події, але записуватиме повідомлення щодо факту відкидання,
встановлюючи прапорець C<IN_Q_OVERFLOW> у списку повернутої структури
(див. C<guestfs_inotify_read>).

Перш ніж буде створено якесь повідомлення про подію, вам слід додати певні
спостереження до внутрішнього списку
спостережень. Див. C<guestfs_inotify_add_watch> та
C<guestfs_inotify_rm_watch>.

Записи подій з черги мають періодично читатися викликом
C<guestfs_inotify_read> (або C<guestfs_inotify_files>, який є корисною
обгорткою навколо C<guestfs_inotify_read>). Якщо записи подій не
читатимуться достатньо часто, внутрішню чергу записів може бути переповнено.

Після використання дескриптор слід закрити викликом
C<guestfs_inotify_close>. У процесі закриття буде автоматично вилучено усі
спостереження.

Огляд інтерфейсу inotify, який відкриває ядро Linux, можна знайти на
сторінці підручника L<inotify(7)>. Саме цей інтерфейс, грубо кажучи, ми і
відкриваємо за допомогою libguestfs. Зауважте, що для кожного екземпляра
libguestfs відкривається один загальний дескриптор inotify.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inotify_read

 struct guestfs_inotify_event_list *
 guestfs_inotify_read (guestfs_h *g);

Повертає повну чергу подій, які трапилися з моменту попереднього виклику
читання черги.

Якщо подій не траплялося, повертає порожній список.

I<Зауваження>: щоб переконатися, що усі записи подій було прочитано, вам
слід повторно викликати цю функцію, аж доки не буде повернуто порожній
список. Причиною є те, що виклик читає записи подій до досягнення
максимального розміру черги повідомлень appliance-to-host і лишає решту
подій у черзі.

Ця функція повертає C<struct guestfs_inotify_event_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_inotify_event_list>>.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inotify_rm_watch

 int
 guestfs_inotify_rm_watch (guestfs_h *g,
                           int wd);

Вилучити раніше визначене спостереження
inotify. Див. C<guestfs_inotify_add_watch>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<inotify>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_inspect_get_arch

 char *
 guestfs_inspect_get_arch (guestfs_h *g,
                           const char *root);

Повертає архітектуру інспектованої операційної системи. Список можливих
повернутих значень можна знайти у описі C<guestfs_file_architecture>.

Якщо архітектуру визначити не вдасться, буде повернуто рядок C<unknown>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_distro

 char *
 guestfs_inspect_get_distro (guestfs_h *g,
                             const char *root);

Ця команда повертає дистрибутив інспектованої операційної системи.

У поточній версії визначено такі дистрибутиви:

=over 4

=item "alpinelinux"

Alpine Linux.

=item "altlinux"

ALT Linux.

=item "archlinux"

Arch Linux.

=item "buildroot"

Дистрибутив, що походить від buildroot, але не той, який ми можемо окремо
визначити.

=item "centos"

CentOS.

=item "cirros"

Cirros.

=item "coreos"

CoreOS.

=item "debian"

Debian.

=item "fedora"

Fedora.

=item "freebsd"

FreeBSD.

=item "freedos"

FreeDOS.

=item "frugalware"

Frugalware.

=item "gentoo"

Gentoo.

=item "kalilinux"

Kali Linux.

=item "linuxmint"

Linux Mint.

=item "mageia"

Mageia.

=item "mandriva"

Mandriva.

=item "meego"

MeeGo.

=item "msdos"

Microsoft DOS.

=item "neokylin"

NeoKylin.

=item "netbsd"

NetBSD.

=item "openbsd"

OpenBSD.

=item "openmandriva"

OpenMandriva Lx.

=item "opensuse"

OpenSUSE.

=item "oraclelinux"

Oracle Linux.

=item "pardus"

Pardus.

=item "pldlinux"

PLD Linux.

=item "redhat-based"

Дистрибутив, що походить від Red Hat.

=item "rhel"

Red Hat Enterprise Linux.

=item "scientificlinux"

Scientific Linux.

=item "slackware"

Slackware.

=item "sles"

SuSE Linux Enterprise Server або Desktop.

=item "suse-based"

Дистрибутив, заснований на openSuSE.

=item "ttylinux"

ttylinux.

=item "ubuntu"

Ubuntu.

=item "unknown"

Дистрибутив, тип якого не вдалося визначити.

=item "voidlinux"

Void Linux.

=item "windows"

У Windows немає дистрибутивів. Цей рядок буде повернуто, якщо операційна
система належить до сімейства Windows.

=back

У майбутніх версіях libguestfs цією командою можуть повертатися інші
рядки. Функція, звідки викликається команда, має готуватися до обробки
будь-якого рядка.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_drive_mappings

 char **
 guestfs_inspect_get_drive_mappings (guestfs_h *g,
                                     const char *root);

Цей виклик корисний для Windows, де використовується примітивна система
призначення літер дисків (зокрема F<C:\>) до розділів. Цей програмний
інтерфейс інспектування вивчає реєстр Windows, щоб визначити спосіб
прив'язування дисків і розділів до літер, і повертає хеш-таблицю, як у
наведеному нижче прикладі:

 C      =>     /dev/vda2
 E      =>     /dev/vdb1
 F      =>     /dev/vdc1

Зауважте, що ключі є літерами дисків. Для Windows регістр символів запису
ключа не враховується і складається із простої літери диска без
символу-відокремлювача, двокрапки.

У майбутньому ми можемо реалізувати підтримку інших операційних систем, де
також використовуються літери для дисків, але ключі для таких систем можуть
не бути незалежними від регістру символів і можуть перевищувати за довжиною
1 символ. Наприклад, у OS-9 диски називалися C<h0>, C<h1> тощо.

Для гостьових систем Windows у поточній версії повертається лише прив'язка
жорстких дисків. Портативні диски (зокрема DVD-ROM) ігноруються.

У гостьових системах, де не використовується прив'язка дисків, або прив'язку
дисків не можна визначити, ця команда повертає таблицю порожніх хешів.

З докладнішими даними можна ознайомитися у розділі
L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_mountpoints>,
<guestfs_inspect_get_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.9.17)

=head2 guestfs_inspect_get_filesystems

 char **
 guestfs_inspect_get_filesystems (guestfs_h *g,
                                  const char *root);

Ця команда повертає список усіх файлових систем, які, як ми вважаємо,
пов'язано із вказаною операційною системою. Це, зокрема, коренева файлова
система, інші звичайні файлові системи та незмонтовані пристрої, зокрема
диски резервної пам'яті.

У випадку віртуальної машини із варіантами завантаження операційних систем
файлова система може бути спільною для одразу декількох операційних систем.

З докладнішими даними можна ознайомитися у розділі
L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_mountpoints>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_format

 char *
 guestfs_inspect_get_format (guestfs_h *g,
                             const char *root);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

До libguestfs 1.38 було передбачено певну ненадійну підтримку виявлення
образів компакт-дисків для встановлення. Цей програмний інтерфейс мав
повертати таке:

=over 4

=item C<installed>

Це встановлена операційна система.

=item C<installer>

Інспектований образ диска не є встановленою операційною системою, а лише
I<придатним до завантаження> диском, компакт-диском із портативною
операційною системою або чимось подібним.

=item C<unknown>

Формат цього образу диска є невідомим.

=back

У libguestfs E<ge> 1.38 ця команда повертала лише
C<installed>. Скористайтеся безпосередньо libosinfo для визначення системи
на компакт-диску зі встановлювачем.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.9.4)

=head2 guestfs_inspect_get_hostname

 char *
 guestfs_inspect_get_hostname (guestfs_h *g,
                               const char *root);

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

Якщо назву вузла не вдасться визначити, буде повернуто рядок C<unknown>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.7.9)

=head2 guestfs_inspect_get_icon

 char *
 guestfs_inspect_get_icon (guestfs_h *g,
                           const char *root,
                           size_t *size_r,
                           ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_INSPECT_GET_ICON_FAVICON, int favicon,
 GUESTFS_INSPECT_GET_ICON_HIGHQUALITY, int highquality,

Ця функція повертає піктограму, яка відповідає інспектованій операційній
системі. Піктограма повертається як буфер, який містить зображення PNG
(перекодується до PNG, якщо потрібно).

Якщо отримання піктограми неможливе, ця функція повертає буфер нульової
довжини (не-NULL). I<Функції, які викликають цю команду, мають перевіряти
цей випадок>.

Libguestfs починає із пошуку файла із назвою F</etc/favicon.png> або
F<C:\etc\favicon.png> і, якщо дані зберігаються у належному форматі, буде
повернуто вміст цього файла. Ви можете вимкнути такі піктограми передаванням
для необов'язкового параметра C<favicon> значення false (типовим значенням є
true).

Якщо пошук favicon завершиться невдачею, буде виконано пошук відповідної
піктограми у інших місцях гостьової системи.

Якщо для необов'язкового параметра C<highquality> встановлено значення true,
команда повертатиме лише високоякісні піктограми, тобто піктограми із
високою роздільною здатністю і каналом прозорості. Типово, (зі значенням
false) буде повернуто будь-яку знайдено піктограму, навіть якщо її якість
буде низькою.

Нотатки:

=over 4

=item *

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

=item *

B<Безпека:> Дані піктограми походять із ненадійної гостьової системи, ними
слід користуватися обережно. Відомі випадки додавання шкідливого коду до
файлів PNG. Переконайтеся, що ви користуєтеся libpng (або іншими
відповідними бібліотеками) останньої версії, перш ніж намагатися обробити
або показати піктограму.

=item *

Розмір повернутого зображення PNG може бути довільним. Зображення може бути
неквадратним. Libguestfs намагається повернути найбільшу доступну піктограму
найвищої якості. Програма сама має масштабувати її до бажаного розміру.

=item *

Extracting icons from Windows guests requires the external L<wrestool(1)>
program from the C<icoutils> package, and several programs (L<bmptopnm(1)>,
L<pnmtopng(1)>, L<pamcut(1)>)  from the C<netpbm> package.  These must be
installed separately.

=item *

Піктограми операційної системи захищено авторськими правами. Перш ніж
використовувати захищені авторським правом дані у власних програмах,
проконсультуйтеся щодо законодавчих аспектів такого використання.

=back

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

(Додано у 1.11.12)

=head2 guestfs_inspect_get_icon_va

 char *
 guestfs_inspect_get_icon_va (guestfs_h *g,
                              const char *root,
                              size_t *size_r,
                              va_list args);

Це «варіант з va_list» L</guestfs_inspect_get_icon>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_inspect_get_icon_argv

 char *
 guestfs_inspect_get_icon_argv (guestfs_h *g,
                                const char *root,
                                size_t *size_r,
                                const struct guestfs_inspect_get_icon_argv *optargs);

Це «варіант з argv» L</guestfs_inspect_get_icon>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_inspect_get_major_version

 int
 guestfs_inspect_get_major_version (guestfs_h *g,
                                    const char *root);

Ця команда повертає номер основної версії інспектованої операційної системи.

У Windows використовується послідовна схема нумерування версій, яку I<не>
відображено у назвах ринкових продуктів операційної системи. Зокрема,
операційна система, яку ми знаємо за назвою «Windows 7», насправді має номер
6.1 (тобто основна версія = 6, додаткова версія = 1). Ви можете визначити
справжні номери версій випусків Windows за статтями Вікіпедії або MSDN.

Якщо версію не вдасться визначити, буде повернуто C<0>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_minor_version

 int
 guestfs_inspect_get_minor_version (guestfs_h *g,
                                    const char *root);

Ця команда повертає номер додаткової версії інспектованої операційної
системи.

Якщо версію не вдасться визначити, буде повернуто C<0>.

З докладнішими даними можна ознайомитися у розділі
L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_major_version>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_mountpoints

 char **
 guestfs_inspect_get_mountpoints (guestfs_h *g,
                                  const char *root);

Ця команда повертає хеш даних щодо місця, у якому, як ми гадаємо, має бути
змонтовано файлові системи, пов'язані із операційною системою. Слід
зауважити, що ці дані, у найкращому випадку, визначено на основі здогадок,
заснованих на вивченні файлів налаштувань, зокрема
F</etc/fstab>. I<Зокрема>, використання цієї команди може призвести до
отримання записів файлових систем, яких не існує або які непридатні до
монтування. У коді, який викликатиме команду, слід правильно обробити
випадки, коли під час спроби монтування отриманих файлових систем
ставатимуться помилки.

У кожного з елементів повернутої хеш-таблиці буде ключ, який відповідатиме
шляху до точки монтування (наприклад, F</boot>), і значення, яке
відповідатиме файловій системі, яку має бути змонтовано до цієї точки
монтування (наприклад, F</dev/sda1>).

Непридатні до монтування пристрої, зокрема пристрої резервної пам'яті на
диску, I<не> включатимуться до повернутого списку.

Для операційних систем, подібних до Windows, де для позначення дисків усе ще
використовуються літери, ця команда поверне запис першого диска
«змонтованого до» F</>. Щоб дізнатися більше про прив'язку літер дисків до
розділів, див. C<guestfs_inspect_get_drive_mappings>.

З докладнішими даними можна ознайомитися у розділі
L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_osinfo

 char *
 guestfs_inspect_get_osinfo (guestfs_h *g,
                             const char *root);

Ця функція повертає можливий скорочений ідентифікатор libosinfo, що
відповідає гостьовій системі.

I<Зауваження:> повернутий ідентифікатор є лише припущенням libguestfs і не
гарантує, що такий ідентифікатор справді існує у osinfo-db.

Якщо ідентифікатор не вдасться визначити, буде повернуто рядок C<unknown>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.39.1)

=head2 guestfs_inspect_get_package_format

 char *
 guestfs_inspect_get_package_format (guestfs_h *g,
                                     const char *root);

Ця функція і C<guestfs_inspect_get_package_management> повертають формат
пакунків та засіб для керування пакунками, який використовується у
інспектованій операційній системі. Наприклад, для Fedora ці функції мають
повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування
пакунками).

Ця команда поверне рядок C<unknown>, якщо не вдасться визначити формат
пакунків I<або> якщо у операційній системі не використовується система
пакунків (наприклад, у Windows).

Можливі варіанти рядків: C<rpm>, C<deb>, C<ebuild>, C<pisi>, C<pacman>,
C<pkgsrc>, C<apk>, C<xbps>. У майбутніх версіях libguestfs може бути
реалізовано повернення інших рядків.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.7.5)

=head2 guestfs_inspect_get_package_management

 char *
 guestfs_inspect_get_package_management (guestfs_h *g,
                                         const char *root);

C<guestfs_inspect_get_package_format> і ця функція повертають формат
пакунків та засіб для керування пакунками, який використовується у
інспектованій операційній системі. Наприклад, для Fedora ці функції мають
повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування
пакунками).

Ця команда поверне рядок C<unknown>, якщо не вдасться визначити засіб для
керування пакунками I<або> якщо у операційній системі не використовується
система пакунків (наприклад, у Windows).

Можливі варіанти повернутих рядків: C<yum>, C<dnf>, C<up2date>, C<apt> (для
усіх похідних Debian), C<portage>, C<pisi>, C<pacman>, C<urpmi>, C<zypper>,
C<apk>, C<xbps>. У майбутніх версіях libguestfs може бути реалізовано
повернення інших рядків.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.7.5)

=head2 guestfs_inspect_get_product_name

 char *
 guestfs_inspect_get_product_name (guestfs_h *g,
                                   const char *root);

Ця команда повертає назву продукту для інспектованої операційної
системи. Назва продукту, у загальному випадку, є рядком довільної форми,
який може бути показано користувачеві, але який не призначено для обробки
програмами.

Якщо назву продукту визначити не вдалося, буде повернуто рядок C<unknown>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_product_variant

 char *
 guestfs_inspect_get_product_variant (guestfs_h *g,
                                      const char *root);

Ця команда повертає варіант продукту інспектованої операційної системи.

Для гостьових операційних систем Windows ця команда повертає вміст ключа
реєстру C<HKLM\Software\Microsoft\Windows NT\CurrentVersion>
C<InstallationType>, який типово є рядком, зокрема C<Client> або C<Server>
(можливі й інші варіанти). Цим рядком можна скористатися для розрізнення
домашніх і промислових версій Windows для випусків із однаковим номером
версії (наприклад, Windows 7 і Windows 2008 Server обидві мають номер версії
6.1, але перша має значення варіанта C<Client>, а друга — C<Server>).

Для промислових версій гостьових систем Linux у майбутньому ми маємо намір
реалізувати код, який повертатиме варіанти продукту, зокрема C<Desktop>,
C<Server> тощо. Але у поточній версії цей код ще не реалізовано.

Якщо варіант продукту визначити не вдалося, буде повернуто рядок C<unknown>.

З докладнішими даними можна ознайомитися у розділі
L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_product_name>,
<guestfs_inspect_get_major_version>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.9.13)

=head2 guestfs_inspect_get_roots

 char **
 guestfs_inspect_get_roots (guestfs_h *g);

Ця функція є зручним способом отримання списку кореневих пристроїв,
повернутого попереднім викликом C<guestfs_inspect_os>, але без повторного
виконання усієї процедури інспектування.

Команда повертає порожній список, якщо не буде знайдено кореневих пристроїв
або якщо не було викликано C<guestfs_inspect_os>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.7.3)

=head2 guestfs_inspect_get_type

 char *
 guestfs_inspect_get_type (guestfs_h *g,
                           const char *root);

Ця команда повертає тип інспектованої операційної системи. У поточній версії
визначено такі типи:

=over 4

=item "linux"

Будь-яка заснована на Linux операційна система.

=item "windows"

Будь-яка операційна система Microsoft Windows.

=item "freebsd"

FreeBSD.

=item "netbsd"

NetBSD.

=item "openbsd"

OpenBSD.

=item "hurd"

GNU/Hurd.

=item "dos"

MS-DOS, FreeDOS та інші.

=item "minix"

MINIX.

=item "unknown"

Не вдалося визначити тип операційної системи.

=back

У майбутніх версіях libguestfs цією командою можуть повертатися інші
рядки. Функція, звідки викликається команда, має готуватися до обробки
будь-якого рядка.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.3)

=head2 guestfs_inspect_get_windows_current_control_set

 char *
 guestfs_inspect_get_windows_current_control_set (guestfs_h *g,
                                                  const char *root);

Ця команда повертає Windows CurrentControlSet інспектованої гостьової
системи. CurrentControlSet є назвою ключа реєстру, наприклад
C<ControlSet001>.

У цій команді припускається, що гостьовою системою є Windows і що її реєстр
можна вивчити засобами інспектування. Якщо ці припущення не справджуються,
команда поверне повідомлення про помилку.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.9.17)

=head2 guestfs_inspect_get_windows_software_hive

 char *
 guestfs_inspect_get_windows_software_hive (guestfs_h *g,
                                            const char *root);

Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який
відповідає HKLM\SOFTWARE.

У цій команді припускається, що гостьовою системою є Windows і що у
гостьовій системі є файл рою програмного забезпечення із відповідною
назвою. Якщо ці припущення не справджуються, команда поверне повідомлення
про помилку. Ця команд не виконує перевірки того, що знайдений рій є
коректним роєм реєстру Windows.

Ви можете скористатися командою C<guestfs_hivex_open> для читання або запису
рою.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.35.26)

=head2 guestfs_inspect_get_windows_system_hive

 char *
 guestfs_inspect_get_windows_system_hive (guestfs_h *g,
                                          const char *root);

Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який
відповідає HKLM\SYSTEM.

У цій команді припускається, що гостьовою системою є Windows і що у
гостьовій системі є файл рою системи із відповідною назвою. Якщо ці
припущення не справджуються, команда поверне повідомлення про помилку. Ця
команда не виконує перевірки того, що знайдений рій є коректним роєм реєстру
Windows.

Ви можете скористатися командою C<guestfs_hivex_open> для читання або запису
рою.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.35.26)

=head2 guestfs_inspect_get_windows_systemroot

 char *
 guestfs_inspect_get_windows_systemroot (guestfs_h *g,
                                         const char *root);

Ця команда повертає системний кореневий каталог інспектованої гостьової
системи Windows. Системним кореневим каталогом є шлях, зокрема F</WINDOWS>.

У цій команді припускається, що гостьовою системою є Windows і що її
системний кореневий каталог можна визначити засобами інспектування. Якщо ці
припущення не справджуються, команда поверне повідомлення про помилку.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.25)

=head2 guestfs_inspect_is_live

 int
 guestfs_inspect_is_live (guestfs_h *g,
                          const char *root);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда є застарілою і завжди повертає C<false>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.9.4)

=head2 guestfs_inspect_is_multipart

 int
 guestfs_inspect_is_multipart (guestfs_h *g,
                               const char *root);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда є застарілою і завжди повертає C<false>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.9.4)

=head2 guestfs_inspect_is_netinst

 int
 guestfs_inspect_is_netinst (guestfs_h *g,
                             const char *root);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда є застарілою і завжди повертає C<false>.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.9.4)

=head2 guestfs_inspect_list_applications

 struct guestfs_application_list *
 guestfs_inspect_list_applications (guestfs_h *g,
                                    const char *root);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_inspect_list_applications2>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає список програм, встановлених у операційній системі.

I<Зауваження:> ця команда працює інакше за інші частини програмного
інтерфейсу інспектування. Вам слід викликати C<guestfs_inspect_os>, потім
C<guestfs_inspect_get_mountpoints>, потім змонтувати диски, потім викликати
цю команду. Побудова списку програм є значно складнішою операцією, яка
потребує доступу до усієї файлової системи. Також зауважте, що на відміну
від інших команд C<guestfs_inspect_get_*>, які лише повертають дані,
кешовані у дескрипторі libguestfs, ця команда справді читає частини
змонтованої файлової системи під час виконання.

Ця команда повертає порожній список, якщо засобу інспектування не вдасться
визначити список програм.

Структура application містить такі поля:

=over 4

=item C<app_name>

The name of the application.  For Linux guests, this is the package name.

=item C<app_display_name>

Показана назва програми, іноді локалізована відповідно до мови встановлення
гостьової операційної системи.

Якщо дані недоступні, команда поверне порожній рядок C<"">. Там, де потрібно
щось показати, можна скористатися замість цієї команди командою C<app_name>.

=item C<app_epoch>

Для засобів керування пакунками, у яких використовуються епохи, це поле
містить дані щодо епохи пакунка (ціле число). Якщо дані недоступні, буде
повернуто значення C<0>.

=item C<app_version>

Рядок версії програми або пакунка. Якщо такого рядка не передбачено, буде
повернуто порожній рядок C<"">.

=item C<app_release>

Рядок випуску програми або пакунка у системах пакування, де передбачено
підтримку відповідних даних. Якщо такого рядка не передбачено, буде
повернуто порожній рядок C<"">.

=item C<app_install_path>

Шлях встановлення програми (у операційних системах, зокрема Windows, де
використовуються шляхи встановлення). Цей шлях записується у форматі, який
використовується гостьовою операційною системою, а не у форматі шляху
libguestfs.

Якщо не передбачено, буде повернуто порожній рядок C<"">.

=item C<app_trans_path>

Шлях для встановлення, перетворений у шлях libguestfs. Якщо такого шляху не
передбачено, буде повернуто порожній рядок C<"">.

=item C<app_publisher>

Назва розповсюджувача програми у системах пакування, де передбачено
підтримку відповідних даних. Якщо такої назви не передбачено, буде повернуто
порожній рядок C<"">.

=item C<app_url>

Адреса (сайта) програми. Якщо такої адреси не передбачено, буде повернуто
порожній рядок C<"">.

=item C<app_source_package>

Для систем пакування, де передбачено таку підтримку, назва пакунка із
початковим кодом. Якщо такої назви не передбачено, буде повернуто порожній
рядок C<"">.

=item C<app_summary>

Короткий (зазвичай, у один рядок) опис програми або пакунка. Якщо такого
опису не передбачено, буде повернуто порожній рядок C<"">.

=item C<app_description>

Докладніший опис програми або пакунка. Якщо опис недоступний, замість нього
буде повернуто порожній рядок C<"">.

=back

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає C<struct guestfs_application_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_application_list>>.

(Додано у 1.7.8)

=head2 guestfs_inspect_list_applications2

 struct guestfs_application2_list *
 guestfs_inspect_list_applications2 (guestfs_h *g,
                                     const char *root);

Повертає список програм, встановлених у операційній системі.

I<Зауваження:> ця команда працює інакше за інші частини програмного
інтерфейсу інспектування. Вам слід викликати C<guestfs_inspect_os>, потім
C<guestfs_inspect_get_mountpoints>, потім змонтувати диски, потім викликати
цю команду. Побудова списку програм є значно складнішою операцією, яка
потребує доступу до усієї файлової системи. Також зауважте, що на відміну
від інших команд C<guestfs_inspect_get_*>, які лише повертають дані,
кешовані у дескрипторі libguestfs, ця команда справді читає частини
змонтованої файлової системи під час виконання.

Ця команда повертає порожній список, якщо засобу інспектування не вдасться
визначити список програм.

Структура application містить такі поля:

=over 4

=item C<app2_name>

The name of the application.  For Linux guests, this is the package name.

=item C<app2_display_name>

Показана назва програми, іноді локалізована відповідно до мови встановлення
гостьової операційної системи.

Якщо дані недоступні, команда поверне порожній рядок C<"">. Там, де потрібно
щось показати, можна скористатися замість цієї команди командою
C<app2_name>.

=item C<app2_epoch>

Для засобів керування пакунками, у яких використовуються епохи, це поле
містить дані щодо епохи пакунка (ціле число). Якщо дані недоступні, буде
повернуто значення C<0>.

=item C<app2_version>

Рядок версії програми або пакунка. Якщо такого рядка не передбачено, буде
повернуто порожній рядок C<"">.

=item C<app2_release>

Рядок випуску програми або пакунка у системах пакування, де передбачено
підтримку відповідних даних. Якщо такого рядка не передбачено, буде
повернуто порожній рядок C<"">.

=item C<app2_arch>

Рядок архітектури програми або пакунка у системах пакування, де передбачено
підтримку відповідних даних. Якщо такого рядка не передбачено, буде
повернуто порожній рядок C<"">.

=item C<app2_install_path>

Шлях встановлення програми (у операційних системах, зокрема Windows, де
використовуються шляхи встановлення). Цей шлях записується у форматі, який
використовується гостьовою операційною системою, а не у форматі шляху
libguestfs.

Якщо не передбачено, буде повернуто порожній рядок C<"">.

=item C<app2_trans_path>

Шлях для встановлення, перетворений у шлях libguestfs. Якщо такого шляху не
передбачено, буде повернуто порожній рядок C<"">.

=item C<app2_publisher>

Назва розповсюджувача програми у системах пакування, де передбачено
підтримку відповідних даних. Якщо такої назви не передбачено, буде повернуто
порожній рядок C<"">.

=item C<app2_url>

Адреса (сайта) програми. Якщо такої адреси не передбачено, буде повернуто
порожній рядок C<"">.

=item C<app2_source_package>

Для систем пакування, де передбачено таку підтримку, назва пакунка із
початковим кодом. Якщо такої назви не передбачено, буде повернуто порожній
рядок C<"">.

=item C<app2_summary>

Короткий (зазвичай, у один рядок) опис програми або пакунка. Якщо такого
опису не передбачено, буде повернуто порожній рядок C<"">.

=item C<app2_description>

Докладніший опис програми або пакунка. Якщо опис недоступний, замість нього
буде повернуто порожній рядок C<"">.

=back

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Ця функція повертає C<struct guestfs_application2_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_application2_list>>.

(Додано у 1.19.56)

=head2 guestfs_inspect_os

 char **
 guestfs_inspect_os (guestfs_h *g);

Ця функція використовує інші функції libguestfs та певну евристику для
інспектування дисків (зазвичай, диски належать до віртуальної машини) під
час пошуку операційних систем.

Список повернутих значень буде порожнім, якщо не буде знайдено жодної
операційної системи.

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

Ви можете передати повернуті рядки кореневих каталогів іншим функціями
C<guestfs_inspect_get_*>, щоб отримати подальші відомості щодо усіх
операційних систем, зокрема назву і версію.

Ця функція використовує інші можливості libguestfs, зокрема
C<guestfs_mount_ro> і C<guestfs_umount_all>, щоб монтувати і демонтовувати
файлові системи і переглядати їхній вміст. Її слід викликати до того, як
буде змонтовано диски. Ця функція також може використовувати Augeas, отже
усі наявні дескриптори Augeas буде закрито.

Ця функція не може розшифровувати зашифровані диски. Якщо диск зашифровано,
про його розшифровування має подбати (надати відповідні ключі) функція
виклику.

З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

Див. також C<guestfs_list_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.5.3)

=head2 guestfs_is_blockdev

 int
 guestfs_is_blockdev (guestfs_h *g,
                      const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_blockdev_opts> без додаткових
аргументів.

(Додано у 1.5.10)



=head2 guestfs_is_blockdev_opts

 int
 guestfs_is_blockdev_opts (guestfs_h *g,
                           const char *path,
                           ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_BLOCKDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує блоковий пристрій із вказаною
назвою C<шлях>.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується блоковим пристроєм.

Ця команда лише шукає файли у файловій системі гостьової системи. У цій
команді як параметр C<шлях> не можна використовувати розділи і блокові
пристрої libguestfs (наприклад F</dev/sda>).

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.10)

=head2 guestfs_is_blockdev_opts_va

 int
 guestfs_is_blockdev_opts_va (guestfs_h *g,
                              const char *path,
                              va_list args);

Це «варіант з va_list» L</guestfs_is_blockdev_opts>

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_blockdev_opts_argv

 int
 guestfs_is_blockdev_opts_argv (guestfs_h *g,
                                const char *path,
                                const struct guestfs_is_blockdev_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_blockdev_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_busy

 int
 guestfs_is_busy (guestfs_h *g);

Ця функція завжди повертає false. Ця функція вважається застарілою і не має
новішого аналогу. Не використовуйте цю функцію.

Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.2)

=head2 guestfs_is_chardev

 int
 guestfs_is_chardev (guestfs_h *g,
                     const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_chardev_opts> без додаткових
аргументів.

(Додано у 1.5.10)



=head2 guestfs_is_chardev_opts

 int
 guestfs_is_chardev_opts (guestfs_h *g,
                          const char *path,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_CHARDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує символьний пристрій із вказаною
назвою C<шлях>.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується символьним пристроєм.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.10)

=head2 guestfs_is_chardev_opts_va

 int
 guestfs_is_chardev_opts_va (guestfs_h *g,
                             const char *path,
                             va_list args);

Це «варіант з va_list» L</guestfs_is_chardev_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_chardev_opts_argv

 int
 guestfs_is_chardev_opts_argv (guestfs_h *g,
                               const char *path,
                               const struct guestfs_is_chardev_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_chardev_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_config

 int
 guestfs_is_config (guestfs_h *g);

Повертає true тоді і лише тоді, коли налаштовується цей дескриптор (у стані
C<CONFIG>).

Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.2)

=head2 guestfs_is_dir

 int
 guestfs_is_dir (guestfs_h *g,
                 const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_dir_opts> без додаткових
аргументів.

(Додано у 0.8)



=head2 guestfs_is_dir_opts

 int
 guestfs_is_dir_opts (guestfs_h *g,
                      const char *path,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_DIR_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує каталог із вказаною назвою
C<шлях>. Зауважте, що команда повертає false для усіх інших об'єктів,
зокрема файлів.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується каталогом.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_is_dir_opts_va

 int
 guestfs_is_dir_opts_va (guestfs_h *g,
                         const char *path,
                         va_list args);

Це «варіант з va_list» L</guestfs_is_dir_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_dir_opts_argv

 int
 guestfs_is_dir_opts_argv (guestfs_h *g,
                           const char *path,
                           const struct guestfs_is_dir_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_dir_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_fifo

 int
 guestfs_is_fifo (guestfs_h *g,
                  const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_fifo_opts> без додаткових
аргументів.

(Додано у 1.5.10)



=head2 guestfs_is_fifo_opts

 int
 guestfs_is_fifo_opts (guestfs_h *g,
                       const char *path,
                       ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_FIFO_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує FIFO (іменований канал) із вказаною
назвою C<шлях>.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується FIFO.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.10)

=head2 guestfs_is_fifo_opts_va

 int
 guestfs_is_fifo_opts_va (guestfs_h *g,
                          const char *path,
                          va_list args);

Це «варіант з va_list» L</guestfs_is_fifo_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_fifo_opts_argv

 int
 guestfs_is_fifo_opts_argv (guestfs_h *g,
                            const char *path,
                            const struct guestfs_is_fifo_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_fifo_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_file

 int
 guestfs_is_file (guestfs_h *g,
                  const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_file_opts> без додаткових
аргументів.

(Додано у 0.8)



=head2 guestfs_is_file_opts

 int
 guestfs_is_file_opts (guestfs_h *g,
                       const char *path,
                       ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_FILE_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує звичайний файл із вказаною назвою
C<шлях>. Зауважте, що команда повертає false для усіх інших об'єктів,
зокрема каталогів.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується файлом.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_is_file_opts_va

 int
 guestfs_is_file_opts_va (guestfs_h *g,
                          const char *path,
                          va_list args);

Це «варіант з va_list» L</guestfs_is_file_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_file_opts_argv

 int
 guestfs_is_file_opts_argv (guestfs_h *g,
                            const char *path,
                            const struct guestfs_is_file_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_file_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_launching

 int
 guestfs_is_launching (guestfs_h *g);

Ця функція повертає true тоді і лише тоді, коли дескриптор запускає
підпроцес (у стані C<LAUNCHING>).

Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.2)

=head2 guestfs_is_lv

 int
 guestfs_is_lv (guestfs_h *g,
                const char *mountable);

Ця команда перевіряє, чи є C<монтування> логічним томом, і повертає true
тоді і лише тоді, коли це так.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.3)

=head2 guestfs_is_ready

 int
 guestfs_is_ready (guestfs_h *g);

Ця функція повертає true тоді і лише тоді, коли дескриптор готовий до
отримання команд (у стані C<READY>).

Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.0.2)

=head2 guestfs_is_socket

 int
 guestfs_is_socket (guestfs_h *g,
                    const char *path);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_is_socket_opts> без додаткових
аргументів.

(Додано у 1.5.10)



=head2 guestfs_is_socket_opts

 int
 guestfs_is_socket_opts (guestfs_h *g,
                         const char *path,
                         ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_IS_SOCKET_OPTS_FOLLOWSYMLINKS, int followsymlinks,

Повертає C<true> і лише тоді, якщо існує сокет домену UNIX із вказаною
назвою C<шлях>.

Якщо додатковий прапорець C<followsymlinks> має значення true, функція
поверне true, якщо існує символічне посилання (або ланцюжок символічних
посилань), який завершується сокетом.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.10)

=head2 guestfs_is_socket_opts_va

 int
 guestfs_is_socket_opts_va (guestfs_h *g,
                            const char *path,
                            va_list args);

Це «варіант з va_list» L</guestfs_is_socket_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_socket_opts_argv

 int
 guestfs_is_socket_opts_argv (guestfs_h *g,
                              const char *path,
                              const struct guestfs_is_socket_opts_argv *optargs);

Це «варіант з argv» L</guestfs_is_socket_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_is_symlink

 int
 guestfs_is_symlink (guestfs_h *g,
                     const char *path);

Повертає C<true> і лише тоді, якщо існує символічне посилання із вказаною
назвою C<шлях>.

Див. також C<guestfs_stat>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.5.10)

=head2 guestfs_is_whole_device

 int
 guestfs_is_whole_device (guestfs_h *g,
                          const char *device);

Ця команда повертає C<true> тоді і лише тоді, коли C<пристрій> стосується
повного блокового пристрою, тобто не розділу і не логічного пристрою.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.21.9)

=head2 guestfs_is_zero

 int
 guestfs_is_zero (guestfs_h *g,
                  const char *path);

Повертає true тоді і лише тоді, коли файл існує і є порожнім або містить
лише нульові байти.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.11.8)

=head2 guestfs_is_zero_device

 int
 guestfs_is_zero_device (guestfs_h *g,
                         const char *device);

Повертає true тоді і лише тоді, коли пристрій існує і містить лише нульові
байти.

Зауважте, що на пристроях великого об'єму виконання цієї програми може бути
досить тривалим.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.11.8)

=head2 guestfs_isoinfo

 struct guestfs_isoinfo *
 guestfs_isoinfo (guestfs_h *g,
                  const char *isofile);

Це те саме, що і C<guestfs_isoinfo_device>, але працює для файла ISO,
розташованого всередині якоїсь іншої змонтованої файлової системи. Зауважте,
що у типовому випадку, коли ви додали файл ISO як пристрій libguestfs, вам
I<не> слід викликати цю команду. Замість цього, слід викликати
C<guestfs_isoinfo_device>.

Ця функція повертає C<struct guestfs_isoinfo *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_isoinfo>>.

(Додано у 1.17.19)

=head2 guestfs_isoinfo_device

 struct guestfs_isoinfo *
 guestfs_isoinfo_device (guestfs_h *g,
                         const char *device);

C<пристрій> є пристроєм ISO. Ця команда повертає структуру даних, прочитану
з дескриптора основного тому (еквівалента суперблоку у ISO) вказаного
пристрою.

Зазвичай, ефективніше скористатися командою L<isoinfo(1)> з параметром I<-d>
у основній системі для аналізу файлів ISO, а не використовувати засоби
libguestfs.

For information on the primary volume descriptor fields, see
L<https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor>

Ця функція повертає C<struct guestfs_isoinfo *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_isoinfo>>.

(Додано у 1.17.19)

=head2 guestfs_journal_close

 int
 guestfs_journal_close (guestfs_h *g);

Завершити роботу обробника журналу.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_get

 struct guestfs_xattr_list *
 guestfs_journal_get (guestfs_h *g);

Читає поточний запис журналу. Команда повертає усі поля у журналі як набір
пар значень C<(назва_атрибута, значення_атрибута)>. Значенням
C<назва_атрибута> є назва поля (рядок).

Значенням C<значення_атрибута> є значення поля (двійковий набір даних,
часто, але не завжди, рядок). Будь ласка, зауважте, що C<значення_атрибута>
є масивом байтів, а I<не> рядком C, який завершується символом \0.

Дані може бути обрізано за пороговою довжиною
(див. C<guestfs_journal_set_data_threshold>,
C<guestfs_journal_get_data_threshold>).

Якщо ви не обмежуєте порогове значення даних (C<0>), ця команда може
прочитати запис журналу довільного розміру, тобто розмір не обмежуватиметься
протоколом libguestfs.

Ця функція повертає C<struct guestfs_xattr_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_xattr_list>>.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_get_data_threshold

 int64_t
 guestfs_journal_get_data_threshold (guestfs_h *g);

Отримує поточне значення порогу даних для читання записів журналу. Це
значення є підказкою журналу щодо того, що засіб журналювання може обрізати
поля даних до цього розміру під час читання (зауважте також, що засіб
журналювання може і не обрізати їх). Якщо команда повертає C<0>, порогове
обмеження не встановлено.

Див. також C<guestfs_journal_set_data_threshold>

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_get_realtime_usec

 int64_t
 guestfs_journal_get_realtime_usec (guestfs_h *g);

Отримує поточну часову позначку (за годинником системи) поточного запису
журналу

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.27.18)

=head2 guestfs_journal_next

 int
 guestfs_journal_next (guestfs_h *g);

Переводить до наступного запису журналу. Вам слід викликати цю команду
принаймні один раз, одразу після відкриття дескриптора, перш ніж ви зможете
читати дані.

Ця команда повертає булеве значення, яке повідомляє вам, чи існують ще
записи журналу для читання. Значення C<true> означає, що ви можете прочитати
наступний запис (наприклад, за допомогою C<guestfs_journal_get>), а значення
C<false> означає, що досягнуто кінця журналу.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_open

 int
 guestfs_journal_open (guestfs_h *g,
                       const char *directory);

Відкриває журналу systemd, який зберігається у каталозі F<каталог>. Усі
раніше відкриті дескриптори журналу при цьому буде закрито.

Вміст журналу можна прочитати за допомогою C<guestfs_journal_next> і
C<guestfs_journal_get>.

Після завершення використання журналу вам слід закрити дескриптор викликом
C<guestfs_journal_close>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_set_data_threshold

 int
 guestfs_journal_set_data_threshold (guestfs_h *g,
                                     int64_t threshold);

Встановлює значення порогу даних для читання записів журналу. Це значення є
підказкою журналу щодо того, що засіб журналювання може обрізати поля даних
до цього розміру під час читання (зауважте також, що засіб журналювання може
і не обрізати їх). Якщо ви встановите значення C<0>, порогове обмеження
застосовано не буде.

Див. також C<guestfs_journal_get_data_threshold>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_journal_skip

 int64_t
 guestfs_journal_skip (guestfs_h *g,
                       int64_t skip);

Прокручування записів журналу вперед (C<пропуск E<ge> 0>) або назад
(C<пропуск E<lt> 0>).

Команда повертає кількість записів, на яку насправді вдалося просунутися
(зауважте, що S<C<rskip E<ge> 0>>). Якщо повернуте значення не дорівнює
пропуску за модулем (C<|пропуск|>), ви досягли кінця або початку журналу.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<journal>. Див. також
L</guestfs_feature_available>.

(Додано у 1.23.11)

=head2 guestfs_kill_subprocess

 int
 guestfs_kill_subprocess (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_shutdown>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда завершує роботу гіпервізору.

Не викликайте цю функцію. Замість неї слід використовувати
C<guestfs_shutdown>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_launch

 int
 guestfs_launch (guestfs_h *g);

Вам слід викликати цю команду після налаштовування дескриптора (наприклад,
після додавання дисків), але перед виконанням із ним будь-яких інших дій.

Не викликайте C<guestfs_launch> двічі для одного і того самого
дескриптора. Хоча такий виклик і не призведе до помилки (з історичних
причин), точну поведінку бібліотеки у цьому випадку не
визначено. Дескриптори є доволі невибагливими до ресурсів об'єктами, тому
варто створювати окремий новий дескриптор для кожного запуску.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 0.3)

=head2 guestfs_lchown

 int
 guestfs_lchown (guestfs_h *g,
                 int owner,
                 int group,
                 const char *path);

Змінює власника файла на C<власник> і групу на C<група>. Команда подібна до
C<guestfs_chown>, але якщо C<шлях> є символічним посиланням, буде змінено
параметри самого посилання, а не файла чи каталогу, на яке воно вказує.

Передбачено підтримку лише числових uid і gid. Якщо ви хочете скористатися
текстовими назвами, вам доведеться знайти і обробити файл паролів власноруч
(підтримка Augeas робить це завдання відносно простим).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_ldmtool_create_all

 int
 guestfs_ldmtool_create_all (guestfs_h *g);

Ця функція сканує усі блокові пристрої, шукаючи динамічні томи дисків і
розділи, а потім створює пристрої для усіх знайдених записів.

Викликати C<guestfs_list_ldm_volumes> і C<guestfs_list_ldm_partitions> для
повернення списку усіх пристроїв.

Зауважте, що зазвичай вам B<не> потрібно викликати цю команду явним чином,
оскільки вона виконується автоматично під час виконання
C<guestfs_launch>. Втім, може виникнути потреба у виклику цієї функції, якщо
ви з'єднували диски у «гарячому» режимі або щойно створили динамічний диск
Windows.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_diskgroup_disks

 char **
 guestfs_ldmtool_diskgroup_disks (guestfs_h *g,
                                  const char *diskgroup);

Повертає диски у групі динамічних дисків Windows. Значенням параметра
C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який
повертає C<guestfs_ldmtool_scan>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_diskgroup_name

 char *
 guestfs_ldmtool_diskgroup_name (guestfs_h *g,
                                 const char *diskgroup);

Повертає назву групи динамічних дисків Windows. Значенням параметра
C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який
повертає C<guestfs_ldmtool_scan>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_diskgroup_volumes

 char **
 guestfs_ldmtool_diskgroup_volumes (guestfs_h *g,
                                    const char *diskgroup);

Повертає томи у групі динамічних дисків Windows. Значенням параметра
C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який
повертає C<guestfs_ldmtool_scan>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_remove_all

 int
 guestfs_ldmtool_remove_all (guestfs_h *g);

Загалом, ця функція є оберненою до C<guestfs_ldmtool_create_all>. Вона
вилучає прив'язки пристроїв для усіх томів динамічних дисків Windows.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_scan

 char **
 guestfs_ldmtool_scan (guestfs_h *g);

Ця функція шукає динамічні диски Windows. Вона повертає список
ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці
ідентифікатори можна передавати іншим функціям C<guestfs_ldmtool_*>.

Ця функція сканує усі блокові пристрої. Щоб виконати сканування якоїсь
підмножини блокових пристроїв, скористайтеся функцією
C<guestfs_ldmtool_scan_devices>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_scan_devices

 char **
 guestfs_ldmtool_scan_devices (guestfs_h *g,
                               char *const *devices);

Ця функція шукає динамічні диски Windows. Вона повертає список
ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці
ідентифікатори можна передавати іншим функціям C<guestfs_ldmtool_*>.

Параметр C<пристрої> є списком блокових пристроїв, на яких слід виконати
пошук. Якщо список є порожнім, буде виконано сканування усіх блокових
пристроїв.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_volume_hint

 char *
 guestfs_ldmtool_volume_hint (guestfs_h *g,
                              const char *diskgroup,
                              const char *volume);

Повертає поле підказки для тому із назвою C<том> у групі дисків із GUID
C<група_дисків>. Таку підказку може бути не визначено. Якщо підказку не
визначено, команда поверне порожній рядок. У полі підказки часто, але не
завжди, міститься назва диска у Windows, наприклад C<E:>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_volume_partitions

 char **
 guestfs_ldmtool_volume_partitions (guestfs_h *g,
                                    const char *diskgroup,
                                    const char *volume);

Повертає список розділів на томі із назвою C<том> у групі дисків із GUID
C<група_дисків>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_ldmtool_volume_type

 char *
 guestfs_ldmtool_volume_type (guestfs_h *g,
                              const char *diskgroup,
                              const char *volume);

Повертає тип тому із назвою C<том> у групі дисків із GUID C<група_дисків>.

Можливими типами томів, які повертає ця команда є такі: C<simple>,
C<spanned>, C<striped>, C<mirrored>, C<raid5>. Також може бути повернуто
інші типи.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_lgetxattr

 char *
 guestfs_lgetxattr (guestfs_h *g,
                    const char *path,
                    const char *name,
                    size_t *size_r);

Отримати окремий розширений атрибут з файла C<шлях> за назвою C<назва>. Якщо
C<шлях> є символічним посиланням, ця команда поверне розширений атрибут з
символічного посилання.

Зазвичай, краще отримати усі розширені атрибути файла одним викликом
C<guestfs_getxattrs>. Втім, у реалізації деяких файлових систем у Linux є
вади, які заважають отримання повного списку атрибутів. Для таких файлових
систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви
потрібних вам розширених атрибутів і викликати цю функцію.

Значеннями розширених атрибутів є блоки двійкових даних. Якщо розширеного
атрибута із назвою C<назва> не існує, командою буде повернуто повідомлення
про помилку.

Див. також C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.7.24)

=head2 guestfs_lgetxattrs

 struct guestfs_xattr_list *
 guestfs_lgetxattrs (guestfs_h *g,
                     const char *path);

Те саме, що і C<guestfs_getxattrs>, але якщо C<шлях> є символічним
посиланням, повертає розширені атрибути самого символічного посилання.

Ця функція повертає C<struct guestfs_xattr_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_xattr_list>>.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_list_9p

 char **
 guestfs_list_9p (guestfs_h *g);

Виводить список усіх файлових систем 9p, з'єднаних із гостьовою
системою. Повертає список теґів монтування.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.11.12)

=head2 guestfs_list_devices

 char **
 guestfs_list_devices (guestfs_h *g);

Вивести список усіх блокових пристроїв.

Буде повернуто повні назви блокових пристроїв, наприклад F</dev/sda>.

Див. також C<guestfs_list_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.4)

=head2 guestfs_list_disk_labels

 char **
 guestfs_list_disk_labels (guestfs_h *g);

Якщо ви додаєте диски з використанням необов'язкового параметра C<label>
команди C<guestfs_add_drive_opts>, ви можете скористатися цією командою для
прив'язування міток до простих блокових пристроїв та назв розділів
(наприклад F</dev/sda> та F</dev/sda1>).

Ця команда повертає таблицю хешів, у якій ключами є мітки дисків (I<без>
префіксів F</dev/disk/guestfs>), а значеннями є повні назви простих блокових
пристроїв та розділів (наприклад F</dev/sda> і F</dev/sda1>).

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.19.49)

=head2 guestfs_list_dm_devices

 char **
 guestfs_list_dm_devices (guestfs_h *g);

Виводить список усіх пристроїв засобу прив'язування пристроїв.

У повернутому списку міститимуться пристрої F</dev/mapper/*>, наприклад,
пристрої, створені попереднім викликом C<guestfs_luks_open>.

Пристрої засобу прив'язування пристроїв, які відповідають логічним томам
I<не> буде включено до повернутого списку. Якщо вам потрібен список логічних
томів, скористайтеся командою C<guestfs_lvs>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.11.15)

=head2 guestfs_list_filesystems

 char **
 guestfs_list_filesystems (guestfs_h *g);

Ця команда засобу інспектування шукає усі файлові системи на розділах,
блокових пристроях та логічних томах і повертає список C<монтувань>, де
містяться дані щодо файлових систем та їхнього типу.

Повернуте значення є хешем, де ключами є пристрої, на яких містяться файлові
системи, а значеннями є типи файлових систем. Приклад:

 "/dev/sda1" => "ntfs"
 "/dev/sda2" => "ext2"
 "/dev/vg_guest/lv_root" => "ext4"
 "/dev/vg_guest/lv_swap" => "swap"

Ключем не обов'язково є блоковий пристрій. Ним також може бути не зовсім
прозорий рядок «mountable», який можна передавати C<guestfs_mount>.

Значенням може бути особливий рядок «unknown», який означає, що вміст
пристрою не вдалося визначити або пристрій є порожнім. Рядок «swap» означає
розділ резервної пам'яті Linux.

У libguestfs E<le> 1.36 ця команда запускає інші команди libguestfs, серед
яких можуть бути команди C<guestfs_mount> і C<guestfs_umount>. Тому її слід
віддавати поближче до launch і лише тоді, коли ще нічого не змонтовано. Це
обмеження було усунено у libguestfs E<ge> 1.38.

Не усі файлові системи із повернутого списку є придатними до
монтування. Зокрема, у списку можуть бути розділи резервної пам'яті. Крім
того, ця команда не перевіряє, чи є кожна зі знайдених файлових систем
коректною і придатною до монтування. Деякі із систем можуть бути придатними
до монтування, але потребувати спеціальних параметрів. Файлові системи
можуть належати різним логічним операційними системами (для пошуку
операційних систем скористайтеся командою C<guestfs_inspect_os>).

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.5.15)

=head2 guestfs_list_ldm_partitions

 char **
 guestfs_list_ldm_partitions (guestfs_h *g);

Ця функція повертає усі розділи динамічних дисків Windows, які було знайдено
на час запуску. Повернутим значенням є список назв пристроїв.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_list_ldm_volumes

 char **
 guestfs_list_ldm_volumes (guestfs_h *g);

Ця функція повертає усі томи динамічних дисків Windows, які було знайдено на
час запуску. Повернутим значенням є список назв пристроїв.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<ldm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.20.0)

=head2 guestfs_list_md_devices

 char **
 guestfs_list_md_devices (guestfs_h *g);

Вивести список усіх пристроїв md у Linux.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.15.4)

=head2 guestfs_list_partitions

 char **
 guestfs_list_partitions (guestfs_h *g);

Вивести усі розділи, визначені як блокові пристрої.

Буде повернуто назви пристроїв розділів повністю, наприклад F</dev/sda1>

Не повертає логічних томів. Для логічних томів слід викликати
C<guestfs_lvs>.

Див. також C<guestfs_list_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.4)

=head2 guestfs_ll

 char *
 guestfs_ll (guestfs_h *g,
             const char *directory);

List the files in F<directory> (relative to the root directory, there is no
cwd) in the format of C<ls -la>.

Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не>
призначено для випадків, коли ви намагаєтеся обробити виведений командою
рядок.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 0.4)

=head2 guestfs_llz

 char *
 guestfs_llz (guestfs_h *g,
              const char *directory);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_lgetxattrs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

List the files in F<directory> in the format of C<ls -laZ>.

Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не>
призначено для випадків, коли ви намагаєтеся обробити виведений командою
рядок.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.17.6)

=head2 guestfs_ln

 int
 guestfs_ln (guestfs_h *g,
             const char *target,
             const char *linkname);

This command creates a hard link.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_ln_f

 int
 guestfs_ln_f (guestfs_h *g,
               const char *target,
               const char *linkname);

This command creates a hard link, removing the link C<linkname> if it exists
already.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_ln_s

 int
 guestfs_ln_s (guestfs_h *g,
               const char *target,
               const char *linkname);

Ця команда створює символічне посилання за допомогою команди C<ln -s>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_ln_sf

 int
 guestfs_ln_sf (guestfs_h *g,
                const char *target,
                const char *linkname);

Ця команда створює символічне посилання за допомогою команди C<ln
-sf>. Наявність параметра I<-f> вилучає посилання (C<назва_посилання>), якщо
таке вже існує.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_lremovexattr

 int
 guestfs_lremovexattr (guestfs_h *g,
                       const char *xattr,
                       const char *path);

Те саме, що і C<guestfs_removexattr>, але якщо C<path> є символічним
посиланням, вилучає розширені атрибути самого символічного посилання.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_ls

 char **
 guestfs_ls (guestfs_h *g,
             const char *directory);

List the files in F<directory> (relative to the root directory, there is no
cwd).  The C<.> and C<..> entries are not returned, but hidden files are
shown.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.4)

=head2 guestfs_ls0

 int
 guestfs_ls0 (guestfs_h *g,
              const char *dir,
              const char *filenames);

Цю спеціалізовану команду використовують для отримання списку назв файлів у
каталозі C<каталог>. Список назв файлів буде записано до локального файла
F<назви_файлів> (у основній системі).

У файлі результатів обробки назви файлів буде відокремлено символами C<\0>.

Серед записів результатів не буде C<.> і C<..>. Назви файлів не
упорядковуватимуться.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.32)

=head2 guestfs_lsetxattr

 int
 guestfs_lsetxattr (guestfs_h *g,
                    const char *xattr,
                    const char *val,
                    int vallen,
                    const char *path);

Те саме, що і C<guestfs_setxattr>, але якщо C<path> є символічним
посиланням, встановлює розширений атрибут самого символічного посилання.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_lstat

 struct guestfs_stat *
 guestfs_lstat (guestfs_h *g,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_lstatns>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає дані щодо файла за вказаним шляхом C<шлях>.

Те саме, що і C<guestfs_stat>, але якщо C<path> є символічним посиланням,
статистику буде зібрано для цього посилання, а не для запису, на який воно
посилається.

Це те саме, що системний виклик L<lstat(2)>.

Ця функція повертає C<struct guestfs_stat *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_stat>>.

(Додано у 1.9.2)

=head2 guestfs_lstatlist

 struct guestfs_stat_list *
 guestfs_lstatlist (guestfs_h *g,
                    const char *path,
                    char *const *names);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_lstatnslist>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Цей виклик надає змогу виконувати дію C<guestfs_lstat> над декількома
файлами, які зберігаються у каталозі C<path>. Значенням аргументу C<names> є
список файлів у цьому каталозі.

Команда повертає список структур статистичних даних із однозначною
відповідністю до списку C<назви>. Якщо якоїсь із назв не існує або для
якоїсь із назв не вдасться зібрати статистичні дані, для поля C<st_ino>
структури буде встановлено значення C<-1>.

Цю команду призначено для програм, яким потрібно ефективно будувати список
вмісту каталогів без виконання багатьох обходів. Див. також
C<guestfs_lxattrlist>, якщо потрібний подібний ефективний підхід для
отримання розширених атрибутів.

Ця функція повертає C<struct guestfs_stat_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_stat_list>>.

(Додано у 1.0.77)

=head2 guestfs_lstatns

 struct guestfs_statns *
 guestfs_lstatns (guestfs_h *g,
                  const char *path);

Повертає дані щодо файла за вказаним шляхом C<шлях>.

Те саме, що і C<guestfs_statns>, але якщо C<path> є символічним посиланням,
статистику буде зібрано для цього посилання, а не для запису, на який воно
посилається.

Це те саме, що системний виклик L<lstat(2)>.

Ця функція повертає C<struct guestfs_statns *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_statns>>.

(Додано у 1.27.53)

=head2 guestfs_lstatnslist

 struct guestfs_statns_list *
 guestfs_lstatnslist (guestfs_h *g,
                      const char *path,
                      char *const *names);

Цей виклик надає змогу виконувати дію C<guestfs_lstatns> над декількома
файлами, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є
список файлів у цьому каталозі.

Команда повертає список структур статистичних даних із однозначною
відповідністю до списку C<назви>. Якщо якоїсь із назв не існує або для
якоїсь із назв не вдасться зібрати статистичні дані, для поля C<st_ino>
структури буде встановлено значення C<-1>.

Цю команду призначено для програм, яким потрібно ефективно будувати список
вмісту каталогів без виконання багатьох обходів. Див. також
C<guestfs_lxattrlist>, якщо потрібний подібний ефективний підхід для
отримання розширених атрибутів.

Ця функція повертає C<struct guestfs_statns_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_statns_list>>.

(Додано у 1.27.53)

=head2 guestfs_luks_add_key

 int
 guestfs_luks_add_key (guestfs_h *g,
                       const char *device,
                       const char *key,
                       const char *newkey,
                       int keyslot);

Ця команда додає новий ключ на пристрій LUKS C<пристрій>. Ключем C<ключ> є
будь-який наявний ключ, його буде використано для доступу до
пристрою. Значенням параметра C<новий_ключ> є новий ключ, який слід
додати. Значенням параметра C<слот_ключів> є слот ключів, який має бути
замінено.

Зауважте, що якщо у слоті C<keyslot> вже міститься ключ, успішно виконати цю
команду не вдасться. Вам доведеться спочатку скористатися командою
C<guestfs_luks_kill_slot> для вилучення наявного ключа.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.2)

=head2 guestfs_luks_close

 int
 guestfs_luks_close (guestfs_h *g,
                     const char *device);

I<This function is deprecated.> In new code, use the
L</guestfs_cryptsetup_close> call instead.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда закриває пристрій LUKS, який раніше було створено за допомогою
C<guestfs_luks_open> або C<guestfs_luks_open_ro>. Значенням параметра
C<device> має бути назва пристрою прив'язки LUKS (тобто
F</dev/mapper/назва_прив'язки>), а I<не> назва підлеглого блокового
пристрою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.1)

=head2 guestfs_luks_format

 int
 guestfs_luks_format (guestfs_h *g,
                      const char *device,
                      const char *key,
                      int keyslot);

This command erases existing data on C<device> and formats the device as a
LUKS encrypted device.  C<key> is the initial key, which is added to key
slot C<keyslot>.  (LUKS supports 8 key slots, numbered 0-7).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.2)

=head2 guestfs_luks_format_cipher

 int
 guestfs_luks_format_cipher (guestfs_h *g,
                             const char *device,
                             const char *key,
                             int keyslot,
                             const char *cipher);

Ця команда виконує ті самі дії, що і C<guestfs_luks_format>, але, крім того,
надає вам змогу вказати використане C<cipher>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.2)

=head2 guestfs_luks_kill_slot

 int
 guestfs_luks_kill_slot (guestfs_h *g,
                         const char *device,
                         const char *key,
                         int keyslot);

Ця команда вилучає ключ у слоті ключів C<слот_ключів> із зашифрованого
пристрою LUKS C<пристрій>. Значенням параметра C<ключ> має бути один з
I<інших> ключів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.2)

=head2 guestfs_luks_open

 int
 guestfs_luks_open (guestfs_h *g,
                    const char *device,
                    const char *key,
                    const char *mapname);

I<This function is deprecated.> In new code, use the
L</guestfs_cryptsetup_open> call instead.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда відкриває блоковий пристрій, який було зашифровано відповідно до
стандарту Linux Unified Key Setup (LUKS).

C<пристрій> — шифрований блоковий пристрій або розділ.

Засіб виклику має надати один з ключів, пов'язаних із блоковим пристроєм
LUKS, у параметрі C<ключ>.

Ця команда створює блоковий пристрій із назвою
F</dev/mapper/назва_прив'язки>. Читання та запис на цій блоковий пристрій
відбувається із розшифровуванням та шифруванням на підлеглому пристрої
C<пристрій>.

Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх
можна зробити за допомогою виклику L<guestfs_lvm_scan> зі значенням
параметра C<activate> рівним C<true>.

Скористайтеся командою C<guestfs_list_dm_devices>, щоб отримати список усіх
пристроїв засобу прив'язування пристроїв.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.1)

=head2 guestfs_luks_open_ro

 int
 guestfs_luks_open_ro (guestfs_h *g,
                       const char *device,
                       const char *key,
                       const char *mapname);

I<This function is deprecated.> In new code, use the
L</guestfs_cryptsetup_open> call instead.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Виконує ті самі дії, що і C<guestfs_luks_open>, але зі створенням прив'язки,
яка придатна лише для читання даних.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути
конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом
L</КЛЮЧІ І ПАРОЛІ>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.1)

=head2 guestfs_luks_uuid

 char *
 guestfs_luks_uuid (guestfs_h *g,
                    const char *device);

This returns the UUID of the LUKS device C<device>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<luks>. Див. також
L</guestfs_feature_available>.

(Added in 1.41.9)

=head2 guestfs_lvcreate

 int
 guestfs_lvcreate (guestfs_h *g,
                   const char *logvol,
                   const char *volgroup,
                   int mbytes);

Ця команда створює логічний том LVM із назвою C<логічний_том> у групі томів
C<група_томів> із розміром C<мегабайти> мегабайтів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.8)

=head2 guestfs_lvcreate_free

 int
 guestfs_lvcreate_free (guestfs_h *g,
                        const char *logvol,
                        const char *volgroup,
                        int percent);

Створює логічний том LVM із назвою F</dev/група_томів/логічний_том>, який
використовуватиме приблизно C<відсоткиt> % залишкового вільного місця у
групі томів. Найпоширенішим є використання значення C<відсотки> рівного
C<100> для створення найбільшого можливого логічного тому.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.18)

=head2 guestfs_lvm_canonical_lv_name

 char *
 guestfs_lvm_canonical_lv_name (guestfs_h *g,
                                const char *lvname);

Ця команда перетворює альтернативні схеми найменування логічних томів, які
можуть зустрітися на практиці, на канонічні назви. Приклад:
F</dev/mapper/група_томів-логічний_том> буде перетворено на
F</dev/група_томів/логічний_том>.

This command returns an error if the C<lvname> parameter does not refer to a
logical volume.  In this case errno will be set to C<EINVAL>.

Див. також C<guestfs_is_lv>, C<guestfs_canonical_device_name>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.24)

=head2 guestfs_lvm_clear_filter

 int
 guestfs_lvm_clear_filter (guestfs_h *g);

Скасовує дію C<guestfs_lvm_set_filter>. LVM зможе бачити усі блокові
пристрої.

Крім того, ця команда спорожняє кеш LVM і виконує сканування груп томів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.5.1)

=head2 guestfs_lvm_remove_all

 int
 guestfs_lvm_remove_all (guestfs_h *g);

Ця команда вилучає усі логічні томи, групи томів та фізичні томи LVM.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.8)

=head2 guestfs_lvm_scan

 int
 guestfs_lvm_scan (guestfs_h *g,
                   int activate);

Ця команда виконує сканування усіх блокових пристроїв і повторно будує
список фізичних томів, груп томів та логічних томів LVM.

Якщо параметр C<activate> має значення C<true>, новознайдені групи томів і
логічні томи активуються, тобто пристрої LV F</dev/VG/LV> стають видимими.

Коли запускається обробник libguestfs, він шукає наявні пристрої, тому,
зазвичай, потреби у використанні цього програмного інтерфейсу немає. Втім,
він є корисним, якщо ви додали новий пристрій або вилучили наявний пристрій
(так трапляється при використанні програмного інтерфейсу
C<guestfs_luks_open>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.39.8)

=head2 guestfs_lvm_set_filter

 int
 guestfs_lvm_set_filter (guestfs_h *g,
                         char *const *devices);

Ця команда встановлює фільтр пристроїв LVM так, що LVM зможе «бачити» лише
блокові пристрої зі списку C<пристрої> і ігноруватиме усі інші з'єднані
блокові пристрої.

Там, де образи дисків містять дублікати фізичних томів або груп томів, ця
команда корисна для того, щоб LVM ігнорувала такі дублікати і уникала
конфліктів. Слід також зауважити, що існує два типи дублювання: клоновані
фізичні томи або групи томів, які мають однакові UUIDs; та групи томів, які
не було клоновано, але які мають однакові назви. За звичайних умов,
створення таких дублікатів неможливе, але їх може бути створено за межами
LVM, наприклад, внаслідок клонування образів дисків або втручання до
метаданих LVM.

Крім того, ця команда спорожняє кеш LVM і виконує сканування груп томів.

Ви можете фільтрувати усі блокові пристрої або окремі розділи.

Цією командою не можна користуватися, якщо якась з груп томів
використовується (наприклад, містить змонтовану файлову систему), навіть
якщо ви не викидаєте за допомогою фільтрування цю групу томів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.5.1)

=head2 guestfs_lvremove

 int
 guestfs_lvremove (guestfs_h *g,
                   const char *device);

Вилучає логічний том LVM C<пристрій>, де C<пристрій> — це шлях до логічного
тому, наприклад F</dev/група_томів/логічний_том>.

Ви також можете вилучити усі логічні томи у групі томів, вказавши назву
групи томів, F</dev/група_томів>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.13)

=head2 guestfs_lvrename

 int
 guestfs_lvrename (guestfs_h *g,
                   const char *logvol,
                   const char *newlogvol);

Перейменувати логічний том C<логічний_том> на том із назвою
C<новий_логічний_том>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.83)

=head2 guestfs_lvresize

 int
 guestfs_lvresize (guestfs_h *g,
                   const char *device,
                   int mbytes);

Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM до
розміру C<мегабайти>. Якщо розміри тому зменшуються, дані у відкинутій у
результаті зменшення розмірів частині тому буде втрачено.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.27)

=head2 guestfs_lvresize_free

 int
 guestfs_lvresize_free (guestfs_h *g,
                        const char *lv,
                        int percent);

This expands an existing logical volume C<lv> so that it fills C<pc> % of
the remaining free space in the volume group.  Commonly you would call this
with pc = 100 which expands the logical volume as much as possible, using
all remaining free space in the volume group.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.3)

=head2 guestfs_lvs

 char **
 guestfs_lvs (guestfs_h *g);

Виводить список усіх виявлених логічних томів. Є еквівалентом команди
L<lvs(8)>.

Ця команда повертає список назв пристроїв логічних томів (наприклад
F</dev/VolGroup00/LogVol00>).

Див. також C<guestfs_lvs_full>, C<guestfs_list_filesystems>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_lvs_full

 struct guestfs_lvm_lv_list *
 guestfs_lvs_full (guestfs_h *g);

Виводить список усіх виявлених логічних томів. Є еквівалентом команди
L<lvs(8)>. «Повна» версія включає усі поля.

Ця функція повертає C<struct guestfs_lvm_lv_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_lvm_lv_list>>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_lvuuid

 char *
 guestfs_lvuuid (guestfs_h *g,
                 const char *device);

Ця команда повертає UUID логічного тому LVM C<пристрій>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.87)

=head2 guestfs_lxattrlist

 struct guestfs_xattr_list *
 guestfs_lxattrlist (guestfs_h *g,
                     const char *path,
                     char *const *names);

Цей виклик надає змогу отримувати розширені атрибути декількох файлів, які
зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список
файлів у цьому каталозі.

On return you get a flat list of xattr structs which must be interpreted
sequentially.  The first xattr struct always has a zero-length C<attrname>.
C<attrval> in this struct is zero-length to indicate there was an error
doing C<guestfs_lgetxattr> for this file, I<or> is a C string which is a
decimal number (the number of following attributes for this file, which
could be C<"0">).  Then after the first xattr struct are the zero or more
attributes for the first named file.  This repeats for the second and
subsequent files.

Цю команду призначено для програм, яким потрібно ефективно будувати список
вмісту каталогів без виконання багатьох обходів. Див. також
C<guestfs_lstatlist>, якщо потрібний подібний ефективний підхід для
отримання стандартних статистичних даних.

Ця функція повертає C<struct guestfs_xattr_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_xattr_list>>.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.77)

=head2 guestfs_max_disks

 int
 guestfs_max_disks (guestfs_h *g);

Повертає максимальну кількість дисків, які може бути додано до дескриптора
(наприклад, за допомогою C<guestfs_add_drive_opts> та подібних команд).

Цю функцію було додано у libguestfs 1.19.7. У попередніх версіях libguestfs
діяло обмеження у 25.

Див. L<guestfs(3)/МАКСИМАЛЬНА КІЛЬКІСТЬ ДИСКІВ>, щоб дізнатися більше про
це.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.19.7)

=head2 guestfs_md_create

 int
 guestfs_md_create (guestfs_h *g,
                    const char *name,
                    char *const *devices,
                    ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MD_CREATE_MISSINGBITMAP, int64_t missingbitmap,
 GUESTFS_MD_CREATE_NRDEVICES, int nrdevices,
 GUESTFS_MD_CREATE_SPARE, int spare,
 GUESTFS_MD_CREATE_CHUNK, int64_t chunk,
 GUESTFS_MD_CREATE_LEVEL, const char *level,

Створює пристрій md (RAID) Linux із назвою C<назва> на пристроях зі списку
C<пристрої>.

Додатковими параметрами є:

=over 4

=item C<missingbitmap>

Бітова карта пристроїв, яких не вистачає. Якщо біт встановлено, це означає,
що до масиву додано пристрій, якого не вистачає. Найменший біт відповідає
першому пристрої у масиві.

Приклади:

Якщо C<пристрої = ["/dev/sda"]> і C<missingbitmap = 0x1>,
масивом-результатом має бути C<[E<lt>missingE<gt>, "/dev/sda"]>.

Якщо C<пристрої = ["/dev/sda"]> і C<missingbitmap = 0x2>,
масивом-результатом має бути C<["/dev/sda", E<lt>missingE<gt>]>.

Типовим є значення C<0> (немає пристроїв, яких не вистачає).

Довжина запису C<пристрої> + кількість бітів, встановлених у
C<missingbitmap> має дорівнювати C<nrdevices> + C<spare>.

=item C<nrdevices>

Кількість активних пристроїв RAID.

Якщо не встановлено, типовим значенням є довжина запису C<пристрої> плюс
кількість бітів, які встановлено у C<missingbitmap>.

=item C<spare>

Кількість резервних пристроїв.

Якщо не встановлено, типовим значенням є C<0>.

=item C<chunk>

Розмір фрагмента у байтах.

=item C<level>

The RAID level, which can be one of: C<linear>, C<raid0>, C<0>, C<stripe>,
C<raid1>, C<1>, C<mirror>, C<raid4>, C<4>, C<raid5>, C<5>, C<raid6>, C<6>,
C<raid10>, C<10>.  Some of these are synonymous, and more levels may be
added in future.

Якщо не встановлено, типовим значенням є C<raid1>.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mdadm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.15.6)

=head2 guestfs_md_create_va

 int
 guestfs_md_create_va (guestfs_h *g,
                       const char *name,
                       char *const *devices,
                       va_list args);

Це «варіант з va_list» L</guestfs_md_create>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_md_create_argv

 int
 guestfs_md_create_argv (guestfs_h *g,
                         const char *name,
                         char *const *devices,
                         const struct guestfs_md_create_argv *optargs);

Це «варіант з argv» L</guestfs_md_create>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_md_detail

 char **
 guestfs_md_detail (guestfs_h *g,
                    const char *md);

This command exposes the output of C<mdadm -DY E<lt>mdE<gt>>.  The following
fields are usually present in the returned hash.  Other fields may also be
present.

=over 

=item C<level>

Рівень RAID пристрою MD.

=item C<devices>

Кількість підлеглих пристроїв у пристрої MD.

=item C<metadata>

Використана версія метаданих.

=item C<uuid>

UUID пристрою MD.

=item C<name>

Назва пристрою MD.

=back

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<mdadm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.15.6)

=head2 guestfs_md_stat

 struct guestfs_mdstat_list *
 guestfs_md_stat (guestfs_h *g,
                  const char *md);

Ця команда повертає список підлеглих пристроїв, з яких складається окремий
програмний масив RAID пристрою C<md>.

Щоб отримати список пристроїв програмних RAID, скористайтеся викликом
C<guestfs_list_md_devices>.

Кожна повернута структура відповідає одному пристрою із додатковими
відомостями щодо стану:

=over 4

=item C<mdstat_device>

Назва підлеглого пристрою.

=item C<mdstat_index>

Індекс цього пристрою у масиві.

=item C<mdstat_flags>

Прапорці, пов'язані із цим пристроєм. Ця рядок містить (неупорядкованими)
нуль або більше таких прапорців:

=over 4

=item C<W>

write-mostly

=item C<F>

пристрій працює з помилками

=item C<S>

пристрій є запасною частиною RAID

=item C<R>

заміна

=back

=back

Ця функція повертає C<struct guestfs_mdstat_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_mdstat_list>>.

Працездатність цієї функції залежить від можливості C<mdadm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.21)

=head2 guestfs_md_stop

 int
 guestfs_md_stop (guestfs_h *g,
                  const char *md);

Ця команда деактивує масив MD із назвою C<md>. Роботу пристрою буде
припинено, але без знищення або занулення.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mdadm>. Див. також
L</guestfs_feature_available>.

(Додано у 1.15.6)

=head2 guestfs_mkdir

 int
 guestfs_mkdir (guestfs_h *g,
                const char *path);

Створює каталог із назвою C<шлях>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_mkdir_mode

 int
 guestfs_mkdir_mode (guestfs_h *g,
                     const char *path,
                     int mode);

Ця команда створює каталог, встановлюючи початкові права доступу до нього у
значення C<режим>.

Для типових файлових систем Linux справжній режим доступу, який
встановлюється, визначається виразом C<режим & ~umask & 01777>. У файлових
системах, які не є природними для Linux, цей режим може визначатися у інший
спосіб.

Див. також C<guestfs_mkdir>, C<guestfs_umask>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_mkdir_p

 int
 guestfs_mkdir_p (guestfs_h *g,
                  const char *path);

Створює каталог із назвою C<шлях> зі створенням усіх потрібних проміжних
каталогів. Результат подібний до результату дії команди оболонки C<mkdir
-p>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_mkdtemp

 char *
 guestfs_mkdtemp (guestfs_h *g,
                  const char *tmpl);

Ця команда створює тимчасовий каталог. Значенням параметра C<tmpl> має бути
повна назва шляху до тимчасового каталогу із завершальними шістьма символами
«XXXXXX».

Приклади: «/tmp/myprogXXXXXX» або «/Temp/myprogXXXXXX». Другий варіант є
придатним для файлових систем Windows.

Буде повернуто назву тимчасового каталогу, який було створено.

Тимчасовий каталог буде створено із режимом доступу 0700, його власником
буде користувач root.

За вилучення тимчасового каталогу і його вмісту після використання
відповідає функція виклику.

Див. також L<mkdtemp(3)>

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.54)

=head2 guestfs_mke2fs

 int
 guestfs_mke2fs (guestfs_h *g,
                 const char *device,
                 ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKE2FS_BLOCKSCOUNT, int64_t blockscount,
 GUESTFS_MKE2FS_BLOCKSIZE, int64_t blocksize,
 GUESTFS_MKE2FS_FRAGSIZE, int64_t fragsize,
 GUESTFS_MKE2FS_BLOCKSPERGROUP, int64_t blockspergroup,
 GUESTFS_MKE2FS_NUMBEROFGROUPS, int64_t numberofgroups,
 GUESTFS_MKE2FS_BYTESPERINODE, int64_t bytesperinode,
 GUESTFS_MKE2FS_INODESIZE, int64_t inodesize,
 GUESTFS_MKE2FS_JOURNALSIZE, int64_t journalsize,
 GUESTFS_MKE2FS_NUMBEROFINODES, int64_t numberofinodes,
 GUESTFS_MKE2FS_STRIDESIZE, int64_t stridesize,
 GUESTFS_MKE2FS_STRIPEWIDTH, int64_t stripewidth,
 GUESTFS_MKE2FS_MAXONLINERESIZE, int64_t maxonlineresize,
 GUESTFS_MKE2FS_RESERVEDBLOCKSPERCENTAGE, int reservedblockspercentage,
 GUESTFS_MKE2FS_MMPUPDATEINTERVAL, int mmpupdateinterval,
 GUESTFS_MKE2FS_JOURNALDEVICE, const char *journaldevice,
 GUESTFS_MKE2FS_LABEL, const char *label,
 GUESTFS_MKE2FS_LASTMOUNTEDDIR, const char *lastmounteddir,
 GUESTFS_MKE2FS_CREATOROS, const char *creatoros,
 GUESTFS_MKE2FS_FSTYPE, const char *fstype,
 GUESTFS_MKE2FS_USAGETYPE, const char *usagetype,
 GUESTFS_MKE2FS_UUID, const char *uuid,
 GUESTFS_MKE2FS_FORCECREATE, int forcecreate,
 GUESTFS_MKE2FS_WRITESBANDGROUPONLY, int writesbandgrouponly,
 GUESTFS_MKE2FS_LAZYITABLEINIT, int lazyitableinit,
 GUESTFS_MKE2FS_LAZYJOURNALINIT, int lazyjournalinit,
 GUESTFS_MKE2FS_TESTFS, int testfs,
 GUESTFS_MKE2FS_DISCARD, int discard,
 GUESTFS_MKE2FS_QUOTATYPE, int quotatype,
 GUESTFS_MKE2FS_EXTENT, int extent,
 GUESTFS_MKE2FS_FILETYPE, int filetype,
 GUESTFS_MKE2FS_FLEXBG, int flexbg,
 GUESTFS_MKE2FS_HASJOURNAL, int hasjournal,
 GUESTFS_MKE2FS_JOURNALDEV, int journaldev,
 GUESTFS_MKE2FS_LARGEFILE, int largefile,
 GUESTFS_MKE2FS_QUOTA, int quota,
 GUESTFS_MKE2FS_RESIZEINODE, int resizeinode,
 GUESTFS_MKE2FS_SPARSESUPER, int sparsesuper,
 GUESTFS_MKE2FS_UNINITBG, int uninitbg,

C<mke2fs> використовується для створення файлових систем ext2, ext3 та ext4
на пристрої C<пристрій>.

Необов'язковий параметр C<blockscount> визначає розмір файлової системи у
блоках. Якщо його не вказано, типовим значенням буде розмір пристрою
C<пристрій>. Зауважте, що якщо файлова система буде надто малою для того,
щоб містити журнал, C<mke2fs> без додаткових повідомлень створить файлову
систему ext2.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.44)

=head2 guestfs_mke2fs_va

 int
 guestfs_mke2fs_va (guestfs_h *g,
                    const char *device,
                    va_list args);

Це «варіант з va_list» L</guestfs_mke2fs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mke2fs_argv

 int
 guestfs_mke2fs_argv (guestfs_h *g,
                      const char *device,
                      const struct guestfs_mke2fs_argv *optargs);

Це «варіант з argv» L</guestfs_mke2fs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mke2fs_J

 int
 guestfs_mke2fs_J (guestfs_h *g,
                   const char *fstype,
                   int blocksize,
                   const char *device,
                   const char *journal);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із
зовнішнім журналом на розділі C<журнал>. Вона еквівалентна до такої команди:

 mke2fs -t тип_файлової_системи -b розмір_блоку -J device=<журнал> <пристрій>

Див. також C<guestfs_mke2journal>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.68)

=head2 guestfs_mke2fs_JL

 int
 guestfs_mke2fs_JL (guestfs_h *g,
                    const char *fstype,
                    int blocksize,
                    const char *device,
                    const char *label);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із
зовнішнім журналом на розділі із міткою C<мітка>.

Див. також C<guestfs_mke2journal_L>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.68)

=head2 guestfs_mke2fs_JU

 int
 guestfs_mke2fs_JU (guestfs_h *g,
                    const char *fstype,
                    int blocksize,
                    const char *device,
                    const char *uuid);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із
зовнішнім журналом на розділі із UUID C<uuid>.

Див. також C<guestfs_mke2journal_U>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.68)

=head2 guestfs_mke2journal

 int
 guestfs_mke2journal (guestfs_h *g,
                      int blocksize,
                      const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій>. Вона
еквівалентна до такої команди:

 mke2fs -O пристрій_журналу -b розмір_блоку пристрій

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.68)

=head2 guestfs_mke2journal_L

 int
 guestfs_mke2journal_L (guestfs_h *g,
                        int blocksize,
                        const char *label,
                        const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій> з міткою
C<мітка>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.68)

=head2 guestfs_mke2journal_U

 int
 guestfs_mke2journal_U (guestfs_h *g,
                        int blocksize,
                        const char *uuid,
                        const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mke2fs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій> із UUID
C<uuid>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.68)

=head2 guestfs_mkfifo

 int
 guestfs_mkfifo (guestfs_h *g,
                 int mode,
                 const char *path);

Ця команда створює FIFO (іменований канал даних) із назвою C<path> і режимом
доступу C<mode>. Це просто зручна обгортка до C<guestfs_mknod>.

На відміну від C<guestfs_mknod>, параметр C<mode> B<має> містити лише біти
прав доступу.

На встановлений режим доступу впливає umask.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mknod>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.55)

=head2 guestfs_mkfs

 int
 guestfs_mkfs (guestfs_h *g,
               const char *fstype,
               const char *device);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_mkfs_opts> без додаткових
аргументів.

(Додано у 0.8)



=head2 guestfs_mkfs_opts

 int
 guestfs_mkfs_opts (guestfs_h *g,
                    const char *fstype,
                    const char *device,
                    ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKFS_OPTS_BLOCKSIZE, int blocksize,
 GUESTFS_MKFS_OPTS_FEATURES, const char *features,
 GUESTFS_MKFS_OPTS_INODE, int inode,
 GUESTFS_MKFS_OPTS_SECTORSIZE, int sectorsize,
 GUESTFS_MKFS_OPTS_LABEL, const char *label,

Ця функція створює файлову систему на пристрої C<пристрій>. Типом файлової
системи буде C<тип_файлової_системи>, наприклад C<ext3>.

Необов'язковими аргументами є:

=over 4

=item C<blocksize>

Розмір блоку файлової системи. Підтримувані розміри блоків залежать від типу
файлової системи, але типовими є  C<1024>, C<2048> і C<4096> для файлових
систем ext2/3 Linux.

Для VFAT і NTFS значення параметра C<розмір_блоку> обробляється як бажаний
розмір кластера.

Дані щодо розмірів блоків UFS можна знайти у підручнику до L<mkfs.ufs(8)>.

=item C<features>

Передає параметр I<-O> зовнішній програмі mkfs.

Для деяких типів файлових систем це надає змогу вибрати додаткові можливості
файлової системи. Щоб дізнатися більше, див. L<mke2fs(8)> та L<mkfs.ufs(8)>.

Цей додатковий параметр не можна використовувати для типів файлових систем
C<gfs> та C<gfs2>.

=item C<inode>

Передає параметр I<-I> зовнішній програмі L<mke2fs(8)>, тобто визначає
розмір inode (у поточній версії лише для файлових систем ext2/3/4).

=item C<sectorsize>

Передає параметр I<-S> зовнішній програмі L<mkfs.ufs(8)>, тобто визначає
розмір сектора для файлової системи ufs.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_mkfs_opts_va

 int
 guestfs_mkfs_opts_va (guestfs_h *g,
                       const char *fstype,
                       const char *device,
                       va_list args);

Це «варіант з va_list» L</guestfs_mkfs_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkfs_opts_argv

 int
 guestfs_mkfs_opts_argv (guestfs_h *g,
                         const char *fstype,
                         const char *device,
                         const struct guestfs_mkfs_opts_argv *optargs);

Це «варіант з argv» L</guestfs_mkfs_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkfs_b

 int
 guestfs_mkfs_b (guestfs_h *g,
                 const char *fstype,
                 int blocksize,
                 const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mkfs>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Цей виклик подібний до C<guestfs_mkfs>, але надає вам змогу контролювати
розмір блоку отриманої файлової системи. Набір підтримуваних розмірів блоків
залежить від типу файлової системи, але типовими є C<1024>, C<2048> та
C<4096>.

Для VFAT і NTFS значення параметра C<розмір_блоку> обробляється як бажаний
розмір кластера.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.68)

=head2 guestfs_mkfs_btrfs

 int
 guestfs_mkfs_btrfs (guestfs_h *g,
                     char *const *devices,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKFS_BTRFS_ALLOCSTART, int64_t allocstart,
 GUESTFS_MKFS_BTRFS_BYTECOUNT, int64_t bytecount,
 GUESTFS_MKFS_BTRFS_DATATYPE, const char *datatype,
 GUESTFS_MKFS_BTRFS_LEAFSIZE, int leafsize,
 GUESTFS_MKFS_BTRFS_LABEL, const char *label,
 GUESTFS_MKFS_BTRFS_METADATA, const char *metadata,
 GUESTFS_MKFS_BTRFS_NODESIZE, int nodesize,
 GUESTFS_MKFS_BTRFS_SECTORSIZE, int sectorsize,

Створює файлову систему btrfs із можливим встановленням усіх
налаштувань. Щоб дізнатися більше про додаткові параметри, ознайомтеся зі
сторінкою підручника L<mkfs.btrfs(8)>.

Оскільки дані файлової системи btrfs може бути розподілено між декількома
пристроями, команда приймає непорожній список пристроїв.

Для створення файлових систем скористайтеся C<guestfs_mkfs>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<btrfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.25)

=head2 guestfs_mkfs_btrfs_va

 int
 guestfs_mkfs_btrfs_va (guestfs_h *g,
                        char *const *devices,
                        va_list args);

Це «варіант з va_list» L</guestfs_mkfs_btrfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkfs_btrfs_argv

 int
 guestfs_mkfs_btrfs_argv (guestfs_h *g,
                          char *const *devices,
                          const struct guestfs_mkfs_btrfs_argv *optargs);

Це «варіант з argv» L</guestfs_mkfs_btrfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mklost_and_found

 int
 guestfs_mklost_and_found (guestfs_h *g,
                           const char *mountpoint);

Створює каталог C<lost+found>, зазвичай, у кореневому каталозі файлової
системи ext2/3/4. C<точка_монтування> є каталогом, у якому ми спробуємо
створити каталог C<lost+found>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.56)

=head2 guestfs_mkmountpoint

 int
 guestfs_mkmountpoint (guestfs_h *g,
                       const char *exemptpath);

C<guestfs_mkmountpoint> і C<guestfs_rmmountpoint> є спеціалізованими
викликами, якими можна скористатися для створення додаткових точок
монтування перед монтуванням першої файлової системи.

Ця виклики необхідні I<лише> у дуже обмежених випадках. Основним їхнім
призначенням є випадок, коли ви хочете змонтувати суміш непов'язаних і/або
придатних лише для читання файлових систем разом.

Наприклад, образи компакт-дисків портативних систем часто місять «матрьошку»
з файлових систем: зовнішній шар ISO, образ squashfs всередині і вкладений у
нього образ ext2/3. Розпакувати такий образ у guestfish можна таким чином:

 add-ro Fedora-11-i686-Live.iso
 run
 mkmountpoint /cd
 mkmountpoint /sqsh
 mkmountpoint /ext3fs
 mount /dev/sda /cd
 mount-loop /cd/LiveOS/squashfs.img /sqsh
 mount-loop /sqsh/LiveOS/ext3fs.img /ext3fs

Внутрішню файлову систему тепер розпаковано до точки монтування /ext3fs.

C<guestfs_mkmountpoint> є несумісною з C<guestfs_umount_all>. Якщо ви
спробуєте суміщати ці виклики, можуть статися неочікувані
помилки. Найбезпечніше демонтувати файлові системи вручну, а потім вилучити
точки монтування після використання.

C<guestfs_umount_all> демонтує файлові системи упорядковуючи шляхи так, щоб
у списку найдовші шляхи були першими. Щоб ця команда могла працювати зі
створеними вручну точками монтування, системи має бути змонтовано так, щоб
точки монтування із найбільшим рівнем вкладеності мали найдовші назви
шляхів, як у наведеному вище прикладі.

Докладніше про це тут: L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>

Автоматична синхронізація [див. C<guestfs_set_autosync>, встановлюється
типово на дескрипторах] може спричиняти виклик C<guestfs_umount_all>, коли
дескриптор закривається, що теж може призвести до таких проблем.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.62)

=head2 guestfs_mknod

 int
 guestfs_mknod (guestfs_h *g,
                int mode,
                int devmajor,
                int devminor,
                const char *path);

Створює спеціальні блокові або символьні пристрої або іменовані канали
(FIFO).

Параметр C<режим> має визначати режим доступу з використанням стандартних
сталих. Параметри C<первинний_пристрій> і C<вторинний_пристрій> є номерами
первинного і вторинного пристроїв, які використовуються, лише під час
створення спеціальних блокових та символьних пристроїв.

Зауважте, що, як і у L<mknod(2)>, значення режиму має бути результатом
застосування бітового АБО до значень S_IFBLK, S_IFCHR, S_IFIFO та S_IFSOCK
(інакше цей виклик просто створить звичайний файл). Ці сталі доступні у
стандартних файлах заголовків Linux. Ви також можете скористатися
C<guestfs_mknod_b>, C<guestfs_mknod_c> або C<guestfs_mkfifo>, які є
обгортками навколо цієї команди, які виконують бітове АБО і створюють
відповідну сталу за вас.

На встановлений режим доступу впливає umask.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mknod>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.55)

=head2 guestfs_mknod_b

 int
 guestfs_mknod_b (guestfs_h *g,
                  int mode,
                  int devmajor,
                  int devminor,
                  const char *path);

Створює вузол блокового пристрою із назвою C<path> і режимом доступу C<mode>
та первинний і вторинний пристрої C<devmajor> і C<devminor>. Це лише зручна
обгортка навколо C<guestfs_mknod>.

На відміну від C<guestfs_mknod>, параметр C<mode> B<має> містити лише біти
прав доступу.

На встановлений режим доступу впливає umask.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mknod>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.55)

=head2 guestfs_mknod_c

 int
 guestfs_mknod_c (guestfs_h *g,
                  int mode,
                  int devmajor,
                  int devminor,
                  const char *path);

Створює вузол символьного пристрою із назвою C<path> і режимом доступу
C<mode> та первинний і вторинний пристрої C<devmajor> і C<devminor>. Це лише
зручна обгортка навколо C<guestfs_mknod>.

На відміну від C<guestfs_mknod>, параметр C<mode> B<має> містити лише біти
прав доступу.

На встановлений режим доступу впливає umask.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<mknod>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.55)

=head2 guestfs_mksquashfs

 int
 guestfs_mksquashfs (guestfs_h *g,
                     const char *path,
                     const char *filename,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKSQUASHFS_COMPRESS, const char *compress,
 GUESTFS_MKSQUASHFS_EXCLUDES, char *const *excludes,

Створює файлову систему squashfs для вказаного шляху C<шлях>.

Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано,
виведені дані буде стиснуто за допомогою C<gzip>. Ви також можете вказати
такі рядки для вибору типу стискання squashfs: C<gzip>, C<lzma>, C<lzo>,
C<lz4>, C<xz>.

Іншими необов'язковими параметрами є такі:

=over 4

=item C<excludes>

Список шаблонів. Файли буде виключено, якщо вони відповідатимуть якомусь із
вказаних шаблонів.

=back

Будь ласка, зауважте, що цей програмний інтерфейс може не спрацювати, якщо
ним користуватися для стискання каталогів із великими файлами, зокрема
такими, для яких отримана файлова система squashfs матиме об'єм понад 3 ГБ.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<squashfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.35.25)

=head2 guestfs_mksquashfs_va

 int
 guestfs_mksquashfs_va (guestfs_h *g,
                        const char *path,
                        const char *filename,
                        va_list args);

Це «варіант з va_list» L</guestfs_mksquashfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mksquashfs_argv

 int
 guestfs_mksquashfs_argv (guestfs_h *g,
                          const char *path,
                          const char *filename,
                          const struct guestfs_mksquashfs_argv *optargs);

Це «варіант з argv» L</guestfs_mksquashfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkswap

 int
 guestfs_mkswap (guestfs_h *g,
                 const char *device);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_mkswap_opts> без додаткових
аргументів.

(Додано у 1.0.55)



=head2 guestfs_mkswap_opts

 int
 guestfs_mkswap_opts (guestfs_h *g,
                      const char *device,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKSWAP_OPTS_LABEL, const char *label,
 GUESTFS_MKSWAP_OPTS_UUID, const char *uuid,

Створює розділ резервної пам'яті на диску (swap) Linux на пристрої
C<пристрій>.

За допомогою аргументів параметра C<мітка> і C<uuid> ви можете вказати мітку
і/або UUID для нового розділу резервної пам'яті на диску.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.55)

=head2 guestfs_mkswap_opts_va

 int
 guestfs_mkswap_opts_va (guestfs_h *g,
                         const char *device,
                         va_list args);

Це «варіант з va_list» L</guestfs_mkswap_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkswap_opts_argv

 int
 guestfs_mkswap_opts_argv (guestfs_h *g,
                           const char *device,
                           const struct guestfs_mkswap_opts_argv *optargs);

Це «варіант з argv» L</guestfs_mkswap_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mkswap_L

 int
 guestfs_mkswap_L (guestfs_h *g,
                   const char *label,
                   const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mkswap>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Створює розділ резервної пам'яті на диску на пристрої C<пристрій> зі міткою
C<мітка>.

Зауважте, що не можна додавати мітку резервної пам'яті на диску (swap) до
блокового пристрою (наприклад, до F</dev/sda>), лише до розділу. Здається,
це є обмеженням ядра або інструментів для роботи із розділом резервної
пам'яті на диску.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.55)

=head2 guestfs_mkswap_U

 int
 guestfs_mkswap_U (guestfs_h *g,
                   const char *uuid,
                   const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_mkswap>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Створює розділ резервної пам'яті на диску на пристрої C<пристрій> із UUID
C<uuid>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.55)

=head2 guestfs_mkswap_file

 int
 guestfs_mkswap_file (guestfs_h *g,
                      const char *path);

Створити файл резервної пам’яті.

Ця команда просто записує підпис файла резервної пам'яті на диску до
наявного файла. Для створення самого файла скористайтеся чимось подібним до
C<guestfs_fallocate>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_mktemp

 char *
 guestfs_mktemp (guestfs_h *g,
                 const char *tmpl,
                 ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MKTEMP_SUFFIX, const char *suffix,

Ця команда створює тимчасовий файл. Значенням параметра C<tmpl> має бути
повна назва шляху до тимчасового каталогу із завершальними шістьма символами
«XXXXXX».

Приклади: «/tmp/myprogXXXXXX» або «/Temp/myprogXXXXXX». Другий варіант є
придатним для файлових систем Windows.

Буде повернуто назву тимчасового файла, який було створено.

Тимчасовий файл буде створено із режимом доступу 0600, його власником буде
користувач root.

За вилучення тимчасового файла після використання відповідає функція
виклику.

Якщо буде вказано необов'язковий параметр C<suffix>, до назви тимчасового
файла буде додано вказаний суфікс (наприклад, C<.txt>).

Див. також C<guestfs_mkdtemp>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.19.53)

=head2 guestfs_mktemp_va

 char *
 guestfs_mktemp_va (guestfs_h *g,
                    const char *tmpl,
                    va_list args);

Це «варіант з va_list» L</guestfs_mktemp>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mktemp_argv

 char *
 guestfs_mktemp_argv (guestfs_h *g,
                      const char *tmpl,
                      const struct guestfs_mktemp_argv *optargs);

Це «варіант з argv» L</guestfs_mktemp>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_modprobe

 int
 guestfs_modprobe (guestfs_h *g,
                   const char *modulename);

Завантажує модуль ядра у базовій системі.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxmodules>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.68)

=head2 guestfs_mount

 int
 guestfs_mount (guestfs_h *g,
                const char *mountable,
                const char *mountpoint);

Монтує диск гостьової системи до вказаного місця у файловій системі. Назви
блокових пристроїв визначаються за схемою F</dev/sda>, F</dev/sdb> тощо за
порядком, у якому їх було додано до гостьової системи. Якщо на цих блокових
пристроях містяться розділи, вони матимуть звичні назви (наприклад
F</dev/sda1>). Крім того, можна використовувати назви у стилі LVM
F</dev/VG/LV> або рядки «mountable», які повертають команди
C<guestfs_list_filesystems> та C<guestfs_inspect_get_mountpoints>.

Правила є тими самими, що і для L<mount(2)>: файлову систему має бути
спочатку змонтовано до F</>, а вже потім мають монтуватися інші файлові
системи. Інші файлові системи може бути змонтовано лише до каталогів, які
вже створено у системі.

Змонтована файлова система є придатною до запису, якщо є достатні права
доступу до підлеглого пристрою.

До версії libguestfs 1.13.16 цей виклик неявним чином додавав параметри
монтування C<sync> та C<noatime>. Використання параметра C<sync> значно
уповільнювало запис і спричиняло значні проблеми для користувачів. Якщо ваша
програма має працювати із застарілими версіями libguestfs, краще
скористайтеся C<guestfs_mount_options> (використовуючи порожній рядок як
перший параметр, якщо ви не хочете визначати ніяких нетипових параметрів
монтування).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_mount_9p

 int
 guestfs_mount_9p (guestfs_h *g,
                   const char *mounttag,
                   const char *mountpoint,
                   ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MOUNT_9P_OPTIONS, const char *options,

Монтує файлову систему virtio-9p із міткою C<мітка_монтування> до каталогу
C<точка_монтування>.

Якщо потрібно, до параметрів буде автоматично додано C<trans=virtio>. Усі
інші потрібні параметри можна передати за допомогою необов'язкового
параметра C<options>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.11.12)

=head2 guestfs_mount_9p_va

 int
 guestfs_mount_9p_va (guestfs_h *g,
                      const char *mounttag,
                      const char *mountpoint,
                      va_list args);

Це «варіант з va_list» L</guestfs_mount_9p>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mount_9p_argv

 int
 guestfs_mount_9p_argv (guestfs_h *g,
                        const char *mounttag,
                        const char *mountpoint,
                        const struct guestfs_mount_9p_argv *optargs);

Це «варіант з argv» L</guestfs_mount_9p>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mount_local

 int
 guestfs_mount_local (guestfs_h *g,
                      const char *localmountpoint,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_MOUNT_LOCAL_READONLY, int readonly,
 GUESTFS_MOUNT_LOCAL_OPTIONS, const char *options,
 GUESTFS_MOUNT_LOCAL_CACHETIMEOUT, int cachetimeout,
 GUESTFS_MOUNT_LOCAL_DEBUGCALLS, int debugcalls,

Цей виклик експортує доступну для libguestfs файлову систему до локальної
точки монтування (каталогу) із назвою C<локальна_точка_монтування>. Звичайні
запити щодо читання і запису до файлів і каталогів у каталозі
C<локальна_точка_монтування> переспрямовуватимуться через libguestfs.

Якщо для необов'язкового прапорця C<readonly> встановлено значення true,
спроби запису до файлової системи призводитимуть до помилки C<EROFS>.

Аргументом C<options> має бути список параметрів монтування, відокремлених
комами. Корисну інформацію щодо параметрів можна знайти на сторінці
підручника щодо L<guestmount(1)>.

C<cachetimeout> встановлює час очікування у секундах на отримання записів
каталогу кешування. Типовим значенням є 60 секунд. Див. L<guestmount(1)>,
щоб дізнатися більше.

Якщо для параметра C<debugcalls> встановлено значення true, для кожного
виклику FUSE створюються додаткові діагностичні дані.

Коли C<guestfs_mount_local> повертає керування, файлова система готова, але
не обробляє запити (доступ до неї блокуватиметься). Вам слід викликати
C<guestfs_mount_local_run>, щоб запустити основний цикл обробки.

Із повною документацією можна ознайомитися у розділі L<guestfs(3)/ЛОКАЛЬНЕ
МОНТУВАННЯ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.22)

=head2 guestfs_mount_local_va

 int
 guestfs_mount_local_va (guestfs_h *g,
                         const char *localmountpoint,
                         va_list args);

Це «варіант з va_list» L</guestfs_mount_local>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mount_local_argv

 int
 guestfs_mount_local_argv (guestfs_h *g,
                           const char *localmountpoint,
                           const struct guestfs_mount_local_argv *optargs);

Це «варіант з argv» L</guestfs_mount_local>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_mount_local_run

 int
 guestfs_mount_local_run (guestfs_h *g);

Виконує основний цикл обробки, який перетворює виклики ядра на виклики
libguestfs.

Цю команду слід викликати, лише якщо успішно виконано
C<guestfs_mount_local>. Виклик команди не поверне керування, доки файлову
систему не буде змонтовано.

B<Зауваження>: I<не> виконуйте конкурентні виклики libguestfs щодо одного
дескриптора з різних потоків обробки.

Ви можете викликати цю команду із іншого потоку обробки ніж той, з якого
викликано L</guestfs_mount_local>, виконуючи звичні правила щодо роботи з
декількома потоками обробки і libguestfs (див. L<guestfs(3)/ОБРОБКА У
ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ>).

Із повною документацією можна ознайомитися у розділі L<guestfs(3)/ЛОКАЛЬНЕ
МОНТУВАННЯ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.22)

=head2 guestfs_mount_loop

 int
 guestfs_mount_loop (guestfs_h *g,
                     const char *file,
                     const char *mountpoint);

За допомогою цієї команди ви можете змонтувати F<файл> (образ файлової
системи у файлі) до точки монтування. Це точний еквівалент команди C<mount
-o loop файл точка_монтування>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.54)

=head2 guestfs_mount_options

 int
 guestfs_mount_options (guestfs_h *g,
                        const char *options,
                        const char *mountable,
                        const char *mountpoint);

Те саме, що і команда C<guestfs_mount>, але надає вам змогу встановити
параметри монтування, подібно до параметра команди L<mount(8)> I<-o>.

Якщо значенням параметра C<параметри> є порожній рядок, параметри не
передаватимуться (буде використано типовий набір параметрів для файлової
системи).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.10)

=head2 guestfs_mount_ro

 int
 guestfs_mount_ro (guestfs_h *g,
                   const char *mountable,
                   const char *mountpoint);

Те саме, що і команда C<guestfs_mount>, але монтує файлову систему у режимі
лише читання (використовує параметр I<-o ro>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.10)

=head2 guestfs_mount_vfs

 int
 guestfs_mount_vfs (guestfs_h *g,
                    const char *options,
                    const char *vfstype,
                    const char *mountable,
                    const char *mountpoint);

Те саме, що і команда C<guestfs_mount>, але надає вам змогу встановити
параметри монтування і тип файлової системи, подібно до параметрів команди
L<mount(8)> I<-o> і I<-t>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.10)

=head2 guestfs_mountable_device

 char *
 guestfs_mountable_device (guestfs_h *g,
                           const char *mountable);

Повертає назву пристрою для монтування. У переважній кількості випадків
значенням параметра «монтування» є назва пристрою.

Втім, це не стосується підтомів btrfs, де значенням параметра «монтування» є
поєднання назви пристрою та шляху до підтому (див. також
C<guestfs_mountable_subvolume>, щоб дізнатися про те, як визначити шлях до
підтому для монтування, якщо такий передбачено).

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.33.15)

=head2 guestfs_mountable_subvolume

 char *
 guestfs_mountable_subvolume (guestfs_h *g,
                              const char *mountable);

Повертає шлях до підтому для монтування. Монтування підтомів btrfs є
поєднаннями назви пристрою і шляху до підтому (див. також
C<guestfs_mountable_device>, щоб дізнатися про те, як визначити назву
пристрою для монтування).

Якщо монтування є не підтомом btrfs, ця функція завершує роботу із помилкою
і встановлює для C<errno> значення C<EINVAL>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.33.15)

=head2 guestfs_mountpoints

 char **
 guestfs_mountpoints (guestfs_h *g);

Цей виклик подібний до C<guestfs_mounts>. Виклик повертає список
пристроїв. Запис списку є таблицею хешів (картою) з назви пристрою і
каталогу, до якого змонтовано пристрій.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.62)

=head2 guestfs_mounts

 char **
 guestfs_mounts (guestfs_h *g);

Повертає список поточних змонтованих файлових систем. Результатом виконання
є список пристроїв (наприклад, F</dev/sda1>, F</dev/VG/LV>).

Деякі внутрішні монтування не буде включено до списку.

Див. також C<guestfs_mountpoints>

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.8)

=head2 guestfs_mv

 int
 guestfs_mv (guestfs_h *g,
             const char *src,
             const char *dest);

Пересуває файл з адреси C<джерело> до адреси C<призначення>, де значенням
C<призначення> є або назва файла призначення, або назва каталогу
призначення.

Див. також C<guestfs_rename>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_nr_devices

 int
 guestfs_nr_devices (guestfs_h *g);

Повертає кількість усіх доданих блокових пристроїв. Це та сама кількість
пристроїв, яку було б повернуто, якби ви викликали C<guestfs_list_devices>.

Щоб визначити максимальну кількість пристроїв, які може бути додано,
викличте C<guestfs_max_disks>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.19.15)

=head2 guestfs_ntfs_3g_probe

 int
 guestfs_ntfs_3g_probe (guestfs_h *g,
                        int rw,
                        const char *device);

Ця команда запускає програму L<ntfs-3g.probe(8)>, яка зондує пристрій NTFS
C<пристрій> на можливість монтування. (Не усі томи NTFS може бути змонтовано
для читання і запису, а деякі не може бути змонтовано взагалі).

C<rw> є булевим прапорцем. Встановіть значення true, якщо ви хочете
перевірити, чи можна змонтувати том у режимі читання-запису. Встановіть
значення false, якщо ви хочете перевірити, чи може бути змонтовано тому у
режимі лише читання.

Повертає ціле значення рівне C<0>, якщо дію з монтування може бути виконано
успішно, або рівне якомусь іншому значенню, документацію щодо якого можна
знайти на сторінці підручника щодо L<ntfs-3g.probe(8)>.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<ntfs3g>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.43)

=head2 guestfs_ntfscat_i

 int
 guestfs_ntfscat_i (guestfs_h *g,
                    const char *device,
                    int64_t inode,
                    const char *filename);

Отримати файл, заданий за допомогою inode, з файлової системи NTFS і
зберегти його з назвою F<назва файла> на локальній машині.

Надає змогу отримувати недоступні у інший спосіб файли, зокрема файли з теки
C<$Extend>.

Файлову систему, звідки слід видобути файл, має бути демонтовано. Якщо цього
не буде зроблено, виклик завершиться повідомленням про помилку.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.33.14)

=head2 guestfs_ntfsclone_in

 int
 guestfs_ntfsclone_in (guestfs_h *g,
                       const char *backupfile,
                       const char *device);

Відновити C<backupfile> (створений попереднім викликом
C<guestfs_ntfsclone_out>) на пристрої C<device> із перезаписом усього
наявного вмісту пристрою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ntfs3g>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.9)

=head2 guestfs_ntfsclone_out

 int
 guestfs_ntfsclone_out (guestfs_h *g,
                        const char *device,
                        const char *backupfile,
                        ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_NTFSCLONE_OUT_METADATAONLY, int metadataonly,
 GUESTFS_NTFSCLONE_OUT_RESCUE, int rescue,
 GUESTFS_NTFSCLONE_OUT_IGNOREFSCHECK, int ignorefscheck,
 GUESTFS_NTFSCLONE_OUT_PRESERVETIMESTAMPS, int preservetimestamps,
 GUESTFS_NTFSCLONE_OUT_FORCE, int force,

Записати дані файлової системи NTFS з пристрою C<пристрій> до локального
файла C<файл_резервної_копії>. Для файла резервної копії буде використано
спеціальний формат, який використовується програмою L<ntfsclone(8)>.

Якщо для необов'язкового прапорця C<metadataonly> встановлено значення true,
збережено буде I<лише> метадані. Усі дані користувача буде втрачено (такий
режим є корисним для діагностування проблем файлової системи).

Опис необов'язкових прапорців C<rescue>, C<ignorefscheck>,
C<preservetimestamps> та C<force> можна знайти на сторінці підручника
L<ntfsclone(8)>.

Використовує C<guestfs_ntfsclone_in> для відновлення резервної копії у файлі
на пристрої libguestfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ntfs3g>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.9)

=head2 guestfs_ntfsclone_out_va

 int
 guestfs_ntfsclone_out_va (guestfs_h *g,
                           const char *device,
                           const char *backupfile,
                           va_list args);

Це «варіант з va_list» L</guestfs_ntfsclone_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsclone_out_argv

 int
 guestfs_ntfsclone_out_argv (guestfs_h *g,
                             const char *device,
                             const char *backupfile,
                             const struct guestfs_ntfsclone_out_argv *optargs);

Це «варіант з argv» L</guestfs_ntfsclone_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsfix

 int
 guestfs_ntfsfix (guestfs_h *g,
                  const char *device,
                  ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_NTFSFIX_CLEARBADSECTORS, int clearbadsectors,

Ця команда виправляє деякі фундаментальні проблеми NTFS, відновлює
початковий стан журналу NTFS і додає заплановану перевірку коректності NTFS
під час першого ж завантаження до Windows.

Ця команда I<не> є еквівалентом C<chkdsk> Windows. Вона I<не> виконує
перевірки коректності файлової системи.

За допомогою необов'язкового прапорця C<clearbadsectors> можна спорожнити
список помилкових секторів. Це корисно при клонуванні диска із помилковими
секторами на новий диск.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ntfs3g>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.9)

=head2 guestfs_ntfsfix_va

 int
 guestfs_ntfsfix_va (guestfs_h *g,
                     const char *device,
                     va_list args);

Це «варіант з va_list» L</guestfs_ntfsfix>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsfix_argv

 int
 guestfs_ntfsfix_argv (guestfs_h *g,
                       const char *device,
                       const struct guestfs_ntfsfix_argv *optargs);

Це «варіант з argv» L</guestfs_ntfsfix>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsresize

 int
 guestfs_ntfsresize (guestfs_h *g,
                     const char *device);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_ntfsresize_opts> без додаткових
аргументів.

(Додано у 1.3.2)



=head2 guestfs_ntfsresize_opts

 int
 guestfs_ntfsresize_opts (guestfs_h *g,
                          const char *device,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_NTFSRESIZE_OPTS_SIZE, int64_t size,
 GUESTFS_NTFSRESIZE_OPTS_FORCE, int force,

Ця команда змінює розмір файлової системи NTFS, розширюючи або стискаючи її
до розміру підлеглого пристрою.

Додатковими параметрами є:

=over 4

=item C<розмір>

Новий розмір (у байтах) файлової системи. Якщо не вказано, розмір файлової
системи буде змінено до розмірів контейнера (наприклад розділу).

=item C<force>

Якщо цей параметр має значення true, буде виконано примусову зміну розміру
файлової системи, навіть якщо файлову систему позначено як таку, яка
потребує перевірки на коректність.

Після виконання дії зі зміни розміру файлову систему завжди буде позначено
як таку, яка потребує перевірки на коректність (з міркувань безпеки). Вам
слід завантажити Windows, щоб виконати перевірку і зняти позначення. Якщо ви
I<не> встановлювали параметр C<force>, C<guestfs_ntfsresize> не можна буде
викликати декілька разів поспіль для однієї файлової системи без
завантаження Windows між діями зі зміни розміру.

=back

Див. також L<ntfsresize(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ntfsprogs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.2)

=head2 guestfs_ntfsresize_opts_va

 int
 guestfs_ntfsresize_opts_va (guestfs_h *g,
                             const char *device,
                             va_list args);

Це «варіант з va_list» L</guestfs_ntfsresize_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsresize_opts_argv

 int
 guestfs_ntfsresize_opts_argv (guestfs_h *g,
                               const char *device,
                               const struct guestfs_ntfsresize_opts_argv *optargs);

Це «варіант з argv» L</guestfs_ntfsresize_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_ntfsresize_size

 int
 guestfs_ntfsresize_size (guestfs_h *g,
                          const char *device,
                          int64_t size);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_ntfsresize>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда виконує ті самі дії, що і C<guestfs_ntfsresize>, але вона надає
вам змогу вказати новий розмір (у байтах) явним чином.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<ntfsprogs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.14)

=head2 guestfs_parse_environment

 int
 guestfs_parse_environment (guestfs_h *g);

Виконує обробку середовища програми і встановлює прапорців у дескрипторі
відповідним чином. Наприклад, якщо C<LIBGUESTFS_DEBUG=1>, у дескрипторі буде
встановлено прапорець «verbose».

I<У більшості програм потреби у виконанні цієї дії немає> Дія неявним чином
виконується під час виклику C<guestfs_create>.

Див L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>, де наведено список змінних середовища,
які впливають на засоби обробки libguestfs. Див. також
L<guestfs(3)/guestfs_create_flags> та L<guestfs_parse_environment_list>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.53)

=head2 guestfs_parse_environment_list

 int
 guestfs_parse_environment_list (guestfs_h *g,
                                 char *const *environment);

Обробляє список рядків у аргументі C<середовище> і встановлює відповідним
чином прапорці у дескрипторі. Наприклад, якщо у списку є рядок
C<LIBGUESTFS_DEBUG=1>, у дескрипторі буде встановлено прапорець «verbose».

Те саме, що і C<guestfs_parse_environment>, але обробляє явним список
рядків, замість середовища програми.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.53)

=head2 guestfs_part_add

 int
 guestfs_part_add (guestfs_h *g,
                   const char *device,
                   const char *prlogex,
                   int64_t startsect,
                   int64_t endsect);

Ця команда додає розділ на пристрої C<device>. Якщо на пристрої немає
таблиці розділів, спочатку слід викликати C<guestfs_part_init>.

Значенням параметра C<prlogex> є тип розділу. Зазвичай, вам слід передати
тип C<p> або C<primary>, але у таблицях розділів MBR також передбачено
підтримку типів розділів C<l> (або C<logical>) і C<e> (або C<extended>).

Значеннями параметрів C<початковий_сектор> і C<кінцевий_сектор> є початок і
кінець розділу, вказані за номерами I<секторів>. Значенням параметра
C<кінцевий_сектор> може бути від'ємне значення, що означає, що сектори слід
лічити з кінця диска (C<-1> означає «останній сектор»).

Створення розділу, який займатиме увесь диск є непростою справою. Для
виконання цього завдання скористайтеся C<guestfs_part_disk>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.78)

=head2 guestfs_part_del

 int
 guestfs_part_del (guestfs_h *g,
                   const char *device,
                   int partnum);

Ця команда вилучає розділ із номером C<номер_розділу> на пристрої
C<пристрій>.

Зауважте, що у випадку розділів у MBR вилучення розширеного розділу
призводить до вилучення усіх логічних розділів, які на ньому містяться.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.2)

=head2 guestfs_part_disk

 int
 guestfs_part_disk (guestfs_h *g,
                    const char *device,
                    const char *parttype);

Ця команда є простою комбінацією C<guestfs_part_init> з наступною
C<guestfs_part_add> для створення єдиного основного розділу, який займатиме
увесь диск.

Значенням параметра C<parttype> є тип таблиці розділів, зазвичай, C<mbr> або
C<gpt>, але можливі і інші значення, описані у довідці з
C<guestfs_part_init>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.78)

=head2 guestfs_part_expand_gpt

 int
 guestfs_part_expand_gpt (guestfs_h *g,
                          const char *device);

Пересуває резервні копії структур даних GPT у кінець диска. Корисно у
випадку розширення образу на місці, оскільки простір на диску після
резервної копії заголовка GPT не можна використовувати. Еквівалент C<sgdisk
-e>.

Див. також L<sgdisk(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.2)

=head2 guestfs_part_get_bootable

 int
 guestfs_part_get_bootable (guestfs_h *g,
                            const char *device,
                            int partnum);

Ця команда повертає true, якщо для розділу C<номер_розділу> на пристрої
C<пристрій> встановлено прапорець можливості завантаження.

Див. також C<guestfs_part_set_bootable>.

Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

(Додано у 1.3.2)

=head2 guestfs_part_get_disk_guid

 char *
 guestfs_part_get_disk_guid (guestfs_h *g,
                             const char *device);

Повертає ідентифікатор диска (GUID) пристрою C<пристрій> із таблицею
розділів GPT. Для інших типів таблиць розділів поведінку команди не
визначено.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.2)

=head2 guestfs_part_get_gpt_attributes

 int64_t
 guestfs_part_get_gpt_attributes (guestfs_h *g,
                                  const char *device,
                                  int partnum);

Повертає прапорці атрибутів вказаного за номером розділу GPT
C<номер_розділу>. Повертає помилку для розділів MBR.

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.1)

=head2 guestfs_part_get_gpt_guid

 char *
 guestfs_part_get_gpt_guid (guestfs_h *g,
                            const char *device,
                            int partnum);

Повертає GUID вказаного за номером розділу GPT C<номер_розділу>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.25)

=head2 guestfs_part_get_gpt_type

 char *
 guestfs_part_get_gpt_type (guestfs_h *g,
                            const char *device,
                            int partnum);

Повертає GUID типу вказаного за номером розділу GPT C<номер_розділу>. Для
розділів MBR повертає відповідний GUID для типу MBR. Для інших типів
розділів поведінку не визначено.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.1)

=head2 guestfs_part_get_mbr_id

 int
 guestfs_part_get_mbr_id (guestfs_h *g,
                          const char *device,
                          int partnum);

Повертає байт типу MBR (також відомий як байт ID) для вказаного за номером
розділу C<номер_розділу>.

Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі
DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів
(див. C<guestfs_part_get_parttype>).

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.3.2)

=head2 guestfs_part_get_mbr_part_type

 char *
 guestfs_part_get_mbr_part_type (guestfs_h *g,
                                 const char *device,
                                 int partnum);

Повертає тип розділу MBR, вказаного за номером C<номер_розділу>, на пристрої
C<пристрій>.

Повертає C<primary>, C<logical> або C<extended>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.29.32)

=head2 guestfs_part_get_name

 char *
 guestfs_part_get_name (guestfs_h *g,
                        const char *device,
                        int partnum);

Ця команда отримує назву розділу на вказаному за номером розділі C<номер
розділу> на пристрої C<пристрій>. Зауважте, що нумерація розділів
розпочинається з 1.

Назву розділу можна прочитати лише для певних типів таблиць розділів. Це
працює для таблиць C<gpt>, але не для таблиць C<mbr>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.25.33)

=head2 guestfs_part_get_parttype

 char *
 guestfs_part_get_parttype (guestfs_h *g,
                            const char *device);

Ця команда виконує вивчення таблиці розділів на пристрої C<пристрій> і
повертає тип таблиці розділів (формат), який на ньому використано.

Серед типових повернутих значень: C<msdos> (таблиця розділів MBR у стилі
DOS/Windows), C<gpt> (таблиця розділів у стилі GPT/EFI). Можливі також інші
значення, але вони є рідкісними. Повний список можна знайти у розділі щодо
C<guestfs_part_init>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.78)

=head2 guestfs_part_init

 int
 guestfs_part_init (guestfs_h *g,
                    const char *device,
                    const char *parttype);

Ця команда створює порожню таблицю розділів на пристрої C<пристрій>,
використовуючи тип розділів із наведеного нижче списку. Зазвичай, значенням
параметра C<тип_розділу> має бути C<msdos> або C<gpt> (для великих дисків).

Спочатку на пристрої немає розділів. Після цієї команди вам слід викликати
C<guestfs_part_add> для кожного потрібного вам розділу.

Можливі значення для параметра C<тип_розділу>:

=over 4

=item C<efi>

=item C<gpt>

Таблиця розділів EFI / GPT Intel.

Цей варіант є рекомендованим для розділів із розміром >= 2 ТБ, доступ до
яких здійснюватиметься з Linux та заснованої на архітектурі Intel Mac OS
X. Крім того, цей варіант має обмежену зворотну сумісність із форматом
C<mbr>.

=item C<mbr>

=item C<msdos>

Стандартний для ПК формат «Master Boot Record» (MBR), який використовувався
MS-DOS і Windows. Цей тип розділу працюватиме B<лише> для пристроїв, розмір
яких не перевищує 2 ТБ. Для дисків більшого розміру ми рекомендуємо
скористатися C<gpt>.

=back

Для інших типів таблиць розділів це теж може працювати, але їхньої підтримки
не передбачено. Це зокрема:

=over 4

=item C<aix>

Мітки дисків AIX.

=item C<amiga>

=item C<rdb>

Формат "Rigid Disk Block" Amiga.

=item C<bsd>

Мітки дисків BSD.

=item C<dasd>

DASD, використовувалися у мейнфреймах IBM.

=item C<dvh>

Томи MIPS/SGI.

=item C<mac>

Старий формат розділів Mac. Сучасні системи Mac використовують C<gpt>.

=item C<pc98>

Формат NEC PC-98, поширений у Японії.

=item C<sun>

Мітки дисків Sun.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.78)

=head2 guestfs_part_list

 struct guestfs_partition_list *
 guestfs_part_list (guestfs_h *g,
                    const char *device);

Ця команда обробляє таблицю розділів пристрою C<пристрій> і повертає список
знайдених розділів.

Поля повернутої структури:

=over 4

=item C<part_num>

Номер розділу, відлік від 1.

=item C<part_start>

Позиція початку розділу I<у байтах>. Для отримання позиції у секторах вам
слід поділити це значення на розмір сектора, див. C<guestfs_blockdev_getss>.

=item C<part_end>

Позиція завершення розділу у байтах.

=item C<part_size>

Розмір розділу у байтах.

=back

Ця функція повертає C<struct guestfs_partition_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_partition_list>>.

(Додано у 1.0.78)

=head2 guestfs_part_resize

 int
 guestfs_part_resize (guestfs_h *g,
                      const char *device,
                      int partnum,
                      int64_t endsect);

Ця команда змінює розмір розділу із номером C<номер_розділу> на пристрої
C<пристрій>, посуваючи позицію кінця розділу.

Зауважте, що ця команда не вносить змін до файлових систем на розділі. Якщо
вам потрібно змінити розмір файлової системи, вам слід скористатися
командами зміни розмірів файлових систем, наприклад C<guestfs_resize2fs>.

Якщо ви збільшуєте розміри розділу, далі вам слід збільшити розміри файлової
системи. Якщо ж ви зменшуєте розміри розділу, спочатку вам слід зменшити
розміри файлової системи на ньому.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.37.20)

=head2 guestfs_part_set_bootable

 int
 guestfs_part_set_bootable (guestfs_h *g,
                            const char *device,
                            int partnum,
                            int bootable);

Ця команда встановлює прапорець можливості завантаження на вказаному за
номером розділі C<номер розділу> на пристрої C<пристрій>. Зауважте, що
нумерація розділів розпочинається з 1.

Прапорець можливості завантаження використовується певними операційними
системами (найпоширенішою з яких є Windows) для визначення розділу, з якого
слід виконувати завантаження. Він ніяким чином не є універсальним.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.78)

=head2 guestfs_part_set_disk_guid

 int
 guestfs_part_set_disk_guid (guestfs_h *g,
                             const char *device,
                             const char *guid);

Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT
C<пристрій> у значення C<guid>. Повертає помилку, якщо таблицею розділів
пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.2)

=head2 guestfs_part_set_disk_guid_random

 int
 guestfs_part_set_disk_guid_random (guestfs_h *g,
                                    const char *device);

Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT
C<пристрій> у створене випадковим чином значення. Повертає помилку, якщо
таблицею розділів пристрою C<пристрій> не є GPT.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.33.2)

=head2 guestfs_part_set_gpt_attributes

 int
 guestfs_part_set_gpt_attributes (guestfs_h *g,
                                  const char *device,
                                  int partnum,
                                  int64_t attributes);

Встановлює прапорці атрибутів вказаного за номером розділу GPT
C<номер_розділу> у значення C<атрибути>. Повертає помилку, якщо таблицею
розділів пристрою C<пристрій> не є GPT.

Див.
L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries>, де
наведено корисний список атрибутів розділів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.1)

=head2 guestfs_part_set_gpt_guid

 int
 guestfs_part_set_gpt_guid (guestfs_h *g,
                            const char *device,
                            int partnum,
                            const char *guid);

Встановлює GUID вказаного за номером C<номер_розділу> пристрою із таблицею
розділів GPT C<пристрій> у значення C<guid>. Повертає помилку, якщо таблицею
розділів пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.29.25)

=head2 guestfs_part_set_gpt_type

 int
 guestfs_part_set_gpt_type (guestfs_h *g,
                            const char *device,
                            int partnum,
                            const char *guid);

Встановлює GUID типу пристрою вказаного за номером C<номер_розділу> пристрою
із таблицею розділів GPT у значення C<guid>. Повертає помилку, якщо таблицею
розділів пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

See
L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs>
for a useful list of type GUIDs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<gdisk>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.1)

=head2 guestfs_part_set_mbr_id

 int
 guestfs_part_set_mbr_id (guestfs_h *g,
                          const char *device,
                          int partnum,
                          int idbyte);

Встановлює байт типу MBR (також відомий як байт ID) для вказаного за номером
розділу C<номер_розділу> у значення C<ід_байт>. Зауважте, що байти типів у
більшій частині документації є насправді шістнадцятковими числами, але
фігурують у тексті без початкового «0x», що може ввести читача в оману.

Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі
DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів
(див. C<guestfs_part_get_parttype>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.2)

=head2 guestfs_part_set_name

 int
 guestfs_part_set_name (guestfs_h *g,
                        const char *device,
                        int partnum,
                        const char *name);

Ця команда встановлює назву розділу на вказаному за номером розділі C<номер
розділу> на пристрої C<пристрій>. Зауважте, що нумерація розділів
розпочинається з 1.

Назву розділу можна встановити лише для певних типів таблиць розділів. Це
працює для таблиць C<gpt>, але не для таблиць C<mbr>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.78)

=head2 guestfs_part_to_dev

 char *
 guestfs_part_to_dev (guestfs_h *g,
                      const char *partition);

Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона вилучає
номер розділу, повертаючи назву розділу (наприклад «/dev/sdb»).

Іменований розділ має існувати, наприклад, як рядок, який повертає
C<guestfs_list_partitions>.

Див. також C<guestfs_part_to_partnum>, C<guestfs_device_index>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.5.15)

=head2 guestfs_part_to_partnum

 int
 guestfs_part_to_partnum (guestfs_h *g,
                          const char *partition);

Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона повертає
номер розділу (наприклад C<1>).

Іменований розділ має існувати, наприклад, як рядок, який повертає
C<guestfs_list_partitions>.

Див. також C<guestfs_part_to_dev>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.13.25)

=head2 guestfs_ping_daemon

 int
 guestfs_ping_daemon (guestfs_h *g);

Це зонд для тестування фонової служби guestfs, запущеної у базовій системі
libguestfs. Виклик цієї служби перевіряє, чи відповідає фонова служба на
луна-повідомлення, ніяк інакше не впливаючи на роботу фонової служби або
долучених блокових пристроїв.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.18)

=head2 guestfs_pread

 char *
 guestfs_pread (guestfs_h *g,
                const char *path,
                int count,
                int64_t offset,
                size_t *size_r);

За допомогою цієї команди ви можете прочитати частину файла. Вона читає
C<кількість> байтів з файла, починаючи з позиції C<відступ>. Файл задається
записом C<шлях>.

Команда може прочитати менше байтів, ніж було вказано у параметрах
команди. Щоб дізнатися більше про це, ознайомтеся зі сторінкою підручника
щодо системного виклику L<pread(2)>.

Див. також C<guestfs_pwrite>, C<guestfs_pread_device>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.77)

=head2 guestfs_pread_device

 char *
 guestfs_pread_device (guestfs_h *g,
                       const char *device,
                       int count,
                       int64_t offset,
                       size_t *size_r);

За допомогою цієї команди ви можете прочитати частину вмісту блокового
пристрою. Вона читає C<кількість> байтів з пристрою C<пристрій>, починаючи з
позиції C<відступ>.

Команда може прочитати менше байтів, ніж було вказано у параметрах
команди. Щоб дізнатися більше про це, ознайомтеся зі сторінкою підручника
щодо системного виклику L<pread(2)>.

Див. також C<guestfs_pread>.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.5.21)

=head2 guestfs_pvchange_uuid

 int
 guestfs_pvchange_uuid (guestfs_h *g,
                        const char *device);

Створити новий випадковий UUID для фізичного тому C<пристрій>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.26)

=head2 guestfs_pvchange_uuid_all

 int
 guestfs_pvchange_uuid_all (guestfs_h *g);

Створити нові випадкові UUID для всіх фізичних томів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.26)

=head2 guestfs_pvcreate

 int
 guestfs_pvcreate (guestfs_h *g,
                   const char *device);

Ця команда створює фізичний том LVM із назвою C<пристрій>, де C<пристрій>,
зазвичай, має бути назвою розділу, наприклад F</dev/sda1>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.8)

=head2 guestfs_pvremove

 int
 guestfs_pvremove (guestfs_h *g,
                   const char *device);

Ця команда витирає вміст фізичного тому C<пристрій> так, що LVM більше його
не розпізнає.

The implementation uses the L<pvremove(8)> command which refuses to wipe
physical volumes that contain any volume groups, so you have to remove those
first.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.13)

=head2 guestfs_pvresize

 int
 guestfs_pvresize (guestfs_h *g,
                   const char *device);

Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM
так, щоб він відповідав за розміром новому розміру базового пристрою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.26)

=head2 guestfs_pvresize_size

 int
 guestfs_pvresize_size (guestfs_h *g,
                        const char *device,
                        int64_t size);

Ця команда виконує ті самі дії, що і C<guestfs_pvresize>, але вона надає вам
змогу вказати новий розмір (у байтах) явним чином.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.14)

=head2 guestfs_pvs

 char **
 guestfs_pvs (guestfs_h *g);

Виводить список усіх виявлених фізичних томів. Є еквівалентом команди
L<pvs(8)>.

Ця команда повертає список назв лише тих пристроїв, на яких містяться
фізичні томи (наприклад F</dev/sda2>).

Див. також C<guestfs_pvs_full>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_pvs_full

 struct guestfs_lvm_pv_list *
 guestfs_pvs_full (guestfs_h *g);

Виводить список усіх виявлених фізичних томів. Є еквівалентом команди
L<pvs(8)>. «Повна» версія включає усі поля.

Ця функція повертає C<struct guestfs_lvm_pv_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_lvm_pv_list>>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_pvuuid

 char *
 guestfs_pvuuid (guestfs_h *g,
                 const char *device);

Ця команда повертає UUID фізичного тому LVM C<пристрій>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.87)

=head2 guestfs_pwrite

 int
 guestfs_pwrite (guestfs_h *g,
                 const char *path,
                 const char *content,
                 size_t content_size,
                 int64_t offset);

Ця команда записує частину файла. Команда записує буфер даних C<дані> до
файла C<шлях>, починаючи з відступу C<відступ>.

Ця команда реалізує системний виклик L<pwrite(2)> і, подібно до цього
системного виклику, вона може не записати повністю вказані дані. Повернуте
значення є кількістю байтів, які насправді було записано до файла. Цим
значенням може бути навіть 0, хоча обрізані записи є малоймовірними для
звичайних файлів у звичайних обставинах.

Див. також C<guestfs_pread>, C<guestfs_pwrite_device>.

У разі помилки цією функцією буде повернуто -1.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.3.14)

=head2 guestfs_pwrite_device

 int
 guestfs_pwrite_device (guestfs_h *g,
                        const char *device,
                        const char *content,
                        size_t content_size,
                        int64_t offset);

Ця команда записує частину пристрою. Команда записує буфер даних C<дані> до
пристрою C<пристрій>, починаючи з відступу C<відступ>.

Ця команда реалізує системний виклик L<pwrite(2)> і, подібно до цього
системного виклику, вона може не записати повністю вказані дані (хоча
обрізаний запис на дискові пристрої і розділи майже неможливий зі
стандартними ядрами Linux).

Див. також C<guestfs_pwrite>.

У разі помилки цією функцією буде повернуто -1.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.5.20)

=head2 guestfs_read_file

 char *
 guestfs_read_file (guestfs_h *g,
                    const char *path,
                    size_t *size_r);

Цей виклик повертає вміст файла C<шлях> як буфер даних.

На відміну від C<guestfs_cat>, ця функція може правильно обробляти файли,
які містять вбудовані символи NUL ASCII.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

(Додано у 1.0.63)

=head2 guestfs_read_lines

 char **
 guestfs_read_lines (guestfs_h *g,
                     const char *path);

Повертає вміст файла із назвою C<шлях>.

Вміст файла повертається як список рядків. Послідовності символів C<LF> та
C<CRLF> наприкінці рядків I<не> повертаються.

Зауважте, що ця функція не може належним чином обробляти двійкові файли
(особливо, файли, у яких містяться символи C<\0>, які вважаються символами
кінця рядка). Для таких файлів слід використовувати функцію
C<guestfs_read_file> і ділити буфер на рядки власноруч.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 0.7)

=head2 guestfs_readdir

 struct guestfs_dirent_list *
 guestfs_readdir (guestfs_h *g,
                  const char *dir);

Ця команда повертає список записів у каталозі C<каталог>.

Буде повернуто усі записи у каталозі, зокрема і записи C<.> та C<..>. Записи
I<не> упорядковуватимуться, їх буде повернуто у тому самому порядку, у якому
вони зберігаються у базовій файловій системі.

Крім того, цей виклик повертає базові дані щодо типу файла для кожного з
файлів. У полі C<ftyp> міститиметься один з таких символів:

=over 4

=item 'b'

Блоковий особливий

=item 'c'

Символьний особливий

=item 'd'

Каталог

=item 'f'

FIFO (іменований канал)

=item 'l'

Символічне посилання

=item 'r'

Звичайний файл

=item 's'

Сокет

=item 'u'

Невідомий тип файла

=item '?'

Викликом L<readdir(3)> повернуто поле C<d_type> із неочікуваним значенням

=back

Цю функцію створено, в основному, для використання у програмах. Щоб отримати
простий список назв, скористайтеся C<guestfs_ls>. Щоб отримати придатний для
друку і сприйняття людиною список каталогу, скористайтеся C<guestfs_ll>.

Ця функція повертає C<struct guestfs_dirent_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_dirent_list>>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.55)

=head2 guestfs_readlink

 char *
 guestfs_readlink (guestfs_h *g,
                   const char *path);

Ця команда читає файл, на який посилається символічне посилання.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.66)

=head2 guestfs_readlinklist

 char **
 guestfs_readlinklist (guestfs_h *g,
                       const char *path,
                       char *const *names);

Цей виклик надає змогу виконувати дію L</readlink> над декількома файлами,
які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список
файлів у цьому каталозі.

Повернуто буде список рядків із однозначною відповідністю до списку
C<назви>. У кожному рядку буде значення символічного посилання.

Якщо не вдається виконати дію L<readlink(2)> для якоїсь із назв, відповідним
рядком-результатом буде порожній рядок C<"">.  Втім, обробку буде завершено,
навіть якщо стануться якісь помилки у L<readlink(2)>, тому ви можете
викликати цю функцію для назв, про які немає відомостей щодо того, чи є вони
символічними посиланнями (хоча такі виклики і будуть дещо менш ефективними).

Цю команду призначено для програм, яким потрібно ефективно будувати список
вмісту каталогів без виконання багатьох обходів.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.77)

=head2 guestfs_realpath

 char *
 guestfs_realpath (guestfs_h *g,
                   const char *path);

Повертає перетворену до канонічної форми абсолютну назву шляху C<шлях>. У
повернутому шляху не буде елементів C<.>, C<..> або шляхів символічних
посилань.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.66)

=head2 guestfs_remount

 int
 guestfs_remount (guestfs_h *g,
                  const char *mountpoint,
                  ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_REMOUNT_RW, int rw,

За допомогою цього виклику ви можете змінити значення прапорця C<rw> (лише
читання/читання і запис) на вже змонтованій до точки монтування
C<точка_монтування> файловій системі, перетворивши придатну лише для читання
файлову систему на систему із можливостями читання і запису, і навпаки.

Зауважте, що у поточній версії вам доведеться вказати «необов'язковий»
параметр C<rw>. У майбутньому ми можемо уможливити зміну інших прапорців
файлової системи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.23.2)

=head2 guestfs_remount_va

 int
 guestfs_remount_va (guestfs_h *g,
                     const char *mountpoint,
                     va_list args);

Це «варіант з va_list» L</guestfs_remount>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_remount_argv

 int
 guestfs_remount_argv (guestfs_h *g,
                       const char *mountpoint,
                       const struct guestfs_remount_argv *optargs);

Це «варіант з argv» L</guestfs_remount>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_remove_drive

 int
 guestfs_remove_drive (guestfs_h *g,
                       const char *label);

Концептуально, ця функція є протилежністю C<guestfs_add_drive_opts>. Вона
вилучає диск, який раніше було додано з міткою C<label>.

Зауважте, що для вилучення дисків за допомогою цієї команди вам слід
додавати їх з мітками (див. необов'язковий аргумент C<label> у
C<guestfs_add_drive_opts>). Якщо ви не вказали мітку, вилучити диск за
допомогою цієї команди не вдасться.

Цю функцію можна викликати до або після запуску дескриптора. Якщо її
викликано після запуску і підтримку подібної операції передбачено у модулі
обробки, буде виконано спробу від'єднання диска у «гарячому» режимі:
див. L<guestfs(3)/З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>. Диск під час цієї операції
вже B<не повинен> використовуватися (тобто бути змонтованим). Функція
намагатиметься визначити, чи використовується диск, і запобігатиме
від'єднанню використаних дисків.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.49)

=head2 guestfs_removexattr

 int
 guestfs_removexattr (guestfs_h *g,
                      const char *xattr,
                      const char *path);

Цей виклик вилучає розширений атрибут із назвою C<розширений_атрибут> з
файла C<шлях>.

Див. також C<guestfs_lremovexattr>, L<attr(5)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_rename

 int
 guestfs_rename (guestfs_h *g,
                 const char *oldpath,
                 const char *newpath);

Перейменовує файл, пересуваючи його до нового місця у файловій системі. Те
саме, що системний виклик L<rename(2)>  у Linux. У більшості випадків варто
замість цієї команди використовувати C<guestfs_mv>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.21.5)

=head2 guestfs_resize2fs

 int
 guestfs_resize2fs (guestfs_h *g,
                    const char *device);

Змінює розміри файлової системи ext2, ext3 або ext4 так, щоб її розмір
збігався із розміром базового пристрою.

Див. також L<guestfs(3)/RESIZE2FS ERRORS>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.27)

=head2 guestfs_resize2fs_M

 int
 guestfs_resize2fs_M (guestfs_h *g,
                      const char *device);

This command is the same as C<guestfs_resize2fs>, but the filesystem is
resized to its minimum size.  This works like the I<-M> option to the
L<resize2fs(8)> command.

Щоб отримати остаточний розмір файлової системи, вам слід викликати
C<guestfs_tune2fs_l> і прочитати значення C<Block size> та C<Block
count>. Ці два числа, перемножені між собою, дадуть остаточний розмір
файлової системи у байтах.

Див. також L<guestfs(3)/RESIZE2FS ERRORS>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.4)

=head2 guestfs_resize2fs_size

 int
 guestfs_resize2fs_size (guestfs_h *g,
                         const char *device,
                         int64_t size);

Ця команда виконує ті самі дії, що і C<guestfs_resize2fs>, але вона надає
вам змогу вказати новий розмір (у байтах) явним чином.

Див. також L<guestfs(3)/RESIZE2FS ERRORS>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.14)

=head2 guestfs_rm

 int
 guestfs_rm (guestfs_h *g,
             const char *path);

Вилучити одинарний файл C<шлях>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_rm_f

 int
 guestfs_rm_f (guestfs_h *g,
               const char *path);

Вилучити файл C<шлях>.

Якщо файла не існує, помилку буде проігноровано. (Інші помилки, наприклад
помилки введення-виведення та помилки у шляхах, не ігноруватимуться.)

Ця команда не може вилучати каталоги. Для вилучення порожнього каталогу
скористайтеся командою C<guestfs_rmdir>. Для рекурсивного вилучення
каталогів слід використовувати C<guestfs_rm_rf>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.42)

=head2 guestfs_rm_rf

 int
 guestfs_rm_rf (guestfs_h *g,
                const char *path);

Вилучає файл або каталог C<шлях>. Діє рекурсивно, якщо вказано
каталог. Подібна до команди C<rm -rf>, відданої з командної оболонки.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_rmdir

 int
 guestfs_rmdir (guestfs_h *g,
                const char *path);

Вилучає окремий каталог C<шлях>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_rmmountpoint

 int
 guestfs_rmmountpoint (guestfs_h *g,
                       const char *exemptpath);

Цей виклик вилучає точку монтування, яку перед цим було створено за
допомогою команди C<guestfs_mkmountpoint>. Щоб дізнатися більше, ознайомтеся
із розділом щодо C<guestfs_mkmountpoint>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.62)

=head2 guestfs_rsync

 int
 guestfs_rsync (guestfs_h *g,
                const char *src,
                const char *dest,
                ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_RSYNC_ARCHIVE, int archive,
 GUESTFS_RSYNC_DELETEDEST, int deletedest,

Цим викликом можна скористатися для копіювання або синхронізування двох
каталогів у одному дескрипторі libguestfs. Використовується програма
L<rsync(1)>, у якій реалізовано швидкий алгоритм для уникнення непотрібного
копіювання файлів.

Значеннями параметрів C<джерело> і C<призначення> є назви каталогу
походження даних і кінцевого каталогу. Файли копіюються з каталогу
C<джерело> до каталогу C<призначення>.

Необов'язковими аргументами є:

=over 4

=item C<archive>

Вмикає режим архівування. Те саме, що передати параметр I<--archive> команді
C<rsync>.

=item C<deletedest>

Вилучити файли у каталозі призначення, яких немає у каталозі джерела.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<rsync>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.29)

=head2 guestfs_rsync_va

 int
 guestfs_rsync_va (guestfs_h *g,
                   const char *src,
                   const char *dest,
                   va_list args);

Це «варіант з va_list» L</guestfs_rsync>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_rsync_argv

 int
 guestfs_rsync_argv (guestfs_h *g,
                     const char *src,
                     const char *dest,
                     const struct guestfs_rsync_argv *optargs);

Це «варіант з argv» L</guestfs_rsync>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_rsync_in

 int
 guestfs_rsync_in (guestfs_h *g,
                   const char *remote,
                   const char *dest,
                   ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_RSYNC_IN_ARCHIVE, int archive,
 GUESTFS_RSYNC_IN_DELETEDEST, int deletedest,

Цим викликом можна скористатися для копіювання або синхронізування файлових
систем у основній системі або на віддаленому комп'ютері із файловою системою
у libguestfs. Використовується програма L<rsync(1)>, у якій реалізовано
швидкий алгоритм для уникнення непотрібного копіювання файлів.

Ця команда працюватиме, лише якщо увімкнено можливість роботи у
мережі. Див. C<guestfs_set_network> або параметр I<--network> різноманітних
інструментів, зокрема L<guestfish(1)>.

Файли копіюються з віддаленого сервера та каталогу, вказаного за допомогою
параметра C<віддалений_комп'ютер>, до каталогу призначення C<призначення>.

Формат рядка віддаленого сервера визначається L<rsync(1)>. Зауважте, що не
передбачено способу вказати пароль, отже призначення має бути налаштовано
так, щоб пароль не потрібно було вказувати.

Необов'язкові аргументи такі самі, як і у C<guestfs_rsync>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<rsync>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.29)

=head2 guestfs_rsync_in_va

 int
 guestfs_rsync_in_va (guestfs_h *g,
                      const char *remote,
                      const char *dest,
                      va_list args);

Це «варіант з va_list» L</guestfs_rsync_in>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_rsync_in_argv

 int
 guestfs_rsync_in_argv (guestfs_h *g,
                        const char *remote,
                        const char *dest,
                        const struct guestfs_rsync_in_argv *optargs);

Це «варіант з argv» L</guestfs_rsync_in>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_rsync_out

 int
 guestfs_rsync_out (guestfs_h *g,
                    const char *src,
                    const char *remote,
                    ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_RSYNC_OUT_ARCHIVE, int archive,
 GUESTFS_RSYNC_OUT_DELETEDEST, int deletedest,

Цим викликом можна скористатися для копіювання або синхронізування файлової
системи у libguestfs із файловою системою у основній системі або на
віддаленому комп'ютері. Використовується програма L<rsync(1)>, у якій
реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів.

Ця команда працюватиме, лише якщо увімкнено можливість роботи у
мережі. Див. C<guestfs_set_network> або параметр I<--network> різноманітних
інструментів, зокрема L<guestfish(1)>.

Файли копіюються з каталогу джерела C<джерело> до віддаленого сервера та
каталогу, вказаного за допомогою параметра C<віддалений_комп'ютер>.

Формат рядка віддаленого сервера визначається L<rsync(1)>. Зауважте, що не
передбачено способу вказати пароль, отже призначення має бути налаштовано
так, щоб пароль не потрібно було вказувати.

Необов'язкові аргументи такі самі, як і у C<guestfs_rsync>.

У параметрі C<src> не виконується підставляння замість
символів-замінників. У програмах, де програмний інтерфейс використовується
безпосередньо, вам слід розгортати замінники власноруч (див.
C<guestfs_glob_expand>). У guestfish ви можете скористатися командою C<glob>
(див. L<guestfish(1)/glob>). Приклад:

 ><fs> glob rsync-out /* rsync://remote/

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<rsync>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.29)

=head2 guestfs_rsync_out_va

 int
 guestfs_rsync_out_va (guestfs_h *g,
                       const char *src,
                       const char *remote,
                       va_list args);

Це «варіант з va_list» L</guestfs_rsync_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_rsync_out_argv

 int
 guestfs_rsync_out_argv (guestfs_h *g,
                         const char *src,
                         const char *remote,
                         const struct guestfs_rsync_out_argv *optargs);

Це «варіант з argv» L</guestfs_rsync_out>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_scrub_device

 int
 guestfs_scrub_device (guestfs_h *g,
                       const char *device);

Ця команда записує зразкові дані на C<пристрій> для утруднення відновлення
даних на ньому.

Ця команда є інтерфейсом до програми L<scrub(1)>. Див. відповідну сторінку
підручника, щоб дізнатися більше.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<scrub>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.52)

=head2 guestfs_scrub_file

 int
 guestfs_scrub_file (guestfs_h *g,
                     const char *file);

Ця команда записує зразкові дані до файла для утруднення відновлення його
даних після витирання.

Після заповнення даними взірця файл буде I<вилучено>.

Ця команда є інтерфейсом до програми L<scrub(1)>. Див. відповідну сторінку
підручника, щоб дізнатися більше.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<scrub>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.52)

=head2 guestfs_scrub_freespace

 int
 guestfs_scrub_freespace (guestfs_h *g,
                          const char *dir);

Ця команда створює каталог C<dir>, а потім заповнює його файлами, аж доки
файлову систему не буде повністю заповнено, далі витирає файли, як у команді
C<guestfs_scrub_file>, і вилучає їх. Команду призначено для витирання усіх
даних з вільного місця на розділі, де зберігається каталог C<dir>.

Ця команда є інтерфейсом до програми L<scrub(1)>. Див. відповідну сторінку
підручника, щоб дізнатися більше.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<scrub>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.52)

=head2 guestfs_selinux_relabel

 int
 guestfs_selinux_relabel (guestfs_h *g,
                          const char *specfile,
                          const char *path,
                          ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_SELINUX_RELABEL_FORCE, int force,

Повторне встановлення міток SELinux у файловій системі.

Параметр C<файл_специфікацій> визначає використаний файл специфікацій
правил. Вам слід обробити C</etc/selinux/config>, щоб визначити належні
правила SELinux, а потім передати файл специфікацій, зазвичай, так:
C</etc/selinux/> + I<тип_selinux> + C</contexts/files/file_contexts>.

Обов'язковий параметр C<шлях> визначає каталог верхнього рівня, з якого
починається повторне встановлення міток.  Зазвичай, вам слід передати як
C<шлях> значення C</>, щоб повторно встановити мітки для усієї гостьової
файлової системи.

Необов'язковий булевий параметр C<force> керує тим, чи буде скинуто контекст
для налаштовуваних файлів, а також тим, чи буде змінено частини контексту
файла, пов'язані із записами користувача, ролі та діапазону.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<selinuxrelabel>. Див. також L</guestfs_feature_available>.

(Додано у 1.33.43)

=head2 guestfs_selinux_relabel_va

 int
 guestfs_selinux_relabel_va (guestfs_h *g,
                             const char *specfile,
                             const char *path,
                             va_list args);

Це «варіант з va_list» L</guestfs_selinux_relabel>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_selinux_relabel_argv

 int
 guestfs_selinux_relabel_argv (guestfs_h *g,
                               const char *specfile,
                               const char *path,
                               const struct guestfs_selinux_relabel_argv *optargs);

Це «варіант з argv» L</guestfs_selinux_relabel>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_set_append

 int
 guestfs_set_append (guestfs_h *g,
                     const char *append);

Ця функція використовується для додавання параметрів до командного рядка
елементарного ядра libguestfs.

Типовим значенням є C<NULL>, якщо його не перевизначено за допомогою змінної
середовища C<LIBGUESTFS_APPEND>.

Встановлення для параметра C<append> значення C<NULL> означає, що ніяких
додаткових параметрів I<не> передаватиметься (libguestfs завжди додає
декілька параметрів автоматично).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.26)

=head2 guestfs_set_attach_method

 int
 guestfs_set_attach_method (guestfs_h *g,
                            const char *backend);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_set_backend>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Встановлює спосіб, яким libguestfs користується для встановлення з'єднання
із фоновою службою guestfsd модуля обробки.

Див. L<guestfs(3)/МОДУЛЬ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.9.8)

=head2 guestfs_set_autosync

 int
 guestfs_set_autosync (guestfs_h *g,
                       int autosync);

Встановлення для C<autosync> значення вмикає автоматичну
синхронізацію. Libguestfs з усіх сил намагатиметься підтримувати коректний і
синхронізований стан файлових систем, коли ви закриватимете дескриптор (а
також у ситуаціях, коли програма завершує роботу без закриття дескрипторів).

Автоматичну синхронізацію типово увімкнено (з версії libguestfs 1.5.24, у
попередніх версіях її було вимкнено).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_set_backend

 int
 guestfs_set_backend (guestfs_h *g,
                      const char *backend);

Встановлює спосіб, яким libguestfs користується для встановлення з'єднання
із фоновою службою guestfsd модуля обробки.

Ця властивість дескриптора раніше називалася «метод долучення».

Див. L<guestfs(3)/МОДУЛЬ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.21.26)

=head2 guestfs_set_backend_setting

 int
 guestfs_set_backend_setting (guestfs_h *g,
                              const char *name,
                              const char *val);

Дописує рядок C<"назва=значення"> до списку рядків параметрів модуля
обробки. Втім, якщо у списку вже існує рядок C<"назва"> або рядок, що
починається із запису C<"назва=">, його буде замінено на новий вказаний
рядок.

Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.27.2)

=head2 guestfs_set_backend_settings

 int
 guestfs_set_backend_settings (guestfs_h *g,
                               char *const *settings);

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

Типовим значенням є порожній список, якщо на час створення дескриптора не
було визначено змінну середовища C<LIBGUESTFS_BACKEND_SETTINGS>. У цій
змінній середовища міститься список параметрів, відокремлених двокрапками.

Цей виклик замінює усі параметри модуля обробки. Якщо вам потрібно замінити
лише один рядок параметра, скористайтеся
C<guestfs_set_backend_setting>. Якщо вам потрібно прибрати один рядок
параметра, скористайтеся C<guestfs_clear_backend_setting>.

Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.25.24)

=head2 guestfs_set_cachedir

 int
 guestfs_set_cachedir (guestfs_h *g,
                       const char *cachedir);

Встановити назву каталогу, який використовується дескриптором для зберігання
кешу базової системи, якщо використовується базова система supermin. Базова
система кешується і спільно використовується усіма дескрипторами, які мають
однаковий ідентифікатор ефективного користувача.

Змінні середовища C<LIBGUESTFS_CACHEDIR> і C<TMPDIR> керують типовим
значенням: якщо встановлено значення C<LIBGUESTFS_CACHEDIR>, типовим буде
саме це встановлене значення. Якщо ж це значення не встановлено і
встановлено значення C<TMPDIR>, використовуватиметься це значення. Якщо ж
жодну з цих змінних середовища не встановлено, типово використовуватиметься
F</var/tmp>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.58)

=head2 guestfs_set_direct

 int
 guestfs_set_direct (guestfs_h *g,
                     int direct);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_internal_get_console_socket>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Якщо увімкнено прапорець безпосереднього режиму базової системи, вміст stdin
та stdout передаватиметься безпосередньо базовій системі одразу після її
запуску.

Одним із наслідків цього є те, що повідомлення журналу не
перехоплюватимуться бібліотекою і не оброблятимуться
C<guestfs_set_log_message_callback>, а передаватимуться безпосередньо до
stdout.

Ймовірно, вам не слід використовувати цю команду, якщо ви не впевнені щодо
наслідків ваших дій.

Типово вимкнено.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.72)

=head2 guestfs_set_e2attrs

 int
 guestfs_set_e2attrs (guestfs_h *g,
                      const char *file,
                      const char *attrs,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_SET_E2ATTRS_CLEAR, int clear,

Ця команда встановлює або знімає атрибути C<атрибути> з inode із назвою
F<файл>.

Параметр C<attrs> є рядком із символів, які визначають атрибути
файла. Список можливих значень можна знайти у описі
C<guestfs_get_e2attrs>. Змінювати можна не усі атрибути.

Якщо не вказано необов'язковий булевий параметр C<clear> або вказано
значення false, вказані C<атрибути> буде встановлено для inode.

Якщо встановлено значення C<clear> рівне true, вказані C<атрибути> буде
знято з inode.

У обох випадках інші атрибути, які не вказано у рядку C<атрибути>, змінено
не буде.

Ці атрибути є, лише якщо файл зберігається у файловій системі
ext2/3/4. Використання цієї команди для інших типів файлових систем призведе
до помилки.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.31)

=head2 guestfs_set_e2attrs_va

 int
 guestfs_set_e2attrs_va (guestfs_h *g,
                         const char *file,
                         const char *attrs,
                         va_list args);

Це «варіант з va_list» L</guestfs_set_e2attrs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_set_e2attrs_argv

 int
 guestfs_set_e2attrs_argv (guestfs_h *g,
                           const char *file,
                           const char *attrs,
                           const struct guestfs_set_e2attrs_argv *optargs);

Це «варіант з argv» L</guestfs_set_e2attrs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_set_e2generation

 int
 guestfs_set_e2generation (guestfs_h *g,
                           const char *file,
                           int64_t generation);

Ця команда встановлює стан створення для файла у ext2.

Див. C<guestfs_get_e2generation>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.31)

=head2 guestfs_set_e2label

 int
 guestfs_set_e2label (guestfs_h *g,
                      const char *device,
                      const char *label);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_set_label>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда встановлює мітку файлової системи ext2/3/4 для файлової системи
на пристрої C<пристрій>. Довжину міток файлових систем обмежено 16
символами.

Ви можете скористатися C<guestfs_tune2fs_l> або C<guestfs_get_e2label> для
отримання наявної мітки файлової системи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.15)

=head2 guestfs_set_e2uuid

 int
 guestfs_set_e2uuid (guestfs_h *g,
                     const char *device,
                     const char *uuid);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_set_uuid>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда встановлює UUID файлової системи ext2/3/4 для файлової системи на
пристрої C<пристрій> у значення C<uuid>. Формат запису UUID та альтернативні
варіанти, зокрема C<clear>, C<random> та C<time>, описано на сторінці
підручника L<tune2fs(8)>.

Ви можете скористатися C<guestfs_vfs_uuid> для отримання наявного UUID
файлової системи.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.15)

=head2 guestfs_set_hv

 int
 guestfs_set_hv (guestfs_h *g,
                 const char *hv);

Встановлює назву виконуваного файла гіпервізору, яким ми
скористаємося. Назва гіпервізору залежить від використаного модуля обробки,
але, зазвичай, це назва гіпервізору qemu/KVM. Для модуля обробки UML це
розташування виконуваного файла C<linux> або C<vmlinux>.

Типовий варіант визначається під час збирання бібліотеки за допомогою
скрипту налаштовування збирання (configure).

Крім того, ви можете перевизначити цей параметр за допомогою змінної
середовища C<LIBGUESTFS_HV>.

Зауважте, що вам слід викликати цю функцію якомога ближче до команди
створення дескриптора. Причиною є те, що деякі дії перед запуском системи
залежать від результатів тестування можливостей qemu (шляхом виконання
команди C<qemu -help>). Якщо виконуваний файл qemu буде змінено, бібліотека
не виконуватиме повторного визначення можливостей, отже, може працювати
некоректно. Використання змінної середовища C<LIBGUESTFS_HV> є
найбезпечнішим способом надати потрібні бібліотеці дані, оскільки
встановлення цієї змінної надає бібліотеці змогу дізнатися усе про
виконуваний файл qemu одночасно зі створенням дескриптора.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.23.17)

=head2 guestfs_set_identifier

 int
 guestfs_set_identifier (guestfs_h *g,
                         const char *identifier);

Це інформативний рядок, який функція виклику може, якщо потрібно, встановити
у дескрипторі. Він виводиться у різних місцях, надаючи змогу ідентифікувати
поточний дескриптор у діагностичних повідомленнях.

Одним із важливих є варіант, коли увімкнено трасування. Якщо рядок
ідентифікатора є непорожнім, повідомлення трасування зміняться з таких:

 libguestfs: trace: get_tmpdir
 libguestfs: trace: get_tmpdir = "/tmp"

на такі:

 libguestfs: trace: ID: get_tmpdir
 libguestfs: trace: ID: get_tmpdir = "/tmp"

де C<ID> — рядок ідентифікатор, який було встановлено викликом цієї команди.

Ідентифікатор має складатися із літер латинської абетки і цифр з ASCII, а
також символів підкреслювання або дефісів. Типовим його значенням є порожній
рядок.

Див. також C<guestfs_set_program>, C<guestfs_set_trace>,
C<guestfs_get_identifier>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.31.14)

=head2 guestfs_set_label

 int
 guestfs_set_label (guestfs_h *g,
                    const char *mountable,
                    const char *label);

Встановлює для файлової системи C<монтування> мітку C<мітка>.

Підтримку міток передбачено лише у деяких файлових системах, а у libguestfs
передбачено підтримку встановлення міток лише для деякого набору таких
систем.

=over 4

=item ext2, ext3, ext4

Розмір міток обмежено 16 байтами.

=item NTFS

Мітки обмежено 128 символами unicode.

=item XFS

Цю мітку обмежено 12 байтами. Встановлювати мітку можна лише для
незмонтованих файлових систем.

=item btrfs

Цю мітку обмежено 255 байтами, у ній не можна використовувати деякі
символи. Встановлення мітки на підтомі btrfs призведе до встановлення мітки
на його батьківській файловій системі. Встановлювати мітку можна лише для
незмонтованих файлових систем.

=item fat

Цю мітку обмежено 11 байтами.

=item swap

Цю мітку обмежено 16 байтами.

=back

Якщо підтримки зміни мітки для типу вказаної файлової системи не
передбачено, set_label завершить роботу із повідомленням про помилку і
встановити для errno значення ENOTSUP.

Для читання мітки файлової системи використовуйте C<guestfs_vfs_label>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.9)

=head2 guestfs_set_libvirt_requested_credential

 int
 guestfs_set_libvirt_requested_credential (guestfs_h *g,
                                           int index,
                                           const char *cred,
                                           size_t cred_size);

Після запиту щодо реєстраційних даних із індексом C<індекс>, спрямованого
користувачу, викличте цю функцію для передавання відповіді до libvirt.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.52)

=head2 guestfs_set_libvirt_supported_credentials

 int
 guestfs_set_libvirt_supported_credentials (guestfs_h *g,
                                            char *const *creds);

Викличте цю функцію до встановлення обробника подій для
C<GUESTFS_EVENT_LIBVIRT_AUTH> щоб надати список типів реєстраційних даних,
які може обробляти програма.

Список C<реєстраційні_дані> має бути непорожнім списком рядків. Можна
використовувати такі рядки:

=over 4

=item C<username>

=item C<authname>

=item C<language>

=item C<cnonce>

=item C<passphrase>

=item C<echoprompt>

=item C<noechoprompt>

=item C<realm>

=item C<external>

=back

Опис значення цих типів реєстраційних даних можна знайти у документації до
libvirt.

Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА
ДОПОМОГОЮ LIBVIRT>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.52)

=head2 guestfs_set_memsize

 int
 guestfs_set_memsize (guestfs_h *g,
                      int memsize);

Встановлює розмір у мегабайтах, яку має бути отримано для гіпервізору
пам'яті. Працює, лише якщо викликано до C<guestfs_launch>.

Ви також можете змінити значення цього параметра за допомогою встановлення
змінної середовища C<LIBGUESTFS_MEMSIZE> до створення дескриптора.

Докладніший опис архітектури libguestfs наведено у підручнику з
L<guestfs(3)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.55)

=head2 guestfs_set_network

 int
 guestfs_set_network (guestfs_h *g,
                      int network);

Якщо встановлено значення true, у базовій системі libguestfs буде увімкнено
роботу у мережі. Типовим значенням є false.

Визначає, чи надаватиметься програмам доступ до мережі
(див. L<guestfs(3)/ЗАПУСК КОМАНД>).

Цю функцію слід викликати до C<guestfs_launch>, інакше вона не спрацює.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.5.4)

=head2 guestfs_set_path

 int
 guestfs_set_path (guestfs_h *g,
                   const char *searchpath);

Встановлює шлях, за яким libguestfs шукає ядро і initrd.img.

Типовим значенням є C<$libdir/guestfs>, якщо його не перевизначено за
допомогою змінної середовища C<LIBGUESTFS_PATH>.

Встановлення для параметра C<шлях> значення C<NULL> відновлює типовий шлях.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_set_pgroup

 int
 guestfs_set_pgroup (guestfs_h *g,
                     int pgroup);

Якщо встановлено значення C<pgroup> рівне true, дочірні процеси буде
розміщено у власній групі процесів.

Практичним наслідком цього є те, що сигнали, зокрема C<SIGINT> (наслідок
натискання користувачем комбінації C<^C>), не буде отримано дочірнім
процесом.

Типовим для цього прапорця є значення false, оскільки, зазвичай, C<^C> має
вбивати підпроцеси. Guestfish встановлює для цього прапорця значення true,
якщо програма використовується інтерактивно, щоб за допомогою C<^C> можна
було належно скасувати дії, які виконуються надто довго
(див. C<guestfs_user_cancel>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.11.18)

=head2 guestfs_set_program

 int
 guestfs_set_program (guestfs_h *g,
                      const char *program);

Встановлює назву програми. Це інформативний рядок, який основна програма
може встановлювати у дескрипторі.

Під час створення дескриптора назва програми у дескрипторі встановлюється у
значення basename з C<argv[0]>. Назвою програми ніколи не може бути C<NULL>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.21.29)

=head2 guestfs_set_qemu

 int
 guestfs_set_qemu (guestfs_h *g,
                   const char *hv);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_set_hv>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Вказати виконуваний файл гіпервізору (зазвичай qemu), який буде використано.

Типовий варіант визначається під час збирання бібліотеки за допомогою
скрипту налаштовування збирання (configure).

Крім того, ви можете перевизначити цей параметр за допомогою змінної
середовища C<LIBGUESTFS_HV>.

Встановлення для параметра C<гіпервізор> значення C<NULL> відновлює типовий
виконуваний файл qemu.

Зауважте, що вам слід викликати цю функцію якомога ближче до команди
створення дескриптора. Причиною є те, що деякі дії перед запуском системи
залежать від результатів тестування можливостей qemu (шляхом виконання
команди C<qemu -help>). Якщо виконуваний файл qemu буде змінено, бібліотека
не виконуватиме повторного визначення можливостей, отже, може працювати
некоректно. Використання змінної середовища C<LIBGUESTFS_HV> є
найбезпечнішим способом надати потрібні бібліотеці дані, оскільки
встановлення цієї змінної надає бібліотеці змогу дізнатися усе про
виконуваний файл qemu одночасно зі створенням дескриптора.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.6)

=head2 guestfs_set_recovery_proc

 int
 guestfs_set_recovery_proc (guestfs_h *g,
                            int recoveryproc);

Якщо команда викликається із параметром C<false>, C<guestfs_launch> не
створюватиме процесу відновлення. Призначенням процесу відновлення є
зупинення залишкових процесів гіпервізору, якщо основна програма несподівано
завершує роботу.

Працює, лише якщо викликано до C<guestfs_launch>, а типовим значенням є
true.

Майже єдиним випадком, коли у вас може виникнути потреба вимкнути цю
можливість, є випадок, коли основний процес відгалужує себе у фонову версію
(«демонізує» себе). У цьому випадку процес відновлення вважає, що основна
програма зникла і вбиває процес гіпервізору, отже, псує усю справу.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_set_selinux

 int
 guestfs_set_selinux (guestfs_h *g,
                      int selinux);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_selinux_relabel>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда встановлює прапорець selinux, який передається базовій системі
під час завантаження. Типовим є прапорець C<selinux=0> (вимкнено).

Зауважте, що якщо SELinux увімкнено, система завжди перебуває у дозвільному
режимі (Permissive) (C<enforcing=0>).

Докладніший опис архітектури libguestfs наведено у підручнику з
L<guestfs(3)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.67)

=head2 guestfs_set_smp

 int
 guestfs_set_smp (guestfs_h *g,
                  int smp);

Змінює кількість віртуальних процесорів, які буде призначено на обробку
команд базової системи. Типовим є значення C<1>. Збільшення цього значення
може підвищити швидкодію, але часто просто ні на що не впливає.

Цю функцію слід викликати до C<guestfs_launch>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.13.15)

=head2 guestfs_set_tmpdir

 int
 guestfs_set_tmpdir (guestfs_h *g,
                     const char *tmpdir);

Встановлює назву каталогу, який використовується дескриптором для зберігання
тимчасових файлів.

Змінні середовища C<LIBGUESTFS_TMPDIR> і C<TMPDIR> керують типовим
значенням: якщо встановлено значення C<LIBGUESTFS_TMPDIR>, типовим буде саме
це встановлене значення. Якщо ж це значення не встановлено і встановлено
значення C<TMPDIR>, використовуватиметься це значення. Якщо ж жодну з цих
змінних середовища не встановлено, типово використовуватиметься F</tmp>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.58)

=head2 guestfs_set_trace

 int
 guestfs_set_trace (guestfs_h *g,
                    int trace);

Якщо прапорець trace цієї команди встановлено у значення 1, буде
виконуватися трасування викликів, параметрів та повернутих значень
libguestfs.

Якщо вам потрібно трасувати виклики програмного інтерфейсу мовою C у
libguestfs (та інших бібліотеках), ймовірно, кращим способом буде
використання зовнішньої команди L<ltrace(1)>.

Трасування команд вимкнено, якщо змінну середовища C<LIBGUESTFS_TRACE> не
визначено і не встановлено для неї значення C<1>.

Повідомлення трасування зазвичай надсилаються до C<stderr>, якщо ви не
зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше
місце (див. C<guestfs_set_event_callback>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.69)

=head2 guestfs_set_uuid

 int
 guestfs_set_uuid (guestfs_h *g,
                   const char *device,
                   const char *uuid);

Встановлює для UUID файлової системи на пристрої C<пристрій> значення
C<uuid>. Якщо встановити значення не вдасться, а errno матиме значення
ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено
підтримки зміни UUID.

Підтримку встановлення UUID передбачено лише у деяких типах файлових систем.

Для читання UUID файлової системи слід викликати C<guestfs_vfs_uuid>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.23.10)

=head2 guestfs_set_uuid_random

 int
 guestfs_set_uuid_random (guestfs_h *g,
                          const char *device);

Встановлює для UUID файлової системи на пристрої C<пристрій> у випадкове
значення. Якщо встановити значення не вдасться, а errno матиме значення
ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено
підтримки зміни UUID.

Підтримку встановлення UUID передбачено лише у деяких типах файлових систем.

Для читання UUID файлової системи слід викликати C<guestfs_vfs_uuid>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.29.50)

=head2 guestfs_set_verbose

 int
 guestfs_set_verbose (guestfs_h *g,
                      int verbose);

Якщо аргумент C<verbose> матиме значення true, буде увімкнено режим
докладних повідомлень.

Докладні повідомлення вимкнено, якщо змінну середовища C<LIBGUESTFS_DEBUG>
не визначено і не встановлено для неї значення C<1>.

Докладні повідомлення зазвичай надсилаються до C<stderr>, якщо ви не
зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше
місце (див. C<guestfs_set_event_callback>).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_setcon

 int
 guestfs_setcon (guestfs_h *g,
                 const char *context);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_selinux_relabel>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда встановлює для контексту безпеки SELinux фонової служби значення
C<контекст>.

Див. документацію щодо SELINUX у підручнику з L<guestfs(3)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<selinux>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.67)

=head2 guestfs_setxattr

 int
 guestfs_setxattr (guestfs_h *g,
                   const char *xattr,
                   const char *val,
                   int vallen,
                   const char *path);

Ця команда встановлює розширений атрибут із назвою C<розширений_атрибут> для
файла C<шлях> у значення C<значення> (довжини
C<довжина_значення>). Значенням можуть бути довільні 8-бітові дані.

Див. також C<guestfs_lsetxattr>, L<attr(5)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxxattrs>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.59)

=head2 guestfs_sfdisk

 int
 guestfs_sfdisk (guestfs_h *g,
                 const char *device,
                 int cyls,
                 int heads,
                 int sectors,
                 char *const *lines);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_part_add>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Це безпосередній інтерфейс програми L<sfdisk(8)> для створення розділів на
блокових пристроях.

Значенням параметра C<пристрій> має бути назва блокового пристрою, наприклад
F</dev/sda>.

C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads and
sectors on the device, which are passed directly to L<sfdisk(8)> as the
I<-C>, I<-H> and I<-S> parameters.  If you pass C<0> for any of these, then
the corresponding parameter is omitted.  Usually for ‘large’ disks, you can
just pass C<0> for these, but for small (floppy-sized) disks, L<sfdisk(8)>
(or rather, the kernel) cannot work out the right geometry and you will need
to tell it.

C<lines> is a list of lines that we feed to L<sfdisk(8)>.  For more
information refer to the L<sfdisk(8)> manpage.

Щоб створити єдиний розділ, який займатиме увесь диск, вам слід передати
C<рядки> як список із одного елемента, коли єдиний елемент, який є рядком
C<,> (комою).

Див. також C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_sfdiskM

 int
 guestfs_sfdiskM (guestfs_h *g,
                  const char *device,
                  char *const *lines);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_part_add>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Це спрощений інтерфейс команди C<guestfs_sfdisk>, де розміри розділів
вказується у лише у мегабайтах (округлений до найближчого циліндра), і вам
не потрібно вказувати параметри циліндрів, голівок і секторів, використання
яких все одно є рідкісним.

Див. також C<guestfs_sfdisk>, сторінку man L<sfdisk(8)> та
C<guestfs_part_disk>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.55)

=head2 guestfs_sfdisk_N

 int
 guestfs_sfdisk_N (guestfs_h *g,
                   const char *device,
                   int partnum,
                   int cyls,
                   int heads,
                   int sectors,
                   const char *line);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_part_add>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда додає для програми L<sfdisk(8)> параметр, який змінює лише
окремий розділ C<n> (зауваження: відлік C<n> ведеться з 1).

Опис інший параметрів можна знайти у довідці щодо
C<guestfs_sfdisk>. Зазвичай, вам варто передати C<0> для параметрів
циліндрів, заголовків та секторів.

Див. також C<guestfs_part_add>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.26)

=head2 guestfs_sfdisk_disk_geometry

 char *
 guestfs_sfdisk_disk_geometry (guestfs_h *g,
                               const char *device);

Ця команда показує геометрію диска пристрою C<device>, прочитану з таблиці
розділів. Ці дані можуть відрізнятися від даних щодо геометрії, які відомі
ядру, особливо у випадку, якщо розмір базового пристрою було змінено
(див. C<guestfs_sfdisk_kernel_geometry>).

Результат буде виведено у зручному для читанні вигляді. Його не призначено
для програмної обробки.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.26)

=head2 guestfs_sfdisk_kernel_geometry

 char *
 guestfs_sfdisk_kernel_geometry (guestfs_h *g,
                                 const char *device);

Ця команда показує визначені ядром дані щодо геометрії пристрою C<пристрій>.

Результат буде виведено у зручному для читанні вигляді. Його не призначено
для програмної обробки.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.26)

=head2 guestfs_sfdisk_l

 char *
 guestfs_sfdisk_l (guestfs_h *g,
                   const char *device);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_part_list>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда виводить таблицю розділів на пристрої C<пристрій> у зручному для
читання форматі даних, виведених командою L<sfdisk(8)>. Ці дані не
призначено для програмної обробки.

Див. також C<guestfs_part_list>

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.26)

=head2 guestfs_sh

 char *
 guestfs_sh (guestfs_h *g,
             const char *command);

Ця команда виконує програму з гостьової системи за допомогою F</bin/sh>
гостьової системи.

Подібна до C<guestfs_command>, але передає команду так:

 /bin/sh -c "команда"

Залежно від командної оболонки гостьової системи, зазвичай, це призводить до
розгортання символів-замінників, обробки виразів командної оболонки тощо.

Усі зауваження щодо C<guestfs_command> стосуються і цього виклику.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.50)

=head2 guestfs_sh_lines

 char **
 guestfs_sh_lines (guestfs_h *g,
                   const char *command);

Те саме, що і C<guestfs_sh>, але результат буде поділено на список рядків.

Див. також C<guestfs_command_lines>

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.50)

=head2 guestfs_shutdown

 int
 guestfs_shutdown (guestfs_h *g);

Протилежність команди C<guestfs_launch>. Виконує упорядковане вимикання
процесів модуля обробки. Якщо встановлено прапорець autosync (типова
поведінка), буде синхронізовано образ диска.

Якщо підпроцес завершує роботу із помилкою, ця функція поверне повідомлення
про помилку, яке I<не> слід ігнорувати (воно може свідчити про те, що
належний запис до образу диска неможливий).

Команду можна безпечно викликати довільну кількість разів. Усі зайві виклики
буде просто проігноровано.

Ця команда I<не> закриває і не звільняє дескриптор. Вам слід викликати
C<guestfs_close> після її виконання.

C<guestfs_close> викличе цю команду, якщо ви не зробите цього явно, але,
слід зауважити, що усі помилки у цьому випадку буде проігноровано.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.19.16)

=head2 guestfs_sleep

 int
 guestfs_sleep (guestfs_h *g,
                int secs);

Призупинити обробку на C<час_у_секундах>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.41)

=head2 guestfs_stat

 struct guestfs_stat *
 guestfs_stat (guestfs_h *g,
               const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_statns>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Повертає дані щодо файла за вказаним шляхом C<шлях>.

Це те саме, що системний виклик L<stat(2)>.

Ця функція повертає C<struct guestfs_stat *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_stat>>.

(Додано у 1.9.2)

=head2 guestfs_statns

 struct guestfs_statns *
 guestfs_statns (guestfs_h *g,
                 const char *path);

Повертає дані щодо файла за вказаним шляхом C<шлях>.

Це те саме, що системний виклик L<stat(2)>.

Ця функція повертає C<struct guestfs_statns *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_statns>>.

(Додано у 1.27.53)

=head2 guestfs_statvfs

 struct guestfs_statvfs *
 guestfs_statvfs (guestfs_h *g,
                  const char *path);

Повертає статистику файлової системи для будь-якої змонтованої файлової
системи. Параметр C<шлях> має визначати файл або каталог у змонтованій
файловій системі (типово, це сама точка монтування, але не обов'язково саме
вона).

Це те саме, що системний виклик L<statvfs(2)>.

Ця функція повертає C<struct guestfs_statvfs *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_statvfs>>.

(Додано у 1.9.2)

=head2 guestfs_strings

 char **
 guestfs_strings (guestfs_h *g,
                  const char *path);

Виконує програму L<strings(1)> для файла і повертає список знайдених у ньому
придатних до друку рядків.

У минулому у команди C<strings> були проблеми із обробкою файлів, отриманих
від ненадійних джерел. Ці проблеми усунуто у поточній версії libguestfs,
втім, див. L<guestfs(3)/CVE-2014-8484>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.22)

=head2 guestfs_strings_e

 char **
 guestfs_strings_e (guestfs_h *g,
                    const char *encoding,
                    const char *path);

Ця команда подібна до команди C<guestfs_strings>, але надає вам змогу
вказати кодування рядків, які ви шукаєте у файлі даних C<path>.

Можливими кодуваннями є:

=over 4

=item s

Одинарні 7-бітові символи, зокрема ASCII та сумісні із ASCII частини
ISO-8859-X (це кодування використовує C<guestfs_strings>).

=item S

Окремі 8-бітові-байтові символи.

=item b

16-бітове зі зворотним порядком байтів, зокрема рядки у кодуваннях UTF-16BE
та UCS-2BE.

=item l (мала літера L)

16-бітове із прямим порядком байтів, зокрема UTF-16LE і UCS-2LE. Корисно для
вивчення двійкових файлів у гостьових системах Windows.

=item B

32-бітове зі зворотним порядком байтів, зокрема UCS-4LE.

=item L

32-бітове із прямим порядком байтів, зокрема UCS-4LE.

=back

Повернуті рядки буде перекодовано до UTF-8.

У минулому у команди C<strings> були проблеми із обробкою файлів, отриманих
від ненадійних джерел. Ці проблеми усунуто у поточній версії libguestfs,
втім, див. L<guestfs(3)/CVE-2014-8484>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.22)

=head2 guestfs_swapoff_device

 int
 guestfs_swapoff_device (guestfs_h *g,
                         const char *device);

Ця команда вимикає резервну пам'ять на диску або розділ із назвою C<device>
у базовій системі libguestfs. Див. C<guestfs_swapon_device>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapoff_file

 int
 guestfs_swapoff_file (guestfs_h *g,
                       const char *file);

Ця команда вимикає резервну пам'ять у файлі для базової системи libguestfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapoff_label

 int
 guestfs_swapoff_label (guestfs_h *g,
                        const char *label);

Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на
вказаному за міткою розділі резервної пам'яті.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapoff_uuid

 int
 guestfs_swapoff_uuid (guestfs_h *g,
                       const char *uuid);

Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на
вказаному розділі із вказаним UUID.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_swapon_device

 int
 guestfs_swapon_device (guestfs_h *g,
                        const char *device);

Ця команда вмикає резервну пам'ять на диску або розділ із назвою C<device> у
базовій системі libguestfs. Збільшений обсяг пам'яті стає доступним для усіх
команд, зокрема тих, які запускаються за допомогою  C<guestfs_command> або
C<guestfs_sh>.

Зауважте, що вам не варто створювати резервну пам'ять на наявних розділах
резервної пам'яті гостьової системи, якщо ви не впевнені у правильності
своїх дій. На цих розділах можуть міститися дані режиму присипляння системи
або інші дані, які не варто втрачати. Також подібні дії можуть призвести до
небажаного доступу до конфіденційних даних у гостьовій системі. Замість
цього, долучіть до гостьової системи новий пристрій основної системи і
організовуйте резервну пам'ять на ньому.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapon_file

 int
 guestfs_swapon_file (guestfs_h *g,
                      const char *file);

Ця команда вмикає резервну пам'ять у файлі. Зауваження щодо її використання
є такими самими, що і для C<guestfs_swapon_device>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapon_label

 int
 guestfs_swapon_label (guestfs_h *g,
                       const char *label);

Ця команда вмикає резервну пам'ять на вказаному за міткою розділі резервної
пам'яті. Зауваження щодо її використання є такими самими, що і для
C<guestfs_swapon_device>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.66)

=head2 guestfs_swapon_uuid

 int
 guestfs_swapon_uuid (guestfs_h *g,
                      const char *uuid);

Ця команда вмикає резервну пам'ять на розділі резервної пам'яті, вказаному
за UUID. Зауваження щодо її використання є такими самими, що і для
C<guestfs_swapon_device>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості
C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

(Додано у 1.0.66)

=head2 guestfs_sync

 int
 guestfs_sync (guestfs_h *g);

Ця команда виконує синхронізацію диска. Усі буфери даних записуються на
базовий образ диска.

Вам завжди слід викликати цю команду, якщо ви вносили зміни до образу диска,
перед закриттям дескриптора.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_syslinux

 int
 guestfs_syslinux (guestfs_h *g,
                   const char *device,
                   ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_SYSLINUX_DIRECTORY, const char *directory,

Встановлює завантажувач SYSLINUX на C<пристрій>.

Значенням параметра пристрою має бути або увесь диск, форматований у файлову
систему FAT, або розділ диска, форматований у файлову систему FAT. У
останньому випадку, розділ має бути позначено як «активний»
(C<guestfs_part_set_bootable>), а на перший сектор усього диска має бути
встановлено MBR (наприклад, за допомогою C<guestfs_pwrite_device>). До
пакунка SYSLINUX включено деякі найпоширеніші варіанти MBR. Докладніший опис
можна знайти на сторінці підручника щодо L<syslinux(1)>.

Необов'язковими аргументами є:

=over 4

=item F<directory>

Встановити SYSLINUX до вказаного за назвою підкаталогу, замість кореневого
каталогу файлової системи FAT.

=back

Додатково налаштувати SYSLINUX можна за допомогою файла із назвою
F<syslinux.cfg> на файловій системі FAT, у кореневому каталозі або у
каталозі файлової системи F<каталог>, якщо використано необов'язковий
аргумент команди. Докладніше про це та вміст файла можна дізнатися зі
сторінки підручника L<syslinux(1)>.

Див. також C<guestfs_extlinux>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<syslinux>. Див. також
L</guestfs_feature_available>.

(Додано у 1.21.27)

=head2 guestfs_syslinux_va

 int
 guestfs_syslinux_va (guestfs_h *g,
                      const char *device,
                      va_list args);

Це «варіант з va_list» L</guestfs_syslinux>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_syslinux_argv

 int
 guestfs_syslinux_argv (guestfs_h *g,
                        const char *device,
                        const struct guestfs_syslinux_argv *optargs);

Це «варіант з argv» L</guestfs_syslinux>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tail

 char **
 guestfs_tail (guestfs_h *g,
               const char *path);

Ця команда повертає останні 10 рядків файла у форматі списку рядків.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.54)

=head2 guestfs_tail_n

 char **
 guestfs_tail_n (guestfs_h *g,
                 int nrlines,
                 const char *path);

Якщо параметр C<к-ть_рядків> є додатним числом, повертає останні
C<к-ть_рядків> рядків з файла C<шлях>.

If the parameter C<nrlines> is a negative number, this returns lines from
the file C<path>, starting with the C<-nrlines>'th line.

Якщо значенням параметра C<к-ть_рядків> є нуль, команда повертає порожній
список.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.54)

=head2 guestfs_tar_in

 int
 guestfs_tar_in (guestfs_h *g,
                 const char *tarfile,
                 const char *directory);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_tar_in_opts> без додаткових
аргументів.

(Додано у 1.0.3)



=head2 guestfs_tar_in_opts

 int
 guestfs_tar_in_opts (guestfs_h *g,
                      const char *tarfile,
                      const char *directory,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_TAR_IN_OPTS_COMPRESS, const char *compress,
 GUESTFS_TAR_IN_OPTS_XATTRS, int xattrs,
 GUESTFS_TAR_IN_OPTS_SELINUX, int selinux,
 GUESTFS_TAR_IN_OPTS_ACLS, int acls,

Ця команда вивантажує і розпаковує локальний файл C<файл_tar> до каталогу
F<каталог>.

Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано,
вхідні дані мають бути простим, нестисненим файлом tar. Ви також можете
вказати такі рядки для вибору типу стискання: C<compress>, C<gzip>,
C<bzip2>, C<xz>, C<lzop>. (Зауважте, що підтримку усіх цих типів стискання
передбачено не в усіх зібраних пакунках libguestfs).

Іншими необов'язковими параметрами є такі:

=over 4

=item C<xattrs>

Якщо встановлено значення true, розширені атрибути відновлюватимуться з
файла tar.

=item C<selinux>

Якщо встановлено значення true, контекст SELinux відновлюватиметься з файла
tar.

=item C<acls>

Якщо встановлено значення true, з файла tar відновлюватимуться ACL POSIX.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.3)

=head2 guestfs_tar_in_opts_va

 int
 guestfs_tar_in_opts_va (guestfs_h *g,
                         const char *tarfile,
                         const char *directory,
                         va_list args);

Це «варіант з va_list» L</guestfs_tar_in_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tar_in_opts_argv

 int
 guestfs_tar_in_opts_argv (guestfs_h *g,
                           const char *tarfile,
                           const char *directory,
                           const struct guestfs_tar_in_opts_argv *optargs);

Це «варіант з argv» L</guestfs_tar_in_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tar_out

 int
 guestfs_tar_out (guestfs_h *g,
                  const char *directory,
                  const char *tarfile);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_tar_out_opts> без додаткових
аргументів.

(Додано у 1.0.3)



=head2 guestfs_tar_out_opts

 int
 guestfs_tar_out_opts (guestfs_h *g,
                       const char *directory,
                       const char *tarfile,
                       ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_TAR_OUT_OPTS_COMPRESS, const char *compress,
 GUESTFS_TAR_OUT_OPTS_NUMERICOWNER, int numericowner,
 GUESTFS_TAR_OUT_OPTS_EXCLUDES, char *const *excludes,
 GUESTFS_TAR_OUT_OPTS_XATTRS, int xattrs,
 GUESTFS_TAR_OUT_OPTS_SELINUX, int selinux,
 GUESTFS_TAR_OUT_OPTS_ACLS, int acls,

Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла
C<файл_tar>.

Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано,
вихідні дані будуть простим, нестисненим файлом tar. Ви також можете вказати
такі рядки для вибору типу стискання: C<compress>, C<gzip>, C<bzip2>, C<xz>,
C<lzop>. (Зауважте, що підтримку усіх цих типів стискання передбачено не в
усіх зібраних пакунках libguestfs).

Іншими необов'язковими параметрами є такі:

=over 4

=item C<excludes>

Список шаблонів. Файли буде виключено, якщо вони відповідатимуть якомусь із
вказаних шаблонів.

=item C<numericowner>

Якщо встановлено значення true, у виведеному файлі tar міститимуться номери
UID/GID замість назв записів користувачів і груп.

=item C<xattrs>

Якщо встановлено значення true, у виведеному файлі tar зберігатимуться
розширені атрибути.

=item C<selinux>

Якщо встановлено значення true, у виведеному файлі tar зберігатимуться
контексти SELinux.

=item C<acls>

Якщо встановлено значення true, у виведеному файлі tar зберігатимуться ACL
POSIX.

=back

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.3)

=head2 guestfs_tar_out_opts_va

 int
 guestfs_tar_out_opts_va (guestfs_h *g,
                          const char *directory,
                          const char *tarfile,
                          va_list args);

Це «варіант з va_list» L</guestfs_tar_out_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tar_out_opts_argv

 int
 guestfs_tar_out_opts_argv (guestfs_h *g,
                            const char *directory,
                            const char *tarfile,
                            const struct guestfs_tar_out_opts_argv *optargs);

Це «варіант з argv» L</guestfs_tar_out_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tgz_in

 int
 guestfs_tgz_in (guestfs_h *g,
                 const char *tarball,
                 const char *directory);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_tar_in>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда вивантажує і розпаковує локальний файл C<архів_tar> (I<стиснений
gzip> файл tar) до каталогу F<каталог>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.3)

=head2 guestfs_tgz_out

 int
 guestfs_tgz_out (guestfs_h *g,
                  const char *directory,
                  const char *tarball);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_tar_out>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла
C<архів_tar>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.3)

=head2 guestfs_touch

 int
 guestfs_touch (guestfs_h *g,
                const char *path);

Touch працює як команда L<touch(1)>. Цією командою можна скористатися для
оновлення часових позначок файла або, якщо файла не існує, створення нового
файла нульової довжини.

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

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_truncate

 int
 guestfs_truncate (guestfs_h *g,
                   const char *path);

Ця команда обрізає файл C<шлях> до нульової довжини. Для її успішного
виконання файл має існувати.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_truncate_size

 int
 guestfs_truncate_size (guestfs_h *g,
                        const char *path,
                        int64_t size);

Ця команда обрізає файл C<шлях> до розміру у C<розмір> байтів. Для її
успішного виконання файл має існувати.

Якщо поточний розмір файла є меншим за C<розмір>, файл буде розширено до
вказаного розміру доповненням його вмісту нульовими байтами. Команда створює
розріджений файл (тобто блоки диска не розподіляються під файл, доки ви не
виконаєте запис до нього). Для створення файла заповненого нулями, який не
буде розрідженим, скористайтеся командою C<guestfs_fallocate64>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_tune2fs

 int
 guestfs_tune2fs (guestfs_h *g,
                  const char *device,
                  ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_TUNE2FS_FORCE, int force,
 GUESTFS_TUNE2FS_MAXMOUNTCOUNT, int maxmountcount,
 GUESTFS_TUNE2FS_MOUNTCOUNT, int mountcount,
 GUESTFS_TUNE2FS_ERRORBEHAVIOR, const char *errorbehavior,
 GUESTFS_TUNE2FS_GROUP, int64_t group,
 GUESTFS_TUNE2FS_INTERVALBETWEENCHECKS, int intervalbetweenchecks,
 GUESTFS_TUNE2FS_RESERVEDBLOCKSPERCENTAGE, int reservedblockspercentage,
 GUESTFS_TUNE2FS_LASTMOUNTEDDIRECTORY, const char *lastmounteddirectory,
 GUESTFS_TUNE2FS_RESERVEDBLOCKSCOUNT, int64_t reservedblockscount,
 GUESTFS_TUNE2FS_USER, int64_t user,

За допомогою цієї команди ви можете скоригувати різноманітні параметри
файлової системи ext2/ext3/ext4 із назвою C<пристрій>.

Додатковими параметрами є:

=over 4

=item C<force>

Force tune2fs to complete the operation even in the face of errors.  This is
the same as the L<tune2fs(8)> C<-f> option.

=item C<maxmountcount>

Set the number of mounts after which the filesystem is checked by
L<e2fsck(8)>.  If this is C<0> then the number of mounts is disregarded.
This is the same as the L<tune2fs(8)> C<-c> option.

=item C<mountcount>

Set the number of times the filesystem has been mounted.  This is the same
as the L<tune2fs(8)> C<-C> option.

=item C<errorbehavior>

Змінює поведінку коду ядра, якщо стануться помилки. Можливі значення у
поточній версії: C<continue>, C<remount-ro>, C<panic>. На практиці,
відмінність між цими варіантами є незначною, зокрема при появі помилок
запису.

This is the same as the L<tune2fs(8)> C<-e> option.

=item C<group>

Set the group which can use reserved filesystem blocks.  This is the same as
the L<tune2fs(8)> C<-g> option except that it can only be specified as a
number.

=item C<intervalbetweenchecks>

Коригує максимальний час між двома послідовними перевірками файлової системи
(у секундах). Якщо буде передано значення C<0>, залежність перевірок від
часу буде вимкнено.

This is the same as the L<tune2fs(8)> C<-i> option.

=item C<reservedblockspercentage>

Set the percentage of the filesystem which may only be allocated by
privileged processes.  This is the same as the L<tune2fs(8)> C<-m> option.

=item C<lastmounteddirectory>

Set the last mounted directory.  This is the same as the L<tune2fs(8)> C<-M>
option.

=item C<reservedblockscount> Set the number of reserved filesystem blocks.  This
is the same as the L<tune2fs(8)> C<-r> option.

=item C<user>

Set the user who can use the reserved filesystem blocks.  This is the same
as the L<tune2fs(8)> C<-u> option except that it can only be specified as a
number.

=back

Якщо вам потрібно отримати поточні значення параметрів файлової системи,
скористайтеся C<guestfs_tune2fs_l>. Докладний опис роботи tune2fs наведено
на сторінці підручника L<tune2fs(8)>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.15.4)

=head2 guestfs_tune2fs_va

 int
 guestfs_tune2fs_va (guestfs_h *g,
                     const char *device,
                     va_list args);

Це «варіант з va_list» L</guestfs_tune2fs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tune2fs_argv

 int
 guestfs_tune2fs_argv (guestfs_h *g,
                       const char *device,
                       const struct guestfs_tune2fs_argv *optargs);

Це «варіант з argv» L</guestfs_tune2fs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_tune2fs_l

 char **
 guestfs_tune2fs_l (guestfs_h *g,
                    const char *device);

Ця команда повертає вміст суперблоку файлової системи ext2, ext3 або ext4 на
пристрої C<пристрій>.

Результат буде таким самим як результат виконання команди C<tune2fs -l
пристрій>. Див. сторінку підручника L<tune2fs(8)>, щоб дізнатися
більше. Список повернутих полів не є точно визначеним і залежить від версії
C<tune2fs>, з якою було зібрано libguestfs, та самої файлової системи.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме
довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним
послідовно, завершуючись кінцевим записом NULL. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.9.2)

=head2 guestfs_txz_in

 int
 guestfs_txz_in (guestfs_h *g,
                 const char *tarball,
                 const char *directory);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_tar_in>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда вивантажує і розпаковує локальний файл C<архів_tar> (I<стиснений
xz> файл tar) до каталогу F<каталог>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<xz>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.2)

=head2 guestfs_txz_out

 int
 guestfs_txz_out (guestfs_h *g,
                  const char *directory,
                  const char *tarball);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_tar_out>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла
C<архів_tar> (у форматі стисненого xz архіву tar).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<xz>. Див. також
L</guestfs_feature_available>.

(Додано у 1.3.2)

=head2 guestfs_umask

 int
 guestfs_umask (guestfs_h *g,
                int mask);

Ця функція встановлює маску, яка використовується для створення нових файлів
і вузлів пристрою, у значення C<mask & 0777>.

Типовими значеннями umask мають бути C<022>, використання якої призводить до
прав доступу «-rw-r--r--» або «-rwxr-xr-x», та C<002>, використання якої
призводить до прав доступу «-rw-rw-r--» або «-rwxrwxr-x».

Типовим значенням umask є C<022>. Це важливо, оскільки означає, що каталоги
і вузли пристрою створюватимуться із правами доступу C<0644> або C<0755>,
навіть якщо ви вкажете права доступу C<0777>.

Див. також C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>,
C<guestfs_mkdir>.

Цей виклик повертає попередню umask.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.55)

=head2 guestfs_umount

 int
 guestfs_umount (guestfs_h *g,
                 const char *pathordevice);

Цю функцію реалізовано для зворотної сумісності із ранішими версіями
libguestfs. Вона просто викликає L</guestfs_umount_opts> без додаткових
аргументів.

(Додано у 0.8)



=head2 guestfs_umount_opts

 int
 guestfs_umount_opts (guestfs_h *g,
                      const char *pathordevice,
                      ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_UMOUNT_OPTS_FORCE, int force,
 GUESTFS_UMOUNT_OPTS_LAZYUNMOUNT, int lazyunmount,

Ця команда демонтує вказану файлову систему. Файлову систему можна вказати
або як точку монтування (шлях) або як пристрій, на якому міститься файлова
система.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_umount_opts_va

 int
 guestfs_umount_opts_va (guestfs_h *g,
                         const char *pathordevice,
                         va_list args);

Це «варіант з va_list» L</guestfs_umount_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_umount_opts_argv

 int
 guestfs_umount_opts_argv (guestfs_h *g,
                           const char *pathordevice,
                           const struct guestfs_umount_opts_argv *optargs);

Це «варіант з argv» L</guestfs_umount_opts>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_umount_all

 int
 guestfs_umount_all (guestfs_h *g);

Демонтує усі змонтовані файлові системи.

Деякі із внутрішніх монтувань не демонтуються цим викликом.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.8)

=head2 guestfs_umount_local

 int
 guestfs_umount_local (guestfs_h *g,
                       ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_UMOUNT_LOCAL_RETRY, int retry,

Якщо libguestfs експортує файлову систему на локальну точку монтування, цей
виклик демонтує її.

Із повною документацією можна ознайомитися у розділі L<guestfs(3)/ЛОКАЛЬНЕ
МОНТУВАННЯ>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.17.22)

=head2 guestfs_umount_local_va

 int
 guestfs_umount_local_va (guestfs_h *g,
                          va_list args);

Це «варіант з va_list» L</guestfs_umount_local>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_umount_local_argv

 int
 guestfs_umount_local_argv (guestfs_h *g,
                            const struct guestfs_umount_local_argv *optargs);

Це «варіант з argv» L</guestfs_umount_local>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_upload

 int
 guestfs_upload (guestfs_h *g,
                 const char *filename,
                 const char *remotefilename);

Вивантажує локальний файл F<назва_файла> до віддаленого файла
F<назва_віддаленого_файла> у файловій системі.

Значенням параметра F<назва_файла> також може бути іменований канал обробки
даних.

Див. також C<guestfs_download>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.2)

=head2 guestfs_upload_offset

 int
 guestfs_upload_offset (guestfs_h *g,
                        const char *filename,
                        const char *remotefilename,
                        int64_t offset);

Вивантажує локальний файл F<назва_файла> до віддаленого файла
F<назва_віддаленого_файла> у файловій системі.

Віддалений файл F<назва_віддаленого_файла> буде перезаписано, починаючи з
байта C<відступ>. Призначенням команди є перезапис частин наявних файлів або
пристроїв, хоча, якщо буде задано файл, якого не існує, команда створить
його із «діркою» до байта C<відступ>. Розмір записаних даних неявним чином
визначається розміром файла-джерела F<назва_файла>.

Зауважте, що немає обмеження на обсяг даних, які може бути вивантажено за
допомогою цього виклику, на відміну від команди C<guestfs_pwrite>, і цей
виклик завжди записує дані до кінця, якщо не станеться помилки.

Див. також C<guestfs_upload>, C<guestfs_pwrite>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.5.17)

=head2 guestfs_user_cancel

 int
 guestfs_user_cancel (guestfs_h *g);

За допомогою цієї функції можна скасувати поточну дію із отримання або
вивантаження даних.

На відміну від більшості інших викликів libguestfs, цю функцію захищено від
сигналів та потоків обробки. Ви можете викликати її із обробника сигналів
або іншого потоку обробки без потреби у блокуванні хоч чогось.

Передавання даних, яке не було завершено (якщо таке існує), буде зупинено
невдовзі після виконання цієї команди, і буде повернуто повідомлення про
помилку. Для errno (див. L</guestfs_last_errno>) буде встановлено значення
C<EINTR>, отже ви можете просто перевірити це значення, щоб визначити дію,
яку було скасовано або яка завершилася помилкою через інші причини.

Чищення після виконання команди не виконуватиметься. Наприклад, якщо на
момент скасовування виконувалося вивантаження файла, результатом буде
частково вивантажений файл. Про належне чищення має подбати функція, з якої
було викликано команду.

Існує два типових місця, звідки ви варто викликати C<guestfs_user_cancel>:

In an interactive text-based program, you might call it from a C<SIGINT>
signal handler so that pressing C<^C> cancels the current operation.  (You
also need to call C<guestfs_set_pgroup> so that child processes don't
receive the C<^C> signal).

У графічних програмах, якщо основний потік обробки даних показує смужку
поступу із кнопкою скасовування дії, подію натискання кнопки скасовування
дії слід пов'язувати із викликом цієї функції.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.11.18)

=head2 guestfs_utimens

 int
 guestfs_utimens (guestfs_h *g,
                  const char *path,
                  int64_t atsecs,
                  int64_t atnsecs,
                  int64_t mtsecs,
                  int64_t mtnsecs);

Ця команда встановлює часову позначку для файла з точністю до наносекунди.

C<atsecs>, C<atnsecs> are the last access time (atime) in secs and
nanoseconds from the epoch.

C<mtsecs>, C<mtnsecs> are the last modification time (mtime) in secs and
nanoseconds from the epoch.

Якщо якесь із полів C<*nsecs> містить спеціальне значення C<-1>, відповідну
часову позначку буде встановлено у поточний момент часу. (У цьому випадку
поле C<*secs> буде проігноровано.)

Якщо якесь із полів C<*nsecs> містить спеціальне значення C<-2>, відповідну
часову позначку не буде змінено. (У цьому випадку поле C<*secs> буде
проігноровано.)

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.77)

=head2 guestfs_utsname

 struct guestfs_utsname *
 guestfs_utsname (guestfs_h *g);

Ця команда повертає версію ядра базової системи, якщо таку версію можна
встановити. Отримані дані корисні лише для діагностики. У повернутій
структурі жодна з частин не визначається програмним інтерфейсом.

Ця функція повертає C<struct guestfs_utsname *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_utsname>>.

(Додано у 1.19.27)

=head2 guestfs_version

 struct guestfs_version *
 guestfs_version (guestfs_h *g);

Повертає номер версії libguestfs, з якою скомпоновано програму.

Зауважте, що через динамічне компонування, це може бути зовсім не та версія
libguestfs, з якою виконувалося збирання. Ви можете зібрати програму, а
потім у динамічному режимі скомпонувати її із зовсім іншою бібліотекою
F<libguestfs.so>.

Цей виклик було додано у версії C<1.0.58>. У попередніх версіях libguestfs
не було можливості отримати номер версії. З коду мовою C ви можете
використовувати функції динамічного компонування для визначення того, чи
існує символ (якщо символу не існує, це давня версія, до версії 1.0.58).

Цей виклик повертає структуру із чотирьох елементів. Перші три (C<major>,
C<minor> і C<release>) є числами, які відповідають звичній трійці частин
версії. Четвертий елемент (C<extra>) є рядком, який зазвичай є порожнім, але
його може бути використано для специфічної для дистрибутива інформації.

Для побудови початкового рядка версії: C<$major.$minor.$release$extra>

Див також: L<guestfs(3)/НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS>.

I<Зауваження:> не користуйтеся цим викликом для визначення доступності
якихось можливостей. У промислових дистрибутивах ми виконуємо зворотне
портування можливостей з пізніших версій на раніші. Це робить визначення за
версією ненадійною справою. Замість цього, користуйтеся командами
C<guestfs_available> і C<guestfs_feature_available>.

Ця функція повертає C<struct guestfs_version *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_version>>.

(Додано у 1.0.58)

=head2 guestfs_vfs_label

 char *
 guestfs_vfs_label (guestfs_h *g,
                    const char *mountable);

Повертає мітку файлової системи на розділі C<монтований_розділ>.

Якщо у файлової системи немає мітки, буде повернуто порожній рядок.

Пошук файлової системи за міткою можна здійснити за допомогою
C<guestfs_findfs_label>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.3.18)

=head2 guestfs_vfs_minimum_size

 int64_t
 guestfs_vfs_minimum_size (guestfs_h *g,
                           const char *mountable);

Отримати мінімальний розмір файлової системи у байтах. Це мінімальний
можливий розмір файлової системи після стискання.

Якщо отримання мінімального розміру для файлової системи не передбачено, ця
команда завершить роботи повідомленням про помилку, встановивши для errno
значення ENOTSUP.

Див. також L<ntfsresize(8)>, L<resize2fs(8)>, L<btrfs(8)>, L<xfs_info(8)>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.31.18)

=head2 guestfs_vfs_type

 char *
 guestfs_vfs_type (guestfs_h *g,
                   const char *mountable);

Ця команда отримує тип файлової системи, відповідний до файлової системи у
C<монтуванні>.

Для більшості файлових систем результатом виконання є назва модуля VFS
Linux, який буде використано для монтування цієї системи, якщо ви змонтуєте
її без явного задання типу файлової системи. Наприклад, може бути повернуто
рядок C<ext3> або C<ntfs>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.75)

=head2 guestfs_vfs_uuid

 char *
 guestfs_vfs_uuid (guestfs_h *g,
                   const char *mountable);

Ця команда повертає UUID файлової системи для файлової системи
C<монтування>.

Якщо у файлової системи немає UUID, буде повернуто порожній рядок.

Пошук файлової системи за UUID можна здійснити за допомогою
C<guestfs_findfs_uuid>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.3.18)

=head2 guestfs_vg_activate

 int
 guestfs_vg_activate (guestfs_h *g,
                      int activate,
                      char *const *volgroups);

Ця команда активує або (якщо параметром є false) деактивує усі логічні томи
у вказаних групах томів C<групи_томів>.

Ця команда дає ті самі результати, що і C<vgchange -a y|n групи томів...>

Зауважте, що якщо C<групи_томів> є порожнім списком, буде активовано або
деактивовано B<усі> групи томів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.26)

=head2 guestfs_vg_activate_all

 int
 guestfs_vg_activate_all (guestfs_h *g,
                          int activate);

Ця команда активує або (якщо параметром є false) деактивує усі логічні томи
в усіх групах томів.

Ця команда дає ті самі результати, що і C<vgchange -a y|n>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.26)

=head2 guestfs_vgchange_uuid

 int
 guestfs_vgchange_uuid (guestfs_h *g,
                        const char *vg);

Створити новий випадковий UUID для групи томів C<vg>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.26)

=head2 guestfs_vgchange_uuid_all

 int
 guestfs_vgchange_uuid_all (guestfs_h *g);

Створити нові випадкові UUID для всіх груп томів.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.26)

=head2 guestfs_vgcreate

 int
 guestfs_vgcreate (guestfs_h *g,
                   const char *volgroup,
                   char *const *physvols);

Ця команда створює групу томів LVM із назвою C<група_томів> на основі
непорожнього списку фізичних томів C<фізичні_томи>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.8)

=head2 guestfs_vglvuuids

 char **
 guestfs_vglvuuids (guestfs_h *g,
                    const char *vgname);

За вказаною групою томів C<назва_vg> ця команда повертає UUID усіх логічних
томів, створених у вказаній групі томів.

Цією командою можна скористатися у поєднанні із командами C<guestfs_lvs> і
C<guestfs_lvuuid> для пов'язування логічних томів і груп томів.

Див. також C<guestfs_vgpvuuids>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.87)

=head2 guestfs_vgmeta

 char *
 guestfs_vgmeta (guestfs_h *g,
                 const char *vgname,
                 size_t *size_r);

Значенням параметра C<назва_vg> є назва групи томів LVM. Ця команда виконує
вивчення групи томів і повертає її метадані.

Зауважте, що метадані є внутрішньою структурою, яка використовується LVM і
яку може бути будь-коли змінено. Її дані надаються лише з інформаційною
метою.

Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір
повернутого буфера буд записано до C<*size_r>. I<Після використання функція,
яка викликає цю функцію, має звільнити повернутий буфер>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.20)

=head2 guestfs_vgpvuuids

 char **
 guestfs_vgpvuuids (guestfs_h *g,
                    const char *vgname);

За вказаною групою томів C<назва_vg> ця команда повертає UUID усіх фізичних
томів, на яких розміщено вказану групу томів.

Цією командою можна скористатися у поєднанні із командами C<guestfs_pvs> і
C<guestfs_pvuuid> для пов'язування фізичних томів і груп томів.

Див. також C<guestfs_vglvuuids>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

(Додано у 1.0.87)

=head2 guestfs_vgremove

 int
 guestfs_vgremove (guestfs_h *g,
                   const char *vgname);

Вилучає групу томів LVM C<назва_vg> (наприклад C<VG>).

Крім того, ця команда у примусовому порядку вилучає усі логічні томи у групі
томів (якщо такі існують).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.13)

=head2 guestfs_vgrename

 int
 guestfs_vgrename (guestfs_h *g,
                   const char *volgroup,
                   const char *newvolgroup);

Перейменовує групу томів C<група_томів> на групу томів C<нова_група_томів>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.0.83)

=head2 guestfs_vgs

 char **
 guestfs_vgs (guestfs_h *g);

Виводить список усіх виявлених груп томів. Є еквівалентом команди L<vgs(8)>.

Ця команда повертає список лише тих груп томів, які вдасться виявити
(наприклад C<VolGroup00>).

Див. також C<guestfs_vgs_full>.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_vgs_full

 struct guestfs_lvm_vg_list *
 guestfs_vgs_full (guestfs_h *g);

Виводить список усіх виявлених груп томів. Є еквівалентом команди
L<vgs(8)>. До «повної» версії включено усі поля.

Ця функція повертає C<struct guestfs_lvm_vg_list *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_lvm_vg_list>>.

Працездатність цієї функції залежить від можливості C<lvm2>. Див. також
L</guestfs_feature_available>.

(Додано у 0.4)

=head2 guestfs_vgscan

 int
 guestfs_vgscan (guestfs_h *g);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_lvm_scan>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця команда виконує повторне сканування усіх блокових пристроїв і повторно
будує список фізичних томів, груп томів та логічних томів LVM.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.2)

=head2 guestfs_vguuid

 char *
 guestfs_vguuid (guestfs_h *g,
                 const char *vgname);

Ця команда повертає UUID групи томів LVM із назвою C<назва_vg>.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.87)

=head2 guestfs_wait_ready

 int
 guestfs_wait_ready (guestfs_h *g);

I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до
документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб
дізнатися більше.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця функція не виконує ніяких дій.

У версіях програмного інтерфейсу E<lt> 1.0.71 вам слід було викликати цю
функцію одразу після виклику C<guestfs_launch>, щоб дочекатися кінця
запуску.  Втім, тепер це робити не обов'язково, оскільки очікування тепер
виконується у C<guestfs_launch>.

Якщо ви побачите у коді якісь виклики цієї функції, можете просто вилучити
їх, якщо вам не потрібна сумісність із застарілими версіями програмного
інтерфейсу.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 0.3)

=head2 guestfs_wc_c

 int
 guestfs_wc_c (guestfs_h *g,
               const char *path);

Ця команда лічить символи у файлі за допомогою зовнішньої програми C<wc -c>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.54)

=head2 guestfs_wc_l

 int
 guestfs_wc_l (guestfs_h *g,
               const char *path);

Ця команда лічить рядки у файлі за допомогою зовнішньої програми C<wc -l>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.54)

=head2 guestfs_wc_w

 int
 guestfs_wc_w (guestfs_h *g,
               const char *path);

Ця команда лічить слова у файлі за допомогою зовнішньої програми C<wc -w>.

У разі помилки цією функцією буде повернуто -1.

(Додано у 1.0.54)

=head2 guestfs_wipefs

 int
 guestfs_wipefs (guestfs_h *g,
                 const char *device);

Ця команда витирає файлову систему або підписи RAID з вказаного пристрою
C<пристрій> з метою зробити файлову систему невидимою для libblkid.

Ця команда не витирає самої файлової системи або інших даних з пристрою
C<пристрій>.

Порівняйте із C<guestfs_zero>, яка записує нулі у перші декілька блоків
пристрою.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<wipefs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.17.6)

=head2 guestfs_write

 int
 guestfs_write (guestfs_h *g,
                const char *path,
                const char *content,
                size_t content_size);

Цей виклик створює файл із назвою C<шлях>. Вмістом файла буде рядок C<дані>
(який може складатися з будь-яких 8-бітовий даних).

Див. також C<guestfs_write_append>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.3.14)

=head2 guestfs_write_append

 int
 guestfs_write_append (guestfs_h *g,
                       const char *path,
                       const char *content,
                       size_t content_size);

Цей виклик дописує C<дані> наприкінці файла C<шлях>. Якщо файла C<шлях> не
існує, його буде створено.

Див. також C<guestfs_write>.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

(Додано у 1.11.18)

=head2 guestfs_write_file

 int
 guestfs_write_file (guestfs_h *g,
                     const char *path,
                     const char *content,
                     int size);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_write>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Цей виклик створює файл із назвою C<шлях>. Вмістом файла буде рядок C<дані>
(який може складатися з будь-яких 8-бітовий даних), а розмір файла буде
визначено значенням C<розмір>.

У особливому випадку, якщо C<розмір> дорівнює C<0>, довжину файла буде
обчислено за допомогою C<strlen> (тому у цьому випадку «дані» не повинні
містити вбудованих символів NUL ASCII).

I<NB.> Через ваду запис даних, які містять символи NUL ASCII I<не> працює,
навіть якщо явним чином вказати довжину.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 0.8)

=head2 guestfs_xfs_admin

 int
 guestfs_xfs_admin (guestfs_h *g,
                    const char *device,
                    ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_XFS_ADMIN_EXTUNWRITTEN, int extunwritten,
 GUESTFS_XFS_ADMIN_IMGFILE, int imgfile,
 GUESTFS_XFS_ADMIN_V2LOG, int v2log,
 GUESTFS_XFS_ADMIN_PROJID32BIT, int projid32bit,
 GUESTFS_XFS_ADMIN_LAZYCOUNTER, int lazycounter,
 GUESTFS_XFS_ADMIN_LABEL, const char *label,
 GUESTFS_XFS_ADMIN_UUID, const char *uuid,

Змінює параметри файлової системи XFS на пристрої C<пристрій>.

До пристроїв, які змонтовано, внесення змін неможливе. Перед цим викликом
для зміни параметрів адміністратор має демонтувати відповідні файлові
системи.

Деякі з параметрів змонтованих файлових систем можна визначати та вносити до
них зміни за допомогою викликів C<guestfs_xfs_info> і C<guestfs_xfs_growfs>.

Beginning with XFS version 5, it is no longer possible to modify the
lazy-counters setting (ie. C<lazycounter> parameter has no effect).

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<xfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.33)

=head2 guestfs_xfs_admin_va

 int
 guestfs_xfs_admin_va (guestfs_h *g,
                       const char *device,
                       va_list args);

Це «варіант з va_list» L</guestfs_xfs_admin>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_xfs_admin_argv

 int
 guestfs_xfs_admin_argv (guestfs_h *g,
                         const char *device,
                         const struct guestfs_xfs_admin_argv *optargs);

Це «варіант з argv» L</guestfs_xfs_admin>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_xfs_growfs

 int
 guestfs_xfs_growfs (guestfs_h *g,
                     const char *path,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_XFS_GROWFS_DATASEC, int datasec,
 GUESTFS_XFS_GROWFS_LOGSEC, int logsec,
 GUESTFS_XFS_GROWFS_RTSEC, int rtsec,
 GUESTFS_XFS_GROWFS_DATASIZE, int64_t datasize,
 GUESTFS_XFS_GROWFS_LOGSIZE, int64_t logsize,
 GUESTFS_XFS_GROWFS_RTSIZE, int64_t rtsize,
 GUESTFS_XFS_GROWFS_RTEXTSIZE, int64_t rtextsize,
 GUESTFS_XFS_GROWFS_MAXPCT, int maxpct,

Збільшує файлову систему XFS, яку змонтовано як C<шлях>.

Повернута структура має містити дані щодо геометрії. Пропущені поля буде
повернуто як C<-1> (для числових значень) або як порожні рядки.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<xfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.28)

=head2 guestfs_xfs_growfs_va

 int
 guestfs_xfs_growfs_va (guestfs_h *g,
                        const char *path,
                        va_list args);

Це «варіант з va_list» L</guestfs_xfs_growfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_xfs_growfs_argv

 int
 guestfs_xfs_growfs_argv (guestfs_h *g,
                          const char *path,
                          const struct guestfs_xfs_growfs_argv *optargs);

Це «варіант з argv» L</guestfs_xfs_growfs>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_xfs_info

 struct guestfs_xfsinfo *
 guestfs_xfs_info (guestfs_h *g,
                   const char *pathordevice);

C<шлях_або_пристрій> — змонтована файлова система XFS або пристрій, на якому
міститься файлова система XFS. Ця команда повертає дані щодо геометрії
файлової системи.

Повернута структура має містити дані щодо геометрії. Пропущені поля буде
повернуто як C<-1> (для числових значень) або як порожні рядки.

Ця функція повертає C<struct guestfs_xfsinfo *> або NULL, якщо сталася
помилка. I<Після використання слід викликати C<guestfs_free_xfsinfo>>.

Працездатність цієї функції залежить від можливості C<xfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.21)

=head2 guestfs_xfs_repair

 int
 guestfs_xfs_repair (guestfs_h *g,
                     const char *device,
                     ...);

У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не
використати жодного або використати декілька з вказаних нижче пар параметрів
і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ
АРГУМЕНТАМИ>.

 GUESTFS_XFS_REPAIR_FORCELOGZERO, int forcelogzero,
 GUESTFS_XFS_REPAIR_NOMODIFY, int nomodify,
 GUESTFS_XFS_REPAIR_NOPREFETCH, int noprefetch,
 GUESTFS_XFS_REPAIR_FORCEGEOMETRY, int forcegeometry,
 GUESTFS_XFS_REPAIR_MAXMEM, int64_t maxmem,
 GUESTFS_XFS_REPAIR_IHASHSIZE, int64_t ihashsize,
 GUESTFS_XFS_REPAIR_BHASHSIZE, int64_t bhashsize,
 GUESTFS_XFS_REPAIR_AGSTRIDE, int64_t agstride,
 GUESTFS_XFS_REPAIR_LOGDEV, const char *logdev,
 GUESTFS_XFS_REPAIR_RTDEV, const char *rtdev,

Відновлює пошкоджену файлову систему XFS на пристрої C<пристрій>.

Файлова система задається за допомогою аргументу C<пристрій>, який має бути
або назвою пристрою розділу диска або томом, на якому міститься файлова
система. Якщо вказано назву блокового пристрою, C<xfs_repair> спробує знайти
простий пристрій, пов'язаний із вказаним блоковим пристроєм і скористається
цим простим пристроєм.

За будь-яких умов, файлову систему, яку слід відновити, має бути
демонтовано. Якщо цього не зробити, після обробки файлова система може
виявитися некоректною або пошкодженою.

Повернуте значення стану вказує на те, було виявлено пошкодження файлової
системи (повернуте значення C<1>) чи ні (повернуте значення C<0>).

У разі помилки цією функцією буде повернуто -1.

Працездатність цієї функції залежить від можливості C<xfs>. Див. також
L</guestfs_feature_available>.

(Додано у 1.19.36)

=head2 guestfs_xfs_repair_va

 int
 guestfs_xfs_repair_va (guestfs_h *g,
                        const char *device,
                        va_list args);

Це «варіант з va_list» L</guestfs_xfs_repair>

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_xfs_repair_argv

 int
 guestfs_xfs_repair_argv (guestfs_h *g,
                          const char *device,
                          const struct guestfs_xfs_repair_argv *optargs);

Це «варіант з argv» L</guestfs_xfs_repair>.

Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

=head2 guestfs_yara_destroy

 int
 guestfs_yara_destroy (guestfs_h *g);

Знищує попередньо завантажені правила Yara з метою звільнити ресурси
libguestfs.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<libyara>. Див. також
L</guestfs_feature_available>.

(Додано у 1.37.13)

=head2 guestfs_yara_load

 int
 guestfs_yara_load (guestfs_h *g,
                    const char *filename);

Вивантажити набір правил Yara з локального файла F<назва_файла>.

Правила Yara надають змогу категоризувати файли на основі текстових або
двійкових взірців у даних цих файлів. Див. C<guestfs_yara_scan>, щоб
дізнатися про те, як виконати сканування файлів на основі завантажених
правил.

Правила може бути вказано у двійковому форматі, створеному програмою yarac,
або у форматі початкового коду. У останньому випадку правила має бути
спочатку скомпільовано, а потім завантажено.

Правила у форматі початкового коду не можуть включати зовнішні файли. Якщо у
вас є файли з такими включеннями, рекомендуємо їх спочатку скомпілювати.

Раніше завантажені правила буде знищено.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<libyara>. Див. також
L</guestfs_feature_available>.

(Додано у 1.37.13)

=head2 guestfs_yara_scan

 struct guestfs_yara_detection_list *
 guestfs_yara_scan (guestfs_h *g,
                    const char *path);

Сканує файл на основі попереднього завантажених правил Yara.

Для кожного правила відповідності повертається окрема структура
C<yara_detection>.

Структура C<yara_detection> містить вказані нижче поля.

=over 4

=item C<yara_name>

Шлях до файла, який відповідає правилу Yara.

=item C<yara_rule>

Ідентифікатор правила Yara, відповідність якого було встановлено для
заданого файла.

=back

Ця функція повертає C<struct guestfs_yara_detection_list *> або NULL, якщо
сталася помилка. I<Після використання слід викликати
C<guestfs_free_yara_detection_list>>.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

Працездатність цієї функції залежить від можливості C<libyara>. Див. також
L</guestfs_feature_available>.

(Додано у 1.37.13)

=head2 guestfs_zegrep

 char **
 guestfs_zegrep (guestfs_h *g,
                 const char *regex,
                 const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Викликає зовнішню програму C<zegrep> і повертає рядки-відповідники.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_zegrepi

 char **
 guestfs_zegrepi (guestfs_h *g,
                  const char *regex,
                  const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця функція викликає зовнішню програму C<zegrep -i> і повертає відповідні
рядки.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_zero

 int
 guestfs_zero (guestfs_h *g,
               const char *device);

Ця команда заповнює нулями перші декілька блоків пристрою C<пристрій>.

Кількість занулених блоків не вказується (але вона все одно I<не є
достатньою> для гарантованого витирання вмісту пристрою). Для утруднення
отримання вмісту пристрою достатньо вилучити таблиці розділів, суперблоки
файлової системи тощо.

Якщо у блоках вже містяться нулі, ця команда не перезаписуватиме їх нулями
ще раз. Таким чином можна запобігти втраті стану розрідженості для базового
пристрою, а також його непотрібному зростанню у розмірі.

Див. також C<guestfs_zero_device>, C<guestfs_scrub_device>,
C<guestfs_is_zero_device>

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.0.16)

=head2 guestfs_zero_device

 int
 guestfs_zero_device (guestfs_h *g,
                      const char *device);

Ця команда перезаписує нулями увесь пристрій  C<device>. Порівняйте її із
командою C<guestfs_zero>, яка перезаписує нулями перші декілька блоків
пристрою.

Якщо у блоках вже містяться нулі, ця команда не перезаписуватиме їх нулями
ще раз. Таким чином можна запобігти втраті стану розрідженості для базового
пристрою, а також його непотрібному зростанню у розмірі.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.3.1)

=head2 guestfs_zero_free_space

 int
 guestfs_zero_free_space (guestfs_h *g,
                          const char *directory);

Записує нулями вільне місце на файловій системі, змонтованій до точки
монтування C<каталог>. Файлову систему має бути змонтовано для читання і
запису.

Вміст файлової системи не буде змінено, але усе вільне місце у файловій
системі буде звільнено.

Вільне місце не буде «обрізано». Для обрізання вам слід викликати
C<guestfs_fstrim> або скористатися відповідною командою після цієї, залежно
від ваших потреб.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Команда, виконання якої триває довго, може створювати повідомлення щодо
поступу виконання, які програма, яка викликає команду, може показувати за
допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення,
програма має зареєструвати зворотний виклик події
поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

(Додано у 1.17.18)

=head2 guestfs_zerofree

 int
 guestfs_zerofree (guestfs_h *g,
                   const char *device);

Ця команда виконує програму I<zerofree> для пристрою C<пристрій>. Програма
заповнює нулями невикористані inode та блоки диска на файловій системі
ext2/3. Таке занулення уможливлює ефективніше стискання файлової системи.

B<Не> запускайте цю програму для обробки змонтованої файлової системи.

Використання цієї програми може призвести до пошкодження файлової системи
або даних на файловій системі.

Ця функція повертає 0 у разі успіху і -1 у разі помилки.

Працездатність цієї функції залежить від можливості C<zerofree>. Див. також
L</guestfs_feature_available>.

(Додано у 1.0.26)

=head2 guestfs_zfgrep

 char **
 guestfs_zfgrep (guestfs_h *g,
                 const char *pattern,
                 const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Викликає зовнішню програму C<zfgrep> і повертає рядки-відповідники.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_zfgrepi

 char **
 guestfs_zfgrepi (guestfs_h *g,
                  const char *pattern,
                  const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Викликає зовнішню програму C<zfgrep -i> і повертає рядки-відповідники.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_zfile

 char *
 guestfs_zfile (guestfs_h *g,
                const char *meth,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_file>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

This command runs L<file(1)> after first decompressing C<path> using
C<meth>.

C<meth> must be one of C<gzip>, C<compress> or C<bzip2>.

Починаючи з версії 1.0.63, можна використовувати замість цієї команди
C<guestfs_file>, оскільки у сучасних версіях ця команда може обробляти
стиснені файли.

Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після
використання функція, яка викликає цю функцію, має звільнити повернутий
рядок>.

(Додано у 1.0.59)

=head2 guestfs_zgrep

 char **
 guestfs_zgrep (guestfs_h *g,
                const char *regex,
                const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

This calls the external L<zgrep(1)> program and returns the matching lines.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

=head2 guestfs_zgrepi

 char **
 guestfs_zgrepi (guestfs_h *g,
                 const char *regex,
                 const char *path);

I<Ця функція вважається застарілою.> У новому коді замість неї слід
використовувати L</guestfs_grep>.

Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт,
що їх визнано застарілими, вказує на проблеми із належним використанням цих
функцій.

Ця функція викликає зовнішню програму C<zgrep -i> і повертає відповідні
рядки.

Ця функція повертає масив рядків із завершальним NULL (подібно до
L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід
звільнити рядки і масив>.

Через обмеження протоколу передавання повідомлень існує граничний об'єм
повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ
ПРОТОКОЛУ>.

(Додано у 1.0.66)

