mknod man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

mknod(2)			 System Calls			      mknod(2)

NAME
       mknod - make a directory, a special file, or a regular file

SYNOPSIS
       #include <sys/stat.h>

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

DESCRIPTION
       The  mknod() function creates a new file named by the path name pointed
       to by path. The file type and permissions of the new file are  initial‐
       ized from mode.

       The  file  type	is specified in mode by the S_IFMT bits, which must be
       set to one of the following values:

       S_IFIFO	  fifo special

       S_IFCHR	  character special

       S_IFDIR	  directory

       S_IFBLK	  block special

       S_IFREG	  ordinary file

       The file access permissions are specified in mode by the 0007777	 bits,
       and  may be constructed by a bitwise OR operation of the following val‐
       ues:

       S_ISUID	     04000	 Set user ID on execution.
       S_ISGID	     020#0	 Set group ID on execution if # is 7,  5,
				 3,  or	 1.  Enable mandatory file/record
				 locking if # is 6, 4, 2, or 0
       S_ISVTX	     01000	 On  directories,   restricted	 deletion
				 flag;	on  regular  files  on a UFS file
				 system, do not cache flag.
       S_IRWXU	     00700	 Read, write, execute by owner.
       S_IRUSR	     00400	 Read by owner.
       S_IWUSR	     00200	 Write by owner.
       S_IXUSR	     00100	 Execute  (search  if  a  directory)   by
				 owner.
       S_IRWXG	     00070	 Read, write, execute by group.
       S_IRGRP	     00040	 Read by group.
       S_IWGRP	     00020	 Write by group.
       S_IXGRP	     00010	 Execute by group.
       S_IRWXO	     00007	 Read, write, execute (search) by others.
       S_IROTH	     00004	 Read by others.
       S_IWOTH	     00002	 Write by others
       S_IXOTH	     00001	 Execute by others.

       The  owner  ID  of  the	file  is  set  to the effective user ID of the
       process. The group ID of the file is set to the effective group	ID  of
       the  process.   However, if the S_ISGID bit is set in the parent direc‐
       tory, then the group ID of the file is inherited from the  parent.   If
       the  group  ID of the new file does not match the effective group ID or
       one of the supplementary group IDs, the S_ISGID bit is cleared.

       The access permission bits of mode are modified by the  process's  file
       mode  creation  mask:  all bits set in the process's file mode creation
       mask are cleared (see umask(2)). If mode indicates a block or character
       special file, dev is a configuration-dependent specification of a char‐
       acter or block I/O device. If mode does not indicate a block special or
       character special device, dev is ignored. See makedev(3C).

       If path is a symbolic link, it is not followed.

RETURN VALUES
       Upon  successful	 completion,  mknod() returns 0. Otherwise, it returns
       −1, the new file is not created, and  errno  is	set  to	 indicate  the
       error.

ERRORS
       The mknod() function will fail if:

       EACCES	       A  component  of	 the path prefix denies search permis‐
		       sion, or write  permission  is  denied  on  the	parent
		       directory.

       EDQUOT	       The  directory where the new file entry is being placed
		       cannot be extended because the  user's  quota  of  disk
		       blocks  on  that file system has been exhausted, or the
		       user's quota of inodes on the  file  system  where  the
		       file is being created has been exhausted.

       EEXIST	       The named file exists.

       EFAULT	       The path argument points to an illegal address.

       EINTR	       A signal was caught during the execution of the mknod()
		       function.

       EINVAL	       An invalid argument exists.

       EIO	       An I/O error occurred while accessing the file system.

       ELOOP	       Too many symbolic links were encountered in translating
		       path.

       ENAMETOOLONG    The  length of the path argument exceeds {PATH_MAX}, or
		       the length of a path component exceeds {NAME_MAX} while
		       _POSIX_NO_TRUNC is in effect.

       ENOENT	       A  component  of the path prefix specified by path does
		       not name an existing directory  or  path	 is  an	 empty
		       string.

       ENOLINK	       The  path  argument  points to a remote machine and the
		       link to that machine is no longer active.

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

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

       EPERM	       Not all privileges are asserted in the effective set of
		       the calling process.

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

       The mknod() function may fail if:

       ENAMETOOLONG    Pathname resolution of  a  symbolic  link  produced  an
		       intermediate result whose length exceeds {PATH_MAX}.

USAGE
       Applications  should  use  the  mkdir(2) function to create a directory
       because appropriate permissions are not required	 and  because  mknod()
       might  not establish directory entries for the directory itself (.) and
       the parent directory (..). The mknod() function can be invoked only  by
       a  privileged  user  for	 file  types  other  than  FIFO	 special.  The
       mkfifo(3C) function should be used to create FIFOs.

       Doors are created using door_create(3C) and can be attached to the file
       system  using  fattach(3C).  Symbolic  links  can be created using sym‐
       link(2).	 An  endpoint  for  communication   can	  be   created	 using
       socket(3SOCKET).

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Async-Signal-Safe		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Standard		     │See standards(5).		   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       chmod(2),  creat(2),  exec(2),  mkdir(2), open(2), stat(2), symlink(2),
       umask(2),  door_create(3C),   fattach(3C),   makedev(3C),   mkfifo(3C),
       socket(3SOCKET),	 stat.h(3HEAD),	 attributes(5),	 privileges(5),	 stan‐
       dards(5)

SunOS 5.11			  19 Feb 2004			      mknod(2)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net