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 28struct 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 37struct 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