diff options
Diffstat (limited to 'man3p/posix_madvise.3p')
-rw-r--r-- | man3p/posix_madvise.3p | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/man3p/posix_madvise.3p b/man3p/posix_madvise.3p new file mode 100644 index 000000000..739bd851a --- /dev/null +++ b/man3p/posix_madvise.3p @@ -0,0 +1,125 @@ +.\" 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 . |