Provided by: manpages-nl-dev_4.13-4_all bug

NAAM

       mknod, mknodat - maak een map, een speciaal- of een normaal bestand

SAMENVATTING

       #include <sys/types.h>
       #include <sys/stat.h>
       #include <fcntl.h>
       #include <unistd.h>

       int mknod(const char *padnaam, mode_t toestand, dev_t app);

       #include <fcntl.h>           /* Definitie van AT_* constanten */
       #include <sys/stat.h>

       int mknodat(int map_bi, const char *padnaam, mode_t toestand, dev_t app);

   Test Macro´s in glibc (zie feature_test_macros(7)):

       mknod():
           _XOPEN_SOURCE >= 500
               || /* Sinds glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versies <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHRIJVING

       mknod()  probeert  een  bestandsysteem  node te maken (bestand, apparaat speciaal bestand of een benoemde
       pijp) met de naam padnaam, bepaald door toestand en app.

       toestand bepaald de bestandsmodus die zal worden gebruikt, en het soort node dat gemaakt zal worden.  Dat
       hoort  een  combinatie (met bit wijze OF) ) van een hieronder genoemde bestand soorten en nul of meer van
       de bestandsmodi zoals te lezen in inode(7).

       De toestemmingen worden aangepast door het umask van het proces op de bekende  manier:  de  toestemmingen
       van de gemaakte node worden (toestemmingen & ~umask).

       De  bestand soort zou een van S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO of S_IFSOCK moeten zijn, om: een normaal
       bestand te specificeren (dat leeg aangemaakt zal  worden),  een  speciaal  teken  bestand,  een  speciaal
       blok-bestand,  of een FIFO (pijp met naam), of UNIX domein socket, respectievelijk. (Het nul bestand type
       is equivalent aan S_IFREG.)

        Als het bestand soort S_IFCHR of S_IFBLK is, dan bepaald app de grote en de kleine nummers van het nieuw
       gemaakte apparaat speciale bestand; anders wordt het genegeerd.

       Als padnaam al bestaat, of als het een symbolische koppeling is, dan faalt deze  aanroep  met  de  EEXIST
       foutmelding.

       De  nieuw gemaakte node zal eigendom zijn van het effectieve gebruiker ID van het proces. Als de map waar
       de node in zit het set-group-id bit aan heeft staan of als het bestandssysteem gekoppeld is met BSD groep
       regels, dan zal de nieuwe node het groep eigendom van zijn ouder-mappen erven; anders  zal  het  eigendom
       zijn van het geldende groep ID van het proces.

   mknodat()
       De  mknodat() systeem aanroep werkt op exact dezelfde manier als mknod(), behalve voor de hier beschreven
       verschillen.

       Als de padnaam gegeven in padnaam relatief is, dan wordt deze geïnterpreteerd als  relatief  aan  de  map
       zoals  gerefereerd door de bestand beschrijving dirfd (liever dan relatief aan de huidige werkmap van het
       aanroepende proces, zoals gedaan wordt door mknod() bij een relatieve padnaam).

       Als padnaam relatief is en dirfd is de speciale waarde AT_FDCWD, dan wordt  padnaam  geïnterpreteerd  als
       relatief aan de huidige werkmap van het aanroepende proces (zoals mkdnod()).

       Als padnaam absoluut is, dan wordt mapbi genegeerd.

       Zie openat(2) voor een uitleg over de noodzaak van mknodat().

EIND WAARDE

       mknod()  en  mknodat()  geven  nul  terug  bij  slagen,  of  -1  als een fout optrad (in welk geval errno
       overeenkomstig gezet).

FOUTEN

       EACCES De ouder map staat schrijven naar het proces niet toe, of een van de mappen in het voorvoegsel van
              padnaam stond zoeken niet toe. (Zie ook path_resolution(7).)

       EDQUOT De gebruiker quota aan schijf blokken of inodes van het bestandssysteem is uitgeput.

       EEXIST padnaam bestaat al. Inclusief het geval waar padnaam een symbolische koppeling  is,  al  dan  niet
              bungelend.

       EFAULT padnaam wijst buiten de voor u toegankelijke adresruimte.

       EINVAL toestand vroeg om het maken van iets anders dan een normaal bestand, apparaat speciaal bestand, of
              FIFO.

       ELOOP  Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van padnaam.

       ENAMETOOLONG
              padnaam was te lang.

       ENOENT Een map deel van padnaam bestaat niet of is een loshangende symbolische koppeling.

       ENOMEM Onvoldoende kernelgeheugen voorhanden.

       ENOSPC Het apparaat dat padnaam bevat heeft geen ruimte voor een nieuwe node.

       ENOTDIR
              Een onderdeel gebruikt als map in padnaam is in feite geen map.

       EPERM  toestand  vroeg  om het aanmaken van iets anders dan een normaal bestand, FIFO (pijp met naam), of
              een UNIX domein socket, en de aanroeper is niet de gerechtigd; (Linux:  heeft  niet  de  CAP_MKNOD
              capaciteit);   wordt  ook  teruggegeven als het bestandssysteem waar padnaam op zit, het gevraagde
              type node niet ondersteund.

       EROFS  padnaam verwijst naar een bestand op een alleen-lezen bestandsysteem.

       De volgende additionele fouten kunnen optreden voor mknodat():

       EBADF  mapbi is geen geldige bestandsindicator.

       ENOTDIR
              padnaam is relatief en mapbi is een bestandsindicator die naar een bestand wijst die geen map is.

VERSIES

       mknodat() werd toegevoegd aan Linux in kernel 2.6.16; bibliotheek ondersteuning werd toegevoegd aan glibc
       in versie 2.4.

VOLDOET AAN

       mknod(): SVr4, 4.4BSD, POSIX.1-2001 (but see below), POSIX.1-2008.

       mknodat(): POSIX.1-2008.

OPMERKINGEN

       POSIX.1-2001 schrijft: "Het enige overdraagbare gebruikt van mknod()  is door een  FIFO-speciaal  bestand
       aan  te maken.  Als mode niet gelijk is aan S_IFIFO of dev is niet 0, dan is het gedrag van mknod()  niet
       gespecificeerd". Echter zou men tegenwoordig nooit mknod()  voor  dit  doel  moeten  gebruiken;  men  zou
       mkfifo(3) moeten gebruiken, een aanroep die speciaal voor dit doel bedoeld is.

       Onder  Linux, kan mknod() niet gebruikt worden om mappen aan te maken. Men zou mappen moeten aanmaken met
       mkdir(2).

       Er bestaan veel ongelukkigheden in het NFS protocol. Enkele van deze beïnvloeden mkdnod() en mknodat().

ZIE OOK

       mknod(1), chmod(2), chown(2), fcntl(2), mkdir(2),  mount(2),  socket(2),  stat(2),  umask(2),  unlink(2),
       makedev(3), mkfifo(3), acl(5), path_resolution(7)

COLOFON

       Deze  pagina  is  onderdeel  van  release  5.10 van het Linux man-pages-project. Een beschrijving van het
       project,  informatie  over  het  melden  van  bugs  en  de  nieuwste  versie  van  deze  pagina  zijn  op
       https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING

       De  Nederlandse  vertaling  van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario
       Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

       Deze vertaling is vrije documentatie; lees  de  GNU General Public License Version 3  of  later  over  de
       Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

       Indien  U  fouten  in  de  vertaling  van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-
       dutch@lists.debian.org.

Linux                                           13 augustus 2020                                        MKNOD(2)