Descripción
mixed
dio_fcntl ( resource fd, int cmd [, mixed arg])
La función dio_fcntl() realiza la
operación indicada por el parámetro cmd sobre el descriptor de archivo fd_ Algunas operaciones requieren argumentos adicionales introducidos a traves del parámetro args_
arg es un array de tipo asociativo siempre que cmd es F_SETLK o F_SETLLW_ En ese caso, las claves del array son las siguientes:
"start" _ lugar donde comienza el bloqueo (lock)
"length" _ tamaño del area bloqueada_ Un valor igual a 0 (cero) indica un bloqueo hasta el final del archivo
"wenth" _ Lugar desde donde se empieza a contar el tamaño l_start_ Puede ser SEEK_SET, SEEK_END y SEEK_CUR
"type" _ tipo de bloqueo_ Puede ser F_RDLCK (bloqueo de lectura), F_WRLCK (bloqueo de escritura) o F_UNLCK (desbloqueo)
cmd puede ser cualquiera de las siguientes
operaciones:
F_SETLK _ Activa o desactiva el bloqueo_ Si alguien lo ha bloqueado
anteriormente, la función dio_fcntl() devuelve _1_
F_SETLKW _ Es similar a F_SETLK, salvo que en esta ocasión la
función dio_fcntl() espera a que se libere
el bloqueo en caso de que alguien lo haya bloqueado anteriormente_
F_GETLK _ La función dio_fcntl() devuelve un
array asociativo como el descrito previamente si existe alguien que
impide realizar un bloqueo_ Si no existe un bloqueo anterior, la clave "type" se pondra a F_UNLCK_
F_DUPFD _ Busca el descriptor de archivo disponible con el
número mas bajo y que sea mayor o igual que arg y lo convierte en una copia de fd y devuelve los dos descriptores_
F_SETFL _ Establece el valor de las opciones de los descriptores de
archivos a los valores especificados en el parámetro arg_ Las opciones pueden ser O_APPEND,O_NONBLOCK o O_ASYNC_ Para poder utilizar la opción O_ASYNC es necesario utilizar la extensión PCNTL_