原型
函式原型:int _locking( int fd, int mode, long nbytes );
參數
•fd
•檔案說明符
•mode
•鎖定要執行的操作。
•nbytes
•用於鎖定的位元組數。
返回值
如果成功, _locking返回 0 。為-1的返回值指示一個錯誤,在errno設定為以下任一值情況下。
•EACCES
•鎖定衝突 (檔案鎖定或解除鎖定)。
•EBADF
•檔案無效描述符。
•EDEADLOCK
•鎖定衝突。當_LK_LOCK或_LK_RLCK標誌指定時和檔案不可能被鎖定,然後嘗試10次之後返回。
•EINVAL
•無效參數指定_locking。
備註
_locking函式被鎖定或解鎖fd指定檔案的 nbytes位元組。鎖在檔案的位元組。其他進程可以防止對這些位元組的訪問許可權。所有鎖定或解鎖的起始檔案指針的當前位置 nbytes位元組並為下運行。鎖定檔案尾位元組的過去是可能的。
清單常數 模式必須為下列之一,在 Locking.h 定義。
•_LK_LOCK
•鎖定指定位元組。如果位元組無法鎖定,函式在 1 秒後直接調用。如果10 多次嘗試後位元組無法鎖定後,常數返回 FALSE。
•_LK_NBLCK
•鎖定指定位元組。如果位元組無法鎖定,常數將返回 false。
•_LK_NBRLCK
•與_LK_NBLCK相同。
•_LK_RLCK
•與_LK_LOCK相同。
•_LK_UNLCK
•取消鎖定指定位元組,以前必須鎖定。
重疊檔案的多區域可以鎖定。綁定以前鎖定解鎖的區域。 _locking不合併相鄰區域;如果兩種鎖定的區域是連續的,必須單獨取消鎖定每個區域。只應簡要鎖區域應在關閉檔案或程式退出之前被取消鎖定。