bridge(4): document net.link.bridge.pfil_onlyip
[dragonfly.git] / lib / libc / gen / getttyent.3
bloba3a95cfe3b0d595bebcf917de3d7812caed1ec95
1 .\" Copyright (c) 1989, 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\"     @(#)getttyent.3 8.1 (Berkeley) 6/4/93
29 .\" $FreeBSD: src/lib/libc/gen/getttyent.3,v 1.15 2007/01/09 00:27:54 imp Exp $
30 .\"
31 .Dd September 20, 2023
32 .Dt GETTTYENT 3
33 .Os
34 .Sh NAME
35 .Nm getttyent ,
36 .Nm getttynam ,
37 .Nm setttyent ,
38 .Nm endttyent ,
39 .Nm isdialuptty ,
40 .Nm isnettty
41 .Nd
42 .Xr ttys 5
43 file routines
44 .Sh LIBRARY
45 .Lb libc
46 .Sh SYNOPSIS
47 .In ttyent.h
48 .Ft struct ttyent *
49 .Fn getttyent void
50 .Ft struct ttyent *
51 .Fn getttynam "const char *name"
52 .Ft int
53 .Fn setttyent void
54 .Ft int
55 .Fn endttyent void
56 .Ft int
57 .Fn isdialuptty "const char *name"
58 .Ft int
59 .Fn isnettty "const char *name"
60 .Sh DESCRIPTION
61 The
62 .Fn getttyent ,
63 and
64 .Fn getttynam
65 functions
66 each return a pointer to an object, with the following structure,
67 containing the broken-out fields of a line from the tty description
68 file.
69 .Bd -literal
70 struct ttyent {
71         char    *ty_name;       /* terminal device name */
72         char    *ty_getty;      /* command to execute, usually getty */
73         char    *ty_type;       /* terminal type for termcap */
74         int     ty_status;      /* status flags */
75         char    *ty_window;     /* command to start up window manager */
76         char    *ty_comment;    /* comment field */
77         char    *ty_group;      /* tty group name */
79 .Ed
80 .Pp
81 The fields are as follows:
82 .Bl -tag -width ".Fa ty_comment"
83 .It Fa ty_name
84 The name of the character-special file.
85 .It Fa ty_getty
86 The name of the command invoked by
87 .Xr init 8
88 to initialize tty line characteristics.
89 .It Fa ty_type
90 The name of the default terminal type connected to this tty line.
91 .It Fa ty_status
92 A mask of bit fields which indicate various actions allowed on this
93 tty line.
94 The possible flags are as follows:
95 .Bl -tag -width ".Dv TTY_IFCONSOLE"
96 .It Dv TTY_ON
97 Enables logins (i.e.,
98 .Xr init 8
99 will start the command referenced by
100 .Fa ty_getty
101 on this entry).
102 .It Dv TTY_SECURE
103 Allow users with a uid of 0 to login on this terminal.
104 .It Dv TTY_DIALUP
105 Identifies a tty as a dialin line.
106 If this flag is set, then
107 .Fn isdialuptty
108 will return a non-zero value.
109 .It Dv TTY_NETWORK
110 Identifies a tty used for network connections.
111 If this flag is set, then
112 .Fn isnettty
113 will return a non-zero value.
114 .It TTY_IFCONSOLE
115 Only enables a tty if it's the console.
116 .It TTY_IFEXISTS
117 Only enables a tty if it exists.
119 .It Fa ty_window
120 The command to execute for a window system associated with the line.
121 .It Fa ty_group
122 A group name to which the tty belongs.
123 If no group is specified in the ttys description file,
124 then the tty is placed in an anonymous group called
125 .Dq none .
126 .It Fa ty_comment
127 Any trailing comment field, with any leading hash marks
128 .Pq #
129 or whitespace removed.
132 If any of the fields pointing to character strings are unspecified,
133 they are returned as null pointers.
134 The field
135 .Fa ty_status
136 will be zero if no flag values are specified.
139 .Xr ttys 5
140 for a more complete discussion of the meaning and usage of the
141 fields.
144 .Fn getttyent
145 function
146 reads the next line from the ttys file, opening the file if necessary.
148 .Fn setttyent
149 function
150 rewinds the file if open, or opens the file if it is unopened.
152 .Fn endttyent
153 function
154 closes any open files.
157 .Fn getttynam
158 function
159 searches from the beginning of the file until a matching
160 .Fa name
161 is found
162 (or until
163 .Dv EOF
164 is encountered).
165 .Sh RETURN VALUES
166 The routines
167 .Fn getttyent
169 .Fn getttynam
170 return a null pointer on
171 .Dv EOF
172 or error.
174 .Fn setttyent
175 function
177 .Fn endttyent
178 return 0 on failure and 1 on success.
180 The routines
181 .Fn isdialuptty
183 .Fn isnettty
184 return non-zero if the dialup or network flag is set for the
185 tty entry relating to the tty named by the argument, and
186 zero otherwise.
187 .Sh FILES
188 .Bl -tag -width ".Pa /etc/ttys" -compact
189 .It Pa /etc/ttys
191 .Sh SEE ALSO
192 .Xr login 1 ,
193 .Xr gettytab 5 ,
194 .Xr termcap 5 ,
195 .Xr ttys 5 ,
196 .Xr getty 8 ,
197 .Xr init 8
198 .Sh HISTORY
200 .Fn getttyent ,
201 .Fn getttynam ,
202 .Fn setttyent ,
204 .Fn endttyent
205 functions appeared in
206 .Bx 4.3 .
207 .Sh BUGS
208 These functions use static data storage;
209 if the data is needed for future use, it should be
210 copied before any subsequent calls overwrite it.