PR_SET_MM(2const)

الاسم
PR_SET_MM - تعديل حقول واصف خريطة الذاكرة للنواة

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <linux/prctl.h>  /* تعريف ثوابت PR_* */
#include <sys/prctl.h>

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

الوصف
تعديل بعض حقول واصف خريطة الذاكرة للنواة الخاصة بالعملية المستدعية. عادةً ما تُعين هذه الحقول بواسطة النواة والمُحمّل الديناميكي (انظر ld.so(8) لمزيد من المعلومات) ولا ينبغي لتطبيق عادي استخدام هذه الميزة. ومع ذلك، هناك حالات، مثل البرامج ذاتية التعديل، حيث قد يجد البرنامج فائدة في تغيير خريطة الذاكرة الخاصة به.

يجب أن تمتلك العملية المستدعية القدرة CAP_SYS_RESOURCE. قيمة op هي أحد الخيارات أدناه.

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

قيمة الإرجاع
عند النجاح، يُعاد الرقم 0. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EINVAL
    قيمة op غير صالحة.

EPERM
    لا يمتلك المستدعي القدرة CAP_SYS_RESOURCE.

المعايير
لينكس.

التاريخ
لينكس 3.3.

قبل لينكس 3.10، هذه الميزة متاحة فقط إذا بُنيت النواة مع تفعيل الخيار CONFIG_CHECKPOINT_RESTORE.

انظر أيضًا
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)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.