Provided by: manpages-nl-dev_4.21.0-2_all bug

NAAM

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

BIBLIOTHEEK

       Standard C bibliotheek  (libc, -lc)

SAMENVATTING

       #include <sys/stat.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);

   Feature Test Macro´s eisen 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:  bij
       afwezigheid  van  de  standaard  ACL  worden  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 wordt 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).)

       EBADF  (mknodat())  pathname  is  relatief  maar  mapbi  is noch AT_FDCWD noch een geldige
              bestandsindicator.

       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.

       ENOTDIR
              (mknodat())  padnaam  is  relatief  en  mapbi is een bestandsindicator die naar een
              bestand wijst dat geen map is.

       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.

VERSIES

       mknodat()  werd toegevoegd aan Linux 2.6.16; bibliotheek ondersteuning werd toegevoegd aan
       glibc 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)

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.