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 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 */ 56