Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ madvise(2) — Digital UNIX 4.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mmap(2)

madvise(2)  —  System Calls

NAME

madvise − Advise the system of the expected paging behavior of a process

SYNOPSIS

#include <sys/types.h> #include <sys/mman.h> int madvise (
caddr_t addr,
size_t len,
int behav );

PARAMETERS

addrSpecifies the address of the region to which the advice refers. 

lenSpecifies the length in bytes of the region specified by the addr parameter. 

behavSpecifies the behavior of the region.  The following values for the behav parameter are defined in the sys/mman.h header file:

MADV_NORMAL
No further special treatment

MADV_RANDOM
Expect random page references

MADV_SEQUENTIAL
Expect sequential references

MADV_WILLNEED
Will need these pages

MADV_DONTNEED
Do not need these pages The system will free any whole pages in the specified region. All modifications will be lost and any swapped out pages will be discarded.  Subsequent access to the region will result in a zero-fill-on-demand fault as though it is being accessed for the first time.  Reserved swap space is not affected by this call.

MADV_SPACEAVAIL
Ensure that resources are reserved

DESCRIPTION

The madvise() function permits a process to advise the system about its expected future behavior in referencing a mapped file or shared memory region. 

NOTES

Only a few values of the behav parameter values are operational on DIGITAL UNIX systems.  Non-operational values cause the system to always return success (zero). 

RETURN VALUES

Upon successful completion, the madvise() function returns zero.  Otherwise, -1 is returned and errno is set to indicate the error. 

ERRORS

If the madvise() function fails, errno may be set to one of the following values:

[EINVAL]The behav parameter is invalid. 

[ENOSPC]The behav parameter specifies MADV_SPACEAVAIL and resources cannot be reserved. 

RELATED INFORMATION

Functions: mmap(2)

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