.\" -*- 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_SET_CALLBACK 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BIO_SET_CALLBACK 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_set_callback_ex, BIO_get_callback_ex, BIO_set_callback, BIO_get_callback, BIO_set_callback_arg, BIO_get_callback_arg, BIO_debug_callback, BIO_debug_callback_ex, BIO_callback_fn_ex, BIO_callback_fn \\&\- دوال استدعاء BIO .SH موجز .IX Header موجز .Vb 1 \& #include \& \& typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp, \& size_t len, int argi, \& long argl, int ret, size_t *processed); \& \& void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback); \& BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b); \& \& void BIO_set_callback_arg(BIO *b, char *arg); \& char *BIO_get_callback_arg(const BIO *b); \& \& long BIO_debug_callback_ex(BIO *bio, int oper, const char *argp, size_t len, \& int argi, long argl, int ret, size_t *processed); .Ve .PP الدوال التالية أصبحت مهجورة منذ OpenSSL 3.0، ويمكن إخفاؤها تماماً عن طريق تعريف \fBOPENSSL_API_COMPAT\fP بقيمة إصدار مناسبة، انظر \fBopenssl_user_macros\fP\|(7): .PP .Vb 6 \& typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, \& long argl, long ret); \& void BIO_set_callback(BIO *b, BIO_callback_fn cb); \& BIO_callback_fn BIO_get_callback(const BIO *b); \& long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, \& long argl, long ret); \& \& typedef struct bio_mmsg_cb_args_st { \& BIO_MSG *msg; \& size_t stride, num_msg; \& uint64_t flags; \& size_t *msgs_processed; \& } BIO_MMSG_CB_ARGS; .Ve .SH الوصف .IX Header الوصف \\&\fBBIO_set_callback_ex()\fP و \fBBIO_get_callback_ex()\fP يضبطان ويستعيدان استدعاء BIO. يُستدعى الاستدعاء خلال معظم عمليات BIO عالية المستوى. يمكن استخدامه لأغراض التصحيح لتتبع العمليات على BIO أو لتعديل تشغيله. .PP \\&\fBBIO_set_callback()\fP و \fBBIO_get_callback()\fP يضبطان ويستعيدان استدعاء BIO بالتنسيق القديم. لا ينبغي للكود الجديد استخدام هذه الدوال، لكنها محفوظة للتوافق العكسي. أي استدعاء يُضبط عبر \fBBIO_set_callback_ex()\fP سيُستدعى بأفضلية على أي استدعاء يُضبط بواسطة \fBBIO_set_callback()\fP. .PP \\&\fBBIO_set_callback_arg()\fP و \fBBIO_get_callback_arg()\fP هما وحدتان ماكرو يمكن استخدامهما لضبط واستعادة وسيط للاستخدام في الاستدعاء. .PP \\&\fBBIO_debug_callback_ex()\fP هو استدعاء تصحيح قياسي يطبع معلومات متعلقة بكل عملية BIO. إذا ضُبط وسيط الاستدعاء، يُفسر على أنه BIO لإرسال المعلومات إليه، وإلا يُستخدم stderr. دالة \fBBIO_debug_callback()\fP هي النسخة المهملة من نفس الاستدعاء للاستخدام مع دالة تنسيق الاستدعاء القديم \fBBIO_set_callback()\fP. .PP BIO_callback_fn_ex هو نوع دالة الاستدعاء و BIO_callback_fn هو نوع دالة الاستدعاء بالتنسيق القديم. معنى كل وسيط موصوف أدناه: .IP \fBb\fP 4 .IX Item b BIO الذي يُرفق به الاستدعاء يُمرر في \fBb\fP. .IP \fBoper\fP 4 .IX Item oper \\&\fBoper\fP يُضبط على العملية الجاري تنفيذها. لبعض العمليات، يُستدعى الاستدعاء مرتين، مرة قبل العملية الفعلية ومرة بعدها، الحالة الأخيرة يكون فيها \fBoper\fP مُدمجًا مع BIO_CB_RETURN. .IP \fBlen\fP 4 .IX Item len طول البيانات المطلوب قراءتها أو كتابتها. هذا مفيد فقط إذا كان \\&\fBoper\fP هو BIO_CB_READ أو BIO_CB_WRITE أو BIO_CB_GETS. .IP "\fBargp\fP \fBargi\fP \fBargl\fP" 4 .IX Item "argp argi argl" معنى الوسائط \fBargp\fP و\fBargi\fP و\fBargl\fP يعتمد على قيمة \fBoper\fP، أي العملية المنفذة. .IP \fBprocessed\fP 4 .IX Item processed \&\fBprocessed\fP مؤشر إلى موقع يُحدّث بمقدار البيانات التي قُرئت أو كُتبت فعلياً. يُستخدم فقط لـ BIO_CB_READ وBIO_CB_WRITE وBIO_CB_GETS وBIO_CB_PUTS. .IP \fBret\fP 4 .IX Item ret \&\fBret\fP قيمة الإرجاع التي كانت سترجع إلى التطبيق لو لم يكن هناك دالة استدعاء. القيمة الفعلية المرجعة هي قيمة إرجاع دالة الاستدعاء نفسها. في حالة دوال الاستدعاء المستدعاة قبل عملية BIO الفعلية، توضع 1 في \fBret\fP، وإذا لم تكن قيمة الإرجاع موجبة، ترجع فوراً إلى التطبيق ولا تنفذ عملية BIO. .PP يجب أن ترجع دالة الاستدعاء عادةً \fBret\fP ببساطة عند انتهاء المعالجة، إلا إذا أرادت تحديداً تعديل القيمة المرجعة إلى التطبيق. .SH "عمليات دالة الاستدعاء" .IX Header "عمليات دالة الاستدعاء" في الملاحظات أدناه، يشير \fBcallback\fP إلى دالة الاستدعاء الفعلية المستدعاة. .IP \fBBIO_free(b)\fP 4 .IX Item BIO_free(b) .Vb 1 \& callback_ex(b, BIO_CB_FREE, NULL, 0, 0, 0L, 1L, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_FREE, NULL, 0L, 0L, 1L) .Ve .Sp تُستدعى قبل عملية التحرير. .IP "\fBBIO_read_ex(b, data, dlen, readbytes)\fP" 4 .IX Item "BIO_read_ex(b, data, dlen, readbytes)" .Vb 1 \& callback_ex(b, BIO_CB_READ, data, dlen, 0, 0L, 1L, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_READ, data, dlen, 0L, 1L) .Ve .Sp يُستدعى قبل القراءة و .Sp .Vb 2 \& callback_ex(b, BIO_CB_READ | BIO_CB_RETURN, data, dlen, 0, 0L, retvalue, \& &readbytes) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_READ|BIO_CB_RETURN, data, dlen, 0L, retvalue) .Ve .Sp بعد. .IP "\fBBIO_write(b, data, dlen, written)\fP" 4 .IX Item "BIO_write(b, data, dlen, written)" .Vb 1 \& callback_ex(b, BIO_CB_WRITE, data, dlen, 0, 0L, 1L, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_WRITE, datat, dlen, 0L, 1L) .Ve .Sp يُستدعى قبل الكتابة و .Sp .Vb 2 \& callback_ex(b, BIO_CB_WRITE | BIO_CB_RETURN, data, dlen, 0, 0L, retvalue, \& &written) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_WRITE|BIO_CB_RETURN, data, dlen, 0L, retvalue) .Ve .Sp بعد. .IP "\fBBIO_gets(b, buf, size)\fP" 4 .IX Item "BIO_gets(b, buf, size)" .Vb 1 \& callback_ex(b, BIO_CB_GETS, buf, size, 0, 0L, 1, NULL, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_GETS, buf, size, 0L, 1L) .Ve .Sp يُستدعى قبل العملية و .Sp .Vb 2 \& callback_ex(b, BIO_CB_GETS | BIO_CB_RETURN, buf, size, 0, 0L, retvalue, \& &readbytes) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_GETS|BIO_CB_RETURN, buf, size, 0L, retvalue) .Ve .Sp بعد. .IP "\fBBIO_puts(b, buf)\fP" 4 .IX Item "BIO_puts(b, buf)" .Vb 1 \& callback_ex(b, BIO_CB_PUTS, buf, 0, 0, 0L, 1L, NULL); .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_PUTS, buf, 0, 0L, 1L) .Ve .Sp يُستدعى قبل العملية و .Sp .Vb 1 \& callback_ex(b, BIO_CB_PUTS | BIO_CB_RETURN, buf, 0, 0, 0L, retvalue, &written) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_PUTS|BIO_CB_RETURN, buf, 0, 0L, retvalue) .Ve .Sp بعد. .IP "\fBBIO_ctrl(BIO *b, int cmd, long larg, void *parg)\fP" 4 .IX Item "BIO_ctrl(BIO *b, int cmd, long larg, void *parg)" .Vb 1 \& callback_ex(b, BIO_CB_CTRL, parg, 0, cmd, larg, 1L, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_CTRL, parg, cmd, larg, 1L) .Ve .Sp يُستدعى قبل الاستدعاء و .Sp .Vb 1 \& callback_ex(b, BIO_CB_CTRL | BIO_CB_RETURN, parg, 0, cmd, larg, ret, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_CTRL|BIO_CB_RETURN, parg, cmd, larg, ret) .Ve .Sp بعد. .Sp ملاحظة: \fBcmd\fP == \fBBIO_CTRL_SET_CALLBACK\fP خاص، لأن \fBparg\fP ليس وسيطًا من النوع \fBBIO_info_cb\fP نفسه. في هذه الحالة \fBparg\fP مؤشر إلى معامل الاستدعاء الفعلي، انظر \fBBIO_callback_ctrl\fP. .IP "\fBBIO_sendmmsg(BIO *b, BIO_MSG *msg, size_t stride, size_t num_msg, uint64_t flags, size_t *msgs_processed)\fP" 4 .IX Item "BIO_sendmmsg(BIO *b, BIO_MSG *msg, size_t stride, size_t num_msg, uint64_t flags, size_t *msgs_processed)" .Vb 1 \& callback_ex(b, BIO_CB_SENDMMSG, args, 0, 0, 0, 1, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_SENDMMSG, args, 0, 0, 1) .Ve .Sp يُستدعى قبل الاستدعاء و .Sp .Vb 1 \& callback_ex(b, BIO_CB_SENDMMSG | BIO_CB_RETURN, args, ret, 0, 0, ret, NULL) .Ve .Sp أو .Sp .Vb 1 \& callback(b, BIO_CB_SENDMMSG | BIO_CB_RETURN, args, ret, 0, 0, ret) .Ve .Sp بعد. .Sp \&\fBargs\fP مؤشر إلى بنية \fBBIO_MMSG_CB_ARGS\fP تحتوي على الوسائط الممررة إلى \fBBIO_sendmmsg()\fP. \fBret\fP قيمة الإرجاع لاستدعاء \fBBIO_sendmmsg()\fP. قيمة إرجاع \fBBIO_sendmmsg()\fP تُغير إلى القيمة التي أرجعها استدعاء \&\fBBIO_CB_SENDMMSG | BIO_CB_RETURN\fP. .IP "\fBBIO_recvmmsg(BIO *b, BIO_MSG *msg, size_t stride, size_t num_msg, uint64_t flags, size_t *msgs_processed)\fP" 4 .IX Item "BIO_recvmmsg(BIO *b, BIO_MSG *msg, size_t stride, size_t num_msg, uint64_t flags, size_t *msgs_processed)" انظر التوثيق لـ \fBBIO_sendmmsg()\fP. تعمل \fBBIO_recvmmsg()\fP بشكل مطابق باستثناء أن \fBBIO_CB_RECVMMSG\fP يُستخدم بدلاً من \fBBIO_CB_SENDMMSG\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&تُرجع \fBBIO_get_callback_ex()\fP و \fBBIO_get_callback()\fP دالة الاستدعاء التي وُضعت سابقًا باستدعاء \fBBIO_set_callback_ex()\fP و \fBBIO_set_callback()\fP على التوالي. .PP \&تُرجع \fBBIO_get_callback_arg()\fP مؤشر \fBchar\fP إلى القيمة التي وُضعت سابقًا عبر استدعاء \fBBIO_set_callback_arg()\fP. .PP \&تُرجع \fBBIO_debug_callback()\fP 1 أو \fBret\fP إذا استُدعيت بعد عمليات BIO محددة. .SH أمثلة .IX Header أمثلة دالة \fBBIO_debug_callback_ex()\fP هي مثال، مصدرها في crypto/bio/bio_cb.c .SH التاريخ .IX Header التاريخ أُضيفت دالة \fBBIO_debug_callback_ex()\fP في OpenSSL 3.0. .PP \&أُهملت \fBBIO_set_callback()\fP و \fBBIO_get_callback()\fP و \fBBIO_debug_callback()\fP في OpenSSL 3.0. استخدم دوال _ex غير المُهملة بدلاً منها. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2021 لمؤلفي مشروع 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 .