BIO_S_FD(3ssl)

الاسم
BIO_s_fd, BIO_set_fd, BIO_get_fd, BIO_new_fd - BIO واصف الملف

موجز
 #include <openssl/bio.h>

 const BIO_METHOD *BIO_s_fd(void);

 int BIO_set_fd(BIO *b, int fd, int c);
 int BIO_get_fd(BIO *b, int *c);

 BIO *BIO_new_fd(int fd, int close_flag);

الوصف
BIO_s_fd() تُرجع طريقة BIO واصف الملف. هذه غلاف حول إجراءات واصف الملف في المنصة مثل read() و write().

BIO_read_ex() و BIO_write_ex() تقرأ أو تكتب الواصف الأساسي. BIO_puts() مدعومة ولكن BIO_gets() غير مدعومة.

إذا وُضعت علامة الإغلاق، فتُستدعى close() على واصف الملف الأساسي عندما يُحرر BIO.

BIO_reset() تحاول تغيير مؤشر الملف إلى بداية الملف مثل استخدام lseek(fd, 0, 0).

BIO_seek() تضبط مؤشر الملف على الموضع ofs من بداية الملف مثل استخدام lseek(fd, ofs, 0).

BIO_tell() تُرجع الموضع الحالي للملف مثل استدعاء lseek(fd, 0, 1).

BIO_set_fd() تضبط واصف الملف لـ BIO b على fd وعلامة الإغلاق على c.

BIO_get_fd() تضع واصف الملف لـ BIO b في c إذا لم يكن NULL. وتُرجع أيضًا واصف الملف.

BIO_new_fd() تُرجع BIO واصف ملف باستخدام fd و close_flag.

ملاحظات
سلوك BIO_read_ex() و BIO_write_ex() يعتمد على سلوك استدعاءات read() و write() في المنصة على الواصف. إذا كان واصف الملف الأساسي في وضع غير محظور، فسيتصرف BIO بالطريقة الموصوفة في صفحات الدليل BIO_read_ex(3) و BIO_should_retry(3).

لا ينبغي استخدام BIOs واصف الملف لإدخال/إخراج المقبس. استخدم BIOs المقبس بدلاً من ذلك.

BIO_set_fd() و BIO_get_fd() منفذتان كوحدات ماكرو.

القيم المُرجعة
BIO_s_fd() تُرجع طريقة BIO واصف الملف.

BIO_set_fd() تُرجع 1 عند النجاح أو <=0 عند الفشل.

BIO_get_fd() يُرجع واصف الملف أو -1 إذا لم يُهيأ BIO. كما يُرجع صفرًا وقيمًا سالبة إذا حدث خطأ آخر.

BIO_new_fd() يُرجع BIO المُخصص حديثًا أو NULL إذا حدث خطأ.

أمثلة
هذه نسخة BIO لواصف الملف من "Hello World":

 BIO *out;

 out = BIO_new_fd(fileno(stdout), BIO_NOCLOSE);
 BIO_printf(out, "Hello World\n");
 BIO_free(out);

انظر أيضًا
BIO_seek(3), BIO_tell(3), BIO_reset(3), BIO_read_ex(3), BIO_write_ex(3), BIO_puts(3), BIO_gets(3), BIO_printf(3), BIO_set_close(3), BIO_get_close(3)

حقوق النسخ
حقوق النشر 2000-2021 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

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

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

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