mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:32:46 +00:00 
			
		
		
		
	Kernel+LibC: Share definitions for termios.h
This commit is contained in:
		
							parent
							
								
									a8d1c2dde9
								
							
						
					
					
						commit
						d277cdfd4c
					
				
					 3 changed files with 211 additions and 385 deletions
				
			
		|  | @ -11,6 +11,7 @@ | |||
| #include <Kernel/API/POSIX/fcntl.h> | ||||
| #include <Kernel/API/POSIX/sys/mman.h> | ||||
| #include <Kernel/API/POSIX/sys/stat.h> | ||||
| #include <Kernel/API/POSIX/termios.h> | ||||
| #include <Kernel/API/POSIX/time.h> | ||||
| 
 | ||||
| // Kernel internal options.
 | ||||
|  | @ -153,182 +154,6 @@ enum { | |||
| #define S_IWOTH 0002 | ||||
| #define S_IXOTH 0001 | ||||
| 
 | ||||
| /* c_cc characters */ | ||||
| #define VINTR 0 | ||||
| #define VQUIT 1 | ||||
| #define VERASE 2 | ||||
| #define VKILL 3 | ||||
| #define VEOF 4 | ||||
| #define VTIME 5 | ||||
| #define VMIN 6 | ||||
| #define VSWTC 7 | ||||
| #define VSTART 8 | ||||
| #define VSTOP 9 | ||||
| #define VSUSP 10 | ||||
| #define VEOL 11 | ||||
| #define VREPRINT 12 | ||||
| #define VDISCARD 13 | ||||
| #define VWERASE 14 | ||||
| #define VLNEXT 15 | ||||
| #define VEOL2 16 | ||||
| #define VINFO 17 | ||||
| 
 | ||||
| /* c_iflag bits */ | ||||
| #define IGNBRK 0000001 | ||||
| #define BRKINT 0000002 | ||||
| #define IGNPAR 0000004 | ||||
| #define PARMRK 0000010 | ||||
| #define INPCK 0000020 | ||||
| #define ISTRIP 0000040 | ||||
| #define INLCR 0000100 | ||||
| #define IGNCR 0000200 | ||||
| #define ICRNL 0000400 | ||||
| #define IUCLC 0001000 | ||||
| #define IXON 0002000 | ||||
| #define IXANY 0004000 | ||||
| #define IXOFF 0010000 | ||||
| #define IMAXBEL 0020000 | ||||
| #define IUTF8 0040000 | ||||
| 
 | ||||
| /* c_oflag bits */ | ||||
| #define OPOST 0000001 | ||||
| #define OLCUC 0000002 | ||||
| #define ONLCR 0000004 | ||||
| #define OCRNL 0000010 | ||||
| #define ONOCR 0000020 | ||||
| #define ONLRET 0000040 | ||||
| #define OFILL 0000100 | ||||
| #define OFDEL 0000200 | ||||
| #if defined __USE_MISC || defined __USE_XOPEN | ||||
| #    define NLDLY 0000400 | ||||
| #    define NL0 0000000 | ||||
| #    define NL1 0000400 | ||||
| #    define CRDLY 0003000 | ||||
| #    define CR0 0000000 | ||||
| #    define CR1 0001000 | ||||
| #    define CR2 0002000 | ||||
| #    define CR3 0003000 | ||||
| #    define TABDLY 0014000 | ||||
| #    define TAB0 0000000 | ||||
| #    define TAB1 0004000 | ||||
| #    define TAB2 0010000 | ||||
| #    define TAB3 0014000 | ||||
| #    define BSDLY 0020000 | ||||
| #    define BS0 0000000 | ||||
| #    define BS1 0020000 | ||||
| #    define FFDLY 0100000 | ||||
| #    define FF0 0000000 | ||||
| #    define FF1 0100000 | ||||
| #endif | ||||
| 
 | ||||
| #define VTDLY 0040000 | ||||
| #define VT0 0000000 | ||||
| #define VT1 0040000 | ||||
| 
 | ||||
| #ifdef __USE_MISC | ||||
| #    define XTABS 0014000 | ||||
| #endif | ||||
| 
 | ||||
| /* c_cflag bit meaning */ | ||||
| #ifdef __USE_MISC | ||||
| #    define CBAUD 0010017 | ||||
| #endif | ||||
| #define B0 0000000 /* hang up */ | ||||
| #define B50 0000001 | ||||
| #define B75 0000002 | ||||
| #define B110 0000003 | ||||
| #define B134 0000004 | ||||
| #define B150 0000005 | ||||
| #define B200 0000006 | ||||
| #define B300 0000007 | ||||
| #define B600 0000010 | ||||
| #define B1200 0000011 | ||||
| #define B1800 0000012 | ||||
| #define B2400 0000013 | ||||
| #define B4800 0000014 | ||||
| #define B9600 0000015 | ||||
| #define B19200 0000016 | ||||
| #define B38400 0000017 | ||||
| #ifdef __USE_MISC | ||||
| #    define EXTA B19200 | ||||
| #    define EXTB B38400 | ||||
| #endif | ||||
| #define CSIZE 0000060 | ||||
| #define CS5 0000000 | ||||
| #define CS6 0000020 | ||||
| #define CS7 0000040 | ||||
| #define CS8 0000060 | ||||
| #define CSTOPB 0000100 | ||||
| #define CREAD 0000200 | ||||
| #define PARENB 0000400 | ||||
| #define PARODD 0001000 | ||||
| #define HUPCL 0002000 | ||||
| #define CLOCAL 0004000 | ||||
| #ifdef __USE_MISC | ||||
| #    define CBAUDEX 0010000 | ||||
| #endif | ||||
| #define B57600 0010001 | ||||
| #define B115200 0010002 | ||||
| #define B230400 0010003 | ||||
| #define B460800 0010004 | ||||
| #define B500000 0010005 | ||||
| #define B576000 0010006 | ||||
| #define B921600 0010007 | ||||
| #define B1000000 0010010 | ||||
| #define B1152000 0010011 | ||||
| #define B1500000 0010012 | ||||
| #define B2000000 0010013 | ||||
| #define B2500000 0010014 | ||||
| #define B3000000 0010015 | ||||
| #define B3500000 0010016 | ||||
| #define B4000000 0010017 | ||||
| #define __MAX_BAUD B4000000 | ||||
| #ifdef __USE_MISC | ||||
| #    define CIBAUD 002003600000  /* input baud rate (not used) */ | ||||
| #    define CMSPAR 010000000000  /* mark or space (stick) parity */ | ||||
| #    define CRTSCTS 020000000000 /* flow control */ | ||||
| #endif | ||||
| 
 | ||||
| /* c_lflag bits */ | ||||
| #define ISIG 0000001 | ||||
| #define ICANON 0000002 | ||||
| #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) | ||||
| #    define XCASE 0000004 | ||||
| #endif | ||||
| #define ECHO 0000010 | ||||
| #define ECHOE 0000020 | ||||
| #define ECHOK 0000040 | ||||
| #define ECHONL 0000100 | ||||
| #define NOFLSH 0000200 | ||||
| #define TOSTOP 0000400 | ||||
| #ifdef __USE_MISC | ||||
| #    define ECHOCTL 0001000 | ||||
| #    define ECHOPRT 0002000 | ||||
| #    define ECHOKE 0004000 | ||||
| #    define FLUSHO 0010000 | ||||
| #    define PENDIN 0040000 | ||||
| #endif | ||||
| #define IEXTEN 0100000 | ||||
| #ifdef __USE_MISC | ||||
| #    define EXTPROC 0200000 | ||||
| #endif | ||||
| 
 | ||||
| /* tcflow() and TCXONC use these */ | ||||
| #define TCOOFF 0 | ||||
| #define TCOON 1 | ||||
| #define TCIOFF 2 | ||||
| #define TCION 3 | ||||
| 
 | ||||
| /* tcflush() and TCFLSH use these */ | ||||
| #define TCIFLUSH 0 | ||||
| #define TCOFLUSH 1 | ||||
| #define TCIOFLUSH 2 | ||||
| 
 | ||||
| /* tcsetattr uses these */ | ||||
| #define TCSANOW 0 | ||||
| #define TCSADRAIN 1 | ||||
| #define TCSAFLUSH 2 | ||||
| 
 | ||||
| typedef u32 dev_t; | ||||
| typedef u64 ino_t; | ||||
| typedef u16 mode_t; | ||||
|  | @ -402,22 +227,6 @@ typedef i64 time_t; | |||
| typedef u32 blksize_t; | ||||
| typedef u32 blkcnt_t; | ||||
| 
 | ||||
| #define NCCS 32 | ||||
| 
 | ||||
| typedef uint32_t tcflag_t; | ||||
| typedef uint8_t cc_t; | ||||
| typedef uint32_t speed_t; | ||||
| 
 | ||||
| struct termios { | ||||
|     tcflag_t c_iflag; | ||||
|     tcflag_t c_oflag; | ||||
|     tcflag_t c_cflag; | ||||
|     tcflag_t c_lflag; | ||||
|     cc_t c_cc[NCCS]; | ||||
|     speed_t c_ispeed; | ||||
|     speed_t c_ospeed; | ||||
| }; | ||||
| 
 | ||||
| #define POLLIN (1u << 0) | ||||
| #define POLLPRI (1u << 1) | ||||
| #define POLLOUT (1u << 2) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling