OPENSSL_VERSION(3SSL)

الاسم
OPENSSL_VERSION_MAJOR, OPENSSL_VERSION_MINOR, OPENSSL_VERSION_PATCH, OPENSSL_VERSION_PRE_RELEASE, OPENSSL_VERSION_BUILD_METADATA, OPENSSL_VERSION_TEXT, OPENSSL_VERSION_PREREQ, OPENSSL_version_major, OPENSSL_version_minor, OPENSSL_version_patch, OPENSSL_version_pre_release, OPENSSL_version_build_metadata, OpenSSL_version, OPENSSL_VERSION_NUMBER, OpenSSL_version_num, OPENSSL_info - احصل على رقم إصدار OpenSSL ومعلومات أخرى

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

 #define OPENSSL_VERSION_MAJOR  x
 #define OPENSSL_VERSION_MINOR  y
 #define OPENSSL_VERSION_PATCH  z

 /* The definitions here are typical release values */
 #define OPENSSL_VERSION_PRE_RELEASE ""
 #define OPENSSL_VERSION_BUILD_METADATA ""

 #define OPENSSL_VERSION_TEXT "OpenSSL x.y.z xx XXX xxxx"

 #define OPENSSL_VERSION_PREREQ(maj,min)

 #include <openssl/crypto.h>

 unsigned int OPENSSL_version_major(void);
 unsigned int OPENSSL_version_minor(void);
 unsigned int OPENSSL_version_patch(void);
 const char *OPENSSL_version_pre_release(void);
 const char *OPENSSL_version_build_metadata(void);

 const char *OpenSSL_version(int t);

 const char *OPENSSL_info(int t);

 /* from openssl/opensslv.h */
 #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnL

 /* from openssl/crypto.h */
 unsigned long OpenSSL_version_num();

الوصف

  ماكرو
تمثل وحدات الماكرو الثلاث OPENSSL_VERSION_MAJOR و OPENSSL_VERSION_MINOR و OPENSSL_VERSION_PATCH الأجزاء الثلاثة لمعرّف الإصدار، MAJOR.MINOR.PATCH.

ماكرو OPENSSL_VERSION_PRE_RELEASE هو جزء نصي مضاف يشير إلى أن هذا إصدار ما قبل الإصدار النهائي، مثل "-dev" للقطة تطويرية جارية أو "-alpha3" لإصدار ألفا. يجب أن تكون القيمة سلسلة محارف.

ماكرو OPENSSL_VERSION_BUILD_METADATA هو معلومات إضافية، محجوزة لأطراف أخرى، مثل "+fips" أو "+vendor.1"). لن يلمس مشروع OpenSSL هذا الماكرو (سيتركه سلسلة محارف فارغة). يجب أن تكون القيمة سلسلة محارف.

OPENSSL_VERSION_STR هو ماكرو ملائم للحصول على سلسلة محارف معرّف الإصدار القصير، "MAJOR.MINOR.PATCH".

OPENSSL_FULL_VERSION_STR هو ماكرو ملائم للحصول على سلسلة محارف معرّف الإصدار الأطول، والتي تجمع OPENSSL_VERSION_STR و OPENSSL_VERSION_PRE_RELEASE و OPENSSL_VERSION_BUILD_METADATA.

OPENSSL_VERSION_TEXT هو ماكرو ملائم للحصول على نص إصدار وصفي كامل، والذي يتضمن OPENSSL_FULL_VERSION_STR وتاريخ الإصدار.

OPENSSL_VERSION_PREREQ هو ماكرو مفيد للتحقق مما إذا كان إصدار OpenSSL للترويسات المستخدمة على الأقل عند رقم رئيسي (maj) وفرعي (min) معطى مسبقًا أم لا. سيقيم إلى صحيح إذا كان رقم إصدار الترويسة (OPENSSL_VERSION_MAJOR.OPENSSL_VERSION_MINOR) أكبر من أو يساوي maj.min.

OPENSSL_VERSION_NUMBER هو مزيج من الإصدار الرئيسي والفرعي والتصحيحي في عدد صحيح واحد 0xMNN00PP0L، حيث:

M   هو الرقم من OPENSSL_VERSION_MAJOR، بالتدوين السداسي عشري

NN  هو الرقم من OPENSSL_VERSION_MINOR، بالتدوين السداسي عشري

PP  هو الرقم من OPENSSL_VERSION_PATCH، بالترميز الست عشري

  دوال
OPENSSL_version_major() و OPENSSL_version_minor() و OPENSSL_version_patch() و OPENSSL_version_pre_release() و OPENSSL_version_build_metadata() تُرجع قيم الكليّات المذكورة أعلاه لبناء المكتبة، على التوالي.

OpenSSL_version() تُرجع سلاسل محارف مختلفة اعتمادًا على t:

OPENSSL_VERSION
    قيمة OPENSSL_VERSION_TEXT

OPENSSL_VERSION_STRING
    قيمة OPENSSL_VERSION_STR

OPENSSL_FULL_VERSION_STRING
    قيمة OPENSSL_FULL_VERSION_STR

OPENSSL_CFLAGS
    أعلام المترجم المُعيّنة لعملية التجميع بالصيغة "compiler: ..." إن وُجدت، أو "compiler: information not available" بخلاف ذلك.

OPENSSL_BUILT_ON
    تاريخ عملية البناء بالصيغة "built on: ..." إن وُجد أو "built on: date not available" بخلاف ذلك. التاريخ لن يكون متاحًا في بناء قابل للتكرار، على سبيل المثال.

OPENSSL_PLATFORM
    هدف "Configure" لبناء المكتبة بالصيغة "platform: ..." إن وُجد، أو "platform: information not available" بخلاف ذلك.

OPENSSL_DIR
    إعداد OPENSSLDIR لبناء المكتبة بالصيغة "OPENSSLDIR: "..."" إن وُجد، أو "OPENSSLDIR: N/A" بخلاف ذلك.

OPENSSL_ENGINES_DIR
    إعداد ENGINESDIR لبناء المكتبة بالصيغة "ENGINESDIR: "..."" إن وُجد، أو "ENGINESDIR: N/A" بخلاف ذلك. هذا الخيار مُهمَل في OpenSSL 3.0.

OPENSSL_MODULES_DIR
    إعداد MODULESDIR لبناء المكتبة بالصيغة "MODULESDIR: "..."" إن وُجد، أو "MODULESDIR: N/A" بخلاف ذلك.

OPENSSL_CPU_INFO
    إعدادات وحدة المعالجة المركزية الحالية لـ OpenSSL. هذا هو الإعداد الحالي لأعلام قدرة وحدة المعالجة المركزية. عادة ما يُهيأ آليًا ولكن قد يُضبط عبر متغير بيئة. للقيمة نفس صياغة متغير البيئة. بالنسبة لـ x86، تبدو السلسلة المحارف كـ "CPUINFO: OPENSSL_ia32cap=0x123:0x456" أو "CPUINFO: N/A" إذا لم تكن متاحة.

OPENSSL_WINCTX
    سياق تثبيت Windows. يُستخدم سياق تثبيت Windows لحساب اسم مفتاح سجل OpenSSL على Windows. مفتاح السجل الكامل هو "SOFTWARE\WOW6432Node\OpenSSL-{major}.{minor}-{context}"، حيث "{major}" و "{minor}" و "{context}" هي رقم الإصدار الرئيسي لـ OpenSSL ورقم الإصدار الثانوي وسياق تثبيت Windows، على التوالي.

بالنسبة لـ t غير معروف، يُعاد النص "not available".

OPENSSL_info() تُعيد أيضًا سلاسل محارف مختلفة اعتمادًا على t:

OPENSSL_INFO_CONFIG_DIR
    "OPENSSLDIR" المُهيأ، وهو الموقع المبدئي لملفات إعدادات OpenSSL.

OPENSSL_INFO_ENGINES_DIR
    "ENGINESDIR" المُهيأ، وهو الموقع المبدئي لمحركات OpenSSL.

OPENSSL_INFO_MODULES_DIR
    "MODULESDIR" المُهيأ، وهو الموقع المبدئي لوحدات OpenSSL القابلة للتحميل ديناميكيًا بخلاف المحركات.

OPENSSL_INFO_DSO_EXTENSION
    امتداد الوحدة القابلة للتحميل ديناميكيًا المُهيأ.

OPENSSL_INFO_DIR_FILENAME_SEPARATOR
    الفاصل بين مواصفات الدليل واسم الملف. لاحظ أنه على بعض أنظمة التشغيل، هذا ليس نفس الفاصل بين عناصر الدليل.

OPENSSL_INFO_LIST_SEPARATOR
    فاصل قائمة OpenSSL. يُستخدم عادة في سلاسل المحارف التي هي قوائم عناصر، مثل قيمة متغير البيئة $PATH على Unix (حيث الفاصل هو ":") أو "%PATH%" على ويندوز (حيث الفاصل هو ";").

OPENSSL_INFO_CPU_SETTINGS
    إعدادات وحدة المعالجة المركزية الحالية لـ OpenSSL. هذا هو الإعداد الحالي لأعلام قدرة وحدة المعالجة المركزية. عادة ما يُهيأ آليًا ولكن قد يُضبط عبر متغير بيئة. للقيمة نفس صياغة متغير البيئة. بالنسبة لـ x86، تبدو السلسلة المحارف كـ "OPENSSL_ia32cap=0x123:0x456".

OPENSSL_INFO_WINDOWS_CONTEXT
    سياق تثبيت Windows. يُستخدم سياق تثبيت Windows لحساب اسم مفتاح سجل OpenSSL على Windows. مفتاح السجل الكامل هو "SOFTWARE\WOW6432Node\OpenSSL-{major}.{minor}-{context}"، حيث "{major}" و "{minor}" و "{context}" هي رقم الإصدار الرئيسي لـ OpenSSL ورقم الإصدار الثانوي وسياق تثبيت Windows، على التوالي.

بالنسبة لـ t غير معروف، يُعاد NULL.

OpenSSL_version_num() تُعيد قيمة OPENSSL_VERSION_NUMBER.

القيم المُرجعة
OPENSSL_version_major() و OPENSSL_version_minor() و OPENSSL_version_patch() تُعيد أجزاء رقم الإصدار كأعداد صحيحة.

OPENSSL_version_pre_release() و OPENSSL_version_build_metadata() تُعيد قيم OPENSSL_VERSION_PRE_RELEASE و OPENSSL_VERSION_BUILD_METADATA على التوالي كسلاسل محارف ثابتة. بالنسبة لأي منهما غير مُعرَّف، تُعاد السلسلة الفارغة.

OpenSSL_version() تُعيد سلاسل محارف ثابتة.

انظر أيضًا
crypto(7)

التاريخ
الماكرو والدوال الموصوفة هنا أُضيفت في OpenSSL 3.0، باستثناء OPENSSL_VERSION_NUMBER و OpenSSL_version_num().

العلل
كان هناك تباين بين هذا الدليل والتعليق + الكود في <openssl/opensslv.h>، حيث اقترح الأخير أن الأربع بتات الأقل أهمية من OPENSSL_VERSION_NUMBER قد تكون 0x0f في إصدارات OpenSSL المُصدَرة.

حقوق النسخ
حقوق النشر 2018-2025 مؤلفو مشروع 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.