]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - Documentation/media/uapi/v4l/func-write.rst
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-artful-kernel.git] / Documentation / media / uapi / v4l / func-write.rst
CommitLineData
5377d91f
MH
1.. -*- coding: utf-8; mode: rst -*-
2
3.. _func-write:
4
5************
6V4L2 write()
7************
8
15e7d615 9Name
586027ce 10====
5377d91f 11
586027ce 12v4l2-write - Write to a V4L2 device
5377d91f 13
15e7d615
MCC
14
15Synopsis
5377d91f
MH
16========
17
18.. code-block:: c
19
20 #include <unistd.h>
21
22
b7e67f6c 23.. cpp:function:: ssize_t write( int fd, void *buf, size_t count )
5377d91f 24
586027ce 25
15e7d615 26Arguments
5377d91f
MH
27=========
28
29``fd``
30 File descriptor returned by :ref:`open() <func-open>`.
31
32``buf``
33``count``
34
35
15e7d615 36Description
5377d91f
MH
37===========
38
760c7010 39:ref:`write() <func-write>` writes up to ``count`` bytes to the device
5377d91f
MH
40referenced by the file descriptor ``fd`` from the buffer starting at
41``buf``. When the hardware outputs are not active yet, this function
760c7010 42enables them. When ``count`` is zero, :ref:`write() <func-write>` returns 0
5377d91f
MH
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
15e7d615 51Return Value
5377d91f
MH
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
760c7010 81 The :ref:`write() <func-write>` function is not supported by this driver,
5377d91f 82 not on this device, or generally not on this type of device.