Scroll to navigation

SSL_WANT(3SSL) OpenSSL SSL_WANT(3SSL)

الاسم

SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write, SSL_want_x509_lookup, SSL_want_retry_verify, SSL_want_async, SSL_want_async_job, SSL_want_client_hello_cb - الحصول على معلومات الحالة لعملية الإدخال/الإخراج TLS/SSL

موجز

 #include <openssl/ssl.h>
 int SSL_want(const SSL *ssl);
 int SSL_want_nothing(const SSL *ssl);
 int SSL_want_read(const SSL *ssl);
 int SSL_want_write(const SSL *ssl);
 int SSL_want_x509_lookup(const SSL *ssl);
 int SSL_want_retry_verify(const SSL *ssl);
 int SSL_want_async(const SSL *ssl);
 int SSL_want_async_job(const SSL *ssl);
 int SSL_want_client_hello_cb(const SSL *ssl);

الوصف

SSL_want() تُرجع معلومات الحالة لكائن SSL ssl. ssl يجب ألا يكون NULL.

استدعاءات SSL_want_*() الأخرى هي اختصارات للحالات المحتملة التي تُرجعها SSL_want().

ملاحظات

SSL_want() تفحص معلومات الحالة الداخلية لكائن SSL. قيمها المُرجعة مشابهة لتلك الخاصة بـ SSL_get_error(3). على عكس SSL_get_error(3)، التي تُقيّم أيضًا قائمة انتظار الأخطاء، تُحصل النتائج بفحص علامة حالة داخلية فقط. لذلك، يجب استخدام المعلومات فقط للتشغيل العادي تحت الإدخال/الإخراج غير المحظور. لا تُعالج حالات الخطأ ويجب معالجتها باستخدام SSL_get_error(3).

النتيجة التي تُرجعها SSL_want() يجب أن تكون دائمًا متسقة مع نتيجة SSL_get_error(3).

القيم المُرجعة

قيم الإرجاع التالية يمكن أن تحدث حاليًا لـ SSL_want():

لا توجد بيانات للكتابة أو القراءة.
توجد بيانات في مخزن SSL المؤقت يجب كتابتها إلى طبقة BIO الأساسية لإكمال عملية SSL_*() الفعلية. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_WRITE.
يجب قراءة المزيد من البيانات من طبقة BIO الأساسية لإكمال عملية SSL_*() الفعلية. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_READ.
لم تكتمل العملية لأن استدعاء رجوع للتطبيق مُعيَّن بواسطة SSL_CTX_set_client_cert_cb() طلب استدعاءه مرة أخرى. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_X509_LOOKUP.
لم تكتمل العملية لأن استدعاء رجوع للتحقق من الشهادة طلب استدعاءه مرة أخرى عبر SSL_set_retry_verify(3). استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_RETRY_VERIFY.
اكتملت عملية غير متزامنة جزئيًا ثم أُوقفت مؤقتًا. انظر SSL_get_all_async_fds(3). يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_ASYNC.
تعذر بدء المهمة غير المتزامنة لعدم توفر مهام غير متزامنة في المجموعة (انظر ASYNC_init_thread(3)). يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_ASYNC_JOB.
لم تكتمل العملية لأن رد اتصال تطبيق مُعيَّن بواسطة SSL_CTX_set_client_hello_cb() طلب استدعاءه مرة أخرى. يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_CLIENT_HELLO_CB.

تُرجع SSL_want_nothing() و SSL_want_read() و SSL_want_write() و SSL_want_x509_lookup() و SSL_want_retry_verify() و SSL_want_async() و SSL_want_async_job() و SSL_want_client_hello_cb() القيمة 1 عندما يكون الشرط المقابل صحيحًا أو 0 بخلاف ذلك.

اعتبارات خاصة بـ QUIC

بالنسبة لـ QUIC، تتعلق هذه الدوال فقط بطبقة المصافحة TLS.

انظر أيضًا

ssl(7), SSL_get_error(3)

التاريخ

أُضيفت دالة SSL_want_client_hello_cb() وقيمة الإرجاع SSL_CLIENT_HELLO_CB في OpenSSL 1.1.1.

أُضيفت SSL_want_retry_verify() في OpenSSL 3.0.

حقوق النسخ

حقوق النشر 2001-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

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

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

7 أبريل 2026 3.6.2