.\" Hey Emacs! This file is -*- nroff -*- source. .\" .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Modified Fri Jan 31 16:38:25 1997 by Eric S. Raymond .\" .\" Modified Wed Jan 01 01:44:23 1997 by Martin Schulze (joey@linux.de) .\" .TH MDIRECTORIE 2 "12 April 1996" "Linux 1.3.86" "Linux Programmeurs Handleiding" .SH NAAM mmap, munmap \- leg-uit of de-leg-uit bestanden of aparaten in het werkgeheugen .SH OVERZICHT .B #include .br .B #include .sp .BI "caddr_t mmap(void *" start ", size_t " lengte ", int " prot .BI ", int " vlaggen ", int " bi ", off_t " positie ); .sp .BI "int munmap(void *" start ", size_t " lengte ); .SH BESCHRIJVING De .B mmap functie vraagt om .I lengte bytes uit te leggen vanaf .I positie in het bestand (of ander object) opgegeven door .I bi in het werkgeheugen, bij voorkeur op adres .IR start . Dit laatste adres is alleen een wenk en wordt gewoonlijk opgegeven als 0. De daadwerkelijke plaats waar het object uit gelegd wordt, wordt teruggegeven door .BR mmap . Het .I prot argument beschrijft de verlangde geheugen bescherming. Het heeft de bits .TP 1.1i .B PROT_EXEC {bescherm voer-uit} Pagina's mogen uitgevoerd worden. .TP .B PROT_READ {bescherm lees} Pagina's mogen gelezen worden. .TP .B PROT_WRITE {bescherm schrijf} Pagina's mogen geschreven worden. .TP .B PROT_NONE {bescherm niks} Pagina's zijn niet toegankelijk. .LP De .I vlaggen grootheid geeft het soort uit-gelegd voorwerp, uit-leg keuzes en of gemaakte aanpassingen op de geïnterpreteerde kopieerde pagina persoonlijk voor het proces zijn of dat ze gedeeld worden met andere verwijzingen. Het heeft bits .TP 1.1i .B DIRECTORIE_FIXED {kaart vast} Kies geen verschillend adres dan het opgegevene. Als het opgegeven adres niet gebruikt kan worden zal .B mmap falen. Als DIRECTORIE_FIXED wordt opgegeven moet .I start een meervoud van de paginagrootte zijn. Gebruik van deze keuze wordt ontmoedigd. .TP .B DIRECTORIE_SHARED {kaart gedeeld} Deel deze uit-legging met alle andere processen die dit voorwerp uit-leggen. .TP .B DIRECTORIE_PRIVATE {kaart persoonlijk} Maak een persoonlijke kopieëring-bij-schrijven {"copy-on-write"} uit-legging. .LP Je moet precies één van DIRECTORIE_SHARED of DIRECTORIE_PRIVATE opgeven. .LP De bovenstaande drie vlaggen worden beschreven in POSIX.1b (eerder POSIX.4). Linux kent ook DIRECTORIE_DENYWRITE {kaart weiger schrijf}, DIRECTORIE_EXECUTABLE {kaart uitvoerbare} en DIRECTORIE_ANON(YMOUS) {kaart anoniem} De .B mmap {geheugen de-uit-leg} systeem aanroep schrapt de uitleggingen voor het opgegeven adres interval, en veroorzaakt dat verdere verwijzingen naar adressen binnen het interval een ongeldige geheugen verwijzing geven. .SH "TERUGGEEF WAARDE" Bij success geeft .B mmap een pointer naar een uit-gelegd gebied. Bij falen wordt \-1 teruggegeven en .I errno wordt naar behoren gezet. Bij success geeft .B mmap 0 terug, bij falen \-1 en .I errno wordt gezet (waarschijnlijk naar EINVAL). .SH FOUTEN .TP .B EBADF {slechte bi} .I bi is geen geldige bestandindicator (en DIRECTORIE_ANONYMOUS was niet gezet). .TP .B EACCES {toegang} DIRECTORIE_PRIVATE {kaart persoonlijk} werd gevraagd, maar .I bi is niet open voor lezen. Of DIRECTORIE_SHARED werd gevraagd en PROT_WRITE is gezet, .I bi is niet open voor schrijven. .TP .B EINVAL {ongeldig} We houden niet van .I start of .I lengte of .IR positie . (o.a., ze zijn te groot of niet opgelijnd met een PAGESIZE {pagina grens} grens. .TP .B ETXTBUSY {text bezig} DIRECTORIE_DENYWRITE {kaart weiger schrijf} werd gezet maar het voorwerp opgegeven door .I bi is open voor schrijven. .TP .B EAGAIN {opnieuw} Het bestand was vergrendelt of teveel geheugen was vergrendelt. .TP .B ENOMEM {geen geheugen} Geen geheugen is beschikbaar. .SH "VOLDOET AAN" SVr4, POSIX.1b (eerder POSIX.4), 4.4BSD. Svr4 beschrijft aanvullende fout codes ENXIO en ENODEV. .SH "ZIE OOK" .BR getpagesize "(2) {krijg pagina maat}," .BR msync "(2) {geheugen harmonizeer}," .BR shm_open "(2) {?}," B.O. Gallmeister, POSIX.4, O'Reilly, pag. 128-129 en 389-391. .\" Translated Sat Nov 18 09:35:48 CET 2000 Jos Boersema .\" .SH VERTALING Dit is een handleiding uit \fBmanpages-dev 1.29\fR. Alles wat tussen `\fB{\fR'..`\fB}\fR' staat is \fBaanvullende vertaling\fR, en hoort \fBniet\fR bij de originele handleiding. Email naar . .\"Vertaling Jos Boersema $Id: mmap.2,v 1.1 2003/04/28 18:43:34 bokkie Exp $