Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MKNOD(2)		      System Calls Manual		      MKNOD(2)

NAME
       mknod --	make a special file node

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<unistd.h>

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

DESCRIPTION
       The file	system node path is created with the file type and access per-
       missions	specified in mode.  The	access permissions are modified	by the
       process's umask value.

       If  mode	indicates a block or character special file, dev is a configu-
       ration dependent	specification denoting a particular device on the sys-
       tem.  Otherwise,	dev is ignored.

       The mknod() system call requires	super-user privileges.

RETURN VALUES
       The mknod() function returns the	value 0	if successful;	otherwise  the
       value  -1  is returned and the global variable errno is set to indicate
       the error.

ERRORS
       The mknod() system call 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  255  characters,
			  or an	entire path name exceeded 1023 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	trans-
			  lating the pathname.

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

       [EIO]		  An I/O error occurred	while making the directory en-
			  try 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	direc-
			  tory.

       [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]		  The path argument points outside the process's allo-
			  cated	address	space.

       [EINVAL]		  Creating anything else than  a  block	 or  character
			  special file (or a whiteout) is not supported.

SEE ALSO
       chmod(2), mkfifo(2), stat(2), umask(2)

HISTORY
       The mknod() function appeared in	Version	6 AT&T UNIX.

FreeBSD	5.2.1			 June 4, 1993			      MKNOD(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mknod&sektion=2&manpath=FreeBSD+5.2.1-RELEASE>

home | help