1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2.. c:namespace:: V4L 3 4.. _func-munmap: 5 6************* 7V4L2 munmap() 8************* 9 10Name 11==== 12 13v4l2-munmap - Unmap device memory 14 15Synopsis 16======== 17 18.. code-block:: c 19 20 #include <unistd.h> 21 #include <sys/mman.h> 22 23.. c:function:: int munmap( void *start, size_t length ) 24 25Arguments 26========= 27 28``start`` 29 Address of the mapped buffer as returned by the 30 :c:func:`mmap()` function. 31 32``length`` 33 Length of the mapped buffer. This must be the same value as given to 34 :c:func:`mmap()` and returned by the driver in the struct 35 :c:type:`v4l2_buffer` ``length`` field for the 36 single-planar API and in the struct 37 :c:type:`v4l2_plane` ``length`` field for the 38 multi-planar API. 39 40Description 41=========== 42 43Unmaps a previously with the :c:func:`mmap()` function mapped 44buffer and frees it, if possible. 45 46Return Value 47============ 48 49On success :c:func:`munmap()` returns 0, on failure -1 and the 50``errno`` variable is set appropriately: 51 52EINVAL 53 The ``start`` or ``length`` is incorrect, or no buffers have been 54 mapped yet. 55