1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1. !! 1 .. This file is dual-licensed: you can use it either under the terms 2 .. c:namespace:: MC !! 2 .. of the GPL 2.0 or the GFDL 1.1+ license, at your option. Note that this >> 3 .. dual licensing only applies to this file, and not this project as a >> 4 .. whole. >> 5 .. >> 6 .. a) This file is free software; you can redistribute it and/or >> 7 .. modify it under the terms of the GNU General Public License as >> 8 .. published by the Free Software Foundation version 2 of >> 9 .. the License. >> 10 .. >> 11 .. This file is distributed in the hope that it will be useful, >> 12 .. but WITHOUT ANY WARRANTY; without even the implied warranty of >> 13 .. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> 14 .. GNU General Public License for more details. >> 15 .. >> 16 .. Or, alternatively, >> 17 .. >> 18 .. b) Permission is granted to copy, distribute and/or modify this >> 19 .. document under the terms of the GNU Free Documentation License, >> 20 .. Version 1.1 or any later version published by the Free Software >> 21 .. Foundation, with no Invariant Sections, no Front-Cover Texts >> 22 .. and no Back-Cover Texts. A copy of the license is included at >> 23 .. Documentation/userspace-api/media/fdl-appendix.rst. >> 24 .. >> 25 .. TODO: replace it to GPL-2.0 OR GFDL-1.1-or-later WITH no-invariant-sections 3 26 4 .. _request-func-ioctl: 27 .. _request-func-ioctl: 5 28 6 *************** 29 *************** 7 request ioctl() 30 request ioctl() 8 *************** 31 *************** 9 32 10 Name 33 Name 11 ==== 34 ==== 12 35 13 request-ioctl - Control a request file descrip 36 request-ioctl - Control a request file descriptor 14 37 >> 38 15 Synopsis 39 Synopsis 16 ======== 40 ======== 17 41 18 .. code-block:: c 42 .. code-block:: c 19 43 20 #include <sys/ioctl.h> 44 #include <sys/ioctl.h> 21 45 22 ``int ioctl(int fd, int cmd, void *argp)`` !! 46 >> 47 .. c:function:: int ioctl( int fd, int cmd, void *argp ) >> 48 :name: req-ioctl 23 49 24 Arguments 50 Arguments 25 ========= 51 ========= 26 52 27 ``fd`` 53 ``fd`` 28 File descriptor returned by :ref:`MEDIA_IO 54 File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`. 29 55 30 ``cmd`` 56 ``cmd`` 31 The request ioctl command code as defined 57 The request ioctl command code as defined in the media.h header file, for 32 example :ref:`MEDIA_REQUEST_IOC_QUEUE`. 58 example :ref:`MEDIA_REQUEST_IOC_QUEUE`. 33 59 34 ``argp`` 60 ``argp`` 35 Pointer to a request-specific structure. 61 Pointer to a request-specific structure. 36 62 >> 63 37 Description 64 Description 38 =========== 65 =========== 39 66 40 The :ref:`ioctl() <request-func-ioctl>` functi 67 The :ref:`ioctl() <request-func-ioctl>` function manipulates request 41 parameters. The argument ``fd`` must be an ope 68 parameters. The argument ``fd`` must be an open file descriptor. 42 69 43 The ioctl ``cmd`` code specifies the request f 70 The ioctl ``cmd`` code specifies the request function to be called. It 44 has encoded in it whether the argument is an i 71 has encoded in it whether the argument is an input, output or read/write 45 parameter, and the size of the argument ``argp 72 parameter, and the size of the argument ``argp`` in bytes. 46 73 47 Macros and structures definitions specifying r 74 Macros and structures definitions specifying request ioctl commands and 48 their parameters are located in the media.h he 75 their parameters are located in the media.h header file. All request ioctl 49 commands, their respective function and parame 76 commands, their respective function and parameters are specified in 50 :ref:`media-user-func`. 77 :ref:`media-user-func`. >> 78 51 79 52 Return Value 80 Return Value 53 ============ 81 ============ 54 82 55 On success 0 is returned, on error -1 and the 83 On success 0 is returned, on error -1 and the ``errno`` variable is set 56 appropriately. The generic error codes are des 84 appropriately. The generic error codes are described at the 57 :ref:`Generic Error Codes <gen-errors>` chapte 85 :ref:`Generic Error Codes <gen-errors>` chapter. 58 86 59 Command-specific error codes are listed in the 87 Command-specific error codes are listed in the individual command 60 descriptions. 88 descriptions. 61 89 62 When an ioctl that takes an output or read/wri 90 When an ioctl that takes an output or read/write parameter fails, the 63 parameter remains unmodified. 91 parameter remains unmodified.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.