cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

termbits.h (6151B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 * This file is subject to the terms and conditions of the GNU General Public
      4 * License.  See the file "COPYING" in the main directory of this archive
      5 * for more details.
      6 *
      7 * Copyright (C) 1995, 96, 99, 2001, 06 Ralf Baechle
      8 * Copyright (C) 1999 Silicon Graphics, Inc.
      9 * Copyright (C) 2001 MIPS Technologies, Inc.
     10 */
     11#ifndef _ASM_TERMBITS_H
     12#define _ASM_TERMBITS_H
     13
     14#include <asm-generic/termbits-common.h>
     15
     16typedef unsigned int	tcflag_t;
     17
     18/*
     19 * The ABI says nothing about NCC but seems to use NCCS as
     20 * replacement for it in struct termio
     21 */
     22#define NCCS	23
     23struct termios {
     24	tcflag_t c_iflag;		/* input mode flags */
     25	tcflag_t c_oflag;		/* output mode flags */
     26	tcflag_t c_cflag;		/* control mode flags */
     27	tcflag_t c_lflag;		/* local mode flags */
     28	cc_t c_line;			/* line discipline */
     29	cc_t c_cc[NCCS];		/* control characters */
     30};
     31
     32struct termios2 {
     33	tcflag_t c_iflag;		/* input mode flags */
     34	tcflag_t c_oflag;		/* output mode flags */
     35	tcflag_t c_cflag;		/* control mode flags */
     36	tcflag_t c_lflag;		/* local mode flags */
     37	cc_t c_line;			/* line discipline */
     38	cc_t c_cc[NCCS];		/* control characters */
     39	speed_t c_ispeed;		/* input speed */
     40	speed_t c_ospeed;		/* output speed */
     41};
     42
     43struct ktermios {
     44	tcflag_t c_iflag;		/* input mode flags */
     45	tcflag_t c_oflag;		/* output mode flags */
     46	tcflag_t c_cflag;		/* control mode flags */
     47	tcflag_t c_lflag;		/* local mode flags */
     48	cc_t c_line;			/* line discipline */
     49	cc_t c_cc[NCCS];		/* control characters */
     50	speed_t c_ispeed;		/* input speed */
     51	speed_t c_ospeed;		/* output speed */
     52};
     53
     54/* c_cc characters */
     55#define VINTR		 0		/* Interrupt character [ISIG] */
     56#define VQUIT		 1		/* Quit character [ISIG] */
     57#define VERASE		 2		/* Erase character [ICANON] */
     58#define VKILL		 3		/* Kill-line character [ICANON] */
     59#define VMIN		 4		/* Minimum number of bytes read at once [!ICANON] */
     60#define VTIME		 5		/* Time-out value (tenths of a second) [!ICANON] */
     61#define VEOL2		 6		/* Second EOL character [ICANON] */
     62#define VSWTC		 7		/* ??? */
     63#define VSWTCH		VSWTC
     64#define VSTART		 8		/* Start (X-ON) character [IXON, IXOFF] */
     65#define VSTOP		 9		/* Stop (X-OFF) character [IXON, IXOFF] */
     66#define VSUSP		10		/* Suspend character [ISIG] */
     67#if 0
     68/*
     69 * VDSUSP is not supported
     70 */
     71#define VDSUSP		11		/* Delayed suspend character [ISIG] */
     72#endif
     73#define VREPRINT	12		/* Reprint-line character [ICANON] */
     74#define VDISCARD	13		/* Discard character [IEXTEN] */
     75#define VWERASE		14		/* Word-erase character [ICANON] */
     76#define VLNEXT		15		/* Literal-next character [IEXTEN] */
     77#define VEOF		16		/* End-of-file character [ICANON] */
     78#define VEOL		17		/* End-of-line character [ICANON] */
     79
     80/* c_iflag bits */
     81#define IUCLC	0x0200		/* Map upper case to lower case on input */
     82#define IXON	0x0400		/* Enable start/stop output control */
     83#define IXOFF	0x1000		/* Enable start/stop input control */
     84#define IMAXBEL	0x2000		/* Ring bell when input queue is full */
     85#define IUTF8	0x4000		/* Input is UTF-8 */
     86
     87/* c_oflag bits */
     88#define OLCUC	0x00002		/* Map lower case to upper case on output */
     89#define ONLCR	0x00004		/* Map NL to CR-NL on output */
     90#define NLDLY	0x00100
     91#define   NL0	0x00000
     92#define   NL1	0x00100
     93#define CRDLY	0x00600
     94#define   CR0	0x00000
     95#define   CR1	0x00200
     96#define   CR2	0x00400
     97#define   CR3	0x00600
     98#define TABDLY	0x01800
     99#define   TAB0	0x00000
    100#define   TAB1	0x00800
    101#define   TAB2	0x01000
    102#define   TAB3	0x01800
    103#define   XTABS	0x01800
    104#define BSDLY	0x02000
    105#define   BS0	0x00000
    106#define   BS1	0x02000
    107#define VTDLY	0x04000
    108#define   VT0	0x00000
    109#define   VT1	0x04000
    110#define FFDLY	0x08000
    111#define   FF0	0x00000
    112#define   FF1	0x08000
    113/*
    114#define PAGEOUT ???
    115#define WRAP	???
    116 */
    117
    118/* c_cflag bit meaning */
    119#define CBAUD		0x0000100f
    120#define CSIZE		0x00000030	/* Number of bits per byte (mask) */
    121#define   CS5		0x00000000	/* 5 bits per byte */
    122#define   CS6		0x00000010	/* 6 bits per byte */
    123#define   CS7		0x00000020	/* 7 bits per byte */
    124#define   CS8		0x00000030	/* 8 bits per byte */
    125#define CSTOPB		0x00000040	/* Two stop bits instead of one */
    126#define CREAD		0x00000080	/* Enable receiver */
    127#define PARENB		0x00000100	/* Parity enable */
    128#define PARODD		0x00000200	/* Odd parity instead of even */
    129#define HUPCL		0x00000400	/* Hang up on last close */
    130#define CLOCAL		0x00000800	/* Ignore modem status lines */
    131#define CBAUDEX		0x00001000
    132#define BOTHER		0x00001000
    133#define     B57600	0x00001001
    134#define    B115200	0x00001002
    135#define    B230400	0x00001003
    136#define    B460800	0x00001004
    137#define    B500000	0x00001005
    138#define    B576000	0x00001006
    139#define    B921600	0x00001007
    140#define   B1000000	0x00001008
    141#define   B1152000	0x00001009
    142#define   B1500000	0x0000100a
    143#define   B2000000	0x0000100b
    144#define   B2500000	0x0000100c
    145#define   B3000000	0x0000100d
    146#define   B3500000	0x0000100e
    147#define   B4000000	0x0000100f
    148#define CIBAUD		0x100f0000	/* input baud rate */
    149
    150/* c_lflag bits */
    151#define ISIG	0x00001		/* Enable signals */
    152#define ICANON	0x00002		/* Do erase and kill processing */
    153#define XCASE	0x00004
    154#define ECHO	0x00008		/* Enable echo */
    155#define ECHOE	0x00010		/* Visual erase for ERASE */
    156#define ECHOK	0x00020		/* Echo NL after KILL */
    157#define ECHONL	0x00040		/* Echo NL even if ECHO is off */
    158#define NOFLSH	0x00080		/* Disable flush after interrupt */
    159#define IEXTEN	0x00100		/* Enable DISCARD and LNEXT */
    160#define ECHOCTL	0x00200		/* Echo control characters as ^X */
    161#define ECHOPRT	0x00400		/* Hardcopy visual erase */
    162#define ECHOKE	0x00800		/* Visual erase for KILL */
    163#define FLUSHO	0x02000
    164#define PENDIN	0x04000		/* Retype pending input (state) */
    165#define TOSTOP	0x08000		/* Send SIGTTOU for background output */
    166#define ITOSTOP	TOSTOP
    167#define EXTPROC	0x10000		/* External processing on pty */
    168
    169/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
    170#define TIOCSER_TEMT	0x01	/* Transmitter physically empty */
    171
    172/* tcsetattr uses these */
    173#define TCSANOW		TCSETS	/* Change immediately */
    174#define TCSADRAIN	TCSETSW /* Change when pending output is written */
    175#define TCSAFLUSH	TCSETSF /* Flush pending input before changing */
    176
    177#endif /* _ASM_TERMBITS_H */