~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/func-write.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L
  3 
  4 .. _func-write:
  5 
  6 ************
  7 V4L2 write()
  8 ************
  9 
 10 Name
 11 ====
 12 
 13 v4l2-write - Write to a V4L2 device
 14 
 15 Synopsis
 16 ========
 17 
 18 .. code-block:: c
 19 
 20     #include <unistd.h>
 21 
 22 .. c:function:: ssize_t write( int fd, void *buf, size_t count )
 23 
 24 Arguments
 25 =========
 26 
 27 ``fd``
 28     File descriptor returned by :c:func:`open()`.
 29 
 30 ``buf``
 31      Buffer with data to be written
 32 
 33 ``count``
 34     Number of bytes at the buffer
 35 
 36 Description
 37 ===========
 38 
 39 :c:func:`write()` writes up to ``count`` bytes to the device
 40 referenced by the file descriptor ``fd`` from the buffer starting at
 41 ``buf``. When the hardware outputs are not active yet, this function
 42 enables them. When ``count`` is zero, :c:func:`write()` returns 0
 43 without any other effect.
 44 
 45 When the application does not provide more data in time, the previous
 46 video frame, raw VBI image, sliced VPS or WSS data is displayed again.
 47 Sliced Teletext or Closed Caption data is not repeated, the driver
 48 inserts a blank line instead.
 49 
 50 Return Value
 51 ============
 52 
 53 On success, the number of bytes written are returned. Zero indicates
 54 nothing was written. On error, -1 is returned, and the ``errno``
 55 variable is set appropriately. In this case the next write will start at
 56 the beginning of a new frame. Possible error codes are:
 57 
 58 EAGAIN
 59     Non-blocking I/O has been selected using the
 60     :ref:`O_NONBLOCK <func-open>` flag and no buffer space was
 61     available to write the data immediately.
 62 
 63 EBADF
 64     ``fd`` is not a valid file descriptor or is not open for writing.
 65 
 66 EBUSY
 67     The driver does not support multiple write streams and the device is
 68     already in use.
 69 
 70 EFAULT
 71     ``buf`` references an inaccessible memory area.
 72 
 73 EINTR
 74     The call was interrupted by a signal before any data was written.
 75 
 76 EIO
 77     I/O error. This indicates some hardware problem.
 78 
 79 EINVAL
 80     The :c:func:`write()` function is not supported by this driver,
 81     not on this device, or generally not on this type of device.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php