getttyent, getttynam, setttyent, endttyent — get ttys file entry


#include <ttyent.h>

struct ttyent *getttyent(void);

struct ttyent *getttynam(const char *name);

int setttyent(void);

int endttyent(void);


These functions provide an interface to the file _PATH_TTYS (e.g., /etc/ttys).

The function setttyent() opens the file or rewinds it if already open.

The function endttyent() closes the file.

The function getttynam() searches for a given terminal name in the file. It returns a pointer to a ttyent structure (description below).

The function getttyent() opens the file _PATH_TTYS (if necessary) and returns the first entry. If the file is already open, the next entry. The ttyent structure has the form:

struct ttyent {
    char *ty_name;     /* terminal device name */
    char *ty_getty;    /* command to execute, usually getty */
    char *ty_type;     /* terminal type for termcap */
    int   ty_status;   /* status flags */
    char *ty_window;   /* command to start up window manager */
    char *ty_comment;  /* comment field */

ty_status can be:

#define TTY_ON     0x01  /* enable logins (start ty_getty program) */
#define TTY_SECURE 0x02  /* allow UID 0 to login */


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
getttyent(), setttyent(), endttyent(), getttynam() Thread safety MT-Unsafe race:ttyent

Conforming to

Not in POSIX.1. Present on the BSDs, and perhaps other systems.


Under Linux, the file /etc/ttys, and the functions described above, are not used.

See Also

ttyname(3), ttyslot(3)


This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at

Referenced By


The man pages endttyent(3), getttynam(3) and setttyent(3) are aliases of getttyent(3).

2017-09-15 GNU Linux Programmer's Manual