*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> mknod (2)              
Title
Content
Arch
Section
 

MKNOD(2)

Contents


NAME    [Toc]    [Back]

     mknod - make a special file node

SYNOPSIS    [Toc]    [Back]

     #include <sys/stat.h>

     int
     mknod(const char *path, mode_t mode, dev_t dev);

DESCRIPTION    [Toc]    [Back]

     The device special file path is created with the  major  and
minor device
     numbers extracted from mode.  The access permissions of path
are descendant
 from the umask(2) of the parent process.

     If mode indicates a block or character special file, dev  is
a configuration
 dependent specification of a character or block I/O device and the
     superblock of the device.  If mode does not indicate a block
special or
     character special device, dev is ignored.

     mknod() requires superuser privileges.

RETURN VALUES    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

     mknod() will fail and the file will be not created if:

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

     [ENAMETOOLONG]
                   A  component of a pathname exceeded {NAME_MAX}
characters,
                   or an entire  path  name  exceeded  {PATH_MAX}
characters.

     [ENOENT]      A component of the path prefix does not exist.

     [EACCES]      Search permission is denied for a component of
the path
                   prefix.

     [ELOOP]        Too  many  symbolic links were encountered in
translating the
                   pathname.

     [EPERM]       The process's effective user ID is  not  superuser.

     [EIO]          An I/O error occurred while making the directory entry or
                   allocating the inode.

     [ENOSPC]      The directory in which the entry for  the  new
node is being
                   placed  cannot be extended because there is no
space left on
                   the file system containing the directory.

     [ENOSPC]      There are no free inodes on the file system on
which the
                   node is being created.

     [EDQUOT]       The  directory in which the entry for the new
node is being
                   placed cannot be extended because  the  user's
quota of disk
                   blocks  on  the file system containing the directory has been
                   exhausted.

     [EDQUOT]      The user's quota of inodes on the file  system
on which the
                   node is being created has been exhausted.

     [EROFS]        The  named  file  resides on a read-only file
system.

     [EEXIST]      The named file exists.

     [EFAULT]      path points outside  the  process's  allocated
address space.

     [EINVAL]       The  process  is  running within an alternate
root directory,
                   as created by chroot(2).

SEE ALSO    [Toc]    [Back]

      
      
     chmod(2), chroot(2), stat(2), umask(2)

HISTORY    [Toc]    [Back]

     A mknod() function call appeared in Version 6 AT&T UNIX.

OpenBSD      3.6                           June      4,      1993
[ Back ]
 Similar pages
Name OS Title
mkfifo IRIX make FIFO special file
mksf HP-UX make a special (device) file
mkfifo IRIX make a FIFO special file
mknod IRIX make a directory, or a special or ordinary file
mknod HP-UX make directory, special, or ordinary file
mkfifo Linux make a FIFO special file (a named pipe)
mknod Linux make block or character special files
mkfifo HP-UX make FIFO (named pipe) special files
getfh HP-UX return file handle for file on remote node
lssf HP-UX list a special file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service