Termios.txt.templ 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. MODULE LinTermios ["libc.so.90"];
  2. (*
  3. A. V. Shiryaev, 2012.11, 2013.08, 2015.09
  4. OpenBSD 6.2
  5. 32-bit
  6. *)
  7. CONST
  8. %%defs-termios%%
  9. TYPE
  10. tcflag_t* = INTEGER; (* unsigned int *)
  11. cc_t* = SHORTCHAR; (* unsigned char *)
  12. speed_t* = INTEGER; (* unsigned int *)
  13. termios* = RECORD [untagged]
  14. c_iflag*: tcflag_t; (* input flags *)
  15. c_oflag*: tcflag_t; (* output flags *)
  16. c_cflag*: tcflag_t; (* control flags *)
  17. c_lflag*: tcflag_t; (* local flags *)
  18. c_cc*: ARRAY [untagged] NCCS OF cc_t; (* control chars *)
  19. c_ispeed*: INTEGER; (* input speed *)
  20. c_ospeed*: INTEGER; (* output speed *)
  21. END;
  22. (* POSIX.1 *)
  23. PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
  24. PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
  25. PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
  26. PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
  27. PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
  28. PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
  29. PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
  30. PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
  31. PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
  32. PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
  33. (* extensions *)
  34. (*
  35. PROCEDURE [ccall] cfsetspeed* (VAR tp: termios; speed: speed_t): INTEGER;
  36. PROCEDURE [ccall] cfmakeraw* (VAR tp: termios);
  37. *)
  38. END LinTermios.