GETTTYENT(3) Library Functions Manual GETTTYENT(3)
NAME
getttyent, getttynam, setttyent, endttyent - get ttys file entry
SYNOPSIS
#include <ttyent.h>
struct ttyent *getttyent()
struct ttyent *getttynam(name)
char *name;
setttyent()
endttyent()
DESCRIPTION
Getttyent, and getttynam each return a pointer to an object with the following structure containing the broken-out fields of a line from
the tty description file.
/*
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)ttyent.h 8.1 (Berkeley) 6/2/93
*/
#ifndef _TTYENT_H
#define _TTYENT_H 1
#include <features.h>
#define _PATH_TTYS "/etc/ttys"
#define _TTYS_OFF "off"
#define _TTYS_ON "on"
#define _TTYS_SECURE "secure"
#define _TTYS_WINDOW "window"
struct ttyent {
char *ty_name; /* terminal device name */
char *ty_getty; /* command to execute, usually getty */
char *ty_type; /* terminal type for termcap */
#define TTY_ON 0x01 /* enable logins (start ty_getty program) */
#define TTY_SECURE 0x02 /* allow uid of 0 to login */
int ty_status; /* status flags */
char *ty_window; /* command to start up window manager */
char *ty_comment; /* comment field */
};
__BEGIN_DECLS
extern struct ttyent *getttyent (void) __THROW;
extern struct ttyent *getttynam (const char *__tty) __THROW;
extern int setttyent (void) __THROW;
extern int endttyent (void) __THROW;
__END_DECLS
#endif /* ttyent.h */
ty_name is the name of the character-special file in the directory ``/dev". For various reasons, it must reside in the directory
``/dev".
ty_getty is the command (usually getty(8)) which is invoked by init to initialize tty line characteristics. In fact, any arbitrary
command can be used; a typical use is to initiate a terminal emulator in a window system.
ty_type is the name of the default terminal type connected to this tty line. This is typically a name from the termcap(5) data base.
The environment variable `TERM' is initialized with this name by getty(8) or login(1).
ty_status is a mask of bit fields which indicate various actions to be allowed on this tty line. The following is a description of each
flag.
TTY_ON Enables logins (i.e., init(8) will start the specified ``getty" command on this entry).
TTY_SECURE Allows root to login on this terminal. Note that `TTY_ON' must be included for this to be useful.
ty_window is the command to execute for a window system associated with the line. The window system will be started before the command
specified in the ty_getty entry is executed. If none is specified, this will be null.
ty_comment is the trailing comment field, if any; a leading delimiter and white space will be removed.
Getttyent reads the next line from the ttys file, opening the file if necessary; setttyent rewinds the file; endttyent closes it.
Getttynam searches from the beginning of the file until a matching name is found (or until EOF is encountered).
FILES
/etc/ttys
SEE ALSO
login(1), ttyslot(3), ttys(5), gettytab(5), termcap(5), getty(8), init(8)
DIAGNOSTICS
Null pointer (0) returned on EOF or error.
BUGS
All information is contained in a static area so it must be copied if it is to be saved.
4.3 Berkeley Distribution May 20, 1986 GETTTYENT(3)