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