1 /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. 2 Copyright (C) 1997-2021 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library. If not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #ifndef _SYS_IOCTL_H 20 # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead." 21 #endif 22 23 /* Get definition of constants for use with `ioctl'. */ 24 #include <asm/ioctls.h> 25 26 struct winsize 27 { 28 unsigned short int ws_row; 29 unsigned short int ws_col; 30 unsigned short int ws_xpixel; 31 unsigned short int ws_ypixel; 32 }; 33 34 #define NCC 8 35 struct termio 36 { 37 unsigned short int c_iflag; /* input mode flags */ 38 unsigned short int c_oflag; /* output mode flags */ 39 unsigned short int c_cflag; /* control mode flags */ 40 unsigned short int c_lflag; /* local mode flags */ 41 char c_line; /* line discipline */ 42 /* Yes, this is really NCCS. */ 43 unsigned char c_cc[32 /* NCCS */]; /* control characters */ 44 }; 45 46 /* modem lines */ 47 #define TIOCM_LE 0x001 /* line enable */ 48 #define TIOCM_DTR 0x002 /* data terminal ready */ 49 #define TIOCM_RTS 0x004 /* request to send */ 50 #define TIOCM_ST 0x010 /* secondary transmit */ 51 #define TIOCM_SR 0x020 /* secondary receive */ 52 #define TIOCM_CTS 0x040 /* clear to send */ 53 #define TIOCM_CAR 0x100 /* carrier detect */ 54 #define TIOCM_CD TIOCM_CAR 55 #define TIOCM_RNG 0x200 /* ring */ 56 #define TIOCM_RI TIOCM_RNG 57 #define TIOCM_DSR 0x400 /* data set ready */ 58 59 /* line disciplines */ 60 #define N_TTY 0 61 #define N_SLIP 1 62 #define N_MOUSE 2 63 #define N_PPP 3 64 #define N_STRIP 4 65 #define N_AX25 5 66 #define N_X25 6 /* X.25 async */ 67 #define N_6PACK 7 68 #define N_MASC 8 /* Mobitex module */ 69 #define N_R3964 9 /* Simatic R3964 module */ 70 #define N_PROFIBUS_FDL 10 /* Profibus */ 71 #define N_IRDA 11 /* Linux IR */ 72 #define N_SMSBLOCK 12 /* SMS block mode */ 73 #define N_HDLC 13 /* synchronous HDLC */ 74 #define N_SYNC_PPP 14 /* synchronous PPP */ 75 #define N_HCI 15 /* Bluetooth HCI UART */