mkfifo

명칭
     mkfifo — fifo 파일을 작성한다

프로그램 라이브러리
     Standard C Library (libc, -lc)

서식
     <sys/types.h> <sys/stat.h> int mkfifo(const char *path, mode_t mode)

해설
     mkfifo() (은)는, path (이)라는 이름의 새로운 fifo 파일을 작성합니다. 액세스 허가는 mode 에 의해 지정되어 호출
     프로세스의 umask(2) 의 제약을 받습니다.

     fifo 의 소유자 ID 는, 프로세스의 실효 유저 ID 로 설정됩니다.  fifo 의 그룹 ID 는, 그것이 작성되는 친디렉토리의
     ID 로 설정됩니다.

반환값
     The mkfifo() function returns the value 0 if successful; otherwise the
     value -1 is returned and the global variable errno is set to indicate the
     error.

에러
     mkfifo() (은)는, 다음의 경우에 처리를 실패해, fifo 는 작성되지 않습니다.

     [ENOTSUP]          커널이 fifo 를 서포트하도록(듯이) 구성되어 있지 않습니다.

     [ENOTDIR]          패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.

     [ENAMETOOLONG]     패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1023 캐릭터를 넘고
                        있습니다.

     [ENOENT]           패스의 원가요소가 존재하지 않습니다.

     [EACCES]           지정된 패스에는, 검색이 허가되어 있지 않은 디렉토리가 포함되어 있습니다.

     [ELOOP]            패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.

     [EROFS]            지정된 파일은 읽기 전용 파일 시스템상에 있습니다.

     [EEXIST]           지정의 파일이 벌써 존재합니다.

     [ENOSPC]           새로운 fifo 용의 엔트리를 배치하는 디렉토리를 확장할 수 없습니다.  디렉토리가 들어가 있는 파일
                        시스템에 빈 용량이 남아 있지 않습니다.

     [ENOSPC]           fifo 를 작성하는 파일 시스템상에 미사용의 inode 가 없습니다.

     [EDQUOT]           새로운 fifo 용의 엔트리를 배치하는 디렉토리를 확장할 수 없습니다.  디렉토리가 들어가 있는 파일
                        시스템상의 디스크 블록의 유저의 쿼터가 고갈했습니다.

     [EDQUOT]           fifo 를 작성중의 파일 시스템상의 유저의 inode 의 쿼터가 고갈했습니다.

     [EIO]              디렉토리 엔트리의 작성중, 혹은 inode 를 할당중에 I/O (입출력) 에러가 발생했습니다.

     [EIO]              파일 시스템에 읽고 쓰기하고 있는 동안에 I/O (입출력) 에러가 발생했습니다.

     [EFAULT]           path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

관련 항목
     chmod(2), mknod(2), stat(2), umask(2)

표준
     mkfifo() 함수는 ISO/IEC 9945-1:1990 (“POSIX.1”) 에 준거하고 있습니다.