Line data Source code
1 : /* Copyright (C) 1991-2022 Free Software Foundation, Inc. 2 : This file is part of the GNU C Library. 3 : 4 : The GNU C Library is free software; you can redistribute it and/or 5 : modify it under the terms of the GNU Lesser General Public 6 : License as published by the Free Software Foundation; either 7 : version 2.1 of the License, or (at your option) any later version. 8 : 9 : The GNU C Library is distributed in the hope that it will be useful, 10 : but WITHOUT ANY WARRANTY; without even the implied warranty of 11 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 : Lesser General Public License for more details. 13 : 14 : You should have received a copy of the GNU Lesser General Public 15 : License along with the GNU C Library; if not, see 16 : <https://www.gnu.org/licenses/>. */ 17 : 18 : #ifndef _SYS_IOCTL_H 19 : #define _SYS_IOCTL_H 1 20 : 21 : #include <features.h> 22 : 23 : __BEGIN_DECLS 24 : 25 : /* Get the list of `ioctl' requests and related constants. */ 26 : #include <bits/ioctls.h> 27 : 28 : /* Define some types used by `ioctl' requests. */ 29 : #include <bits/ioctl-types.h> 30 : 31 : /* On a Unix system, the system <sys/ioctl.h> probably defines some of 32 : the symbols we define in <sys/ttydefaults.h> (usually with the same 33 : values). The code to generate <bits/ioctls.h> has omitted these 34 : symbols to avoid the conflict, but a Unix program expects <sys/ioctl.h> 35 : to define them, so we must include <sys/ttydefaults.h> here. */ 36 : #include <sys/ttydefaults.h> 37 : 38 : /* Perform the I/O control operation specified by REQUEST on FD. 39 : One argument may follow; its presence and type depend on REQUEST. 40 : Return value depends on REQUEST. Usually -1 indicates error. */ 41 : #ifndef __USE_TIME_BITS64 42 2301238 : extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; 43 : #else 44 : # ifdef __REDIRECT 45 : extern int __REDIRECT_NTH (ioctl, (int __fd, unsigned long int __request, ...), 46 : __ioctl_time64); 47 : # else 48 : extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW; 49 : # define ioctl __ioctl_time64 50 : # endif 51 : #endif 52 : 53 : __END_DECLS 54 : 55 : #endif /* sys/ioctl.h */