1
0
mirror of https://github.com/KolibriOS/kolibrios.git synced 2024-12-23 07:06:49 +03:00
kolibrios/programs/develop/libraries/menuetlibc/include/termios.h

147 lines
3.4 KiB
C
Raw Normal View History

/* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
#ifndef __dj_include_sys_termios_h_
#define __dj_include_sys_termios_h_
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dj_ENFORCE_ANSI_FREESTANDING
#ifndef __STRICT_ANSI__
#define B0 0x00000000
#define B50 0x00000001
#define B75 0x00000002
#define B110 0x00000003
#define B134 0x00000004
#define B150 0x00000005
#define B200 0x00000006
#define B300 0x00000007
#define B600 0x00000008
#define B1200 0x00000009
#define B1800 0x0000000a
#define B2400 0x0000000b
#define B4800 0x0000000c
#define B9600 0x0000000d
#define B19200 0x0000000e
#define B38400 0x0000000f
#define BRKINT 0x00000100
#define ICRNL 0x00000200
#define IGNBRK 0x00000400
#define IGNCR 0x00000800
#define IGNPAR 0x00001000
#define INLCR 0x00002000
#define INPCK 0x00004000
#define ISTRIP 0x00008000
#define IXOFF 0x00010000
#define IXON 0x00020000
#define PARMRK 0x00040000
#define OPOST 0x00000100
#define CLOCAL 0x00000100
#define CREAD 0x00000200
#define CS5 0x00000000
#define CS6 0x00000400
#define CS7 0x00000800
#define CS8 0x00000c00
#define CSIZE 0x00000c00
#define CSTOPB 0x00001000
#define HUPCL 0x00002000
#define PARENB 0x00004000
#define PARODD 0x00008000
#define ECHO 0x00000100
#define ECHOE 0x00000200
#define ECHOK 0x00000400
#define ECHONL 0x00000800
#define ICANON 0x00001000
#define IEXTEN 0x00002000
#define ISIG 0x00004000
#define NOFLSH 0x00008000
#define TOSTOP 0x00010000
#define TCIFLUSH 1
#define TCOFLUSH 2
#define TCIOFLUSH 3
#define TCOOFF 1
#define TCOON 2
#define TCIOFF 3
#define TCION 4
#define TCSADRAIN 1
#define TCSAFLUSH 2
#define TCSANOW 3
#define VEOF 1
#define VEOL 2
#define VERASE 3
#define VINTR 4
#define VKILL 5
#define VMIN 6
#define VQUIT 7
#define VSTART 8
#define VSTOP 9
#define VSUSP 10
#define VTIME 11
#define NCCS 12
typedef unsigned cc_t;
typedef unsigned speed_t;
typedef unsigned tcflag_t;
struct termios {
cc_t c_cc[NCCS];
tcflag_t c_cflag;
tcflag_t c_iflag;
tcflag_t c_lflag;
tcflag_t c_oflag;
speed_t c_ispeed;
speed_t c_ospeed;
};
speed_t cfgetispeed(const struct termios *_termios_p);
speed_t cfgetospeed(const struct termios *_termios_p);
int cfsetispeed(struct termios *_termios_p, speed_t _speed);
int cfsetospeed(struct termios *_termios_p, speed_t _speed);
int tcdrain(int _fildes);
int tcflow(int _fildes, int _action);
int tcflush(int _fildes, int _queue_selector);
int tcgetattr(int _fildes, struct termios *_termios_p);
int tcsendbreak(int _fildes, int _duration);
int tcsetattr(int _fildes, int _optional_actions, const struct termios *_termios_p);
#ifndef _POSIX_SOURCE
/* Input flags */
#define IMAXBEL 0x01000000 /* ring bell on input queue full */
/* Local flags */
#define ECHOKE 0x01000000 /* visual erase for line kill */
#define ECHOCTL 0x02000000 /* echo control chars as ^x */
/* Output flags */
#define ONLCR 0x00000200 /* map NL to CRNL */
#define OCRNL 0x00000400 /* map CR to NL */
#define ONOEOT 0x00000800 /* discard EOT's (^D) on output */
/* for compatibility */
void cfmakeraw(struct termios *_termios_p);
int cfsetspeed(struct termios *_termios_p, speed_t _speed);
#endif /* !_POSIX_SOURCE */
#endif /* !__STRICT_ANSI__ */
#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
#ifndef __dj_ENFORCE_FUNCTION_CALLS
#endif /* !__dj_ENFORCE_FUNCTION_CALLS */
#ifdef __cplusplus
}
#endif
#endif /* !__dj_include_sys_termios_h_ */