listmount(2)

NUME
listmount - obține o listă a ID-urilor de montare

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <linux/mount.h>  /* Definiția constantelor structurii mnt_id_req */
#include <unistd.h>

int syscall(size_t n;
            SYS_listmount, struct mnt_id_req *req,
            uint64_t mnt_ids[n], size_t n,
            unsigned long flags);

#include <linux/mount.h>

struct mnt_id_req {
    __u32  size;    /* sizeof(struct mnt_id_req) */
    __u64  mnt_id;  /* Mnt_id părinte care este căutat */
    __u64  param;   /* Următorul mnt_id pe care dorim să îl găsim */
};

Notă: glibc nu oferă o funcție de învăluire pentru listmount(), necesitând utilizarea apelului syscall(2).

DESCRIERE
Pentru a accesa montările din spațiul dvs. de nume, trebuie să aveți CAP_SYS_ADMIN în spațiul de nume al utilizatorului.

Această funcție returnează o listă de ID-uri de montare sub req.mnt_id. Aceasta este menită să fie utilizată împreună cu statmount(2) pentru a oferi o modalitate de iterație și descoperire a sistemelor de fișiere montate.

  Structura mnt_id_req
req.size este utilizată de nucleu pentru a determina structura mnt_id_req care este transmisă, aceasta trebuie să fie întotdeauna definită la sizeof(struct mnt_id_req).

req.mnt_id este mnt_id-ul părinte de la care vom face lista, care poate fi fie LSMT_ROOT, ceea ce înseamnă montarea rădăcină a spațiului de nume al montării curente, fie un ID de montare obținut fie din statx(2) folosind STATX_MNT_ID_UNIQUE, fie din listmount(2).

req.param este utilizat pentru a indica nucleului de la ce ID de montare să înceapă lista. Acest lucru este util dacă sunt necesare apeluri multiple la listmount(2). Acesta poate fi definit la ultimul ID de montare returnat pentru a relua de la un loc anterior din listă.

VALOAREA RETURNATĂ
În caz de succes, se returnează numărul de intrări completate în mnt_ids; 0 dacă nu mai există nicio montare rămasă. În caz de eroare, este returnat -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EPERM
    Apelantul nu are CAP_SYS_ADMIN în spațiul de nume al utilizatorului.

EFAULT
    req sau mnt_ids indică o locație din afara spațiului de adrese accesibil procesului.

EINVAL
    Fanion nevalid specificat în fanioane.

EINVAL
    req nu are o dimensiune suficientă pentru a fi utilizat.

E2BIG
    req este prea mare, limita este dimensiunea paginii arhitecturii.

ENOENT
    req.mnt_id specificată nu există.

ENOMEM
    Memorie epuizată (de exemplu, memoria nucleului).

STANDARDE
Linux.

CONSULTAȚI ȘI
statmount(2), statx(2)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.