X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flinux.git;a=blobdiff_plain;f=Documentation%2Fmedia%2Fuapi%2Fv4l%2Flibv4l-introduction.rst;h=ccc3c4d2fc0feb04be988bbfc4bd1c7267f37f69;hp=61d085f9f105a37a4631795b7a0de3a11260be2e;hb=350d32395bee1a21deec504a253b336e20d9f35a;hpb=9512c47ec2e4f7e1f28ba66e09de536987a6057f diff --git a/Documentation/media/uapi/v4l/libv4l-introduction.rst b/Documentation/media/uapi/v4l/libv4l-introduction.rst index 61d085f9f105..ccc3c4d2fc0f 100644 --- a/Documentation/media/uapi/v4l/libv4l-introduction.rst +++ b/Documentation/media/uapi/v4l/libv4l-introduction.rst @@ -113,56 +113,71 @@ Libv4l device control functions The common file operation methods are provided by libv4l. -Those functions operate just like glibc -open/close/dup/ioctl/read/mmap/munmap: +Those functions operate just like the gcc function ``dup()`` and +V4L2 functions +:c:func:`open() `, :c:func:`close() `, +:c:func:`ioctl() `, :c:func:`read() `, +:c:func:`mmap() ` and :c:func:`munmap() `: -- :c:type:`int v4l2_open(const char *file, int oflag, ...)` - operates like the - standard :ref:`open() ` function. +.. c:function:: int v4l2_open(const char *file, int oflag, ...) -- :c:type:`int v4l2_close(int fd)` - operates like the standard - :ref:`close() ` function. + operates like the :c:func:`open() ` function. -- :c:type:`int v4l2_dup(int fd)` - operates like the standard dup() function, - duplicating a file handler. +.. c:function:: int v4l2_close(int fd) -- :c:type:`int v4l2_ioctl (int fd, unsigned long int request, ...)` - operates - like the standard :ref:`ioctl() ` function. + operates like the :c:func:`close() ` function. -- :c:type:`int v4l2_read (int fd, void* buffer, size_t n)` - operates like the - standard :ref:`read() ` function. +.. c:function:: int v4l2_dup(int fd) -- :c:type:`void v4l2_mmap(void *start, size_t length, int prot, int flags, int - fd, int64_t offset);` - operates like the standard - :ref:`mmap() ` function. + operates like the libc ``dup()`` function, duplicating a file handler. -- :c:type:`int v4l2_munmap(void *_start, size_t length);` - operates like the - standard :ref:`munmap() ` function. +.. c:function:: int v4l2_ioctl (int fd, unsigned long int request, ...) + + operates like the :c:func:`ioctl() ` function. + +.. c:function:: int v4l2_read (int fd, void* buffer, size_t n) + + operates like the :c:func:`read() ` function. + +.. c:function:: void v4l2_mmap(void *start, size_t length, int prot, int flags, int fd, int64_t offset); + + operates like the :c:func:`munmap() ` function. + +.. c:function:: int v4l2_munmap(void *_start, size_t length); + + operates like the :c:func:`munmap() ` function. Those functions provide additional control: -- :c:type:`int v4l2_fd_open(int fd, int v4l2_flags)` - opens an already opened - fd for further use through v4l2lib and possibly modify libv4l2's - default behavior through the v4l2_flags argument. Currently, - v4l2_flags can be ``V4L2_DISABLE_CONVERSION``, to disable format - conversion. +.. c:function:: int v4l2_fd_open(int fd, int v4l2_flags) + + opens an already opened fd for further use through v4l2lib and possibly + modify libv4l2's default behavior through the ``v4l2_flags`` argument. + Currently, ``v4l2_flags`` can be ``V4L2_DISABLE_CONVERSION``, to disable + format conversion. -- :c:type:`int v4l2_set_control(int fd, int cid, int value)` - This function - takes a value of 0 - 65535, and then scales that range to the actual - range of the given v4l control id, and then if the cid exists and is +.. c:function:: int v4l2_set_control(int fd, int cid, int value) + + This function takes a value of 0 - 65535, and then scales that range to the + actual range of the given v4l control id, and then if the cid exists and is not locked sets the cid to the scaled value. -- :c:type:`int v4l2_get_control(int fd, int cid)` - This function returns a - value of 0 - 65535, scaled to from the actual range of the given v4l - control id. when the cid does not exist, could not be accessed for - some reason, or some error occurred 0 is returned. +.. c:function:: int v4l2_get_control(int fd, int cid) + + This function returns a value of 0 - 65535, scaled to from the actual range + of the given v4l control id. when the cid does not exist, could not be + accessed for some reason, or some error occurred 0 is returned. v4l1compat.so wrapper library ============================= -This library intercepts calls to open/close/ioctl/mmap/mmunmap +This library intercepts calls to +:c:func:`open() `, :c:func:`close() `, +:c:func:`ioctl() `, :c:func:`mmap() ` and +:c:func:`munmap() ` operations and redirects them to the libv4l counterparts, by using -LD_PRELOAD=/usr/lib/v4l1compat.so. It also emulates V4L1 calls via V4L2 +``LD_PRELOAD=/usr/lib/v4l1compat.so``. It also emulates V4L1 calls via V4L2 API. It allows usage of binary legacy applications that still don't use