Update copyright notices with scripts/update-copyrights
[glibc.git] / ports / sysdeps / unix / sysv / linux / mips / bits / ioctl-types.h
blob6a0d22a2258201007d09ba197c3e82c7e39100fd
1 /* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2014 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
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.
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.
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 <http://www.gnu.org/licenses/>. */
19 #ifndef _SYS_IOCTL_H
20 # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21 #endif
23 /* Get definition of constants for use with `ioctl'. */
24 #include <asm/ioctls.h>
26 struct winsize
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
34 #define NCC 8
35 struct termio
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 */
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 */
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 */