^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) .. c:namespace:: DTV.video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) .. _video_fopen:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) dvb video open()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) dvb video open()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .. attention:: This ioctl is deprecated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Synopsis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) .. c:function:: int open(const char *deviceName, int flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Arguments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) :header-rows: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - .. row 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - const char \*deviceName
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - Name of specific video device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - .. row 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - int flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - A bit-wise OR of the following flags:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) - .. row 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - O_RDONLY read-only access
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - .. row 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) - O_RDWR read/write access
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) - .. row 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) - O_NONBLOCK open in non-blocking mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) - .. row 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - (blocking mode is the default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) This system call opens a named video device (e.g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) /dev/dvb/adapter0/video0) for subsequent use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) When an open() call has succeeded, the device will be ready for use. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) significance of blocking or non-blocking mode is described in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) documentation for functions where there is a difference. It does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) affect the semantics of the open() call itself. A device opened in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) blocking mode can later be put into non-blocking mode (and vice versa)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) using the F_SETFL command of the fcntl system call. This is a standard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) system call, documented in the Linux manual page for fcntl. Only one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) user can open the Video Device in O_RDWR mode. All other attempts to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) open the device in this mode will fail, and an error-code will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) returned. If the Video Device is opened in O_RDONLY mode, the only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) ioctl call that can be used is VIDEO_GET_STATUS. All other call will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) return an error code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Return Value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) :header-rows: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) - .. row 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) - ``ENODEV``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) - Device driver not loaded/available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) - .. row 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) - ``EINTERNAL``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) - Internal error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) - .. row 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) - ``EBUSY``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) - Device or resource busy.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) - .. row 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) - ``EINVAL``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) - Invalid argument.