Linux info header.
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / linux / bits / ioctl-types.h
1 /* Structure types for pre-termios terminal ioctls.  Linux version.
2    Copyright (C) 1996, 1997 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 Library General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    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    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 02111-1307, USA.  */
19
20 /*
21  * Never include this file directly; use <sys/ioctl.h> instead.
22  */
23
24 #ifndef _BITS_IOCTL_TYPES_H
25 #define _BITS_IOCTL_TYPES_H 1
26
27 /* Get definition of constants for use with `ioctl'.  */
28 #include <asm/ioctls.h>
29
30
31 struct winsize
32   {
33     unsigned short int ws_row;
34     unsigned short int ws_col;
35     unsigned short int ws_xpixel;
36     unsigned short int ws_ypixel;
37   };
38
39 #define NCC 8
40 struct termio
41   {
42     unsigned short int c_iflag;         /* input mode flags */
43     unsigned short int c_oflag;         /* output mode flags */
44     unsigned short int c_cflag;         /* control mode flags */
45     unsigned short int c_lflag;         /* local mode flags */
46     unsigned char c_line;               /* line discipline */
47     unsigned char c_cc[NCC];            /* control characters */
48 };
49
50 /* modem lines */
51 #define TIOCM_LE        0x001
52 #define TIOCM_DTR       0x002
53 #define TIOCM_RTS       0x004
54 #define TIOCM_ST        0x008
55 #define TIOCM_SR        0x010
56 #define TIOCM_CTS       0x020
57 #define TIOCM_CAR       0x040
58 #define TIOCM_RNG       0x080
59 #define TIOCM_DSR       0x100
60 #define TIOCM_CD        TIOCM_CAR
61 #define TIOCM_RI        TIOCM_RNG
62
63 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
64
65 /* line disciplines */
66 #define N_TTY           0
67 #define N_SLIP          1
68 #define N_MOUSE         2
69 #define N_PPP           3
70 #define N_STRIP         4
71 #define N_AX25          5
72
73
74 #endif /* bits/ioctl-types.h */