Termios.txt.templ 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. MODULE LinTermios ["libc.so.6"];
  2. (*
  3. A. V. Shiryaev, 2012.11
  4. GNU/Linux
  5. i386
  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 mode flags *)
  15. c_oflag*: tcflag_t; (* output mode flags *)
  16. c_cflag*: tcflag_t; (* control mode flags *)
  17. c_lflag*: tcflag_t; (* local mode flags *)
  18. c_line*: cc_t; (* line discipline *)
  19. cc_c*: ARRAY [untagged] NCCS OF cc_t; (* control chars *)
  20. c_ispeed*: INTEGER; (* input speed *)
  21. c_ospeed*: INTEGER; (* output speed *)
  22. END;
  23. (* POSIX.1 *)
  24. PROCEDURE [ccall] cfgetispeed* (VAR tp: termios): speed_t;
  25. PROCEDURE [ccall] cfsetispeed* (VAR tp: termios; ispeed: speed_t): INTEGER;
  26. PROCEDURE [ccall] cfgetospeed* (VAR tp: termios): speed_t;
  27. PROCEDURE [ccall] cfsetospeed* (VAR tp: termios; ospeed: speed_t): INTEGER;
  28. PROCEDURE [ccall] tcgetattr* (fd: INTEGER; VAR tp: termios): INTEGER;
  29. PROCEDURE [ccall] tcsetattr* (fd: INTEGER; action: INTEGER; VAR tp: termios): INTEGER;
  30. PROCEDURE [ccall] tcdrain* (fd: INTEGER): INTEGER;
  31. PROCEDURE [ccall] tcflow* (fd: INTEGER; action: INTEGER): INTEGER;
  32. PROCEDURE [ccall] tcflush* (fd: INTEGER; action: INTEGER): INTEGER;
  33. PROCEDURE [ccall] tcsendbreak* (fd: INTEGER; len: INTEGER): INTEGER;
  34. END LinTermios.