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