Eio eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — 특수 또는 일반 파일 생성


설명

eio_mknod(
    string $path,
    int $mode,
    int $dev,
    int $pri = EIO_PRI_DEFAULT,
    callable $callback = NULL,
    mixed $data = NULL
): resource
                

eio_mknod()는 일반 또는 특수(종종) 파일을 생성합니다.

경고 이 함수는 현재 문서화되어 있지 않습니다. 인수 목록만 사용할 수 있습니다.


매개변수

path
새 노드(파일)의 경로입니다.
mode
사용할 권한과 생성할 노드 유형을 모두 지정합니다. 아래 나열된 파일 유형 중 하나와 새 노드(예: 0640)에 대한 권한의 조합(비트 OR 사용)이어야 합니다. 가능한 파일 유형은 EIO_S_IFREG(일반 파일), EIO_S_IFCHR(문자 파일), EIO_S_IFBLK(블록 특수 파일), EIO_S_IFIFO(FIFO - 명명된 파이프) 및 EIO_S_IFSOCK(UNIX 도메인 소켓)입니다. 권한을 지정하려면 EIO_S_I* 상수를 사용할 수 있습니다.
dev
파일 유형이 EIO_S_IFCHR 또는 EIO_S_IFBLK이면 dev는 새로 생성된 장치 특수 파일의 주 번호와 부 번호를 지정합니다. 그렇지 않으면 dev가 무시합니다. 자세한 내용은 mknod(2) 매뉴얼 페이지를 참조하십시오.
pri
요청 우선 순위: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX 또는 null. null이 전달되면 pri는 내부적으로 EIO_PRI_DEFAULT로 설정됩니다.
callback
요청이 완료되면 callback 함수가 호출됩니다. 다음 프로토타입과 일치해야 합니다.

void callback(mixed $data, int $result[, resource $req]);

data
요청에 전달된 사용자 지정 데이터입니다.
result
요청별 결과 값; 기본적으로 해당 시스템 호출에 의해 반환되는 값입니다.
req
eio_get_last_error()와 같은 함수와 함께 사용할 수 있는 선택적 요청 리소스입니다.
data
callback에 전달된 임의의 변수입니다.

반환 값

eio_mknod()는 성공하면 요청 리소스를 반환하고 실패하면 false를 반환합니다.


Examples

예제 #1 eio_mknod() 예제

                  
<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
    $s = stat($data);
    var_dump($s);

    if ($result == 0) {
        echo "eio_mknod_ok";
    }

    @unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
    EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok
                

기타