Manpages

NAAM

mknod − maak een directorie, een speciaal- of een normaal bestand.

OVERZICHT

#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 );

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 toestemmingen die zullen worden gebruikt, en het soort node dat gemaakt zal worden.

Dat hoort een samenvoeging (met bitsgewijs OF (incl.)) van een van de bestand soorten onder genoemd, en de toestemmingen voor de nieuwe node, te zijn.

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{*normaal}, S_IFCHR{*letter}, S_IFBLK{*blok} en S_IFIFO moeten zijn om: een normaal bestand te omschrijven (dat leeg opgeleverd wordt), een karakter speciaal bestand, een blok speciaal bestand, of een FIFO (pijp met naam), respectievelijk, of nul, wat een normaal bestand maakt.

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.

De nieuw gemaakte node zal eigendom zijn van het geldige uid van het proces. Als de directorie waar de node in zit het groep id-bit aan heeft staan of als het bestandsysteem mount is met BSD groep regels, dan zal de nieuwe node het groep eigendom van zijn ouder-directorie erven; anders zal het eigendom zijn van het geldende gid van het proces.

TERUGGEEF WAARDE

mknod geeft nul terug bij slagen, of -1 als een fout optrad (en welk geval errno naar behoren wordt gezet).

FOUTEN

EPERM

{toestemming} toestand vroeg om het maken van iets anders dan een FIFO (pijp met naam), en de aanroeper is niet de supergebruiker; wordt ook teruggegeven als het bestandsysteem waar padnaam op zit, het soort node niet ondersteund.

EINVAL

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

EEXIST

{bestaat} padnaam bestaat al.

EFAULT

{fout} padnaam wijst buiten door u toegankelijke adres ruimte.

EACCES

{toegang} De ouder-directorie status schrijf toestemming niet toe aan het proces, of een van de directories in padnaam liet zoek (uitvoer) toestemming niet toe.

ENAMETOOLONG

{naam te lang} padnaam was te lang.

ENOENT

{geen ingang} Een directorie deel van padnaam bestaat niet of is een loshangende symbolische koppeling.

ENOTDIR

{geen dir} Een deel gebruikt als dir in padnaam is in feite geen dir.

ENOMEM

{geen geheugen} Onvoldoende besturingssysteem geheugen voorhanden.

EROFS

{alleen-lezen b.s.} padnaam wijst naar een bestand op een alleen-lezen bestandsysteem.

ELOOP

{cirkel} Teveel symbolische koppelingen werden tegengekomen bij het "oplossen" van padnaam.

ENOSPC

{geen ruimte} Het apparaat waar padnaam op zit heeft geen ruimte voor een nieuwe node.

VOLDOET AAN

SVr4 (maar de aanroep vereist privilege en is daardoor niet in POSIX), 4.4BSD. De Linux versie verschilt van de SVr4 versie in dat het niet nodig is om "root" {-} toestemming te hebben om pijpen te maken, en ook in dat de EMULTIHOP, ENOLINK, en EINTR fout beschreven is.

BUGS

De mknod aanroep kan niet gebruikt worden om directories of socket (eng: sockets) bestanden te maken, en kan niet worden gebruikt om normale bestanden te maken door gebruikers anders dan de supergebruiker.

Er zijn vele ongelukkigheden in het protocol waar NFS op stoelt. Sommige hiervan beïnvloeden mknod nadelig.

ZIE

read(2) {lees}, write(2) {schrijf}, fcntl(2) {manipuleer bi}, close(2){sluit}, unlink(2) {maak-los}, open(2) {openen}, mkdir(2) {maak dir}, stat(2) {staat}, umask(2){gebruikersstempel}, mount(2) {mount}, socket(2), fopen(3) {openen}.

VERTALING

Dit is een handleiding uit manpages-dev 1.29. Alles wat tussen ’{’..’}’ staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Email naar <manpages-nl [AT] nl.org>.

$Id: mknod.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $