uselib(2)

الاسم
uselib - تحميل مكتبة مشتركة

موجز
#include <unistd.h>

[[deprecated]] int uselib(const char *library);

الوصف
استدعاء النظام uselib() يخدم لتحميل مكتبة مشتركة لاستخدامها من قبل العملية المستدعية. يُعطى مسار اسم. عنوان التحميل يوجد في المكتبة نفسها. يمكن للمكتبة أن تكون بأي تنسيق ثنائي معروف.

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

الأخطاء
بالإضافة إلى جميع رموز الخطأ التي يعيدها open(2) و mmap(2)، قد يُعاد أيضًا ما يلي:

EACCES
    المكتبة المحددة بواسطة المكتبة لا تملك صلاحية القراءة أو التنفيذ، أو أن المستدعي لا يملك صلاحية البحث لأحد الدلائل في بادئة المسار. (انظر أيضًا path_resolution(7).)

ENFILE
    وُصل إلى الحد الأقصى لإجمالي عدد الملفات المفتوحة على مستوى النظام.

ENOEXEC
    الملف المحدد بواسطة المكتبة ليس ملفًا تنفيذيًا من نوع معروف؛ على سبيل المثال، لا يمتلك الأرقام السحرية الصحيحة.

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

التاريخ
استدعاء النظام القديم هذا غير مدعوم من glibc. لا يُقدم أي تعريف في رؤوس glibc، ولكن، من خلال غرابة تاريخية، قامت glibc قبل glibc 2.23 بتصدير واجهة ثنائية (ABI) لاستدعاء النظام هذا. لذلك، لاستخدام استدعاء النظام هذا، كان يكفي تعريف الواجهة يدويًا في الكود الخاص بك؛ بدلاً من ذلك، يمكنك استدعاء النظام باستخدام syscall(2).

في إصدارات libc القديمة (قبل glibc 2.0)، كان uselib() يُستخدم لتحميل المكتبات المشتركة بأسماء موجودة في مصفوفة أسماء في الثنائي.

منذ لينكس 3.15، استدعاء النظام هذا متاح فقط عندما يُهيأ النواة بخيار CONFIG_USELIB.

انظر أيضًا
ar(1), gcc(1), ld(1), ldd(1), mmap(2), open(2), dlopen(3), capabilities(7), ld.so(8)

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

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

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