termios: make __tcsetattr() the internal interface

There is a prototype for an internal __tcsetattr() function in
include/termios.h, but tcsetattr without __ were still declared as the
actual functions.

Make this match the comment and make __tcsetattr() an internal
interface. This will be required to version struct termios for Linux on
MIPS and SPARC.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
H. Peter Anvin (Intel) 2025-06-11 18:35:32 -07:00 committed by Adhemerval Zanella
parent 1164979474
commit edf7328db2
6 changed files with 12 additions and 9 deletions

View File

@ -10,7 +10,7 @@ extern int __tcsetattr (int __fd, int __optional_actions,
extern int __libc_tcdrain (int __fd); extern int __libc_tcdrain (int __fd);
libc_hidden_proto (__tcgetattr) libc_hidden_proto (__tcgetattr)
libc_hidden_proto (tcsetattr) libc_hidden_proto (__tcsetattr)
libc_hidden_proto (cfsetispeed) libc_hidden_proto (cfsetispeed)
libc_hidden_proto (cfsetospeed) libc_hidden_proto (cfsetospeed)

View File

@ -124,7 +124,7 @@ __openpty (int *pptmx, int *pterminal, char *name,
/* XXX Should we ignore errors here? */ /* XXX Should we ignore errors here? */
if (termp) if (termp)
tcsetattr (terminal, TCSAFLUSH, termp); __tcsetattr (terminal, TCSAFLUSH, termp);
#ifdef TIOCSWINSZ #ifdef TIOCSWINSZ
if (winp) if (winp)
__ioctl (terminal, TIOCSWINSZ, winp); __ioctl (terminal, TIOCSWINSZ, winp);

View File

@ -83,7 +83,7 @@ getpass (const char *prompt)
s = t; s = t;
/* Tricky, tricky. */ /* Tricky, tricky. */
t.c_lflag &= ~(ECHO|ISIG); t.c_lflag &= ~(ECHO|ISIG);
tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0); tty_changed = (__tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
} }
else else
tty_changed = 0; tty_changed = 0;
@ -110,7 +110,7 @@ getpass (const char *prompt)
/* Restore the original setting. */ /* Restore the original setting. */
if (tty_changed) if (tty_changed)
(void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s); (void) __tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
funlockfile (out); funlockfile (out);

View File

@ -32,7 +32,7 @@
/* Set the state of FD to *TERMIOS_P. */ /* Set the state of FD to *TERMIOS_P. */
int int
tcsetattr (int fd, int optional_actions, const struct termios *termios_p) __tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{ {
struct termios myt; struct termios myt;
@ -56,4 +56,6 @@ tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
return __ioctl (fd, TIOCSETAF, termios_p); return __ioctl (fd, TIOCSETAF, termios_p);
} }
} }
libc_hidden_def (tcsetattr)
libc_hidden_def (__tcsetattr)
weak_alias (__tcsetattr, tcsetattr)

View File

@ -77,5 +77,5 @@ __tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
} }
libc_hidden_def (__tcsetattr)
weak_alias (__tcsetattr, tcsetattr) weak_alias (__tcsetattr, tcsetattr)
libc_hidden_def (tcsetattr)

View File

@ -23,7 +23,7 @@ static int bad_speed (speed_t speed);
/* Set the state of FD to *TERMIOS_P. */ /* Set the state of FD to *TERMIOS_P. */
int int
tcsetattr (int fd, int optional_actions, const struct termios *termios_p) __tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{ {
if (fd < 0) if (fd < 0)
{ {
@ -57,7 +57,8 @@ tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
__set_errno (ENOSYS); __set_errno (ENOSYS);
return -1; return -1;
} }
libc_hidden_def (tcsetattr) libc_hidden_def (__tcsetattr)
weak_alias (__tcsetattr, tcsetattr)
/* Strychnine checking. */ /* Strychnine checking. */
static int static int