PR_SET_MM(2const)

NUME
PR_SET_MM - modifică câmpurile descriptorului hărții de memorie a nucleului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <linux/prctl.h>  /* Definirea constantelor PR_* */
#include <sys/prctl.h>

int prctl(PR_SET_MM, long op, ...);

DESCRIERE
Modifică anumite câmpuri ale descriptorului hărții de memorie a nucleului ale procesului apelant. De obicei, aceste câmpuri sunt definite de nucleu și de încărcătorul dinamic (consultați ld.so(8) pentru mai multe informații) și o aplicație obișnuită nu ar trebui să utilizeze această caracteristică. Cu toate acestea, există cazuri, cum ar fi programele care se automodifică, în care un program ar putea considera util să își schimbe propria hartă de memorie.

Procesul apelant trebuie să aibă capacitatea CAP_SYS_RESOURCE. Valoarea din op este una dintre opțiunile de mai jos.

PR_SET_MM_START_CODE
PR_SET_MM_END_CODE
PR_SET_MM_START_DATA
PR_SET_MM_END_DATA
PR_SET_MM_START_STACK
PR_SET_MM_START_BRK
PR_SET_MM_BRK
PR_SET_MM_ARG_START
PR_SET_MM_ARG_END
PR_SET_MM_ENV_START
PR_SET_MM_ENV_END
PR_SET_MM_AUXV
PR_SET_MM_EXE_FILE
PR_SET_MM_MAP
PR_SET_MM_MAP_SIZE

VALOAREA RETURNATĂ
În caz de succes, se returnează 0. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EINVAL
    op nu este o valoare validă.

EPERM
    Apelantul nu are capacitatea CAP_SYS_RESOURCE.

STANDARDE
Linux.

ISTORIC
Linux 3.3.

Înainte de Linux 3.10, această caracteristică este disponibilă numai dacă nucleul este construit cu opțiunea CONFIG_CHECKPOINT_RESTORE activată.

CONSULTAȚI ȘI
prctl(2), PR_SET_MM_START_CODE(2const), PR_SET_MM_END_CODE(2const), PR_SET_MM_START_DATA(2const), PR_SET_MM_END_DATA(2const), PR_SET_MM_START_STACK(2const), PR_SET_MM_START_BRK(2const), PR_SET_MM_BRK(2const), PR_SET_MM_ARG_START(2const), PR_SET_MM_ARG_END(2const), PR_SET_MM_ENV_START(2const), PR_SET_MM_ENV_END(2const), PR_SET_MM_EXE_FILE(2const), PR_SET_MM_MAP(2const), PR_SET_MM_MAP_SIZE(2const)

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.