Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mknod(2) — Amiga System V Release 4 Version 2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

exec(2)

umask(2)

mkdev(3C)

mkfifo(3C)

stat(5)

fs(4)

mkdir(1)

creatsem(2)

sdget(2)



mknod(2)                  SYSTEM CALLS                   mknod(2)



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

SYNOPSIS
     #include <sys/types.h>
     #include <osfcn.h>
     #include <sys/stat.h>

     int mknod (const char *path, modet mode, devt dev);

DESCRIPTION
     mknod creates a new file named by the path name  pointed  to
     by  path.  The file type and permissions of the new file are
     initialized from mode.

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

        SIFIFO   fifo special
        SIFCHR   character special
        SIFDIR   directory
        SIFBLK   block special
        SIFREG   ordinary file
        SIFNAM   name special file

     The file access permissions are specified  in  mode  by  the
     0007777 bits, and may be constructed by an OR of the follow-
     ing values:
SISUID   04000   Set user ID on execution.
SISGID   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
SISVTX   01000   Save text image  after execution.
SIRUSR   00400   Read by owner.
SIWUSR   00200   Write by owner.
SIXUSR   00100   Execute (search if a directory) by owner.
SIRWXG   00070   Read, write, execute by group.
SIRGRP   00040   Read by group.
SIWGRP   00020   Write by group.
SIXGRP   00010   Execute by group.
SIRWXO   00007   Read, write, execute  (search) by others.
SIROTH   00004   Read by others.
SIWOTH   00002   Write by others
SIXOTH   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 effec-
     tive group ID of the process.  However, if the  SISGID  bit
     is  set  in  the  parent directory, 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 SISGID bit is cleared.




            Last change: XENIX Compatibility Package            1





mknod(2)                  SYSTEM CALLS                   mknod(2)



     Values of mode other than  those  above  are  undefined  and
     should  not be used.  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)].  For block and character special files,  dev
     is  the  special  file's  device  number.   For name special
     files, dev is the file type of the name file, either a XENIX
     shared  data  file  or a XENIX semaphore.  Otherwise, dev is
     ignored.  See mkdev(3C).

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

     mknod fails and creates no new file if one or  more  of  the
     following are true:

     EEXIST              The named file exists.

     EINVAL              Invalid arg value.

     EFAULT              path  points   outside   the   allocated
                         address space of the process.

     ELOOP               Too many symbolic links were encountered
                         in translating path.

     EMULTIHOP           Components of path  require  hopping  to
                         multiple remote machines.

     ENAMETOOLONG        The length of the path argument  exceeds
                         {PATHMAX}, or the length of a path com-
                         ponent    exceeds    {NAMEMAX}    while
                         (_POSIXNOTRUNC) is in effect.

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

     ENOENT              A component of the path prefix does  not
                         exist or is a null pathname.

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

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

     ENOSPC              No space is available.

     EINTR               A signal was  caught  during  the  mknod
                         system call.




            Last change: XENIX Compatibility Package            2





mknod(2)                  SYSTEM CALLS                   mknod(2)



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

SEE ALSO
     chmod(2), exec(2), umask(2), mkdev(3C), mkfifo(3C), stat(5).
     fs(4) in the System Administrator's Reference Manual.
     mkdir(1) in the User's Reference Manual.
     creatsem(2), sdget(2) in the BSD/XENIX Compatibility Guide.

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.

NOTES
     If mknod creates a device in a remote directory using Remote
     File  Sharing, the major and minor device numbers are inter-
     preted by the server.

     Semaphore files should be created with the  creatsem  system
     call.   Shared  data  files should be created with the sdget
     system call.
































            Last change: XENIX Compatibility Package            3



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