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