unistd.h

في لغتي البرمجة C و C++<unistd.h> ، يُشير `POSIX.API` إلى اسم ملف الرأس الذي يُتيح الوصول إلى واجهة برمجة تطبيقات نظام التشغيل POSIX . [ 1 ] وهو مُعرَّف في معيار POSIX.1، الذي يُعد أساس مواصفات يونكس الموحدة ، وبالتالي يجب أن يكون مُتاحًا في أي نظام تشغيل ومُترجم مُتوافق مع POSIX . على سبيل المثال، يشمل ذلك أنظمة التشغيل يونكس والأنظمة الشبيهة بيونكس ، مثل توزيعات GNU ، وتوزيعات لينكس و BSD ، و macOS ، بالإضافة إلى مُترجمات مثل GCC و LLVM .

<unistd.h>في الأنظمة الشبيهة بنظام يونكس، تتكون الواجهة المحددة بواسطة عادةً بشكل كبير من وظائف تغليف استدعاء النظام مثل fork، pipeوعناصر الإدخال/الإخراج الأولية ( read، write، close، إلخ).

توفر طبقات توافق يونكس، مثل Cygwin و MinGW، إصداراتها الخاصة من <unistd.h>. في الواقع، توفر هذه الأنظمة مع مكتبات الترجمة التي تُنفذ وظائفها باستخدام دوال win32. على سبيل المثال، في Cygwin، يوجد ملف رأس في /usr/includeيتضمن ملفًا فرعيًا بنفس الاسم في /usr/include/sys. لا تُعرّف جميع الوظائف في .stddef.h، ولكن بعض التعريفات تتم بالرجوع إلى ملفات رأس مكتبة GNU C القياسية (مثل <stddef.h> )، والتي تُعرّف النوع size_t وغيره الكثير. بالتالي، فإن هي طبقة تكيفية مُعرّفة بشكل عام، وقد تستند إلى تعريفات خاصة بالنظام والمُصرّف. تتمثل الميزة العامة في عدم وجود مجموعة مُحتملة من ملفات الرأس المُعرّفة في نفس الملف، بل مجموعة واحدة مبنية على نفس الجذر، مما يُقلل من المخاوف في حالات الاستخدام المُدمجة.<unistd.h>

نظرة عامة على الوظائف

وظيفةوصف
cryptتشفير كلمة المرور والبيانات
encryptتشفير الرسائل ذات 64 بايت
gethostidاحصل على المعرف الفريد للمضيف الحالي
gethostnameالحصول على اسم المضيف
getoptتحليل خيارات سطر الأوامر
swabتبديل البايتات المتجاورة
sysconfالحصول على التكوين في وقت التشغيل
الإشاراتalarmجدولة إشارة إنذار
pauseانتظر الإشارة
نظام الملفاتaccessfaccessatfaccessat2تحقق من صلاحيات المستخدم لملف ما أو ما إذا كان موجودًا
chdirfchdirتغيير دليل العمل
chownfchownlchownfchownatتغيير مالك ومجموعة ملف
closeأغلق واصف الملف
dupdup2تكرار واصف الملف
fsyncfdatasyncمزامنة حالة الملف في الذاكرة الرئيسية مع جهاز التخزين
fpathconfpathconfالحصول على قيم التكوين للملفات
ftruncatetruncateاقتطاع ملف إلى طول محدد
getcwdgetwdget_current_dir_nameالحصول على دليل العمل الحالي
isattyاختبار ما إذا كان واصف الملف يشير إلى طرفية
linklinkatقم بإنشاء اسم جديد للملف
lockfتطبيق أو اختبار أو إزالة قفل POSIX على ملف مفتوح
lseekإعادة تحديد موضع إزاحة ملف القراءة/الكتابة
pipepipe2إنشاء أنبوب
preadpwriteقراءة أو كتابة ملف إلى واصف ملف عند إزاحة معينة
readالقراءة من واصف الملف
readlinkreadlinkatقراءة قيمة الرابط الرمزي
rmdirحذف دليل
symlinksymlinkatقم بإنشاء اسم جديد للملف
syncsyncfsقم بحفظ ذاكرة التخزين المؤقت لنظام الملفات على القرص
ttynamettyname_rإرجاع اسم طرفية
unlinkunlinkatاحذف اسمًا، وربما الملف الذي يشير إليه.
writeالكتابة إلى واصف الملف
عملية_exitإنهاء عملية الاستدعاء
execlexeclpexecleexecvexecvpexecvpeتنفيذ ملف
fexecveتنفيذ البرنامج المحدد عبر واصف الملف
forkإنشاء عملية جديدة
setpgidgetpgidsetpgrpgetpgrpتعيين/استرجاع مجموعة العمليات
getpidgetppidتحديد العملية
getsidالحصول على معرف الجلسة
niceتغيير أولوية العملية
setsidيقوم بإنشاء جلسة وتعيين معرّف مجموعة العمليات
sleepالنوم لعدد محدد من الثواني
tcgetpgrptcsetpgrpالحصول على مجموعة عمليات التشغيل الأمامية للطرفية وتعيينها
المستخدم/المجموعةgetgidgetegidالحصول على هوية المجموعة
getuidgeteuidالحصول على هوية المستخدم
getgroupsالحصول على قائمة بمعرفات المجموعات التكميلية
getlogingetlogin_rالحصول على اسم المستخدم
seteuidsetegidقم بتعيين معرف المستخدم أو المجموعة الفعال
setgidتحديد هوية المجموعة
setreuidsetregidقم بتعيين معرف المستخدم أو المجموعة الحقيقي و/أو الفعال
setuidتحديد هوية المستخدم

مراجع

  1. "unistd.h(0P)" . دليل مبرمج POSIX . IEEE/The Open Group. 2017. تم الاطلاع عليه بتاريخ 9 فبراير 2024 .