termios.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _ASM_GENERIC_TERMIOS_H
  3. #define _ASM_GENERIC_TERMIOS_H
  4. /*
  5. * Most architectures have straight copies of the x86 code, with
  6. * varying levels of bug fixes on top. Usually it's a good idea
  7. * to use this generic version instead, but be careful to avoid
  8. * ABI changes.
  9. * New architectures should not provide their own version.
  10. */
  11. #include <asm/termbits.h>
  12. #include <asm/ioctls.h>
  13. struct winsize {
  14. unsigned short ws_row;
  15. unsigned short ws_col;
  16. unsigned short ws_xpixel;
  17. unsigned short ws_ypixel;
  18. };
  19. #define NCC 8
  20. struct termio {
  21. unsigned short c_iflag; /* input mode flags */
  22. unsigned short c_oflag; /* output mode flags */
  23. unsigned short c_cflag; /* control mode flags */
  24. unsigned short c_lflag; /* local mode flags */
  25. unsigned char c_line; /* line discipline */
  26. unsigned char c_cc[NCC]; /* control characters */
  27. };
  28. /* modem lines */
  29. #define TIOCM_LE 0x001
  30. #define TIOCM_DTR 0x002
  31. #define TIOCM_RTS 0x004
  32. #define TIOCM_ST 0x008
  33. #define TIOCM_SR 0x010
  34. #define TIOCM_CTS 0x020
  35. #define TIOCM_CAR 0x040
  36. #define TIOCM_RNG 0x080
  37. #define TIOCM_DSR 0x100
  38. #define TIOCM_CD TIOCM_CAR
  39. #define TIOCM_RI TIOCM_RNG
  40. #define TIOCM_OUT1 0x2000
  41. #define TIOCM_OUT2 0x4000
  42. #define TIOCM_LOOP 0x8000
  43. /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
  44. #endif /* _ASM_GENERIC_TERMIOS_H */