. use library function to parse memory string
[minix3.git] / man / man3 / getttyent.3
blob75b4c3ff57db7842d81a83c5a9770cc3106ba096
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>
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. */
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)
107 .\" $PchId: getttyent.3,v 1.2 1996/04/11 06:57:26 philip Exp $