POSIX_FADVISE(3)           POSIX Programmer's Manual          POSIX_FADVISE(3)



PPRROOLLOOGG
       This manual page is part of the POSIX Programmer's Manual.  The OS
       implementation of this interface may differ (consult the corresponding
       OS manual page for details of OS behavior), or the interface may not be
       implemented on OS.

NNAAMMEE
       posix_fadvise -- file advisory information (AADDVVAANNCCEEDD RREEAALLTTIIMMEE)

SSYYNNOOPPSSIISS
       #include <fcntl.h>

       int posix_fadvise(int _f_d, off_t _o_f_f_s_e_t, off_t _l_e_n, int _a_d_v_i_c_e);

DDEESSCCRRIIPPTTIIOONN
       The _p_o_s_i_x___f_a_d_v_i_s_e() function shall advise the implementation on the
       expected behavior of the application with respect to the data in the
       file associated with the open file descriptor, _f_d, starting at _o_f_f_s_e_t
       and continuing for _l_e_n bytes. The specified range need not currently
       exist in the file. If _l_e_n is zero, all data following _o_f_f_s_e_t is
       specified. The implementation may use this information to optimize
       handling of the specified data. The _p_o_s_i_x___f_a_d_v_i_s_e() function shall have
       no effect on the semantics of other operations on the specified data,
       although it may affect the performance of other operations.

       The advice to be applied to the data is specified by the _a_d_v_i_c_e
       parameter and may be one of the following values:

       POSIX_FADV_NORMAL
             Specifies that the application has no advice to give on its
             behavior with respect to the specified data. It is the default
             characteristic if no advice is given for an open file.

       POSIX_FADV_SEQUENTIAL
             Specifies that the application expects to access the specified
             data sequentially from lower offsets to higher offsets.

       POSIX_FADV_RANDOM
             Specifies that the application expects to access the specified
             data in a random order.

       POSIX_FADV_WILLNEED
             Specifies that the application expects to access the specified
             data in the near future.

       POSIX_FADV_DONTNEED
             Specifies that the application expects that it will not access
             the specified data in the near future.

       POSIX_FADV_NOREUSE
             Specifies that the application expects to access the specified
             data once and then not reuse it thereafter.

       These values are defined in _<_f_c_n_t_l_._h_>.

RREETTUURRNN VVAALLUUEE
       Upon successful completion, _p_o_s_i_x___f_a_d_v_i_s_e() shall return zero;
       otherwise, an error number shall be returned to indicate the error.

EERRRROORRSS
       The _p_o_s_i_x___f_a_d_v_i_s_e() function shall fail if:

       EEBBAADDFF  The _f_d argument is not a valid file descriptor.

       EEIINNVVAALL The value of _a_d_v_i_c_e is invalid, or the value of _l_e_n is less than
              zero.

       EESSPPIIPPEE The _f_d argument is associated with a pipe or FIFO.

       _T_h_e _f_o_l_l_o_w_i_n_g _s_e_c_t_i_o_n_s _a_r_e _i_n_f_o_r_m_a_t_i_v_e_.

EEXXAAMMPPLLEESS
       None.

AAPPPPLLIICCAATTIIOONN UUSSAAGGEE
       The _p_o_s_i_x___f_a_d_v_i_s_e() function is part of the Advisory Information option
       and need not be provided on all implementations.

RRAATTIIOONNAALLEE
       None.

FFUUTTUURREE DDIIRREECCTTIIOONNSS
       None.

SSEEEE AALLSSOO
       _p_o_s_i_x___m_a_d_v_i_s_e()

       The Base Definitions volume of POSIX.1-2017, <<ffccnnttll..hh>>

CCOOPPYYRRIIGGHHTT
       Portions of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1-2017, Standard for Information Technology --
       Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 7, 2018 Edition, Copyright (C) 2018 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 .

       Any typographical or formatting errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files to man page format. To report such errors, see
       https://www.kernel.org/doc/man-pages/reporting_bugs.html .



IEEE/The Open Group                  2017                     POSIX_FADVISE(3)
