Synopsis
#include << A HREF = "file: /usr/include/sys/types.h"> sys / typesh> #include << A HREF = "file: /usr /include/sys/stath "> sys / stath> #include << A HREF = "file: /usr/include/fcntlh"> fcntlh> int open (const char * pathname , int flags ) int open (const char * pathname , int flags , mode_t mode ) int creat (const char * pathname , mode_t mode )ລາຍລະອຽດ
ລະບົບ ເປີດ () ລະບົບ linux ຄໍາສັ່ງ ຖືກນໍາໃຊ້ເພື່ອປ່ຽນຊື່ເສັ້ນຊື່ເປັນຕົວລະບຸປະເພດໄຟລ໌ (ເປັນຕົວເລກເລັກນ້ອຍ, ບໍ່ແມ່ນຄວາມຫມາຍສໍາລັບການນໍາໃຊ້ໃນ I / O ຕໍ່ມາພ້ອມກັບ ອ່ານ , ຂຽນ , ແລະອື່ນໆ). ເມື່ອການໂທຖືກປະສົບຜົນສໍາເລັດ, ລາຍລະອຽດຂອງ ໄຟລ໌ທີ່ ສົ່ງກັບຄືນໄປບ່ອນຈະເປັນຕົວຊີ້ວັດໄຟລ໌ທີ່ຕໍ່າທີ່ສຸດທີ່ບໍ່ເປີດເຜີຍສໍາລັບຂະບວນການ. ໂທນີ້ສ້າງໄຟລ໌ເປີດໃຫມ່, ບໍ່ໄດ້ແບ່ງປັນກັບຂະບວນການອື່ນໆ. (ແຕ່ໄຟລ໌ທີ່ເປີດແບ່ງປັນອາດຈະເກີດຂື້ນໂດຍຜ່ານລະບົບການໂທລະຫັດຕ່ໍາ (2).) ລະບົບຄໍາອະທິບາຍໄຟລ໌ໃຫມ່ແມ່ນຍັງເປີດຢູ່ໃນຫນ້າທີ່ exec (ເບິ່ງ fcntl (2)). ການຊົດເຊີຍໄຟລ໌ແມ່ນຕັ້ງຢູ່ໃນຕອນເລີ່ມຕົ້ນຂອງໄຟລ໌.
ທຸງທຸງ ແມ່ນຫນຶ່ງໃນ O_RDONLY , O_WRONLY ຫຼື O_RDWR ເຊິ່ງຮຽກຮ້ອງໃຫ້ເປີດໄຟລ໌ອ່ານ, ຂຽນເສີຍໆ ຫຼື ອ່ານ / ຂຽນ, ຕາມລໍາດັບ, bitwise - ຫຼື 'd ດ້ວຍສູນຫຼືຫຼາຍກວ່າດັ່ງຕໍ່ໄປນີ້:
O_CREAT
ຖ້າໄຟລ໌ບໍ່ມີມັນຈະຖືກສ້າງຂຶ້ນ. ເຈົ້າຂອງ (ຜູ້ໃຊ້ ID) ຂອງໄຟລ໌ແມ່ນຖືກກໍານົດໃຫ້ ID ຜູ້ໃຊ້ປະສິດທິພາບຂອງຂະບວນການ. ການເປັນເຈົ້າຂອງກຸ່ມ (ກຸ່ມ ID) ແມ່ນຖືກກໍານົດໄວ້ໃນລະຫັດກຸ່ມຂອງລະບົບປະຕິບັດການຫຼືກັບ ID ກຸ່ມຂອງໂຟເດີແມ່ (ອີງຕາມປະເພດຂອງລະບົບໄຟລ໌ແລະຕົວເລືອກ mount ແລະໂຫມດຂອງໂຟເດີແມ່, ເບິ່ງ, eg, mount ຕົວເລືອກ bsdgroups ແລະ sysvgroups ຂອງລະບົບໄຟ ext2, ດັ່ງທີ່ໄດ້ອະທິບາຍໃນ mount (8)).
O_EXCL
ເມື່ອນໍາໃຊ້ກັບ O_CREAT , ຖ້າໄຟລ໌ທີ່ມີຢູ່ແລ້ວມັນເປັນຂໍ້ຜິດພາດແລະການ ເປີດ ຈະລົ້ມເຫລວ. ໃນສະພາບການນີ້, ການເຊື່ອມໂຍງທີ່ມີສັນຍາລັກຢູ່, ໂດຍບໍ່ວ່າບ່ອນໃດທີ່ມັນຊີ້ໃຫ້ເຫັນ. O_EXCL ຖືກແຍກໃນ ລະບົບໄຟລ໌ NFS , ໂຄງການທີ່ອີງໃສ່ມັນສໍາລັບການປະຕິບັດວຽກງານ locking ຈະມີສະພາບການແຂ່ງຂັນ. ການແກ້ໄຂບັນຫາສໍາລັບການປະຕິບັດການລັອກໄຟລ໌ປະລໍາມະນູໂດຍໃຊ້ລັອກໄຟແມ່ນເພື່ອສ້າງໄຟລ໌ທີ່ເປັນເອກະລັກດຽວກັນກັບ fs (ເຊັ່ນ: ການເຊື່ອມໂຍງກັບ hostname ແລະ pid), ການນໍາໃຊ້ ການເຊື່ອມຕໍ່ (2) ເພື່ອສ້າງການເຊື່ອມຕໍ່ກັບລັອກໄຟລ໌. ຖ້າ ເຊື່ອມຕໍ່ () ກັບຄືນ 0, ລັອກຈະປະສົບຜົນສໍາເລັດ. ຖ້າບໍ່ດັ່ງນັ້ນ, ໃຫ້ໃຊ້ ສະຖິຕິ (2) ໃນໄຟລ໌ທີ່ບໍ່ຊ້ໍາກັນເພື່ອກວດສອບວ່າການເຊື່ອມຕໍ່ຂອງມັນຖືກເພີ່ມຂຶ້ນເປັນ 2, ໃນກໍລະນີທີ່ລັອກກໍ່ປະສົບຜົນສໍາເລັດ.
O_NOCTTY
ຖ້າ ເສັ້ນທາງ ຫມາຍເຖິງອຸປະກອນທີ່ຢູ່ປາຍຍອດ --- ເບິ່ງ tty (4) --- ມັນຈະບໍ່ກາຍເປັນບ່ອນຄວບຄຸມຂອງຂະບວນການເຖິງແມ່ນວ່າຂະບວນການບໍ່ມີຫນຶ່ງ.
O_TRUNC
ຖ້າໄຟລ໌ນີ້ມີຢູ່ແລ້ວແລະເປັນໄຟລ໌ປົກກະຕິແລ້ວຮູບແບບເປີດຈະຊ່ວຍໃຫ້ຂຽນ (ເຊົ່ນ O_RDWR ຫຼື O_WRONLY) ມັນຈະຖືກຕັດໄປຫາຄວາມຍາວ 0. ຖ້າໄຟລ໌ແມ່ນແຟ້ມອຸປະກອນ FIFO ຫຼື terminal, ທ່ອນ O_TRUNC ຈະຖືກຍົກເລີກ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຜົນກະທົບຂອງ O_TRUNC ແມ່ນບໍ່ໄດ້ລະບຸ. (ໃນຫຼາຍ ລຸ້ນ Linux ມັນຈະຖືກລະເວັ້ນ, ໃນສະບັບອື່ນໆ, ມັນຈະສົ່ງຂໍ້ຜິດພາດຄືນ).
O_APPEND
ໄຟລ໌ແມ່ນເປີດຢູ່ໃນໂຫມດຜນວກກັນ. ກ່ອນທີ່ຈະ ຂຽນ ແຕ່ລະຕົວ, ຕົວຊີ້ຂອງແຟ້ມຈະຖືກຕັ້ງຢູ່ໃນຕອນທ້າຍຂອງໄຟລ໌, ຖ້າວ່າມີ lseek . O_APPEND ອາດຈະເຮັດໃຫ້ໄຟລ໌ທີ່ເສຍຫາຍໃນລະບົບໄຟລ໌ NFS ຖ້າຫຼາຍກວ່າຫນຶ່ງຂະບວນການປະກອບຂໍ້ມູນກັບໄຟລ໌ໃນເວລາດຽວກັນ. ນີ້ແມ່ນຍ້ອນວ່າ NFS ບໍ່ສະຫນັບສະຫນູນການຕິດຕໍ່ກັບໄຟລ໌, ດັ່ງນັ້ນແກ່ນລູກຄ້າຕ້ອງມີການຈໍາລອງມັນ, ເຊິ່ງບໍ່ສາມາດເຮັດໄດ້ໂດຍບໍ່ມີເງື່ອນໄຂເຊື້ອຊາດ.
O_NONBLOCK ຫຼື O_NDELAY
ເມື່ອເປັນໄປໄດ້, ໄຟລ໌ຈະຖືກເປີດໃນຮູບແບບທີ່ບໍ່ແມ່ນກ່ອງ. ບໍ່ມີການປະຕິບັດງານ ເປີດ ຫຼືການດໍາເນີນງານຕໍ່ໄປໃນລະບົບຄໍາອະທິບາຍໄຟລ໌ທີ່ຖືກສົ່ງກັບຈະເຮັດໃຫ້ຂະບວນການໂທຫາລໍຖ້າ. ສໍາລັບການຈັດການຂອງ FIFOs (ຊື່ທໍ່), ເບິ່ງຍັງ fifo (4). ຮູບແບບນີ້ບໍ່ຈໍາເປັນຕ້ອງມີຜົນຕໍ່ໄຟລ໌ອື່ນນອກເຫນືອຈາກ FIFOs.
O_SYNC
ໄຟລ໌ແມ່ນເປີດສໍາລັບ I / O ທີ່ສົມບູນແບບ. ທຸກລາຍການກ່ຽວກັບລາຍລະອຽດຂອງໄຟລ໌ທີ່ຜົນໄດ້ຮັບຈະຕັນຂະບວນການໂທຈົນກ່ວາຂໍ້ມູນໄດ້ຖືກຂຽນໄວ້ໃນຮ່າງກາຍ. ເບິ່ງ RESTRICTIONS ຂ້າງລຸ່ມນີ້, ເຖິງແມ່ນວ່າ.
O_NOFOLLOW
ຖ້າ ເສັ້ນທາງ ເປັນເສັ້ນທາງສັນຍາລັກ, ຫຼັງຈາກນັ້ນເປີດຈະລົ້ມເຫລວ. ນີ້ແມ່ນການຂະຫຍາຍ FreeBSD, ເຊິ່ງໄດ້ຖືກເພີ່ມເຂົ້າໃນ Linux ໃນສະບັບ 2.1.126. ການເຊື່ອມໂຍງສັນຍາລັກໃນສ່ວນປະກອບຂອງເສັ້ນຊື່ເກົ່າຈະສືບຕໍ່ຕິດຕາມ. headers ຈາກ glibc 2.0.100 ແລະຫຼັງຈາກນັ້ນປະກອບມີຄໍານິຍາມຂອງທຸງນີ້; kernels ກ່ອນ 2.1.126 ຈະບໍ່ສົນໃຈມັນຖ້າຖືກນໍາໃຊ້ .
O_DIRECTORY
ຖ້າ ເສັ້ນທາງ ບໍ່ແມ່ນໄດເລກະທໍລີ, ເຮັດໃຫ້ເປີດໃຫ້ລົ້ມເຫລວ. ຕົວຊີ້ວັດນີ້ແມ່ນ Linux ທີ່ສະເພາະແລະຖືກເພີ່ມໃນເວີຊັນ Kernel 2.1.126 ເພື່ອຫຼີກເວັ້ນບັນຫາການປະຕິເສດຂອງການບໍລິການຖ້າ OPendir (3) ຖືກເອີ້ນໃນອຸປະກອນ FIFO ຫຼື tape ແຕ່ບໍ່ຄວນໃຊ້ພາຍນອກການດໍາເນີນການ opendir ທີ່ຢູ່
O_DIRECT
ພະຍາຍາມຫຼຸດຜ່ອນຜົນກະທົບຂອງຕົວທ່ອງເວັບຂອງ I / O ກັບແລະຈາກໄຟລ໌ນີ້. ໂດຍທົ່ວໄປນີ້ຈະລົດລົງການປະຕິບັດແຕ່ມັນມີປະໂຫຍດໃນສະຖານະການພິເສດເຊັ່ນເມື່ອຄໍາຮ້ອງສະຫມັກເຮັດຫນ້າທີ່ຂອງຕົວເອງ. ໄຟລ໌ I / O ແມ່ນເຮັດໂດຍກົງກັບ / ຈາກສະຖານທີ່ຂອງຜູ້ໃຊ້ທີ່ມີຄວາມຫນາແຫນ້ນ. I / O ແມ່ນ synchronous, ie, ໃນການສໍາເລັດຂອງການ ອ່ານ (2) ຫຼື ຂຽນ (2) ໂທລະບົບ, ຂໍ້ມູນແມ່ນການຮັບປະກັນທີ່ໄດ້ຮັບການໂອນ. ຂະຫນາດການໂອນແລະການປັບຕົວຂອງການບີບອັດຂອງຜູ້ໃຊ້ແລະການຊົດເຊີຍໄຟລ໌ຕ້ອງທັງຫມົດເປັນຈໍານວນຂອງຂະຫນາດບລັອກຕັນກະຂອງລະບົບໄຟລ໌.
ທຸງນີ້ແມ່ນສະຫນັບສະຫນູນໃນລະບົບທີ່ຄ້າຍຄືກັບ Unix; ສະຫນັບສະຫນູນໄດ້ຖືກເພີ່ມພາຍໃຕ້ Linux ໃນເວີຊັນ kernel 2.4.10.
ການໂຕ້ຕອບທີ່ຄ້າຍຄືກັນກ່ຽວກັບ semantically ສໍາລັບອຸປະກອນຕັນແມ່ນອະທິບາຍໃນ ວັດຖຸດິບ (8).
O_ASYNC
ສ້າງສັນຍານ (SIGIO ໂດຍຄ່າເລີ່ມຕົ້ນແຕ່ວ່ານີ້ສາມາດຖືກປ່ຽນໂດຍຜ່ານ fcntl (2)) ເມື່ອເຂົ້າຫລືຜົນໄດ້ຮັບກັບຕົວລະອຽດຂອງແຟ້ມນີ້. ຄຸນນະສົມບັດນີ້ແມ່ນມີພຽງແຕ່ສໍາລັບການສະຖານທີ່, ປື້ມບັນຈຸ pseudo, ແລະ sockets. ເບິ່ງ fcntl (2) ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.
O_LARGEFILE
ລະບົບ 32 ບິດທີ່ສະຫນັບສະຫນູນລະບົບໄຟລ໌ຂະຫນາດໃຫຍ່, ອະນຸຍາດໃຫ້ໄຟລ໌ທີ່ມີຂະຫນາດບໍ່ສາມາດສະແດງໃນ 31 ບິດທີ່ຈະເປີດໄດ້.
ບາງທຸງທາງເລືອກເຫຼົ່ານີ້ສາມາດຖືກປ່ຽນແປງໂດຍໃຊ້ fcntl ຫຼັງຈາກໄຟລ໌ໄດ້ຖືກເປີດ.
ໂຫມດ ການໂຕ້ຖຽງລະບຸການອະນຸຍາດໃຫ້ໃຊ້ໃນກໍລະນີໄຟລ໌ໃຫມ່ຖືກສ້າງຂຶ້ນ. ມັນຖືກດັດແກ້ໂດຍ umask ຂອງຂະບວນການໃນທາງປົກກະຕິ: ການອະນຸຍາດຂອງໄຟລ໌ທີ່ສ້າງມາແມ່ນ (mode & umask) . ໃຫ້ສັງເກດວ່າຮູບແບບນີ້ໃຊ້ໄດ້ກັບການເຂົ້າເຖິງໃນອະນາຄົດຂອງໄຟລ໌ທີ່ສ້າງມາໃຫມ່; ການໂທ ເປີດ ທີ່ສ້າງໄຟລ໌ອ່ານເທົ່ານັ້ນກໍ່ອາດຈະກັບຄືນມາລາຍລະອຽດຂອງໄຟລ໌ອ່ານ / ຂຽນ.
ຄົງທີ່ສັນຍາລັກດັ່ງຕໍ່ໄປນີ້ແມ່ນໃຫ້ສໍາລັບ ຮູບແບບ :
S_IRWXU
00700 ຜູ້ໃຊ້ (ເຈົ້າຂອງໄຟລ໌) ໄດ້ອ່ານ, ຂຽນແລະປະຕິບັດການອະນຸຍາດ
S_IRUSR (S_IREAD)
00400 ຜູ້ໃຊ້ມີການອ່ານການອະນຸຍາດ
S_IWUSR (S_IWRITE)
00200 ຜູ້ໃຊ້ມີສິດຂຽນ
S_IXUSR (S_IEXEC)
00100 user has execute permission
S_IRWXG
00070 ກຸ່ມໄດ້ອ່ານ, ຂຽນແລະປະຕິບັດການອະນຸຍາດ
S_IRGRP
00040 ກຸ່ມໄດ້ອ່ານການອະນຸຍາດ
S_IWGRP
00020 ກຸ່ມໄດ້ຂຽນການອະນຸຍາດ
S_IXGRP
00010 ກຸ່ມໄດ້ປະຕິບັດການອະນຸຍາດ
S_IRWXO
00007 ຄົນອື່ນໄດ້ອ່ານ, ຂຽນແລະປະຕິບັດການອະນຸຍາດ
S_IROTH
00004 ຄົນອື່ນໄດ້ອ່ານການອະນຸຍາດ
S_IWOTH
00002 ຄົນອື່ນມີສິດຂຽນ
S_IXOTH
00001 ອື່ນໆໄດ້ດໍາເນີນການອະນຸຍາດ
ໂຫມດ ຕ້ອງຖືກລະບຸເມື່ອ O_CREAT ຢູ່ໃນ ປ້າຍ , ແລະຖືກລະເວັ້ນຖ້າບໍ່ດັ່ງນັ້ນ.
creat ແມ່ນເທົ່າກັບ ເປີດ ກັບ ປ້າຍທີ່ ເທົ່າກັບ O_CREAT | O_WRONLY | O_TRUNC .
VALUE RETURN
ເປີດ ແລະ ສ້າງ ຜົນຕອບແທນໃຫມ່ຂອງແຟ້ມຂໍ້ມູນຫລື -1 ຖ້າມີຂໍ້ຜິດພາດເກີດຂຶ້ນ (ໃນກໍລະນີທີ່ errno ຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງ). ໃຫ້ສັງເກດວ່າ ເປີດ ສາມາດເປີດໄຟອຸປະກອນພິເສດແຕ່ creat ບໍ່ສາມາດສ້າງມັນໄດ້ - ໃຊ້ mknod (2) ແທນ.
ໃນລະບົບໄຟລ໌ NFS ທີ່ມີການສ້າງແຜນທີ່ UID ທີ່ເປີດໃຊ້, ເປີດ ອາດຈະສົ່ງກັບຄືນຄໍາບັນ ຍາຍຂອງ ໄຟລ໌ແຕ່ວ່າການ ອ່ານ (2) ແມ່ນຖືກປະຕິເສດດ້ວຍ EACCES . ນີ້ແມ່ນຍ້ອນວ່າລູກຄ້າປະຕິບັດການ ເປີດ ໂດຍການກວດສອບສິດ, ແຕ່ການກໍານົດແຜນ UID ແມ່ນຖືກປະຕິບັດໂດຍເຄື່ອງແມ່ຂ່າຍຕາມຄວາມຕ້ອງການອ່ານແລະຂຽນ.
ຖ້າແຟ້ມຖືກສ້າງຂຶ້ນໃຫມ່, ເວລາທີ່ໃຊ້ເວລາ, ctime, mtime ຈະຖືກກໍານົດໄວ້ໃນເວລາປັດຈຸບັນ, ແລະດັ່ງນັ້ນແມ່ນທົ່ງນາ ctime ແລະ mtime ຂອງໂຟເດີແມ່ຂອງ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າໄຟລ໌ຖືກດັດແກ້ເນື່ອງຈາກທຸງ O_TRUNC, ທົ່ງນາເວລາແລະເວລາຂອງມັນຖືກກໍານົດເປັນເວລາປະຈຸບັນ.
ຂໍ້ຜິດພາດ
EEXIST
pathname already exists and O_CREAT and O_EXCL were used.
EISDIR
pathname ຫມາຍເຖິງໄດເລກະທໍລີແລະການເຂົ້າເຖິງການຂຽນທີ່ກ່ຽວຂ້ອງ (ເຊິ່ງແມ່ນ O_WRONLY ຫຼື O_RDWR ຖືກກໍານົດ).
EACCES
ບໍ່ອະນຸຍາດໃຫ້ເຂົ້າໃຊ້ໄຟລ໌ທີ່ຮ້ອງຂໍຫຼືໄຟລ໌ໃດຫນຶ່ງທີ່ຢູ່ໃນ ຊື່ເສັ້ນທາງ ບໍ່ໄດ້ອະນຸຍາດໃຫ້ການສືບຄົ້ນ (ປະຕິບັດ), ຫຼືໄຟລ໌ທີ່ບໍ່ມີຢູ່ແລ້ວແລະການເຂົ້າເຖິງລະບົບຂອງແມ່ບົດແມ່ບໍ່ໄດ້ຖືກອະນຸຍາດ.
ENAMETOOLONG
pathname ຍາວເກີນໄປ.
ENOENT
O_CREAT ບໍ່ໄດ້ກໍານົດແລະໄຟລ໌ຊື່ທີ່ບໍ່ມີຢູ່. ຫຼື, ອົງປະກອບຂອງອົງປະກອບໃນ pathname ບໍ່ມີຢູ່ຫຼືເປັນການເຊື່ອມໂຍງສັນຍາລັກ dangling.
ENOTDIR
ອົງປະກອບທີ່ໃຊ້ເປັນໄດເລກະທໍລີໃນ pathname ບໍ່ແມ່ນ, ໃນຕົວຈິງແລ້ວ, ໄດເລກະທໍລີ, ຫຼື O_DIRECTORY ຖືກລະບຸແລະ pathname ບໍ່ແມ່ນ directory.
ENXIO
O_NONBLOCK | O_WRONLY ຖືກກໍານົດ, ໄຟລ໌ຊື່ທີ່ເປັນ FIFO ແລະບໍ່ມີຂະບວນການທີ່ມີໄຟລ໌ເປີດສໍາລັບການອ່ານ. ຫຼື, ໄຟລ໌ແມ່ນໄຟລ໌ພິເສດອຸປະກອນແລະບໍ່ມີອຸປະກອນທີ່ສອດຄ້ອງກັນ.
ENODEV
pathname ຫມາຍເຖິງໄຟລ໌ພິເສດອຸປະກອນແລະບໍ່ມີອຸປະກອນທີ່ກ່ຽວຂ້ອງ. (ນີ້ແມ່ນ bug kernel bug - ໃນສະຖານະການນີ້ ENXIO ຕ້ອງຖືກສົ່ງຄືນ.)
EROFS
pathname ຫມາຍເຖິງໄຟລ໌ໃນລະບົບໄຟລ໌ທີ່ມີພຽງແຕ່ອ່ານແລະຕ້ອງການການຂຽນເຂົ້າ.
ETXTBSY
pathname ຫມາຍເຖິງຮູບພາບປະຕິບັດທີ່ກໍາລັງຖືກປະຕິບັດແລະຂຽນເຂົ້າເຖິງໄດ້ຖືກຮຽກຮ້ອງ.
EFAULT
ຈຸດ ເສັ້ນທາງ ທີ່ຢູ່ນອກຊ່ອງສະຖານທີ່ທີ່ສາມາດເຂົ້າເຖິງໄດ້.
ELOOP
ມີການເຊື່ອມຕໍ່ສັນຍາລັກຫລາຍເກີນໄປໃນການແກ້ໄຂ ຊື່ເສັ້ນທາງ , ຫຼື O_NOFOLLOW ຖືກລະບຸແຕ່ ເສັ້ນທາງ ເປັນເສັ້ນທາງສັນຍາລັກ.
ENOSPC
pathname ຈະຖືກສ້າງຂຶ້ນແຕ່ອຸປະກອນທີ່ມີ ຊື່ເສັ້ນທາງ ບໍ່ມີຫ້ອງສໍາລັບເອກະສານໃຫມ່.
ENOMEM
ຫນ່ວຍຄວາມຈໍາ kernel ບໍ່ພຽງພໍ.
EMFILE
ຂະບວນການແລ້ວມີຈໍານວນໄຟລ໌ທີ່ເປີດກວ້າງ.
ENFILE
ຂໍ້ຈໍາກັດກ່ຽວກັບຈໍານວນໄຟລ໌ທີ່ເປີດໃນລະບົບໄດ້ຖືກບັນລຸ.
ສອດຄ່ອງກັບ
SVR4, SVID, POSIX, X / OPEN, BSD 4.3 ທຸງ O_NOFOLLOW ແລະ O_DIRECTORY ແມ່ນ Linux ທີ່ມີປະສິດທິພາບ . ຫນຶ່ງອາດຈະຕ້ອງກໍານົດ macro _GNU_SOURCE ເພື່ອໃຫ້ໄດ້ຄໍານິຍາມຂອງມັນ.
Restrictions
ມີ infelicities ຫຼາຍໃນໂປຣແກຣມທີ່ຢູ່ພາຍໃຕ້ NFS, ເຊິ່ງມີຜົນຕໍ່ O_SYNC ແລະ O_NDELAY .
POSIX ສະຫນອງສໍາລັບສາມ variants ທີ່ແຕກຕ່າງກັນຂອງ I / O synchronized, ທີ່ສອດຄ້ອງກັບທົງ O_SYNC , O_DSYNC ແລະ O_RSYNC . ປະຈຸບັນ (2.1.130) ເຫຼົ່ານີ້ແມ່ນທັງຫມົດທີ່ຢູ່ໃນ Linux.