Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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