Provided by: manpages-nl_20051127-1_all bug

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

       MAP_FIXED  {kaart  vast}  Kies  geen   verschillend   adres   dan   het
                  opgegevene.   Als  het  opgegeven  adres  niet  gebruikt kan
                  worden zal mmap falen. Als MAP_FIXED  wordt  opgegeven  moet
                  start  een  meervoud  van de paginagrootte zijn. Gebruik van
                  deze keuze wordt ontmoedigd.

       MAP_SHARED {kaart  gedeeld}  Deel  deze  uit-legging  met  alle  andere
                  processen die dit voorwerp uit-leggen.

       MAP_PRIVATE
                  {kaart  persoonlijk}  Maak  een persoonlijke kopieëring-bij-
                  schrijven {"copy-on-write"} uit-legging.

       Je moet precies één van MAP_SHARED of MAP_PRIVATE opgeven.

       De bovenstaande drie vlaggen  worden  beschreven  in  POSIX.1b  (eerder
       POSIX.4).    Linux  kent  ook  MAP_DENYWRITE  {kaart  weiger  schrijf},
       MAP_EXECUTABLE {kaart uitvoerbare} en MAP_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
              MAP_ANONYMOUS was niet gezet).

       EACCES {toegang} MAP_PRIVATE {kaart persoonlijk} werd gevraagd, maar bi
              is  niet  open  voor  lezen.  Of  MAP_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 grootte} grens.

       ETXTBUSY
              {text  bezig}  MAP_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

       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@nl.linux.org>.

       $Id: mmap.2,v 1.2 2005/01/31 09:44:37 wouter Exp $