getentropy(3)

الاسم
getentropy - ملء خبيئة بمحارف عشوائية

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <unistd.h>

int getentropy(size_t length;
               void buffer[length], size_t length);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

getentropy():
    _DEFAULT_SOURCE

الوصف
تكتب دالة getentropy() length بايت من بيانات عشوائية عالية الجودة إلى الخبيئة ابتداءً من الموقع المشار إليه بواسطة buffer. القيمة القصوى المسموح بها لمعامل length هي 256.

يوفر استدعاء ناجح لـ getentropy() دائمًا العدد المطلوب من بايتات الإنتروبيا.

قيمة الإرجاع
عند النجاح، تُرجع هذه الدالة صفرًا. عند الخطأ، يُرجع -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EFAULT
    جزء أو كل الخبيئة المحددة بواسطة buffer و length ليس في ذاكرة قابلة للعنونة صالحة.

EIO length أكبر من 256.

EIO حدث خطأ غير محدد أثناء محاولة الكتابة فوق buffer ببيانات عشوائية.

ENOSYS
    لا ينفذ إصدار النواة هذا استدعاء النظام getrandom(2) المطلوب لتنفيذ هذه الدالة.

المعايير
POSIX.1-2024.

التاريخ
OpenBSD 5.6, glibc 2.25, FreeBSD 12.0, POSIX.1-2024.

ملاحظات
تُنفذ دالة getentropy() باستخدام getrandom(2).

بينما يجعل غلاف glibc getrandom(2) نقطة إلغاء، فإن getentropy() ليست نقطة إلغاء.

تُصرح getentropy() أيضًا في <sys/random.h>. (لا حاجة لتعريف كلي اختبار الميزة للحصول على التصريح من ملف الرأس ذلك.)

قد يحجب استدعاء getentropy() إذا كان النظام قد أُقلع للتو ولم تجمع النواة بعد ما يكفي من العشوائية لتهيئة مجمع الإنتروبيا. في هذه الحالة، سيبقى getentropy() محجوبًا حتى لو عُولجت إشارة، ولن يُرجع إلا بعد تهيئة مجمع الإنتروبيا.

انظر أيضًا
getrandom(2), urandom(4), random(7)

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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