mirror of https://github.com/mkerrisk/man-pages
126 lines
3.8 KiB
Plaintext
126 lines
3.8 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "POSIX_MADVISE" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" posix_madvise
|
||
|
.SH NAME
|
||
|
posix_madvise \- memory advisory information and alignment control
|
||
|
(\fBADVANCED REALTIME\fP)
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <sys/mman.h>
|
||
|
.br
|
||
|
.sp
|
||
|
int posix_madvise(void *\fP\fIaddr\fP\fB, size_t\fP \fIlen\fP\fB,
|
||
|
int\fP \fIadvice\fP\fB); \fP
|
||
|
\fB
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
The \fIposix_madvise\fP() function need only be supported if either
|
||
|
the Memory Mapped Files or the Shared Memory Objects options
|
||
|
are supported.
|
||
|
.LP
|
||
|
The \fIposix_madvise\fP() function shall advise the implementation
|
||
|
on the expected behavior of the application with respect to
|
||
|
the data in the memory starting at address \fIaddr\fP, and continuing
|
||
|
for \fIlen\fP bytes. The implementation may use this
|
||
|
information to optimize handling of the specified data. The \fIposix_madvise\fP()
|
||
|
function shall have no effect on the semantics
|
||
|
of access to memory in the specified range, although it may affect
|
||
|
the performance of access.
|
||
|
.LP
|
||
|
The implementation may require that \fIaddr\fP be a multiple of the
|
||
|
page size, which is the value returned by \fIsysconf\fP() when the
|
||
|
name value _SC_PAGESIZE is used.
|
||
|
.LP
|
||
|
The advice to be applied to the memory range is specified by the \fIadvice\fP
|
||
|
parameter and may be one of the following
|
||
|
values:
|
||
|
.TP 7
|
||
|
POSIX_MADV_NORMAL
|
||
|
.sp
|
||
|
Specifies that the application has no advice to give on its behavior
|
||
|
with respect to the specified range. It is the default
|
||
|
characteristic if no advice is given for a range of memory.
|
||
|
.TP 7
|
||
|
POSIX_MADV_SEQUENTIAL
|
||
|
.sp
|
||
|
Specifies that the application expects to access the specified range
|
||
|
sequentially from lower addresses to higher addresses.
|
||
|
.TP 7
|
||
|
POSIX_MADV_RANDOM
|
||
|
.sp
|
||
|
Specifies that the application expects to access the specified range
|
||
|
in a random order.
|
||
|
.TP 7
|
||
|
POSIX_MADV_WILLNEED
|
||
|
.sp
|
||
|
Specifies that the application expects to access the specified range
|
||
|
in the near future.
|
||
|
.TP 7
|
||
|
POSIX_MADV_DONTNEED
|
||
|
.sp
|
||
|
Specifies that the application expects that it will not access the
|
||
|
specified range in the near future.
|
||
|
.sp
|
||
|
.LP
|
||
|
These values are defined in the \fI<sys/mman.h>\fP header.
|
||
|
.SH RETURN VALUE
|
||
|
.LP
|
||
|
Upon successful completion, \fIposix_madvise\fP() shall return zero;
|
||
|
otherwise, an error number shall be returned to indicate
|
||
|
the error.
|
||
|
.SH ERRORS
|
||
|
.LP
|
||
|
The \fIposix_madvise\fP() function shall fail if:
|
||
|
.TP 7
|
||
|
.B EINVAL
|
||
|
The value of \fIadvice\fP is invalid.
|
||
|
.TP 7
|
||
|
.B ENOMEM
|
||
|
Addresses in the range starting at \fIaddr\fP and continuing for \fIlen\fP
|
||
|
bytes are partly or completely outside the range
|
||
|
allowed for the address space of the calling process.
|
||
|
.sp
|
||
|
.LP
|
||
|
The \fIposix_madvise\fP() function may fail if:
|
||
|
.TP 7
|
||
|
.B EINVAL
|
||
|
The value of \fIaddr\fP is not a multiple of the value returned by
|
||
|
\fIsysconf\fP()
|
||
|
when the name value _SC_PAGESIZE is used.
|
||
|
.TP 7
|
||
|
.B EINVAL
|
||
|
The value of \fIlen\fP is zero.
|
||
|
.sp
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH EXAMPLES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
The \fIposix_madvise\fP() function is part of the Advisory Information
|
||
|
option and need not be provided on all
|
||
|
implementations.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fImmap\fP() , \fIposix_fadvise\fP() , \fIsysconf\fP() , the Base
|
||
|
Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<sys/mman.h>\fP
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|