pciconfig_read(2)

الاسم
pciconfig_read, pciconfig_write, pciconfig_iobase - معالجة معلومات جهاز PCI

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

موجز
#include <pci.h>

int pciconfig_read(unsigned long bus, unsigned long dfn,
                   unsigned long off, unsigned long size,
                   unsigned char *buf);
int pciconfig_write(unsigned long bus, unsigned long dfn,
                   unsigned long off, unsigned long size,
                   unsigned char *buf);
int pciconfig_iobase(int which, unsigned long bus,
                   unsigned long devfn);

الوصف
معظم التفاعل مع أجهزة PCI يعالجه بالفعل طبقة PCI في النواة، وبالتالي لا ينبغي عادةً الوصول إلى هذه الاستدعاءات من مساحة المستخدم.

pciconfig_read()
    يقرأ في buf من الجهاز dev عند الإزاحة off.

pciconfig_write()
    يكتب من buf إلى الجهاز dev عند الإزاحة off.

pciconfig_iobase()
    تمرر له زوج ناقل/devfn وتحصل على عنوان فيزيائي إما لإزاحة الذاكرة (لأشياء مثل prep، هذا هو 0xc0000000)، أو قاعدة IO لدورات PIO، أو فتحات ISA إن وجدت.

قيمة الإرجاع

pciconfig_read()
    يُعاد صفر عند النجاح. ويُعاد -1 عند الخطأ وتُضبط errno للإشارة إلى الخطأ.

pciconfig_write()
    يُعاد صفر عند النجاح. ويُعاد -1 عند الخطأ وتُضبط errno للإشارة إلى الخطأ.

pciconfig_iobase()
    يعيد معلومات عن مواقع مناطق الإدخال/الإخراج المختلفة في الذاكرة الفيزيائية وفقًا لقيمة which. قيم which هي: IOBASE_BRIDGE_NUMBER، IOBASE_MEMORY، IOBASE_IO، IOBASE_ISA_IO، IOBASE_ISA_MEM.

الأخطاء

EINVAL
    قيمة size غير صالحة. لا ينطبق هذا على pciconfig_iobase().

EIO خطأ إدخال/إخراج.

ENODEV
    بالنسبة لـ pciconfig_iobase()، قيمة "hose" هي NULL. بالنسبة للاستدعاءات الأخرى، لم يُعثر على فتحة.

ENOSYS
    لم ينفذ النظام هذه الاستدعاءات (CONFIG_PCI غير معرف).

EOPNOTSUPP
    قيمة الإرجاع هذه صالحة فقط لـ pciconfig_iobase(). تُعاد إذا كانت قيمة which غير صالحة.

EPERM
    ليس لدى المستخدم صلاحية CAP_SYS_ADMIN. لا ينطبق هذا على pciconfig_iobase().

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

التاريخ
لينكس 2.0.26/2.1.11.

انظر أيضًا
capabilities(7)

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

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

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