Most Referenced Functions
  » google_pagerank()
  » preg_replace()
  » imagecreatefrompng()
  » site_pageranks()
  » imagepng()
  » imagedestroy()
  » imagestring()
  » imagecolorallocate()
  » htmlentities()
  » preg_match()
  » fopen()
  » header()
  » getimagesize()
  » preg_match_all()
  » session_start()
  » htmlspecialchars()
  » ob_start()
  » ob_flush()
  » strstr()
  » flush()
  » strpos()
  » setcookie()
  » str_replace()
  » array2vars()
  » nl2br()
  » preg_split()
  » ereg()
  » ereg_replace()
  » urlencode()
  » readgzfile()

Become a sponsor for $15/month. Link is sitewide - PR5 homepage, 20+ PR4 pages, 90+ PR3 pages. Email dave[AT]icemelon[D0T]c0m.

PHP Functions

Function: dio_fcntl

(PHP 4 >= 4.2.0, PECL)

dio_fcntl -- Performs a c library fcntl on fd

Description

mixed dio_fcntl ( resource fd, int cmd [, mixed args] )

The dio_fcntl() function performs the operation specified by cmd on the file descriptor fd . Some commands require additional arguments args to be supplied.

Note: This function is not implemented on Windows platforms.

Parameters

fd

The file descriptor returned by dio_open() .

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.

args

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)

Return Values

Returns the result of the C call.

Examples

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);
?>

Related Function(s)

  • dio_open()
  • Icemelon -- PHP, CSS, Javascript Tutorials, & More!
      © 2005-2010 Icemelon.com   Email: dave[AT]icemelon[D0T]c0m