.\" -*- coding: UTF-8 -*- .\" Copyright 1996, Free Software Foundation, Inc. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH query_module 2 "7 سبتمبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم query_module \- استعلام النواة عن أجزاء متنوعة تتعلق بالوحدات .SH موجز .nf \fB#include \fP .P \fB[[مهمل]] int query_module(\fPsize_t bufsize; \fB const char *\fP\fIname\fP\fB, int \fP\fIwhich\fP\fB,\fP \fB void \fP\fIbuf\fP\fB[\fP\fIbufsize\fP\fB], size_t \fP\fIbufsize\fP\fB,\fP \fB size_t *\fP\fIret\fP\fB);\fP .fi .SH الوصف \fIملاحظة\fP: نداء النظام هذا موجود فقط قبل لينكس 2.6. .P يطلب \fBquery_module\fP() معلومات من النواة عن الوحدات القابلة للتحميل. توضع المعلومات المُعادة في المخزن المؤقت المشار إليه بـ \fIbuf\fP. يجب على المستدعي تحديد حجم \fIbuf\fP في \fIbufsize\fP. تعتمد طبيعة وتنسيق المعلومات المُعادة بدقة على العملية المحددة بـ \fIwhich\fP. تتطلب بعض العمليات \fIname\fP لتحديد وحدة محملة حالياً، بينما تسمح بعضها بأن يكون \fIname\fP NULL، للإشارة إلى النواة نفسها. .P يمكن تحديد القيم التالية لـ \fIwhich\fP: .TP \fB0\fP يعيد النجاح، إذا كانت النواة تدعم \fBquery_module\fP(). يُستخدم لاستقصاء توفر استدعاء النظام. .TP \fBQM_MODULES\fP .\" ret is set on ENOSPC يعيد أسماء جميع الوحدات المحملة. يتكون المخزن المؤقت المُعاد من سلسلة من السلاسل المنتهية بقيمة خالية؛ يُضبط \fIret\fP على عدد الوحدات. .TP \fBQM_DEPS\fP .\" ret is set on ENOSPC يعيد أسماء جميع الوحدات المستخدمة بواسطة الوحدة المشار إليها. يتكون المخزن المؤقت المُعاد من سلسلة من السلاسل المنتهية بقيمة خالية؛ يُضبط \fIret\fP على عدد الوحدات. .TP \fBQM_REFS\fP .\" ret is set on ENOSPC يعيد أسماء جميع الوحدات التي تستخدم الوحدة المشار إليها. هذا هو عكس \fBQM_DEPS\fP. يتكون المخزن المؤقت المُعاد من سلسلة من السلاسل المنتهية بقيمة خالية؛ يُضبط \fIret\fP على عدد الوحدات. .TP \fBQM_SYMBOLS\fP .\" ret is set on ENOSPC يعيد الرموز والقيم المُصدرة بواسطة النواة أو الوحدة المشار إليها. المخزن المؤقت المُعاد هو مصفوفة من الهياكل بالشكل التالي .IP .in +4n .EX struct module_symbol { unsigned long value; unsigned long name; }; .EE .in .IP متبوعة بسلاسل منتهية بقيمة خالية. قيمة \fIname\fP هي إزاحة الحرف للسلسلة بالنسبة لبداية \fIbuf\fP؛ يُضبط \fIret\fP على عدد الرموز. .TP \fBQM_INFO\fP يعيد معلومات متنوعة عن الوحدة المشار إليها. تنسيق المخزن المؤقت للمخرجات هو: .IP .in +4n .EX struct module_info { unsigned long address; unsigned long size; unsigned long flags; }; .EE .in .IP حيث \fIaddress\fP هو عنوان النواة الذي توجد فيه الوحدة، \fIsize\fP هو حجم الوحدة بالبايت، و \fIflags\fP هو قناع من \fBMOD_RUNNING\fP و \fBMOD_AUTOCLEAN\fP وما إلى ذلك، يشير إلى الحالة الحالية للوحدة (انظر ملف مصدر نواة لينكس \fIinclude/linux/module.h\fP). يُضبط \fIret\fP على حجم هيكل \fImodule_info\fP. .SH "قيمة الإرجاع" يُعاد صفر عند النجاح. ويُعاد \-1 عند الخطأ وتُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEFAULT\fP كان واحد على الأقل من \fIname\fP أو \fIbuf\fP أو \fIret\fP خارج مساحة العنوان القابلة للوصول للبرنامج. .TP \fBEINVAL\fP .\" Not permitted with QM_DEPS, QM_REFS, or QM_INFO. \fIwhich\fP غير صالح؛ أو \fIname\fP هو NULL (يشير إلى "النواة")، لكن هذا غير مسموح به مع القيمة المحددة لـ \fIwhich\fP. .TP \fBENOENT\fP لا توجد وحدة بهذا \fIname\fP. .TP \fBENOSPC\fP حجم المخزن المؤقت المقدم صغير جداً. يُضبط \fIret\fP على الحد الأدنى للحجم المطلوب. .TP \fBENOSYS\fP \fBquery_module\fP() غير مدعوم في هذا الإصدار من النواة (مثل لينكس 2.6 أو أحدث). .SH المعايير لينكس. .SH الإصدارات .\" Removed in Linux 2.5.48 أُزيل في لينكس 2.6. .P يمكن الحصول على بعض المعلومات التي كانت متاحة سابقاً عبر \fBquery_module\fP() من \fI/proc/modules\fP و \fI/proc/kallsyms\fP والملفات الموجودة تحت الدليل \fI/sys/module\fP. .P استدعاء النظام \fBquery_module\fP() غير مدعوم بواسطة glibc. لا يتم توفير إعلان في ملفات رأس glibc، لكن، من خلال غرابة تاريخية، يقوم glibc بتصدير واجهة ثنائية التطبيق (ABI) لاستدعاء النظام هذا. لذلك، لاستخدام استدعاء النظام هذا، يكفي الإعلان يدوياً عن الواجهة في الكود الخاص بك؛ بدلاً من ذلك، يمكنك استدعاء النظام باستخدام \fBsyscall\fP(2). .SH "انظر أيضًا" \fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBget_kernel_syms\fP(2), \fBinit_module\fP(2), \fBlsmod\fP(8), \fBmodinfo\fP(8) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .