Descrizione
mixed
dio_fcntl ( resource fd, int cmd [, mixed args])
La funzione dio_fcntl() esegue le operazioni
specificate dal parametro cmd sul descrittore
di file fd. Qualora i comandi richiedano
informazioni addizionali occorre valorizzare args con tali informazioni.
Il parametro args è un array associativo, nei casi in cui
cmd è impostato a F_SETLK oppure a F_SETLLW, contiene
le seguenti chiavi:
"start" - offset da cui comincia il lock
"length" - dimensione dell'area bloccata, zero significa fine file
"wenth" - a cosa l_start è relativo: può valere SEEK_SET,
SEEK_END o SEEK_CUR
"type" - tipo di lock: può essere F_RDLCK (lock in lettura), F_WRLCK
(lock in scrittura) oppure F_UNLCK (rimozione del lock)
cmd può indicare una delle seguenti
operazioni:
F_SETLK - Imposta o azzera un lock. Se il lock è impostato
da un'altro processo la funzione dio_fcntl() restituisce
-1.
F_SETLKW - come F_SETLK, ma nel caso in cui il lock sia impostato da
un'altro processo la funzione dio_fcntl() attende
sino a quando il blocco non viene rimosso.
F_GETLK - la dio_fcntl() restituisce un array
associativo (come descritto precedentemente) se qualche altro processo
impedisce il lock. Se non vi sono problemi la chiave "type" sarà impostata
a F_UNLCK.
F_DUPFD - trova il più piccolo numero di descrittore di file disponibile
che sia maggiore o uguale rispetto ad args
e lo restituisce.
F_SETFL - Imposta i flag del descrittore di file al valore specificato da
args. Tale valore può essere O_APPEND, O_NONBLOCK oppure
O_ASYNC . Per utilizzare O_ASYNC occorre utilizzare l'estensione PCNTL.