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