Re: New man page: scandirat(3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI Mark,

On Wed, Nov 16, 2011 at 2:09 AM, Mark R Bannister
<mark@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> I've written a man page for scandirat(3) that is new
> to glibc 2.15.  The man page is based on the text
> used in mkfifoat(3) which was very similar.  I am
> happy for this man page to be distributed under
> the terms of the GNU General Public License
> version 3 or later.

Although http://www.kernel.org/doc/man-pages/licenses.html#gpl
mentions v3 and v2, I see that no existing page uses v3. I'd like to
avoid v3 for pragmatic reasons:

* The GPL is a license primarily designed for code, which is why I
prefer the "verbatim" license
(http://www.kernel.org/doc/man-pages/licenses.html#verbatim).

* I'd like to avoid further licensing proliferation in man-pages.

Would you consider relicensing under either the verbatim license or GPLv2?

>
> The information in the man page was checked against the source code for glibc 2.15.
>
> I include the patch inline below, and also as an attachment.

Thanks. Some comments below. Could you review and send me a new draft please.

> Best regards,
> Mark Bannister.
>
> .\" Hey Emacs! This file is -*- nroff -*- source.
> .\"
> .\" Copyright (c) 2011, Mark R. Bannister <cambridge@xxxxxxxxxxxxxxxxxxxxx>
> .\"        based on text in mkfifoat.3 Copyright (c) 2006, Michael Kerrisk
> .\"
> .\" This is free documentation; you can redistribute it and/or
> .\" modify it under the terms of the GNU General Public License as
> .\" published by the Free Software Foundation; either version 3 of
> .\" the License, or (at your option) any later version.
> .\"
> .\" The GNU General Public License's references to "object code"
> .\" and "executables" are to be interpreted as the output of any
> .\" document formatting or typesetting system, including
> .\" intermediate and printed output.
> .\"
> .\" This manual is distributed in the hope that it will be useful,
> .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
> .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> .\" GNU General Public License for more details.
> .\"
> .\" You should have received a copy of the GNU General Public
> .\" License along with this manual; if not, write to the Free
> .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
> .\" USA.
> .\"
> .TH SCANDIRAT 3 2011-11-15 "Linux" "Linux Programmer's Manual"
> .SH NAME
> scandirat \- scan a directory relative to a directory file descriptor
> .SH SYNOPSIS
> .nf
> .B #include <fcntl.h>           /* Definition of AT_* constants */
> .B #include <dirent.h>
> .sp
> .fi
> .BI "int scandir(int " dirfd ", const char *" dirp ","

scandirat

> .BI "struct dirent ***" namelist ,
> .nf
> .RS
> .BI "int (*" filter ")(const struct dirent *),"
> .BI "int (*" compar ")(const struct dirent **, const struct dirent **));"
> .RE
> .fi

Need to document feature test macro requirements. _GNU_SOURCE, I think

> .SH DESCRIPTION
> The
> .BR scandirat ()
> system call operates in exactly the same way as
> .BR scandir (3),
> except for the differences described in this manual page.
>
> If the pathname given in
> .I dirp
> is relative, then it is interpreted relative to the directory
> referred to by the file descriptor
> .I dirfd
> (rather than relative to the current working directory of
> the calling process, as is done by
> .BR scandir (3)
> for a relative pathname).
>
> If
> .I dirp
> is relative and
> .I dirfd
> is the special value
> .BR AT_FDCWD ,
> then
> .I dirp
> is interpreted relative to the current working
> directory of the calling process (like
> .BR scandir (3)).
>
> If
> .I dirp
> is absolute, then
> .I dirfd
> is ignored.
> .SH "RETURN VALUE"
> On success,
> .BR scandirat ()
> returns the number of directory entries selected.
> On error, \-1 is returned and
> .I errno
> is set to indicate the error.
> .SH ERRORS
> The same errors that occur for
> .BR scandir (3)
> can also occur for
> .BR scandirat ().
> The following additional errors can occur for
> .BR scandirat ():
> .TP
> .B EBADF
> .I dirfd
> is not a valid file descriptor.
> .TP
> .B ENOTDIR
> .I dirp
> is a relative path and
> .I dirfd
> is a file descriptor referring to a file other than a directory.
> .SH VERSIONS
> .BR scandirat ()
> was added to glibc in version 2.15.
> .SH "CONFORMING TO"
> This system call is non-standard but is proposed for inclusion in a
> future revision of POSIX.1.

I haven't checked this. Can you provide some details confirming that
this is on the schedule for POSIX.1?


> .SH NOTES
> See
> .BR openat (2)
> for an explanation of the need for
> .BR scandirat ().
> .SH "SEE ALSO"
> .BR openat (2),
> .BR scandir (3),
> .BR path_resolution (7).

No dot at end of SEE ALSO list.

Cheers,

Michael


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux