|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v2 1/2] lib/nolibc/include: Add termios.h from musl
Hi Vlad,
thanks, looks good to me.
Reviewed-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
Cheers, Yuri.
"Vlad-Andrei BĂDOIU (78692)" <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
writes:
> This patch combines include/termios.h with generic/bits/termios.h
> from musl. It provides all the defines found in generic/bits/termios.h
> but not the function declarations from include/termios.h.
>
> The following changes are made to the original files:
> *) add missing declarations from include/termios.h for cc_t, speed_t
> and tcflag_t
> *) add compile-time check of the architecture
> *) add compile guards
>
> tag: v1.1.20
> commit <0fa1e638e87cf257e9f96b4019b2076afd674a19>
>
> Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
> ---
> lib/nolibc/include/termios.h | 192 +++++++++++++++++++++++++++++++++++
> 1 file changed, 192 insertions(+)
> create mode 100644 lib/nolibc/include/termios.h
>
> diff --git a/lib/nolibc/include/termios.h b/lib/nolibc/include/termios.h
> new file mode 100644
> index 0000000..20a5f41
> --- /dev/null
> +++ b/lib/nolibc/include/termios.h
> @@ -0,0 +1,192 @@
> +#ifndef _TERMIOS_H
> +#define _TERMIOS_H
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +#include <uk/config.h>
> +#if ((!defined CONFIG_ARCH_X86_64) && (!defined CONFIG_ARCH_ARM_64) \
> + && (!defined CONFIG_ARCH_ARM_32))
> +#error Please make sure this termios.h declaration match your architecture
> +#endif
> +
> +typedef unsigned char cc_t;
> +typedef unsigned int speed_t;
> +typedef unsigned int tcflag_t;
> +
> +#define NCCS 32
> +
> +
> +struct termios {
> + tcflag_t c_iflag;
> + tcflag_t c_oflag;
> + tcflag_t c_cflag;
> + tcflag_t c_lflag;
> + cc_t c_line;
> + cc_t c_cc[NCCS];
> + speed_t __c_ispeed;
> + speed_t __c_ospeed;
> +};
> +
> +#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 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
> +
> +#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(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
> +#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
> +
> +#define B0 0000000
> +#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
> +
> +#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 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
> +
> +#define ISIG 0000001
> +#define ICANON 0000002
> +#define ECHO 0000010
> +#define ECHOE 0000020
> +#define ECHOK 0000040
> +#define ECHONL 0000100
> +#define NOFLSH 0000200
> +#define TOSTOP 0000400
> +#define IEXTEN 0100000
> +
> +#define TCOOFF 0
> +#define TCOON 1
> +#define TCIOFF 2
> +#define TCION 3
> +
> +#define TCIFLUSH 0
> +#define TCOFLUSH 1
> +#define TCIOFLUSH 2
> +
> +#define TCSANOW 0
> +#define TCSADRAIN 1
> +#define TCSAFLUSH 2
> +
> +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
> +#define EXTA 0000016
> +#define EXTB 0000017
> +#define CBAUD 0010017
> +#define CBAUDEX 0010000
> +#define CIBAUD 002003600000
> +#define CMSPAR 010000000000
> +#define CRTSCTS 020000000000
> +
> +#define XCASE 0000004
> +#define ECHOCTL 0001000
> +#define ECHOPRT 0002000
> +#define ECHOKE 0004000
> +#define FLUSHO 0010000
> +#define PENDIN 0040000
> +#define EXTPROC 0200000
> +
> +#define XTABS 0014000
> +#endif
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
> +#endif
> --
> 2.20.1
>
--
Yuri Volchkov
Software Specialist
NEC Europe Ltd
Kurfürsten-Anlage 36
D-69115 Heidelberg
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |