€•w–Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ5/translations/zh_CN/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/zh_TW/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/it_IT/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/ja_JP/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/ko_KR/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/pt_BR/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/sp_SP/userspace-api/media/v4l/func-mmap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/func-mmap.rst”h´KubhŒtarget”“”)�”}”(hŒ.. _func-mmap:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ func-mmap”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ V4L2 mmap()”h]”hŒ V4L2 mmap()”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´Kubh×)�”}”(hhh]”(hÜ)�”}”(hŒName”h]”hŒName”…”�”}”(hhîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhëh²hh³hÇh´K ubhŒ paragraph”“”)�”}”(hŒ #include ”h]”hŒ)#include #include ”…”�”}”hj'sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”Œc”Œhighlight_args”}”uh1j%h³hÇh´Khjh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”ŒV4L.mmap (C function)”Œ c.V4L.mmap”hNt”auh1j:hjh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒSvoid *mmap( void *start, size_t length, int prot, int flags, int fd, off_t offset )”h]”hŒdesc_signature_line”“”)�”}”(hŒQvoid *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j\hjXh²hh³hÇh´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jmhjXh²hh³hÇh´KubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j~hjXh²hh³hÇh´KubhŒ desc_name”“”)�”}”(hŒmmap”h]”hŒ desc_sig_name”“”)�”}”(hŒmmap”h]”hŒmmap”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j•hj‘ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j�hjXh²hh³hÇh´KubhŒdesc_parameterlist”“”)�”}”(hŒG(void *start, size_t length, int prot, int flags, int fd, off_t offset)”h]”(hŒdesc_parameter”“”)�”}”(hŒ void *start”h]”(j])�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j\hj¶ubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhj¶ubj)�”}”(hj‚h]”hŒ*”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”j‹ah"]”h$]”h&]”uh1j~hj¶ubj–)�”}”(hŒstart”h]”hŒstart”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubjµ)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”j–)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjüubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j7Œreftype”Œ identifier”Œ reftarget”jŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”(jŒ ASTIdentifier”“”)�”}”jŒV4L”sbN†”j")�”}”jj™sbŒ c.V4L.mmap”†”esbuh1hhjøubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhjøubj–)�”}”(hŒlength”h]”hŒlength”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjøubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubjµ)�”}”(hŒint prot”h]”(j])�”}”(hŒint”h]”hŒint”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j\hjNubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhjNubj–)�”}”(hŒprot”h]”hŒprot”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubjµ)�”}”(hŒ int flags”h]”(j])�”}”(hŒint”h]”hŒint”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j\hjƒubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhjƒubj–)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubjµ)�”}”(hŒint fd”h]”(j])�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j\hj¸ubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhj¸ubj–)�”}”(hŒfd”h]”hŒfd”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubjµ)�”}”(hŒ off_t offset”h]”(h)�”}”(hhh]”j–)�”}”(hŒoff_t”h]”hŒoff_t”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j7Œreftype”jŒ reftarget”jöŒmodname”NŒ classname”Njj)�”}”j]”(j#N†”j'Œ c.V4L.mmap”†”esbuh1hhjíubjn)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jmhjíubj–)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j¢ah"]”h$]”h&]”uh1j•hjíubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j´hj°ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j®hjXh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jVŒsphinx_line_type”Œ declarator”hjRh²hh³hÇh´Kubah}”(h]”jIah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jPh³hÇh´KhjMh²hubhŒ desc_content”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jPhjMh²hh³hÇh´Kubeh}”(h]”h ]”(j7Œfunction”eh"]”h$]”h&]”Œdomain”j7Œobjtype”j^Œdesctype”j^Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jKh²hhjh³Nh´Nubeh}”(h]”Œsynopsis”ah ]”h"]”Œsynopsis”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)�”}”(hhh]”(hÜ)�”}”(hŒ Arguments”h]”hŒ Arguments”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjph²hh³hÇh´KubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hX?``start`` Map the buffer to this address in the application's address space. When the ``MAP_FIXED`` flag is specified, ``start`` must be a multiple of the pagesize and mmap will fail when the specified address cannot be used. Use of this option is discouraged; applications should just specify a ``NULL`` pointer here. ”h]”(hŒterm”“”)�”}”(hŒ ``start``”h]”hŒliteral”“”)�”}”(hj�h]”hŒstart”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K!hjˆubhŒ definition”“”)�”}”(hhh]”hý)�”}”(hX4Map the buffer to this address in the application's address space. When the ``MAP_FIXED`` flag is specified, ``start`` must be a multiple of the pagesize and mmap will fail when the specified address cannot be used. Use of this option is discouraged; applications should just specify a ``NULL`` pointer here.”h]”(hŒNMap the buffer to this address in the application’s address space. When the ”…”�”}”(hj¬h²hh³Nh´Nubj“)�”}”(hŒ ``MAP_FIXED``”h]”hŒ MAP_FIXED”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj¬ubhŒ flag is specified, ”…”�”}”(hj¬h²hh³Nh´Nubj“)�”}”(hŒ ``start``”h]”hŒstart”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj¬ubhŒ¨ must be a multiple of the pagesize and mmap will fail when the specified address cannot be used. Use of this option is discouraged; applications should just specify a ”…”�”}”(hj¬h²hh³Nh´Nubj“)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj¬ubhŒ pointer here.”…”�”}”(hj¬h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K!hjƒubj‡)�”}”(hX.``length`` Length of the memory area to map. This must be the same value as returned by the driver in the struct :c:type:`v4l2_buffer` ``length`` field for the single-planar API, and the same value as returned by the driver in the struct :c:type:`v4l2_plane` ``length`` field for the multi-planar API. ”h]”(j�)�”}”(hŒ ``length``”h]”j“)�”}”(hjh]”hŒlength”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K)hjüubj¨)�”}”(hhh]”hý)�”}”(hX"Length of the memory area to map. This must be the same value as returned by the driver in the struct :c:type:`v4l2_buffer` ``length`` field for the single-planar API, and the same value as returned by the driver in the struct :c:type:`v4l2_plane` ``length`` field for the multi-planar API.”h]”(hŒfLength of the memory area to map. This must be the same value as returned by the driver in the struct ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:type:`v4l2_buffer`”h]”j“)�”}”(hj$h]”hŒ v4l2_buffer”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”(Œxref”j7Œc-type”eh"]”h$]”h&]”uh1j’hj"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ!userspace-api/media/v4l/func-mmap”Œ refdomain”j7Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jj)�”}”j]”j#N†”asbŒ reftarget”Œ v4l2_buffer”uh1hh³hÇh´K$hjubhŒ ”…”�”}”(hjh²hh³Nh´Nubj“)�”}”(hŒ ``length``”h]”hŒlength”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubhŒ] field for the single-planar API, and the same value as returned by the driver in the struct ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:type:`v4l2_plane`”h]”j“)�”}”(hj`h]”hŒ v4l2_plane”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-type”eh"]”h$]”h&]”uh1j’hj^ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jjBjFŒ v4l2_plane”uh1hh³hÇh´K$hjubhŒ ”…”�”}”hjsbj“)�”}”(hŒ ``length``”h]”hŒlength”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubhŒ field for the multi-planar API.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K$hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K)hjƒh²hubj‡)�”}”(hXH``prot`` The ``prot`` argument describes the desired memory protection. Regardless of the device type and the direction of data exchange it should be set to ``PROT_READ`` | ``PROT_WRITE``, permitting read and write access to image buffers. Drivers should support at least this combination of flags. .. note:: #. The Linux ``videobuf`` kernel module, which is used by some drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the driver does not support the desired protection, the :c:func:`mmap()` function fails. #. Device memory accesses (e. g. the memory on a graphics card with video capturing hardware) may incur a performance penalty compared to main memory accesses, or reads may be significantly slower than writes or vice versa. Other I/O methods may be more efficient in such case. ”h]”(j�)�”}”(hŒ``prot``”h]”j“)�”}”(hj«h]”hŒprot”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K=hj¥ubj¨)�”}”(hhh]”(hý)�”}”(hX!The ``prot`` argument describes the desired memory protection. Regardless of the device type and the direction of data exchange it should be set to ``PROT_READ`` | ``PROT_WRITE``, permitting read and write access to image buffers. Drivers should support at least this combination of flags.”h]”(hŒThe ”…”�”}”(hjÃh²hh³Nh´Nubj“)�”}”(hŒ``prot``”h]”hŒprot”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjÃubhŒˆ argument describes the desired memory protection. Regardless of the device type and the direction of data exchange it should be set to ”…”�”}”(hjÃh²hh³Nh´Nubj“)�”}”(hŒ ``PROT_READ``”h]”hŒ PROT_READ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjÃubhŒ | ”…”�”}”(hjÃh²hh³Nh´Nubj“)�”}”(hŒ``PROT_WRITE``”h]”hŒ PROT_WRITE”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjÃubhŒo, permitting read and write access to image buffers. Drivers should support at least this combination of flags.”…”�”}”(hjÃh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K,hjÀubhŒnote”“”)�”}”(hXþ#. The Linux ``videobuf`` kernel module, which is used by some drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the driver does not support the desired protection, the :c:func:`mmap()` function fails. #. Device memory accesses (e. g. the memory on a graphics card with video capturing hardware) may incur a performance penalty compared to main memory accesses, or reads may be significantly slower than writes or vice versa. Other I/O methods may be more efficient in such case.”h]”hŒenumerated_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒÐThe Linux ``videobuf`` kernel module, which is used by some drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the driver does not support the desired protection, the :c:func:`mmap()` function fails. ”h]”hý)�”}”(hŒÏThe Linux ``videobuf`` kernel module, which is used by some drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the driver does not support the desired protection, the :c:func:`mmap()` function fails.”h]”(hŒ The Linux ”…”�”}”(hjh²hh³Nh´Nubj“)�”}”(hŒ ``videobuf``”h]”hŒvideobuf”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubhŒ< kernel module, which is used by some drivers supports only ”…”�”}”(hjh²hh³Nh´Nubj“)�”}”(hŒ ``PROT_READ``”h]”hŒ PROT_READ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubhŒ | ”…”�”}”(hjh²hh³Nh´Nubj“)�”}”(hŒ``PROT_WRITE``”h]”hŒ PROT_WRITE”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjubhŒ?. When the driver does not support the desired protection, the ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:func:`mmap()`”h]”j“)�”}”(hjXh]”hŒmmap()”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hjVubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒmmap”uh1hh³hÇh´K4hjubhŒ function fails.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K4hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hXDevice memory accesses (e. g. the memory on a graphics card with video capturing hardware) may incur a performance penalty compared to main memory accesses, or reads may be significantly slower than writes or vice versa. Other I/O methods may be more efficient in such case.”h]”hý)�”}”(hXDevice memory accesses (e. g. the memory on a graphics card with video capturing hardware) may incur a performance penalty compared to main memory accesses, or reads may be significantly slower than writes or vice versa. Other I/O methods may be more efficient in such case.”h]”hXDevice memory accesses (e. g. the memory on a graphics card with video capturing hardware) may incur a performance penalty compared to main memory accesses, or reads may be significantly slower than writes or vice versa. Other I/O methods may be more efficient in such case.”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K9hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ.”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1j§hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K=hjƒh²hubj‡)�”}”(hX¬``flags`` The ``flags`` parameter specifies the type of the mapped object, mapping options and whether modifications made to the mapped copy of the page are private to the process or are to be shared with other references. ``MAP_FIXED`` requests that the driver selects no other address than the one specified. If the specified address cannot be used, :c:func:`mmap()` will fail. If ``MAP_FIXED`` is specified, ``start`` must be a multiple of the pagesize. Use of this option is discouraged. One of the ``MAP_SHARED`` or ``MAP_PRIVATE`` flags must be set. ``MAP_SHARED`` allows applications to share the mapped memory with other (e. g. child-) processes. .. note:: The Linux ``videobuf`` module which is used by some drivers supports only ``MAP_SHARED``. ``MAP_PRIVATE`` requests copy-on-write semantics. V4L2 applications should not set the ``MAP_PRIVATE``, ``MAP_DENYWRITE``, ``MAP_EXECUTABLE`` or ``MAP_ANON`` flags. ”h]”(j�)�”}”(hŒ ``flags``”h]”j“)�”}”(hjÀh]”hŒflags”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´KUhjºubj¨)�”}”(hhh]”(hý)�”}”(hŒÔThe ``flags`` parameter specifies the type of the mapped object, mapping options and whether modifications made to the mapped copy of the page are private to the process or are to be shared with other references.”h]”(hŒThe ”…”�”}”(hjØh²hh³Nh´Nubj“)�”}”(hŒ ``flags``”h]”hŒflags”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjØubhŒÇ parameter specifies the type of the mapped object, mapping options and whether modifications made to the mapped copy of the page are private to the process or are to be shared with other references.”…”�”}”(hjØh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K@hjÕubhý)�”}”(hX ``MAP_FIXED`` requests that the driver selects no other address than the one specified. If the specified address cannot be used, :c:func:`mmap()` will fail. If ``MAP_FIXED`` is specified, ``start`` must be a multiple of the pagesize. Use of this option is discouraged.”h]”(j“)�”}”(hŒ ``MAP_FIXED``”h]”hŒ MAP_FIXED”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjøubhŒt requests that the driver selects no other address than the one specified. If the specified address cannot be used, ”…”�”}”(hjøh²hh³Nh´Nubh)�”}”(hŒ:c:func:`mmap()`”h]”j“)�”}”(hjh]”hŒmmap()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒmmap”uh1hh³hÇh´KEhjøubhŒ will fail. If ”…”�”}”(hjøh²hh³Nh´Nubj“)�”}”(hŒ ``MAP_FIXED``”h]”hŒ MAP_FIXED”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjøubhŒ is specified, ”…”�”}”(hjøh²hh³Nh´Nubj“)�”}”(hŒ ``start``”h]”hŒstart”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjøubhŒG must be a multiple of the pagesize. Use of this option is discouraged.”…”�”}”(hjøh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KEhjÕubhý)�”}”(hŒ¢One of the ``MAP_SHARED`` or ``MAP_PRIVATE`` flags must be set. ``MAP_SHARED`` allows applications to share the mapped memory with other (e. g. child-) processes.”h]”(hŒ One of the ”…”�”}”(hj[h²hh³Nh´Nubj“)�”}”(hŒ``MAP_SHARED``”h]”hŒ MAP_SHARED”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj[ubhŒ or ”…”�”}”(hj[h²hh³Nh´Nubj“)�”}”(hŒ``MAP_PRIVATE``”h]”hŒ MAP_PRIVATE”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj[ubhŒ flags must be set. ”…”�”}”(hj[h²hh³Nh´Nubj“)�”}”(hŒ``MAP_SHARED``”h]”hŒ MAP_SHARED”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj[ubhŒT allows applications to share the mapped memory with other (e. g. child-) processes.”…”�”}”(hj[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KKhjÕubj)�”}”(hŒÿThe Linux ``videobuf`` module which is used by some drivers supports only ``MAP_SHARED``. ``MAP_PRIVATE`` requests copy-on-write semantics. V4L2 applications should not set the ``MAP_PRIVATE``, ``MAP_DENYWRITE``, ``MAP_EXECUTABLE`` or ``MAP_ANON`` flags.”h]”hý)�”}”(hŒÿThe Linux ``videobuf`` module which is used by some drivers supports only ``MAP_SHARED``. ``MAP_PRIVATE`` requests copy-on-write semantics. V4L2 applications should not set the ``MAP_PRIVATE``, ``MAP_DENYWRITE``, ``MAP_EXECUTABLE`` or ``MAP_ANON`` flags.”h]”(hŒ The Linux ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ ``videobuf``”h]”hŒvideobuf”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ5 module which is used by some drivers supports only ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ``MAP_SHARED``”h]”hŒ MAP_SHARED”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ. ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ``MAP_PRIVATE``”h]”hŒ MAP_PRIVATE”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒH requests copy-on-write semantics. V4L2 applications should not set the ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ``MAP_PRIVATE``”h]”hŒ MAP_PRIVATE”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ, ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ``MAP_DENYWRITE``”h]”hŒ MAP_DENYWRITE”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ, ”…”�”}”hj£sbj“)�”}”(hŒ``MAP_EXECUTABLE``”h]”hŒMAP_EXECUTABLE”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ or ”…”�”}”(hj£h²hh³Nh´Nubj“)�”}”(hŒ ``MAP_ANON``”h]”hŒMAP_ANON”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj£ubhŒ flags.”…”�”}”(hj£h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KQhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕubeh}”(h]”h ]”h"]”h$]”h&]”uh1j§hjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´KUhjƒh²hubj‡)�”}”(hŒ5``fd`` File descriptor returned by :c:func:`open()`. ”h]”(j�)�”}”(hŒ``fd``”h]”j“)�”}”(hjGh]”hŒfd”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´KXhjAubj¨)�”}”(hhh]”hý)�”}”(hŒ-File descriptor returned by :c:func:`open()`.”h]”(hŒFile descriptor returned by ”…”�”}”(hj_h²hh³Nh´Nubh)�”}”(hŒ:c:func:`open()`”h]”j“)�”}”(hjih]”hŒopen()”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hjgubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒopen”uh1hh³hÇh´KXhj_ubhŒ.”…”�”}”(hj_h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KXhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´KXhjƒh²hubj‡)�”}”(hXO``offset`` Offset of the buffer in device memory. This must be the same value as returned by the driver in the struct :c:type:`v4l2_buffer` ``m`` union ``offset`` field for the single-planar API, and the same value as returned by the driver in the struct :c:type:`v4l2_plane` ``m`` union ``mem_offset`` field for the multi-planar API. ”h]”(j�)�”}”(hŒ ``offset``”h]”j“)�”}”(hj¢h]”hŒoffset”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K`hjœubj¨)�”}”(hhh]”hý)�”}”(hXCOffset of the buffer in device memory. This must be the same value as returned by the driver in the struct :c:type:`v4l2_buffer` ``m`` union ``offset`` field for the single-planar API, and the same value as returned by the driver in the struct :c:type:`v4l2_plane` ``m`` union ``mem_offset`` field for the multi-planar API.”h]”(hŒkOffset of the buffer in device memory. This must be the same value as returned by the driver in the struct ”…”�”}”(hjºh²hh³Nh´Nubh)�”}”(hŒ:c:type:`v4l2_buffer`”h]”j“)�”}”(hjÄh]”hŒ v4l2_buffer”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-type”eh"]”h$]”h&]”uh1j’hjÂubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jjBjFŒ v4l2_buffer”uh1hh³hÇh´K[hjºubhŒ ”…”�”}”(hjºh²hh³Nh´Nubj“)�”}”(hŒ``m``”h]”hŒm”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjºubhŒ union ”…”�”}”(hjºh²hh³Nh´Nubj“)�”}”(hŒ ``offset``”h]”hŒoffset”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjºubhŒ] field for the single-planar API, and the same value as returned by the driver in the struct ”…”�”}”(hjºh²hh³Nh´Nubh)�”}”(hŒ:c:type:`v4l2_plane`”h]”j“)�”}”(hj h]”hŒ v4l2_plane”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-type”eh"]”h$]”h&]”uh1j’hj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jjBjFŒ v4l2_plane”uh1hh³hÇh´K[hjºubhŒ ”…”�”}”hjºsbj“)�”}”(hŒ``m``”h]”hŒm”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjºubhŒ union ”…”�”}”(hjºh²hh³Nh´Nubj“)�”}”(hŒ``mem_offset``”h]”hŒ mem_offset”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjºubhŒ field for the multi-planar API.”…”�”}”(hjºh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K[hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjœubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K`hjƒh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�hjph²hh³hÇh´Nubeh}”(h]”Œ arguments”ah ]”h"]”Œ arguments”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)�”}”(hhh]”(hÜ)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjph²hh³hÇh´Kcubhý)�”}”(hX The :c:func:`mmap()` function asks to map ``length`` bytes starting at ``offset`` in the memory of the device specified by ``fd`` into the application address space, preferably at address ``start``. This latter address is a hint only, and is usually specified as 0.”h]”(hŒThe ”…”�”}”(hj�h²hh³Nh´Nubh)�”}”(hŒ:c:func:`mmap()`”h]”j“)�”}”(hj‹h]”hŒmmap()”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hj‰ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒmmap”uh1hh³hÇh´Kehj�ubhŒ function asks to map ”…”�”}”(hj�h²hh³Nh´Nubj“)�”}”(hŒ ``length``”h]”hŒlength”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj�ubhŒ bytes starting at ”…”�”}”(hj�h²hh³Nh´Nubj“)�”}”(hŒ ``offset``”h]”hŒoffset”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj�ubhŒ* in the memory of the device specified by ”…”�”}”(hj�h²hh³Nh´Nubj“)�”}”(hŒ``fd``”h]”hŒfd”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj�ubhŒ; into the application address space, preferably at address ”…”�”}”(hj�h²hh³Nh´Nubj“)�”}”(hŒ ``start``”h]”hŒstart”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj�ubhŒD. This latter address is a hint only, and is usually specified as 0.”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kehjph²hubhý)�”}”(hŒ³Suitable length and offset parameters are queried with the :ref:`VIDIOC_QUERYBUF` ioctl. Buffers must be allocated with the :ref:`VIDIOC_REQBUFS` ioctl before they can be queried.”h]”(hŒ;Suitable length and offset parameters are queried with the ”…”�”}”(hjúh²hh³Nh´Nubh)�”}”(hŒ:ref:`VIDIOC_QUERYBUF`”h]”hŒinline”“”)�”}”(hj h]”hŒVIDIOC_QUERYBUF”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(j0Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒvidioc_querybuf”uh1hh³hÇh´KjhjúubhŒ+ ioctl. Buffers must be allocated with the ”…”�”}”(hjúh²hh³Nh´Nubh)�”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”j )�”}”(hj* h]”hŒVIDIOC_REQBUFS”…”�”}”(hj, h²hh³Nh´Nubah}”(h]”h ]”(j0Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j hj( ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j6 Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒvidioc_reqbufs”uh1hh³hÇh´KjhjúubhŒ" ioctl before they can be queried.”…”�”}”(hjúh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kjhjph²hubhý)�”}”(hŒ9To unmap buffers the :c:func:`munmap()` function is used.”h]”(hŒTo unmap buffers the ”…”�”}”(hjR h²hh³Nh´Nubh)�”}”(hŒ:c:func:`munmap()`”h]”j“)�”}”(hj\ h]”hŒmunmap()”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hjZ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒmunmap”uh1hh³hÇh´KohjR ubhŒ function is used.”…”�”}”(hjR h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kohjph²hubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kcubh×)�”}”(hhh]”(hÜ)�”}”(hŒ Return Value”h]”hŒ Return Value”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj‹ h²hh³hÇh´Krubhý)�”}”(hŒ¸On success :c:func:`mmap()` returns a pointer to the mapped buffer. On error ``MAP_FAILED`` (-1) is returned, and the ``errno`` variable is set appropriately. Possible error codes are:”h]”(hŒ On success ”…”�”}”(hjœ h²hh³Nh´Nubh)�”}”(hŒ:c:func:`mmap()`”h]”j“)�”}”(hj¦ h]”hŒmmap()”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”(j0j7Œc-func”eh"]”h$]”h&]”uh1j’hj¤ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j7Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jjBjFŒmmap”uh1hh³hÇh´Kthjœ ubhŒ2 returns a pointer to the mapped buffer. On error ”…”�”}”(hjœ h²hh³Nh´Nubj“)�”}”(hŒ``MAP_FAILED``”h]”hŒ MAP_FAILED”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjœ ubhŒ (-1) is returned, and the ”…”�”}”(hjœ h²hh³Nh´Nubj“)�”}”(hŒ ``errno``”h]”hŒerrno”…”�”}”(hjÙ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjœ ubhŒ9 variable is set appropriately. Possible error codes are:”…”�”}”(hjœ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kthj‹ h²hubj‚)�”}”(hhh]”(j‡)�”}”(hŒ-EBADF ``fd`` is not a valid file descriptor. ”h]”(j�)�”}”(hŒEBADF”h]”hŒEBADF”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´Kyhjô ubj¨)�”}”(hhh]”hý)�”}”(hŒ&``fd`` is not a valid file descriptor.”h]”(j“)�”}”(hŒ``fd``”h]”hŒfd”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hj ubhŒ is not a valid file descriptor.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kyhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjô ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´Kyhjñ ubj‡)�”}”(hŒ3EACCES ``fd`` is not open for reading and writing. ”h]”(j�)�”}”(hŒEACCES”h]”hŒEACCES”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K|hj1 ubj¨)�”}”(hhh]”hý)�”}”(hŒ+``fd`` is not open for reading and writing.”h]”(j“)�”}”(hŒ``fd``”h]”hŒfd”…”�”}”(hjJ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjF ubhŒ% is not open for reading and writing.”…”�”}”(hjF h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K|hjC ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hj1 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K|hjñ h²hubj‡)�”}”(hXEINVAL The ``start`` or ``length`` or ``offset`` are not suitable. (E. g. they are too large, or not aligned on a ``PAGESIZE`` boundary.) The ``flags`` or ``prot`` value is not supported. No buffers have been allocated with the :ref:`VIDIOC_REQBUFS` ioctl. ”h]”(j�)�”}”(hŒEINVAL”h]”hŒEINVAL”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´K…hjn ubj¨)�”}”(hhh]”(hý)�”}”(hŒ‚The ``start`` or ``length`` or ``offset`` are not suitable. (E. g. they are too large, or not aligned on a ``PAGESIZE`` boundary.)”h]”(hŒThe ”…”�”}”(hjƒ h²hh³Nh´Nubj“)�”}”(hŒ ``start``”h]”hŒstart”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjƒ ubhŒ or ”…”�”}”(hjƒ h²hh³Nh´Nubj“)�”}”(hŒ ``length``”h]”hŒlength”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjƒ ubhŒ or ”…”�”}”hjƒ sbj“)�”}”(hŒ ``offset``”h]”hŒoffset”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjƒ ubhŒB are not suitable. (E. g. they are too large, or not aligned on a ”…”�”}”(hjƒ h²hh³Nh´Nubj“)�”}”(hŒ ``PAGESIZE``”h]”hŒPAGESIZE”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjƒ ubhŒ boundary.)”…”�”}”(hjƒ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khj€ ubhý)�”}”(hŒ1The ``flags`` or ``prot`` value is not supported.”h]”(hŒThe ”…”�”}”(hjÙ h²hh³Nh´Nubj“)�”}”(hŒ ``flags``”h]”hŒflags”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjÙ ubhŒ or ”…”�”}”(hjÙ h²hh³Nh´Nubj“)�”}”(hŒ``prot``”h]”hŒprot”…”�”}”(hjó h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j’hjÙ ubhŒ value is not supported.”…”�”}”(hjÙ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K‚hj€ ubhý)�”}”(hŒDNo buffers have been allocated with the :ref:`VIDIOC_REQBUFS` ioctl.”h]”(hŒ(No buffers have been allocated with the ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ:ref:`VIDIOC_REQBUFS`”h]”j )�”}”(hj h]”hŒVIDIOC_REQBUFS”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(j0Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j<Œ refdomain”j! Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjFŒvidioc_reqbufs”uh1hh³hÇh´K„hj ubhŒ ioctl.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K„hj€ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j§hjn ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´K…hjñ h²hubj‡)�”}”(hŒSENOMEM Not enough physical or virtual memory was available to complete the request.”h]”(j�)�”}”(hŒENOMEM”h]”hŒENOMEM”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´KˆhjI ubj¨)�”}”(hhh]”hý)�”}”(hŒLNot enough physical or virtual memory was available to complete the request.”h]”hŒLNot enough physical or virtual memory was available to complete the request.”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kˆhj[ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j§hjI ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†h³hÇh´Kˆhjñ h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�hj‹ h²hh³hÇh´Nubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Krubeh}”(h]”(Œ v4l2-mmap”hÕeh ]”h"]”(Œ v4l2 mmap()”Œ func-mmap”eh$]”h&]”uh1hÖhhh²hh³hÇh´KŒexpect_referenced_by_name”}”jŒ hÊsŒexpect_referenced_by_id”}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j¶ Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÕ]”hÊasŒnameids”}”(jŒ hÕj‹ jˆ jjjmjjjmjjjˆ j… jƒ j€ uŒ nametypes”}”(jŒ ˆj‹ ‰j‰jm‰jm‰jˆ ‰jƒ ‰uh}”(hÕhØjˆ hØjhëjjjjIjRjjjpj… jpj€ j‹ uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)�”}”(hhh]”hý)�”}”(hhh]”hŒ/Hyperlink target "func-mmap" is not referenced.”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”uh1hühj ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1j ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.