1 /* Structure types for pre-termios terminal ioctls. Linux version. 2 Copyright (C) 1996, 1997, 1999, 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 28 struct winsize 29 { 30 unsigned short int ws_row; 31 unsigned short int ws_col; 32 unsigned short int ws_xpixel; 33 unsigned short int ws_ypixel; 34 }; 35 36 #define NCC 8 37 struct termio 38 { 39 unsigned short int c_iflag; /* input mode flags */ 40 unsigned short int c_oflag; /* output mode flags */ 41 unsigned short int c_cflag; /* control mode flags */ 42 unsigned short int c_lflag; /* local mode flags */ 43 unsigned char c_line; /* line discipline */ 44 unsigned char c_cc[NCC]; /* control characters */ 45 }; 46 47 /* modem lines */ 48 #define TIOCM_LE 0x001 49 #define TIOCM_DTR 0x002 50 #define TIOCM_RTS 0x004 51 #define TIOCM_ST 0x008 52 #define TIOCM_SR 0x010 53 #define TIOCM_CTS 0x020 54 #define TIOCM_CAR 0x040 55 #define TIOCM_RNG 0x080 56 #define TIOCM_DSR 0x100 57 #define TIOCM_CD TIOCM_CAR 58 #define TIOCM_RI TIOCM_RNG 59 60 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ 61 62 /* line disciplines */ 63 #define N_TTY 0 64 #define N_SLIP 1 65 #define N_MOUSE 2 66 #define N_PPP 3 67 #define N_STRIP 4 68 #define N_AX25 5 69 #define N_X25 6 /* X.25 async */ 70 #define N_6PACK 7 71 #define N_MASC 8 /* Mobitex module */ 72 #define N_R3964 9 /* Simatic R3964 module */ 73 #define N_PROFIBUS_FDL 10 /* Profibus */ 74 #define N_IRDA 11 /* Linux IR */ 75 #define N_SMSBLOCK 12 /* SMS block mode */ 76 #define N_HDLC 13 /* synchronous HDLC */ 77 #define N_SYNC_PPP 14 /* synchronous PPP */ 78 #define N_HCI 15 /* Bluetooth HCI UART */ 79