Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

exec(2)

umask(2)

fs.ffs(4)

mkdir(1)



MKNOD(2-SysV)       RISC/os Reference Manual        MKNOD(2-SysV)



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

SYNOPSIS
     int mknod (path, mode, dev)
     char *path;
     int mode, dev;

DESCRIPTION
     mknod creates a new file named by the path name pointed to
     by path.  The mode of the new file is initialized 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
               0120000 symbolic link

          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

     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.

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




                         Printed 1/15/91                   Page 1





MKNOD(2-SysV)       RISC/os Reference Manual        MKNOD(2-SysV)



ERRORS
     mknod will fail and the new file will not be created if one
     or more of the following are true:

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

     [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
                         system.

     [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
                         multiple remote machines.

SEE ALSO
     chmod(2), exec(2), umask(2), fs.ffs(4).
     mkdir(1) in the User'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 indicate
     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.








 Page 2                  Printed 1/15/91



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