1 /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. 2 Copyright (C) 1997, 1999, 2000, 2001 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, write to the Free 17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18 02111-1307 USA. */ 19 20 #ifndef _SYS_IOCTL_H 21 # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead." 22 #endif 23 24 /* Get definition of constants for use with `ioctl'. */ 25 #include <asm/ioctls.h> 26 27 struct winsize 28 { 29 unsigned short int ws_row; 30 unsigned short int ws_col; 31 unsigned short int ws_xpixel; 32 unsigned short int ws_ypixel; 33 }; 34 35 #define NCC 8 36 struct termio 37 { 38 unsigned short int c_iflag; /* input mode flags */ 39 unsigned short int c_oflag; /* output mode flags */ 40 unsigned short int c_cflag; /* control mode flags */ 41 unsigned short int c_lflag; /* local mode flags */ 42 char c_line; /* line discipline */ 43 /* Yes, this is really NCCS. */ 44 unsigned char c_cc[32 /* NCCS */]; /* control characters */ 45 }; 46 47 /* modem lines */ 48 #define TIOCM_LE 0x001 /* line enable */ 49 #define TIOCM_DTR 0x002 /* data terminal ready */ 50 #define TIOCM_RTS 0x004 /* request to send */ 51 #define TIOCM_ST 0x010 /* secondary transmit */ 52 #define TIOCM_SR 0x020 /* secondary receive */ 53 #define TIOCM_CTS 0x040 /* clear to send */ 54 #define TIOCM_CAR 0x100 /* carrier detect */ 55 #define TIOCM_CD TIOCM_CAR 56 #define TIOCM_RNG 0x200 /* ring */ 57 #define TIOCM_RI TIOCM_RNG 58 #define TIOCM_DSR 0x400 /* data set ready */ 59 60 /* line disciplines */ 61 #define N_TTY 0 62 #define N_SLIP 1 63 #define N_MOUSE 2 64 #define N_PPP 3 65 #define N_STRIP 4 66 #define N_AX25 5 67 #define N_X25 6 /* X.25 async */ 68 #define N_6PACK 7 69 #define N_MASC 8 /* Mobitex module */ 70 #define N_R3964 9 /* Simatic R3964 module */ 71 #define N_PROFIBUS_FDL 10 /* Profibus */ 72 #define N_IRDA 11 /* Linux IR */ 73 #define N_SMSBLOCK 12 /* SMS block mode */ 74 #define N_HDLC 13 /* synchronous HDLC */ 75 #define N_SYNC_PPP 14 /* synchronous PPP */ 76 #define N_HCI 15 /* Bluetooth HCI UART */ 77