.\" -*- coding: UTF-8 -*- .\" Copyright 1990-1993, The Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mpool 3 "17 مايو 2025" "صفحات دليل لينكس 6.18" .UC 7 .SH الاسم mpool \- خبيئة عازلة للذاكرة المشتركة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP \fB#include \fP .P \fBMPOOL *mpool_open(DBT *\fP\fIkey\fP\fB, int \fP\fIfd\fP\fB, pgno_t \fP\fIpagesize\fP\fB, pgno_t \fP\fImaxcache\fP\fB);\fP .P \fBvoid mpool_filter(MPOOL *\fP\fImp\fP\fB,\fP \fB typeof(void (void *, pgno_t, void *)) *\fP\fIpgin\fP\fB,\fP \fB typeof(void (void *, pgno_t, void *)) *\fP\fIpgout\fP\fB,\fP \fB void *\fP\fIpgcookie\fP\fB);\fP .P \fBvoid *mpool_new(MPOOL *\fP\fImp\fP\fB, pgno_t *\fP\fIpgnoaddr\fP\fB);\fP \fBvoid *mpool_get(MPOOL *\fP\fImp\fP\fB, pgno_t \fP\fIpgno\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP \fBint mpool_put(MPOOL *\fP\fImp\fP\fB, void *\fP\fIpgaddr\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP .P \fBint mpool_sync(MPOOL *\fP\fImp\fP\fB);\fP \fBint mpool_close(MPOOL *\fP\fImp\fP\fB);\fP .fi .SH الوصف \fIملاحظة جيدة\fP: توثق هذه الصفحة الواجهات المقدمة حتى glibc 2.1. ومنذ الإصدار glibc 2.2، لم تعد glibc توفر هذه الواجهات. من المحتمل أنك تبحث عن واجهات برمجة التطبيقات (APIs) التي توفرها مكتبة \fIlibdb\fP بدلاً من ذلك. .P \fIMpool\fP هي واجهة المكتبة المصممة لتوفير إدارة عازلة موجهة للصفحات للملفات. يمكن مشاركة العازلات بين العمليات. .P الدالة \fBmpool_open\fP() تُهيئ خبيئة ذاكرة. معامل \fIkey\fP هو سلسلة المحارف المستخدمة للتفاوض بين عمليات متعددة ترغب في مشاركة العازلات. إذا وُصلت عازلات الملف في ذاكرة مشتركة، ستشارك جميع العمليات التي تستخدم نفس المفتاح العازلات. إذا كان \fIkey\fP NULL، تُوصل العازلات في ذاكرة خاصة. معامل \fIfd\fP هو واصف ملف للملف الأساسي، والذي يجب أن يكون قابلًا للبحث. إذا كان \fIkey\fP غير NULL ويطابق ملفًا موصولًا بالفعل، يُتجاهل معامل \fIfd\fP. .P معامل \fIpagesize\fP هو حجم الصفحات، بالبايت، التي يُقسم إليها الملف. معامل \fImaxcache\fP هو أقصى عدد من الصفحات من الملف الأساسي لتخزينها مؤقتًا في أي وقت. هذه القيمة ليست نسبية لعدد العمليات التي تشارك عازلات الملف، بل ستكون أكبر قيمة يحددها أي من العمليات المشاركة للملف. .P الدالة \fBmpool_filter\fP() مصممة لجعل معالجة الإدخال والإخراج للصفحات شفافة. إذا حُددت الدالة \fIpgin\fP، تُستدعى كل مرة يُقرأ فيها عازل إلى خبيئة الذاكرة من ملف الدعم. إذا حُددت الدالة \fIpgout\fP، تُستدعى كل مرة يُكتب فيها عازل إلى ملف الدعم. تُستدعى كلتا الدالتين مع مؤشر \fIpgcookie\fP، رقم الصفحة ومؤشر إلى الصفحة التي تُقرأ أو تُكتب. .P الدالة \fBmpool_new\fP() تأخذ مؤشر \fIMPOOL\fP وعنوانًا كمعاملات. إذا أمكن تخصيص صفحة جديدة، يُعاد مؤشر إلى الصفحة ويُخزن رقم الصفحة في عنوان \fIpgnoaddr\fP. وإلا، يُعاد NULL ويُضبط \fIerrno\fP. .P الدالة \fBmpool_get\fP() تأخذ مؤشر \fIMPOOL\fP ورقم صفحة كمعاملات. إذا كانت الصفحة موجودة، يُعاد مؤشر إلى الصفحة. وإلا، يُعاد NULL ويُضبط \fIerrno\fP. معامل \fIflags\fP غير مستخدم حاليًا. .P الدالة \fBmpool_put\fP() تُحرر الصفحة المشار إليها بـ \fIpgaddr\fP. يجب أن يكون \fIpgaddr\fP عنوانًا أُعيد سابقًا بواسطة \fBmpool_get\fP() أو \fBmpool_new\fP(). تُحدد قيمة العلم بواسطة ORing أي من القيم التالية: .TP \fBMPOOL_DIRTY\fP الصفحة عُدلت وتحتاج إلى الكتابة إلى ملف الدعم. .P \fBmpool_put\fP() تُعيد 0 عند النجاح و \-1 إذا حدث خطأ. .P الدالة \fBmpool_sync\fP() تكتب جميع الصفحات المعدلة المرتبطة بمؤشر \fIMPOOL\fP إلى ملف الدعم. \fBmpool_sync\fP() تُعيد 0 عند النجاح و \-1 إذا حدث خطأ. .P الدالة \fBmpool_close\fP() تُحرر أي ذاكرة مخصصة مرتبطة بكعكة خبيئة الذاكرة. الصفحات المعدلة \fBلا\fP تُكتب إلى ملف الدعم. \fBmpool_close\fP() تُعيد 0 عند النجاح و \-1 إذا حدث خطأ. .SH الأخطاء الدالة \fBmpool_open\fP() قد تفشل وتضبط \fIerrno\fP لأي من الأخطاء المحددة للروتين المكتبي \fBmalloc\fP(3). .P الدالة \fBmpool_get\fP() قد تفشل وتضبط \fIerrno\fP لما يلي: .TP 15 \fBEINVAL\fP السجل المطلوب غير موجود. .P قد تفشل الدالتان \fBmpool_new\fP() و \fBmpool_get\fP() وتُعيِّنان \fIerrno\fP لأي من الأخطاء المُحدَّدة لدوال المكتبة \fBread\fP(2) و \fBwrite\fP(2) و \fBmalloc\fP(3). .P قد تفشل الدالة \fBmpool_sync\fP() وتُعيِّن \fIerrno\fP لأي من الأخطاء المُحدَّدة لدالة المكتبة \fBwrite\fP(2). .P قد تفشل الدالة \fBmpool_close\fP() وتُعيِّن \fIerrno\fP لأي من الأخطاء المُحدَّدة لدالة المكتبة \fBfree\fP(3). .SH المعايير BSD. .SH "انظر أيضًا" \fBbtree\fP(3)، \fBdbopen\fP(3)، \fBhash\fP(3)، \fBrecno\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .