Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mknod(2) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

exec(2)

umask(2)

fs(4)

mkdir(1)



          MKNOD(2)             INTERACTIVE UNIX System             MKNOD(2)



          NAME
               mknod - make a directory or a special or ordinary file or a
               FIFO

          SYNOPSIS
               #include <sys/types.h>
               #include <sys/stat.h>
               int mknod (path, mode, dev)
               char *path;
               int mode, dev;

          DESCRIPTION
               The mknod system call creates a new file named by the path
               name pointed to by path.  The mode of the new file is ini-
               tialized from mode.  Where the value of mode is interpreted
               as follows:

                    0170000  file type; one of the following:
                             0010000 fifo special
                             0020000 character special
                             0040000 directory
                             0060000 block special
                             0100000 or 0000000 ordinary file

                    0004000  set user ID on execution

                    00020#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

                    0001000  save text image after execution

                    0000777  access permissions; constructed from the fol-
                             lowing:
                             0000400 read by owner
                             0000200 write by owner
                             0000100 execute (search on directory) by owner
                             0000070 read, write, execute (search) by group
                             0000007 read, write, execute (search) by others

               Symbolic constants defining the value of the argument mode
               are in the <sys/stat.h> header file and should be used to
               construct mode.  The value of the argument mode should be
               the logical OR of the values of the desired permissions:

                    Name        Description

                    S_IFMT      file type; one of the following:

                    S_IFIFO     FIFO-special

                    S_IFCHR     character-special


          Rev. C Software Development Set                            Page 1





          MKNOD(2)             INTERACTIVE UNIX System             MKNOD(2)



                    S_IFDIR     directory node

                    S_IFBLK     block-special

                    S_IFREG     ordinary-file

                    S_ISUID     set user-ID on execution

                    S_ISGID     set group-ID on execution

                    S_ISVTX     (reserved)

                    S_ENFMT     record-locking enforced

                    S_IRUSR     read by owner

                    S_IWUSR     write by owner

                    S_IXUSR     execute (search) by owner

                    S_IRGRP     read by group

                    S_IWGRP     write by group

                    S_IXGRP     execute (search) by group

                    S_IROTH     read by others (i.e., anyone else)

                    S_IWOTH     write by others

                    S_IXOTH     execute (search) 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 effec-
               tive group ID of the process.

               Values of mode other than those above are undefined and
               should not be used.  The low-order 9 bits of mode are modi-
               fied 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
               character or block I/O device.  If mode does not indicate a
               block special or character special device, dev is ignored.

               The mknod routine may be invoked only by the super-user for
               file types other than FIFO special.

               The mknod routine will fail and the new file will not be
               created if one or more of the following is true:

               [EPERM]        The effective user ID of the process is not
                              super-user.


          Rev. C Software Development Set                            Page 2





          MKNOD(2)             INTERACTIVE UNIX System             MKNOD(2)



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

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

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

               [EEXIST]       The named file exists.

               [EFAULT]       Path points outside the allocated address
                              space of the process.

               [ENOSPC]       No space is available.

               [EINTR]        A signal was caught during the mknod system
                              call.

               [ENOLINK]      Path points to a remote machine and the link
                              to that machine is no longer active.

               [EMULTIHOP]    Components of path require hopping to multi-
                              ple remote machines.

          SEE ALSO
               chmod(2), exec(2), umask(2), fs(4).
               mkdir(1) in the INTERACTIVE UNIX System User's/System
               Administrator's Reference Manual.

          DIAGNOSTICS
               Upon successful completion a value of 0 is returned.  Other-
               wise, a value of -1 is returned, and errno is set to indi-
               cate the error.

          WARNING
               If mknod is used to create a device in a remote directory
               (Remote File Sharing), the major and minor device numbers
               are interpreted by the server.















          Rev. C Software Development Set                            Page 3



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