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 | تحديد هوية المستخدم | |
مراجع
- ↑ "unistd.h(0P)" . دليل مبرمج POSIX . IEEE/The Open Group. 2017. تم الاطلاع عليه بتاريخ 9 فبراير 2024 .
روابط خارجية
- : الثوابت والأنواع الرمزية القياسية – مرجع تعريفات الأساس، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- رؤوس لغة البرمجة C
- مكتبة C POSIX
- رؤوس مكتبة C القياسية
