Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

mkdir(2)

open(2)

umask(2)

stat(2)

chmod(1)

mkdir(1)

mknod(2)  —  System Calls

OSF

NAME

mknod − Creates an FIFO or special file

LIBRARY

Standard C Library (libc.a)

SYNOPSIS

#include <sys/types.h>
#include <sys/stat.h> int mknod (
const char ∗path,
int mode,
dev_t device );

PARAMETERS

pathNames the new file.  If the final component of the path parameter names a symbolic link, the link will be traversed and pathname resolution will continue. 

modeSpecifies the file type, attributes, and access permissions. This parameter is constructed by logically ORing values described in the sys/mode.h header file. 

deviceDepends upon the configuration and is used only if the mode parameter specifies a block or character special file.  If the file you specify is a remote file, the value of the device parameter must be meaningful on the node where the file resides. 

DESCRIPTION

The mknod() function creates a special file or FIFO.  Using the mknod() function to create file types other than FIFO special requires superuser privilege. 

For the mknod() function to complete successfully, a process must have search permission and write permission in the parent directory of the path parameter. 

The new file has the following characteristics:

       •File type as specified by the mode parameter. 

       •Owner ID set to the process effective user ID. 

       •Group ID set to the group ID of its parent directory. 

       •Permission and attribute bits set according to the value of the mode parameter. All bits set in the process file mode creation mask are cleared.  See the umask() function. 

RETURN VALUES

Upon successful completion of the mknod() function a value of 0 (zero) is returned.  Otherwise, a value of -1 is returned and errno is set to indicate the error. 

ERRORS

If the mknod() function fails, the new file is not created and errno may be set to one of the following values:

[EACCES]A component of the path prefix denies search permission, or write permission is denied on the parent directory of the FIFO to be created. 

[EPERM]The mode parameter specifies a file type other than FIFO and the calling process does not have the sufficient privilege. 

[EEXIST]The named file exists. 

[EROFS]The directory in which the file is to be created is located on a read-only file system. 

[ENOSPC]The directory that would contain the new file cannot be extended or the file system is out of file allocation resources. 

[EDQUOT]The directory in which the entry for the new link is being placed cannot be extended because the user’s quota of disk blocks or inodes on the file system is exhausted. 

[ENAMETOOLONG]
The length of the path parameter exceeds PATH_MAX or a pathname component is longer than NAME_MAX. 

[ENOENT]A component of the path prefix does not exist or the path parameter points to an empty string. 

[ENOTDIR]A component of the path prefix is not a directory. 

RELATED INFORMATION

Functions: chmod(2), mkdir(2), open(2), umask(2), stat(2)

Commands: chmod(1), mkdir(1)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026