1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

syscalls: Wrap TCSA* constants in 'tcsetattr-action' macro.

* guix/build/syscalls.scm (tcsetattr-action): New macro.
(TCSANOW, TCSADRAIN, TCSAFLUSH): Remove.
(tcsetattr): Adjust docstring accordingly.
* tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
This commit is contained in:
Ludovic Courtès
2016-05-02 08:59:57 +02:00
parent 0a17fd7c0b
commit a8f3424b25
2 changed files with 9 additions and 9 deletions

View File

@@ -110,9 +110,7 @@
termios-input-speed
termios-output-speed
local-flags
TCSANOW
TCSADRAIN
TCSAFLUSH
tcsetattr-action
tcgetattr
tcsetattr
@@ -1059,9 +1057,11 @@ given an integer, returns the list of names of the constants that are or'd."
(define EXTPROC #o0200000))
;; "Actions" values for 'tcsetattr'.
(define TCSANOW 0)
(define TCSADRAIN 1)
(define TCSAFLUSH 2)
(define-bits tcsetattr-action
%unused-tcsetattr-action->symbols
(define TCSANOW 0)
(define TCSADRAIN 1)
(define TCSAFLUSH 2))
(define-record-type <termios>
(termios input-flags output-flags control-flags local-flags
@@ -1107,8 +1107,8 @@ given an integer, returns the list of names of the constants that are or'd."
(define tcsetattr
(let ((proc (syscall->procedure int "tcsetattr" (list int int '*))))
(lambda (fd actions termios)
"Use TERMIOS for the tty at FD. ACTIONS is one of 'TCSANOW',
'TCSADRAIN', or 'TCSAFLUSH'; see tcsetattr(3) for details."
"Use TERMIOS for the tty at FD. ACTIONS is one of of the values
produced by 'tcsetattr-action'; see tcsetattr(3) for details."
(define bv
(make-bytevector sizeof-termios))

View File

@@ -281,7 +281,7 @@
(test-assert "tcsetattr"
(let ((first (tcgetattr 0)))
(tcsetattr 0 TCSANOW first)
(tcsetattr 0 (tcsetattr-action TCSANOW) first)
(equal? first (tcgetattr 0))))
(test-assert "terminal-window-size ENOTTY"