ttydefaults.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * Copyright (c) 2021, Daniel Bertalan <dani@danielbertalan.dev>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #define TTYDEF_IFLAG (ICRNL)
  8. #define TTYDEF_OFLAG (OPOST | ONLCR)
  9. #define TTYDEF_LFLAG_NOECHO (ISIG | ICANON)
  10. #define TTYDEF_LFLAG_ECHO (TTYDEF_LFLAG_NOECHO | ECHO | ECHOE | ECHOK | ECHONL)
  11. #define TTYDEF_LFLAG TTYDEF_LFLAG_ECHO
  12. #define TTYDEF_CFLAG (0)
  13. #define TTYDEF_SPEED (B9600)
  14. #define CTRL(c) (c & 0x1F)
  15. #define CINTR CTRL('c')
  16. #define CQUIT 034
  17. #define CERASE 010
  18. #define CKILL CTRL('u')
  19. #define CEOF CTRL('d')
  20. #define CTIME 0
  21. #define CMIN 1
  22. #define CSWTC 0
  23. #define CSTART CTRL('q')
  24. #define CSTOP CTRL('s')
  25. #define CSUSP CTRL('z')
  26. #define CEOL 0
  27. #define CREPRINT CTRL('r')
  28. #define CDISCARD CTRL('o')
  29. #define CWERASE CTRL('w')
  30. #define CLNEXT CTRL('v')
  31. #define CEOL2 CEOL
  32. #define CEOT CEOF
  33. #define CBRK CEOL
  34. #define CRPRNT CREPRINT
  35. #define CFLUSH CDISCARD
  36. #ifdef TTYDEFCHARS
  37. # ifdef KERNEL
  38. # include <Kernel/UnixTypes.h>
  39. # else
  40. # include <termios.h>
  41. # endif
  42. # include <sys/cdefs.h>
  43. __BEGIN_DECLS
  44. static const cc_t ttydefchars[NCCS] = {
  45. [VINTR] = CINTR,
  46. [VQUIT] = CQUIT,
  47. [VERASE] = CERASE,
  48. [VKILL] = CKILL,
  49. [VEOF] = CEOF,
  50. [VTIME] = CTIME,
  51. [VMIN] = CMIN,
  52. [VSWTC] = CSWTC,
  53. [VSTART] = CSTART,
  54. [VSTOP] = CSTOP,
  55. [VSUSP] = CSUSP,
  56. [VEOL] = CEOL,
  57. [VREPRINT] = CREPRINT,
  58. [VDISCARD] = CDISCARD,
  59. [VWERASE] = CWERASE,
  60. [VLNEXT] = CLNEXT,
  61. [VEOL2] = CEOL2
  62. };
  63. __END_DECLS
  64. #endif