.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "BIO_S_FILE 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BIO_S_FILE 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم BIO_s_file, BIO_new_file, BIO_new_fp, BIO_set_fp, BIO_get_fp, BIO_read_filename, BIO_write_filename, BIO_append_filename, BIO_rw_filename \- BIO ملف .SH موجز .IX Header موجز .Vb 1 \& #include \& \& const BIO_METHOD *BIO_s_file(void); \& BIO *BIO_new_file(const char *filename, const char *mode); \& BIO *BIO_new_fp(FILE *stream, int flags); \& \& BIO_set_fp(BIO *b, FILE *fp, int flags); \& BIO_get_fp(BIO *b, FILE **fpp); \& \& int BIO_read_filename(BIO *b, char *name); \& int BIO_write_filename(BIO *b, char *name); \& int BIO_append_filename(BIO *b, char *name); \& int BIO_rw_filename(BIO *b, char *name); .Ve .SH الوصف .IX Header الوصف \&\fBBIO_s_file()\fP تُرجع طريقة ملف BIO. كما يوحي اسمها، فهي غلاف حول بنية FILE في stdio وهي BIO مصدر/مصرف. .PP استدعاءات \fBBIO_read_ex()\fP و \fBBIO_write_ex()\fP تقرأ وتكتب البيانات إلى التدفق الأساسي. \fBBIO_gets()\fP و \fBBIO_puts()\fP مدعومة على BIOs الملف. .PP \&\fBBIO_flush()\fP على BIO ملف تستدعي الدالة \fBfflush()\fP على التدفق المُغلّف. .PP \&\fBBIO_reset()\fP تحاول تغيير مؤشر الملف إلى بداية الملف باستخدام fseek(stream, 0, 0). .PP \&\fBBIO_seek()\fP تُعيِّن مؤشر الملف إلى الموضع \fBofs\fP من بداية الملف باستخدام fseek(stream, ofs, 0). .PP \&\fBBIO_eof()\fP تستدعي \fBfeof()\fP. .PP تعيين العلامة BIO_CLOSE يستدعي \fBfclose()\fP على التدفق عندما يُحرَّر BIO. .PP \&\fBBIO_new_file()\fP تُنشئ BIO ملف جديد بالوضع \fBmode\fP معنى \fBmode\fP هو نفسه دالة stdio \fBfopen()\fP. العلامة BIO_CLOSE مُعيَّنة على BIO المُرجَع. .PP \&\fBBIO_new_fp()\fP تُنشئ BIO ملف يُغلِّف \fBstream\fP. العلامات يمكن أن تكون: BIO_CLOSE، BIO_NOCLOSE (علامة الإغلاق) BIO_FP_TEXT (تُعيِّن التدفق الأساسي إلى وضع النص، المبدئي هو ثنائي: هذا له تأثير فقط تحت Win32). .PP \&\fBBIO_set_fp()\fP تُعيِّن fp لـ BIO ملف إلى \fBfp\fP. \fBflags\fP له نفس المعنى كما في \fBBIO_new_fp()\fP، وهي كليّة. .PP \&\fBBIO_get_fp()\fP تسترجع fp لـ BIO ملف، وهي كليّة. .PP \&\fBBIO_seek()\fP هي كليّة تُعيِّن مؤشر الموضع إلى \fBoffset\fP بايت من بداية الملف. .PP \&\fBBIO_tell()\fP تُرجع قيمة مؤشر الموضع. .PP \&\fBBIO_read_filename()\fP، \fBBIO_write_filename()\fP، \fBBIO_append_filename()\fP و \&\fBBIO_rw_filename()\fP تُعيِّن BIO الملف \fBb\fP لاستخدام الملف \fBname\fP للقراءة، الكتابة، الإلحاق أو القراءة والكتابة على التوالي. .SH ملاحظات .IX Header ملاحظات عند تغليف stdout أو stdin أو stderr، لا ينبغي عادةً إغلاق التدفق الأساسي لذا يجب تعيين العلم BIO_NOCLOSE. .PP لأن BIO الملف يستدعي دوال stdio الأساسية، فإن أي شذوذ في سلوك stdio سينعكس في BIO المقابل. .PP في Windows، تحتفظ BIO_new_files بأن تكون وسيطة اسم الملف مُرمَّزة بـ UTF\-8. بعبارة أخرى، إذا كان عليك جعلها تعمل في بيئة متعددة اللغات، قم بترميز أسماء الملفات بـ UTF\-8. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBBIO_s_file()\fP تُرجع أسلوب BIO الملف. .PP \&\fBBIO_new_file()\fP و \fBBIO_new_fp()\fP تُرجعان BIO ملف أو NULL إذا حدث خطأ. .PP \&\fBBIO_set_fp()\fP و \fBBIO_get_fp()\fP تُرجعان 1 للنجاح أو <=0 للفشل (على الرغم من أن التنفيذ الحالي لا يُرجع 0 أبدًا). .PP \&\fBBIO_seek()\fP تُرجع 0 للنجاح أو قيمًا سالبة للفشل. .PP \&\fBBIO_tell()\fP تُرجع موضع الملف الحالي أو قيمًا سالبة للفشل. .PP \&\fBBIO_read_filename()\fP و \fBBIO_write_filename()\fP و \fBBIO_append_filename()\fP و \&\fBBIO_rw_filename()\fP تُرجع 1 للنجاح أو <=0 للفشل. يُرجع خطأ أيضًا إذا لم يكن الملف موجودًا. .SH أمثلة .IX Header أمثلة BIO ملف "hello world": .PP .Vb 1 \& BIO *bio_out; \& \& bio_out = BIO_new_fp(stdout, BIO_NOCLOSE); \& BIO_printf(bio_out, "Hello World\en"); .Ve .PP تقنية بديلة: .PP .Vb 1 \& BIO *bio_out; \& \& bio_out = BIO_new(BIO_s_file()); \& if (bio_out == NULL) \& /* Error */ \& if (BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) <= 0) \& /* Error */ \& BIO_printf(bio_out, "Hello World\en"); .Ve .PP اكتب إلى ملف: .PP .Vb 1 \& BIO *out; \& \& out = BIO_new_file("filename.txt", "w"); \& if (!out) \& /* Error */ \& BIO_printf(out, "Hello World\en"); \& BIO_free(out); .Ve .PP تقنية بديلة: .PP .Vb 1 \& BIO *out; \& \& out = BIO_new(BIO_s_file()); \& if (out == NULL) \& /* Error */ \& if (BIO_write_filename(out, "filename.txt") <= 0) \& /* Error */ \& BIO_printf(out, "Hello World\en"); \& BIO_free(out); .Ve .SH العلل .IX Header العلل \&\fBBIO_reset()\fP و \fBBIO_seek()\fP مُنفَّذتان باستخدام \fBfseek()\fP على التدفق الأساسي. قيمة الإرجاع لـ \fBfseek()\fP هي 0 للنجاح أو \-1 إذا حدث خطأ، وهذا يختلف عن أنواع BIO الأخرى التي تُرجع عادةً 1 للنجاح وقيمة غير موجبة إذا حدث خطأ. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBBIO_seek\fP\|(3), \fBBIO_tell\fP\|(3), \&\fBBIO_reset\fP\|(3), \fBBIO_flush\fP\|(3), \&\fBBIO_read_ex\fP\|(3), \&\fBBIO_write_ex\fP\|(3), \fBBIO_puts\fP\|(3), \&\fBBIO_gets\fP\|(3), \fBBIO_printf\fP\|(3), \&\fBBIO_set_close\fP\|(3), \fBBIO_get_close\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2020 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .