The dio_fcntl() function performs the
operation specified by cmd on the file
descriptor fd. Some commands require
additional arguments args to be supplied.
args is an associative array, when
cmd is F_SETLK or F_SETLLW, with the
following keys:
"start" - offset where lock begins
"length" - size of locked area. zero means to end of file
"wenth" - Where l_start is relative to: can be SEEK_SET,
SEEK_END and SEEK_CUR
"type" - type of lock: can be F_RDLCK (read lock), F_WRLCK
(write lock) or F_UNLCK (unlock)
cmd can be one of the following
operations:
F_SETLK - Lock is set or cleared. If the lock
is held by someone else dio_fcntl() returns
-1.
F_SETLKW - like F_SETLK, but in case the lock
is held by someone else, dio_fcntl() waits
until the lock is released.
F_GETLK - dio_fcntl() returns an
associative array (as described above) if someone else
prevents lock. If there is no obstruction key "type" will set
to F_UNLCK.
F_DUPFD - finds the lowest numbered available file descriptor
greater than or equal to args and returns
them.
F_SETFL - Sets the file descriptors flags to the value specified by
args, which can be O_APPEND,O_NONBLOCK or
O_ASYNC. To use O_ASYNC you will need to use the
PCNTL extension.
Example 1.
Setting and clearing a lock
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);
if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) { // the file descriptor appears locked echo "The lock can not be cleared. It is held by someone else."; } else { echo "Lock succesfully set/cleared"; }
dio_close($fd); ?>
Note: This function is not
implemented on Windows platforms.
Php dio fcntl Function syntax tag
dio fcntl php code on this is provided for your study purpose, it will guide you to know how create and design a website using php. use it to practice and train your self online
Php dio fcntl syntax tutorial
php tutorial guide and code design are for easy learning and programming. The code practice section provided at the top is for practising of this syntax. Use the code section up to practice your php programming online. Learning php is very easy, all you need is to use the examples on this site and practice them to perfect your skills.