ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
為 I/O 打開文件
int DEV_open (const char *path , unsigned flags , intllv_fd );
此函數(shù)查找匹配 path 的文件并在 flags 請求時為 I/O 打開它。
O_RDONLY (0x0000) /* 打開以進行讀取 */
O_WRONLY (0x0001) /* 打開以進行寫入 */
O_RDWR (0x0002) /* 打開以進行讀寫 */
O_APPEND (0x0008) /* 在每次寫入時添加 */
O_CREAT (0x0200) /* 打開并創(chuàng)建文件 */
O_TRUNC (0x0400) /* 打開并截斷 */
O_BINARY (0x8000) /* 以二進制模式打開 */
如需各個標志的進一步說明,請參閱 POSIX。
此函數(shù)必須安排要為每個文件描述符保存的信息,通常包括文件位置指示符以及任何重要標志。對于主機版本,所有記賬工作都由在主機上運行的調(diào)試器負責處理。如果器件使用內(nèi)部緩沖器,則可以在打開文件時創(chuàng)建緩沖器,或者在讀取或?qū)懭肫陂g創(chuàng)建緩沖器。
如果出于某些原因而無法打開文件,此函數(shù)必須返回 -1 以表示出錯;例如,文件不存在、無法創(chuàng)建,或者打開了太多文件。可以選擇設(shè)置 errno 的值來指示確切的錯誤(主機器件不會設(shè)置 errno)。一些器件可能具有特殊的故障條件;例如,如果器件為只讀,則無法使用 O_WRONLY 來打開文件。
成功時,此函數(shù)必須返回一個非負的文件描述符,并且這個文件描述符必須在所有打開且由特定器件處理的文件中保持唯一。文件描述符不需要在不同器件上保持唯一。器件文件描述符僅由低級函數(shù)在調(diào)用器件驅(qū)動程序級函數(shù)時使用。低級函數(shù) open 會為高級函數(shù)分配其自有的獨特文件描述符,以便調(diào)用各個低級函數(shù)。僅使用高級 I/O 函數(shù)的代碼不需要知道這些文件描述符。