xref: /dflybsd-src/contrib/openpam/doc/man/openpam_readline.3 (revision ade90846ffbb7aead93829eaba21d490f1a7bc6c)
1*ade90846SJoerg Sonnenberger.\"-
2*ade90846SJoerg Sonnenberger.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
3*ade90846SJoerg Sonnenberger.\" All rights reserved.
4*ade90846SJoerg Sonnenberger.\"
5*ade90846SJoerg Sonnenberger.\" This software was developed for the FreeBSD Project by ThinkSec AS and
6*ade90846SJoerg Sonnenberger.\" Network Associates Laboratories, the Security Research Division of
7*ade90846SJoerg Sonnenberger.\" Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035
8*ade90846SJoerg Sonnenberger.\" ("CBOSS"), as part of the DARPA CHATS research program.
9*ade90846SJoerg Sonnenberger.\"
10*ade90846SJoerg Sonnenberger.\" Redistribution and use in source and binary forms, with or without
11*ade90846SJoerg Sonnenberger.\" modification, are permitted provided that the following conditions
12*ade90846SJoerg Sonnenberger.\" are met:
13*ade90846SJoerg Sonnenberger.\" 1. Redistributions of source code must retain the above copyright
14*ade90846SJoerg Sonnenberger.\"    notice, this list of conditions and the following disclaimer.
15*ade90846SJoerg Sonnenberger.\" 2. Redistributions in binary form must reproduce the above copyright
16*ade90846SJoerg Sonnenberger.\"    notice, this list of conditions and the following disclaimer in the
17*ade90846SJoerg Sonnenberger.\"    documentation and/or other materials provided with the distribution.
18*ade90846SJoerg Sonnenberger.\" 3. The name of the author may not be used to endorse or promote
19*ade90846SJoerg Sonnenberger.\"    products derived from this software without specific prior written
20*ade90846SJoerg Sonnenberger.\"    permission.
21*ade90846SJoerg Sonnenberger.\"
22*ade90846SJoerg Sonnenberger.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
23*ade90846SJoerg Sonnenberger.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24*ade90846SJoerg Sonnenberger.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25*ade90846SJoerg Sonnenberger.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
26*ade90846SJoerg Sonnenberger.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27*ade90846SJoerg Sonnenberger.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28*ade90846SJoerg Sonnenberger.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29*ade90846SJoerg Sonnenberger.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30*ade90846SJoerg Sonnenberger.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31*ade90846SJoerg Sonnenberger.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32*ade90846SJoerg Sonnenberger.\" SUCH DAMAGE.
33*ade90846SJoerg Sonnenberger.\"
34*ade90846SJoerg Sonnenberger.\" $P4$
35*ade90846SJoerg Sonnenberger.\"
36*ade90846SJoerg Sonnenberger.Dd June 16, 2005
37*ade90846SJoerg Sonnenberger.Dt OPENPAM_READLINE 3
38*ade90846SJoerg Sonnenberger.Os
39*ade90846SJoerg Sonnenberger.Sh NAME
40*ade90846SJoerg Sonnenberger.Nm openpam_readline
41*ade90846SJoerg Sonnenberger.Nd read a line from a file
42*ade90846SJoerg Sonnenberger.Sh LIBRARY
43*ade90846SJoerg Sonnenberger.Lb libpam
44*ade90846SJoerg Sonnenberger.Sh SYNOPSIS
45*ade90846SJoerg Sonnenberger.In sys/types.h
46*ade90846SJoerg Sonnenberger.In security/pam_appl.h
47*ade90846SJoerg Sonnenberger.In security/openpam.h
48*ade90846SJoerg Sonnenberger.Ft "char *"
49*ade90846SJoerg Sonnenberger.Fn openpam_readline "FILE *f" "int *lineno" "size_t *lenp"
50*ade90846SJoerg Sonnenberger.Sh DESCRIPTION
51*ade90846SJoerg SonnenbergerThe
52*ade90846SJoerg Sonnenberger.Nm
53*ade90846SJoerg Sonnenbergerfunction reads a line from a file, and returns it
54*ade90846SJoerg Sonnenbergerin a NUL-terminated buffer allocated with
55*ade90846SJoerg Sonnenberger.Xr malloc 3 .
56*ade90846SJoerg Sonnenberger.Pp
57*ade90846SJoerg SonnenbergerThe
58*ade90846SJoerg Sonnenberger.Nm
59*ade90846SJoerg Sonnenbergerfunction performs a certain amount of processing
60*ade90846SJoerg Sonnenbergeron the data it reads.
61*ade90846SJoerg SonnenbergerComments (introduced by a hash sign) are stripped, as is leading and
62*ade90846SJoerg Sonnenbergertrailing whitespace.
63*ade90846SJoerg SonnenbergerAny amount of linear whitespace is collapsed to a single space.
64*ade90846SJoerg SonnenbergerBlank lines are ignored.
65*ade90846SJoerg SonnenbergerIf a line ends in a backslash, the backslash is stripped and the next
66*ade90846SJoerg Sonnenbergerline is appended.
67*ade90846SJoerg Sonnenberger.Pp
68*ade90846SJoerg SonnenbergerIf
69*ade90846SJoerg Sonnenberger.Fa lineno
70*ade90846SJoerg Sonnenbergeris not
71*ade90846SJoerg Sonnenberger.Dv NULL ,
72*ade90846SJoerg Sonnenbergerthe integer variable it points to is
73*ade90846SJoerg Sonnenbergerincremented every time a newline character is read.
74*ade90846SJoerg Sonnenberger.Pp
75*ade90846SJoerg SonnenbergerIf
76*ade90846SJoerg Sonnenberger.Fa lenp
77*ade90846SJoerg Sonnenbergeris not
78*ade90846SJoerg Sonnenberger.Dv NULL ,
79*ade90846SJoerg Sonnenbergerthe length of the line (not including the
80*ade90846SJoerg Sonnenbergerterminating NUL character) is stored in the variable it points to.
81*ade90846SJoerg Sonnenberger.Pp
82*ade90846SJoerg SonnenbergerThe caller is responsible for releasing the returned buffer by passing
83*ade90846SJoerg Sonnenbergerit to
84*ade90846SJoerg Sonnenberger.Xr free 3 .
85*ade90846SJoerg Sonnenberger.Sh RETURN VALUES
86*ade90846SJoerg SonnenbergerThe
87*ade90846SJoerg Sonnenberger.Nm
88*ade90846SJoerg Sonnenbergerfunction returns
89*ade90846SJoerg Sonnenberger.Dv NULL
90*ade90846SJoerg Sonnenbergeron failure.
91*ade90846SJoerg Sonnenberger.Sh SEE ALSO
92*ade90846SJoerg Sonnenberger.Xr free 3 ,
93*ade90846SJoerg Sonnenberger.Xr malloc 3 ,
94*ade90846SJoerg Sonnenberger.Xr pam 3
95*ade90846SJoerg Sonnenberger.Sh STANDARDS
96*ade90846SJoerg SonnenbergerThe
97*ade90846SJoerg Sonnenberger.Nm
98*ade90846SJoerg Sonnenbergerfunction is an OpenPAM extension.
99*ade90846SJoerg Sonnenberger.Sh AUTHORS
100*ade90846SJoerg SonnenbergerThe
101*ade90846SJoerg Sonnenberger.Nm
102*ade90846SJoerg Sonnenbergerfunction and this manual page were developed for the
103*ade90846SJoerg Sonnenberger.Fx
104*ade90846SJoerg SonnenbergerProject by ThinkSec AS and Network Associates Laboratories, the
105*ade90846SJoerg SonnenbergerSecurity Research Division of Network Associates, Inc.& under
106*ade90846SJoerg SonnenbergerDARPA/SPAWAR contract N66001-01-C-8035
107*ade90846SJoerg Sonnenberger.Pq Dq CBOSS ,
108*ade90846SJoerg Sonnenbergeras part of the DARPA CHATS research program.
109