Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tcgetattr(3P) — NEXTSTEP 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

termios(4P)

TCGETATTR(3P)  —  UNIX Programmer’s Manual

NAME

tcgetattr, tcsetattr − get and set terminal attributes

SYNOPSIS

#include <termios.h>

int tcgetattr(int fildes, struct termios ∗termios_p);

int tcsetattr(int fildes, int actions, const struct termios ∗termios_p);

DESCRIPTION

The tcgetattr function gets the parameters associated with an open terminal file, passed through the fildes argument.  It stores the parameters in the termios structure passed through the argument tp.  This function may be called from a background process; however, the terminal attributes may be subsequently changed by a foreground process. 

The tcsetattr function sets the parameters associated with the terminal to those in the termios structure referenced by termios_p.  The possible values of the actions argument are the following constants defined in <termios.h>:

ConstantDescription

TCSANOWSet the terminal attributes immediately. 

TCSADRAINSet the terminal attributes after all output that has already been written to fildes has been transmitted. 

TCSAFLUSHSet the terminal attributes after all output that has already been written to fildes has been transmitted.  Discard all input that has not been read before setting the attributes. 

A process that is not in the foreground process group cannot call tcsetattr for its controlling terminal. 

The tcsetattr function returns success if it was able to perform any of the requested actions, even if some of the requested actions could not be performed. 

RETURN VALUE

Upon successful completion tcgetattr and tcsetattr return a value of zero.  Otherwise, a value of -1 is returned and errno is set to indicate the error. 

ERRORS

Tcgetattr and tcsetattr shall return −1 and set errno to the corresponding value:

[EBADF] The fildes argument is not a valid file descriptor. 

[ENOTTY] The file associated with fildes is not a terminal. 

The following errors may be associated with tcsetattr:

[EINTR] A signal interrupted the tcsetattr function. 

[EINVAL] The value of the pgrp_id argument is not valid. 

SEE ALSO

termios(4P)

4th Berkeley Distribution  —  August 1, 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026