18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci.. c:namespace:: V4L
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci.. _func-munmap:
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci*************
78c2ecf20Sopenharmony_ciV4L2 munmap()
88c2ecf20Sopenharmony_ci*************
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciName
118c2ecf20Sopenharmony_ci====
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_civ4l2-munmap - Unmap device memory
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciSynopsis
168c2ecf20Sopenharmony_ci========
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci.. code-block:: c
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci    #include <unistd.h>
218c2ecf20Sopenharmony_ci    #include <sys/mman.h>
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci.. c:function:: int munmap( void *start, size_t length )
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciArguments
268c2ecf20Sopenharmony_ci=========
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci``start``
298c2ecf20Sopenharmony_ci    Address of the mapped buffer as returned by the
308c2ecf20Sopenharmony_ci    :c:func:`mmap()` function.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci``length``
338c2ecf20Sopenharmony_ci    Length of the mapped buffer. This must be the same value as given to
348c2ecf20Sopenharmony_ci    :c:func:`mmap()` and returned by the driver in the struct
358c2ecf20Sopenharmony_ci    :c:type:`v4l2_buffer` ``length`` field for the
368c2ecf20Sopenharmony_ci    single-planar API and in the struct
378c2ecf20Sopenharmony_ci    :c:type:`v4l2_plane` ``length`` field for the
388c2ecf20Sopenharmony_ci    multi-planar API.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciDescription
418c2ecf20Sopenharmony_ci===========
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciUnmaps a previously with the :c:func:`mmap()` function mapped
448c2ecf20Sopenharmony_cibuffer and frees it, if possible.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciReturn Value
478c2ecf20Sopenharmony_ci============
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciOn success :c:func:`munmap()` returns 0, on failure -1 and the
508c2ecf20Sopenharmony_ci``errno`` variable is set appropriately:
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciEINVAL
538c2ecf20Sopenharmony_ci    The ``start`` or ``length`` is incorrect, or no buffers have been
548c2ecf20Sopenharmony_ci    mapped yet.
55