BIO_GET_EX_NEW_INDEX(3ssl)

الاسم
BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, BIO_set_app_data, BIO_get_app_data, DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, EVP_PKEY_get_ex_new_index, EVP_PKEY_set_ex_data, EVP_PKEY_get_ex_data, RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data, RSA_set_app_data, RSA_get_app_data, SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data, SSL_set_app_data, SSL_get_app_data, SSL_CTX_get_ex_new_index, SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, SSL_CTX_set_app_data, SSL_CTX_get_app_data, SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data, SSL_SESSION_set_app_data, SSL_SESSION_get_app_data, UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, UI_set_app_data, UI_get_app_data, X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data, X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data - بيانات خاصة بالتطبيق

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

 int TYPE_get_ex_new_index(long argl, void *argp,
                           CRYPTO_EX_new *new_func,
                           CRYPTO_EX_dup *dup_func,
                           CRYPTO_EX_free *free_func);

 int TYPE_set_ex_data(TYPE *d, int idx, void *arg);

 void *TYPE_get_ex_data(const TYPE *d, int idx);

 #define TYPE_set_app_data(TYPE *d, void *arg)
 #define TYPE_get_app_data(TYPE *d)

الدوال التالية أصبحت مهجورة منذ OpenSSL 3.0، ويمكن إخفاؤها تماماً عن طريق تعريف OPENSSL_API_COMPAT بقيمة إصدار مناسبة، انظر openssl_user_macros(7):

 int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                         CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int DH_set_ex_data(DH *type, int idx, void *arg);
 void *DH_get_ex_data(DH *type, int idx);
 int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                          CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int DSA_set_ex_data(DSA *type, int idx, void *arg);
 void *DSA_get_ex_data(DSA *type, int idx);
 int EC_KEY_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                             CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int EC_KEY_set_ex_data(EC_KEY *type, int idx, void *arg);
 void *EC_KEY_get_ex_data(EC_KEY *type, int idx);
 int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                          CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int RSA_set_ex_data(RSA *type, int idx, void *arg);
 void *RSA_get_ex_data(RSA *type, int idx);
 int RSA_set_app_data(RSA *type, void *arg);
 void *RSA_get_app_data(RSA *type);
 int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                             CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int ENGINE_set_ex_data(ENGINE *type, int idx, void *arg);
 void *ENGINE_get_ex_data(ENGINE *type, int idx);

الوصف
في الوصف هنا، يُستخدم TYPE كعنصر نائب لأي من أنواع بيانات OpenSSL المدرجة في CRYPTO_get_ex_new_index(3).

جميع الدوال التي تحتوي على TYPE من DH وDSA وRSA وEC_KEY مهملة. يجب على التطبيقات بدلاً من ذلك استخدام EVP_PKEY_set_ex_data() وEVP_PKEY_get_ex_data() وEVP_PKEY_get_ex_new_index().

جميع الدوال التي تحتوي على TYPE من ENGINE مهملة. يجب استبدال التطبيقات التي تستخدم المحركات بمزودي الخدمة.

تتعامل هذه الدوال مع البيانات الخاصة بالتطبيق لهياكل بيانات OpenSSL.

TYPE_get_ex_new_index() هي ماكرو تستدعي CRYPTO_get_ex_new_index() بقيمة index الصحيحة.

TYPE_set_ex_data() هي دالة تستدعي CRYPTO_set_ex_data() بإزاحة داخل الجزء exdata المعتم من كائن TYPE. d يجب ألا يكون NULL.

TYPE_get_ex_data() هي دالة تستدعي CRYPTO_get_ex_data() بإزاحة داخل الجزء exdata المعتم من كائن TYPE. d يجب ألا يكون NULL.

للتوافق مع الإصدارات السابقة، فهرس exdata بقيمة صفر محجوز لـ "بيانات التطبيق." توجد دالتان للتيسير لهذا الغرض. TYPE_set_app_data() هي ماكرو تستدعي TYPE_set_ex_data() مع تعيين idx إلى صفر. TYPE_get_app_data() هي ماكرو تستدعي TYPE_get_ex_data() مع تعيين idx إلى صفر.

القيم المُرجعة
TYPE_get_ex_new_index() تُرجع فهرسًا جديدًا عند النجاح أو -1 عند الخطأ.

TYPE_set_ex_data() تُرجع 1 عند النجاح أو 0 عند الخطأ.

TYPE_get_ex_data() تُرجع بيانات التطبيق أو NULL إذا حدث خطأ.

انظر أيضًا
CRYPTO_get_ex_new_index(3).

التاريخ
الدوال DH_get_ex_new_index() وDH_set_ex_data() وDH_get_ex_data() وDSA_get_ex_new_index() وDSA_set_ex_data() وDSA_get_ex_data() وEC_KEY_get_ex_new_index() وEC_KEY_set_ex_data() وEC_KEY_get_ex_data() وENGINE_get_ex_new_index() وENGINE_set_ex_data() وENGINE_get_ex_data() وRSA_get_ex_new_index() وRSA_set_ex_data() وRSA_get_ex_data() وRSA_set_app_data() وRSA_get_app_data() أُهملت في OpenSSL 3.0.

حقوق النسخ
حقوق النشر 2015-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.