> Linux Reviews > man >

mmap

mmap

, munmap leg-uit of de-leg-uit bestanden of aparaten in het werkgeheugen


  1. mmap.2.man


1. mmap.2.man

Manpage of MDIRECTORIE

MDIRECTORIE

Section: Linux Programmeurs Handleiding (2)
Updated: 12 April 1996
Index Return to Main Contents
 

NAAM

mmap, munmap - leg-uit of de-leg-uit bestanden of aparaten in het werkgeheugen  

OVERZICHT

#include <unistd.h>
#include <sys/mman.h>

caddr_t mmap(void *start, size_t lengte, int prot , int vlaggen, int bi, off_t positie);

int munmap(void *start, size_t lengte);  

BESCHRIJVING

De mmap functie vraagt om lengte bytes uit te leggen vanaf positie in het bestand (of ander object) opgegeven door bi in het werkgeheugen, bij voorkeur op adres 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 mmap. Het prot argument beschrijft de verlangde geheugen bescherming. Het heeft de bits
PROT_EXEC
{bescherm voer-uit} Pagina's mogen uitgevoerd worden.
PROT_READ
{bescherm lees} Pagina's mogen gelezen worden.
PROT_WRITE
{bescherm schrijf} Pagina's mogen geschreven worden.
PROT_NONE
{bescherm niks} Pagina's zijn niet toegankelijk.

De 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

DIRECTORIE_FIXED
{kaart vast} Kies geen verschillend adres dan het opgegevene. Als het opgegeven adres niet gebruikt kan worden zal mmap falen. Als DIRECTORIE_FIXED wordt opgegeven moet start een meervoud van de paginagrootte zijn. Gebruik van deze keuze wordt ontmoedigd.
DIRECTORIE_SHARED
{kaart gedeeld} Deel deze uit-legging met alle andere processen die dit voorwerp uit-leggen.
DIRECTORIE_PRIVATE
{kaart persoonlijk} Maak een persoonlijke kopieëring-bij-schrijven {"copy-on-write"} uit-legging.

Je moet precies één van DIRECTORIE_SHARED of DIRECTORIE_PRIVATE opgeven.

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 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.

 

TERUGGEEF WAARDE

Bij success geeft mmap een pointer naar een uit-gelegd gebied. Bij falen wordt -1 teruggegeven en errno wordt naar behoren gezet. Bij success geeft mmap 0 terug, bij falen -1 en errno wordt gezet (waarschijnlijk naar EINVAL).  

FOUTEN

EBADF
{slechte bi} bi is geen geldige bestandindicator (en DIRECTORIE_ANONYMOUS was niet gezet).
EACCES
{toegang} DIRECTORIE_PRIVATE {kaart persoonlijk} werd gevraagd, maar bi is niet open voor lezen. Of DIRECTORIE_SHARED werd gevraagd en PROT_WRITE is gezet, bi is niet open voor schrijven.
EINVAL
{ongeldig} We houden niet van start of lengte of positie. (o.a., ze zijn te groot of niet opgelijnd met een PAGESIZE {pagina grens} grens.
ETXTBUSY
{text bezig} DIRECTORIE_DENYWRITE {kaart weiger schrijf} werd gezet maar het voorwerp opgegeven door bi is open voor schrijven.
EAGAIN
{opnieuw} Het bestand was vergrendelt of teveel geheugen was vergrendelt.
ENOMEM
{geen geheugen} Geen geheugen is beschikbaar.
 

VOLDOET AAN

SVr4, POSIX.1b (eerder POSIX.4), 4.4BSD. Svr4 beschrijft aanvullende fout codes ENXIO en ENODEV.  

ZIE OOK

getpagesize(2) {krijg pagina maat}, msync(2) {geheugen harmonizeer}, shm_open(2) {?}, B.O. Gallmeister, POSIX.4, O'Reilly, pag. 128-129 en 389-391.

 

VERTALING

Alles wat tussen `{'..`}' staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Deze handleiding uit manpages-dev 1.29 werd vertaald door JHBoersema. Email naar <manpages-nl@nl.linux.org>.

$Id: mmap.2,v 1.3 2001/12/21 15:31:47 joostvb Exp $


 

Index

NAAM
OVERZICHT
BESCHRIJVING
TERUGGEEF WAARDE
FOUTEN
VOLDOET AAN
ZIE OOK
VERTALING

This document was created by man2html using the manual pages.
Time: 23:25:39 GMT, July 09, 2008

NORSK BOKMÅL - NORSK BOKMÅL - NORSK BOKMÅL - pl