[9] | 1 | .TH GETTTYENT 3
|
---|
| 2 | .SH NAME
|
---|
| 3 | getttyent, getttynam, setttyent, endttyent \- interface to /etc/ttytab
|
---|
| 4 | .SH SYNOPSIS
|
---|
| 5 | .ft B
|
---|
| 6 | .nf
|
---|
| 7 | #include <ttyent.h>
|
---|
| 8 |
|
---|
| 9 | struct ttyent *getttyent(void)
|
---|
| 10 | struct ttyent *getttynam(const char *\fIname\fP)
|
---|
| 11 | int setttyent(void)
|
---|
| 12 | void endttyent(void)
|
---|
| 13 | .fi
|
---|
| 14 | .ft P
|
---|
| 15 | .SH DESCRIPTION
|
---|
| 16 | The
|
---|
| 17 | .B getttyent
|
---|
| 18 | functions provide an interface to the /etc/ttytab. (See
|
---|
| 19 | .BR ttytab (5)).
|
---|
| 20 | .PP
|
---|
| 21 | To read one of these files one calls
|
---|
| 22 | .B getttyent()
|
---|
| 23 | several times to read the entries in the table until NULL is returned for
|
---|
| 24 | end-of-file.
|
---|
| 25 | .PP
|
---|
| 26 | .B Getttyname()
|
---|
| 27 | searches the
|
---|
| 28 | .B ttytab
|
---|
| 29 | file for the given terminal device. It is equivalent to a call to
|
---|
| 30 | .BR setttyent(),
|
---|
| 31 | several calls to
|
---|
| 32 | .B getttyent()
|
---|
| 33 | to locate the entry, and a final
|
---|
| 34 | .B endttyent()
|
---|
| 35 | to close the file.
|
---|
| 36 | .PP
|
---|
| 37 | .B Setttyent()
|
---|
| 38 | opens or rewinds the ttytab database, and
|
---|
| 39 | .B endttyent() closes it.
|
---|
| 40 | .B Getttyent()
|
---|
| 41 | opens the database if not already open, but does not close it.
|
---|
| 42 | .PP
|
---|
| 43 | The struct ttyent is defined by <ttyent.h> as follows:
|
---|
| 44 | .sp
|
---|
| 45 | .nf
|
---|
| 46 | .ta +4n +6n +15n
|
---|
| 47 | struct ttyent {
|
---|
| 48 | char *ty_name; /* Name of the terminal device. */
|
---|
| 49 | char *ty_type; /* Terminal type name (termcap(3)). */
|
---|
| 50 | char **ty_getty; /* Program to run, normally getty. */
|
---|
| 51 | char **ty_init; /* Initialization command, normally stty. */
|
---|
| 52 | };
|
---|
| 53 | .fi
|
---|
| 54 | .PP
|
---|
| 55 | A valid entry has at least two strings, so both
|
---|
| 56 | .B ty_name
|
---|
| 57 | and
|
---|
| 58 | .B ty_type
|
---|
| 59 | are filled in. The optional
|
---|
| 60 | .B ty_getty
|
---|
| 61 | and
|
---|
| 62 | .B ty_init
|
---|
| 63 | may be NULL (field omitted), point to a pointer that is NULL (null lenght
|
---|
| 64 | field, i.e. ""), or an array of strings terminated by a NULL (field
|
---|
| 65 | present). For now no useful distinction can be made between a omitted field
|
---|
| 66 | and an empty field, so treat both cases as an omission.
|
---|
| 67 | .SH FILES
|
---|
| 68 | .TP 15
|
---|
| 69 | .B /etc/ttytab
|
---|
| 70 | The terminal device database
|
---|
| 71 | .SH "SEE ALSO"
|
---|
| 72 | .BR ttyname (3),
|
---|
| 73 | .BR ttyslot (3),
|
---|
| 74 | .BR ttytab (5),
|
---|
| 75 | .BR init (8).
|
---|
| 76 | .SH DIAGNOSTICS
|
---|
| 77 | .B Setttyent()
|
---|
| 78 | has the same return value and error codes as the
|
---|
| 79 | .BR open (2)
|
---|
| 80 | call it uses to open the ttytab file. The
|
---|
| 81 | .BI get xxx ()
|
---|
| 82 | functions return NULL on end of file, entry not found, or error. You can
|
---|
| 83 | set
|
---|
| 84 | .B errno
|
---|
| 85 | to zero before the call and check it after.
|
---|
| 86 | .SH NOTES
|
---|
| 87 | .B Getttyent()
|
---|
| 88 | and
|
---|
| 89 | .B getttynam()
|
---|
| 90 | return a pointer to static storage that is overwritten in each call.
|
---|
| 91 | .PP
|
---|
| 92 | The MINIX 3
|
---|
| 93 | .B struct ttyent
|
---|
| 94 | has only the
|
---|
| 95 | .B ty_name
|
---|
| 96 | and
|
---|
| 97 | .B ty_type
|
---|
| 98 | fields in common with the BSD implementation. This does not seem to be a
|
---|
| 99 | problem, because most third party software that need to know about terminals
|
---|
| 100 | only look at the
|
---|
| 101 | .B ty_name
|
---|
| 102 | field.
|
---|
| 103 | .SH AUTHOR
|
---|
| 104 | Kees J. Bot (kjb@cs.vu.nl)
|
---|
| 105 |
|
---|
| 106 | .\"
|
---|
| 107 | .\" $PchId: getttyent.3,v 1.2 1996/04/11 06:57:26 philip Exp $
|
---|