Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mprotect(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

memcntl(2)

mmap(2)

plock(2)

mlock(3C)

mlockall(3C)

sysconf(3C)

mman(5)

mprotect(2)                                                     mprotect(2)

NAME
     mprotect - amend protection of memory mapping

SYNOPSIS
     #include <sys/mman.h>

     int mprotect(void *addr, sizet len, int prot);

DESCRIPTION
     The function mprotect() changes the access protections on the mappings
     specified by the range [addr, addr + len) to be that specified by
     prot. Legitimate values for prot are the same as those permitted for
     mmap() and are defined in sys/mman.h as:

     PROTREAD      /* page can be read */
     PROTWRITE     /* page can be written */
     PROTEXEC      /* page can be executed */
     PROTNONE      /* page can not be accessed */

ERRORS
     The following error code descriptions are function-specific. You will
     find a general description in introprm2(2) or in errno(5).

     Under the following conditions, the function mprotect() fails and sets
     errno to:

     EACCES      if prot specifies a protection that harms the access per-
                 mission the process has to the underlying memory object.

     EAGAIN      if prot specifies PROTWRITE over a MAPPRIVATE mapping
                 and there are insufficient memory resources to reserve for
                 locking the private page.

     EINVAL      if addr is not a multiple of the page size as returned by
                 sysconf().

     EINVAL      if the argument len has a value less than or equal to 0.

     ENOMEM      if addresses in the range [addr, addr + len) are invalid
                 for the address space of a process, or specify one or more
                 pages which are not mapped.

     When mprotect() fails for reasons other than EINVAL, the protections
     on some of the pages in the range [addr, addr + len) may have been
     changed. If the error occurs on some page at addr2, then the protec-
     tions of all whole pages in the range [addr, addr2] will have been
     modified.

RESULT
     Upon successful completion the function mprotect() returns a value of
     0; otherwise, it returns a value of -1 and sets errno to indicate an
     error.



Page 1                       Reliant UNIX 5.44                Printed 11/98

mprotect(2)                                                     mprotect(2)

SEE ALSO
     memcntl(2), mmap(2), plock(2), mlock(3C), mlockall(3C), sysconf(3C),
     mman(5).



















































Page 2                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026