getunwind(2)

NUME
getunwind - copiază datele de derulare în memoria tampon a apelantului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <linux/unwind.h>
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>

[[depreciat]] long syscall(SYS_getunwind, void buf[.buf_size],
                            size_t buf_size);

DESCRIERE
Notă: acest apel de sistem este învechit.

Apelul de sistem getunwind(), specific IA-64, copiază datele de derulare a cadrului de apel al nucleului în memoria tampon indicată de buf și returnează dimensiunea datelor de derulare; aceste date descriu pagina de poartă (codul nucleului care este cartografiat în spațiul utilizatorului).

Dimensiunea memoriei tampon buf este specificată în buf_size. Datele sunt copiate numai dacă buf_size este mai mare sau egală cu dimensiunea datelor de derulare și dacă buf nu este NULL; în caz contrar, nu se copiază date, iar apelul reușește, returnând dimensiunea care ar fi necesară pentru a stoca datele de derulare.

Prima parte a datelor de derulare conține un tabel de derulare. Restul conține informațiile de derulare asociate, fără o anumită ordine. Tabelul de derulare conține intrări de următoarea formă:

    u64 start;      (adresa pe 64 de biți a începutului funcției)
    u64 end;        (adresa pe 64 de biți a sfârșitului funcției)
    u64 info;       (poziția relativă din memoria tampon pentru informațiile de derulare)

O intrare a cărei valoare start este zero indică sfârșitul tabelului. Pentru mai multe informații despre format, consultați manualul IA-64 Software Conventions and Runtime Architecture.

VALOAREA RETURNATĂ
În caz de succes, getunwind() returnează dimensiunea datelor de derulare. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI
getunwind() eșuează cu eroarea EFAULT dacă informațiile de derulare nu pot fi stocate în spațiul specificat de buf.

STANDARDE
Linux pe IA-64.

ISTORIC
Linux 2.4.

Acest apel de sistem a fost depreciat (eliminat). Modalitatea modernă de a obține datele de derulare ale nucleului este prin intermediul vdso(7).

CONSULTAȚI ȘI
getauxval(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată 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.