Module Name: src
Committed By: jruoho
Date: Sun May 16 15:33:30 UTC 2010
Modified Files:
src/distrib/sets/lists/comp: mi
src/distrib/sets/lists/man: mi
src/share/man/man3: Makefile
src/share/man/man5: Makefile
Added Files:
src/share/man/man3: dirent.3
Removed Files:
src/share/man/man5: dir.5
Log Message:
As was done with the man-page for <sys/types.h>, move dir(5) to dirent(3).
Add a table describing the stat <-> dirent types. Note IFTODT() and DTTOIF().
To generate a diff of this commit:
cvs rdiff -u -r1.1446 -r1.1447 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1208 -r1.1209 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.50 -r1.51 src/share/man/man3/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man3/dirent.3
cvs rdiff -u -r1.63 -r1.64 src/share/man/man5/Makefile
cvs rdiff -u -r1.24 -r0 src/share/man/man5/dir.5
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.1446 src/distrib/sets/lists/comp/mi:1.1447
--- src/distrib/sets/lists/comp/mi:1.1446 Sat May 15 09:00:52 2010
+++ src/distrib/sets/lists/comp/mi Sun May 16 15:33:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1446 2010/05/15 09:00:52 njoly Exp $
+# $NetBSD: mi,v 1.1447 2010/05/16 15:33:29 jruoho Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -4393,6 +4393,7 @@
./usr/share/man/cat3/DSA_set_method.0 comp-c-catman crypto,.cat
./usr/share/man/cat3/DSA_sign.0 comp-c-catman crypto,.cat
./usr/share/man/cat3/DSA_size.0 comp-c-catman crypto,.cat
+./usr/share/man/cat3/DTTOIF.0 comp-c-catman .cat
./usr/share/man/cat3/ERR_GET_LIB.0 comp-c-catman crypto,.cat
./usr/share/man/cat3/ERR_clear_error.0 comp-c-catman crypto,.cat
./usr/share/man/cat3/ERR_error_string.0 comp-c-catman crypto,.cat
@@ -4467,6 +4468,7 @@
./usr/share/man/cat3/GCQ_INIT.0 comp-sys-catman .cat
./usr/share/man/cat3/GCQ_INIT_HEAD.0 comp-sys-catman .cat
./usr/share/man/cat3/GCQ_ITEM.0 comp-sys-catman .cat
+./usr/share/man/cat3/IFTODT.0 comp-c-catman .cat
./usr/share/man/cat3/LIST_EMPTY.0 comp-c-catman .cat
./usr/share/man/cat3/LIST_ENTRY.0 comp-c-catman .cat
./usr/share/man/cat3/LIST_FIRST.0 comp-c-catman .cat
@@ -5526,7 +5528,9 @@
./usr/share/man/cat3/dgettext.0 comp-c-catman .cat
./usr/share/man/cat3/dh.0 comp-obsolete obsolete
./usr/share/man/cat3/difftime.0 comp-c-catman .cat
+./usr/share/man/cat3/dir.0 comp-c-catman .cat
./usr/share/man/cat3/directory.0 comp-c-catman .cat
+./usr/share/man/cat3/dirent.0 comp-c-catman .cat
./usr/share/man/cat3/dirfd.0 comp-c-catman .cat
./usr/share/man/cat3/dirname.0 comp-c-catman .cat
./usr/share/man/cat3/disklabel_dkcksum.0 comp-c-catman .cat
@@ -10285,6 +10289,7 @@
./usr/share/man/html3/DSA_set_method.html comp-c-htmlman crypto,html
./usr/share/man/html3/DSA_sign.html comp-c-htmlman crypto,html
./usr/share/man/html3/DSA_size.html comp-c-htmlman crypto,html
+./usr/share/man/html3/DTTOIF.html comp-c-htmlman html
./usr/share/man/html3/ERR_GET_LIB.html comp-c-htmlman crypto,html
./usr/share/man/html3/ERR_clear_error.html comp-c-htmlman crypto,html
./usr/share/man/html3/ERR_error_string.html comp-c-htmlman crypto,html
@@ -10359,6 +10364,7 @@
./usr/share/man/html3/GCQ_INIT.html comp-sys-htmlman html
./usr/share/man/html3/GCQ_INIT_HEAD.html comp-sys-htmlman html
./usr/share/man/html3/GCQ_ITEM.html comp-sys-htmlman html
+./usr/share/man/html3/IFTODT.html comp-c-htmlman html
./usr/share/man/html3/LIST_EMPTY.html comp-c-htmlman html
./usr/share/man/html3/LIST_ENTRY.html comp-c-htmlman html
./usr/share/man/html3/LIST_FIRST.html comp-c-htmlman html
@@ -11362,7 +11368,9 @@
./usr/share/man/html3/devname.html comp-c-htmlman html
./usr/share/man/html3/dgettext.html comp-c-htmlman html
./usr/share/man/html3/difftime.html comp-c-htmlman html
+./usr/share/man/html3/dir.html comp-c-htmlman html
./usr/share/man/html3/directory.html comp-c-htmlman html
+./usr/share/man/html3/dirent.html comp-c-htmlman html
./usr/share/man/html3/dirfd.html comp-c-htmlman html
./usr/share/man/html3/dirname.html comp-c-htmlman html
./usr/share/man/html3/disklabel_dkcksum.html comp-c-htmlman html
@@ -15973,6 +15981,7 @@
./usr/share/man/man3/DSA_set_method.3 comp-c-man crypto,.man
./usr/share/man/man3/DSA_sign.3 comp-c-man crypto,.man
./usr/share/man/man3/DSA_size.3 comp-c-man crypto,.man
+./usr/share/man/man3/DTTOIF.3 comp-c-man .man
./usr/share/man/man3/ERR_GET_LIB.3 comp-c-man crypto,.man
./usr/share/man/man3/ERR_clear_error.3 comp-c-man crypto,.man
./usr/share/man/man3/ERR_error_string.3 comp-c-man crypto,.man
@@ -16047,6 +16056,7 @@
./usr/share/man/man3/GCQ_INIT.3 comp-sys-man .man
./usr/share/man/man3/GCQ_INIT_HEAD.3 comp-sys-man .man
./usr/share/man/man3/GCQ_ITEM.3 comp-sys-man .man
+./usr/share/man/man3/IFTODT.3 comp-c-man .man
./usr/share/man/man3/LIST_EMPTY.3 comp-c-man .man
./usr/share/man/man3/LIST_ENTRY.3 comp-c-man .man
./usr/share/man/man3/LIST_FIRST.3 comp-c-man .man
@@ -17106,7 +17116,9 @@
./usr/share/man/man3/dgettext.3 comp-c-man .man
./usr/share/man/man3/dh.3 comp-obsolete obsolete
./usr/share/man/man3/difftime.3 comp-c-man .man
+./usr/share/man/man3/dir.3 comp-c-man .man
./usr/share/man/man3/directory.3 comp-c-man .man
+./usr/share/man/man3/dirent.3 comp-c-man .man
./usr/share/man/man3/dirfd.3 comp-c-man .man
./usr/share/man/man3/dirname.3 comp-c-man .man
./usr/share/man/man3/disklabel_dkcksum.3 comp-c-man .man
Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1208 src/distrib/sets/lists/man/mi:1.1209
--- src/distrib/sets/lists/man/mi:1.1208 Fri May 14 16:19:58 2010
+++ src/distrib/sets/lists/man/mi Sun May 16 15:33:29 2010
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1208 2010/05/14 16:19:58 jruoho Exp $
+# $NetBSD: mi,v 1.1209 2010/05/16 15:33:29 jruoho Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -1758,8 +1758,8 @@
./usr/share/man/cat5/dhcpcd.conf.0 man-dhcpcd-catman .cat
./usr/share/man/cat5/dhcpd.conf.0 man-dhcpd-catman .cat
./usr/share/man/cat5/dhcpd.leases.0 man-dhcpd-catman .cat
-./usr/share/man/cat5/dir.0 man-c-catman .cat
-./usr/share/man/cat5/dirent.0 man-c-catman .cat
+./usr/share/man/cat5/dir.0 man-obsolete obsolete
+./usr/share/man/cat5/dirent.0 man-obsolete obsolete
./usr/share/man/cat5/disklabel.0 man-sys-catman .cat
./usr/share/man/cat5/disktab.0 man-sys-catman .cat
./usr/share/man/cat5/editrc.0 man-sys-catman .cat
@@ -4336,8 +4336,8 @@
./usr/share/man/html5/dhcpcd.conf.html man-dhcpcd-htmlman html
./usr/share/man/html5/dhcpd.conf.html man-dhcpd-htmlman html
./usr/share/man/html5/dhcpd.leases.html man-dhcpd-htmlman html
-./usr/share/man/html5/dir.html man-c-htmlman html
-./usr/share/man/html5/dirent.html man-c-htmlman html
+./usr/share/man/html5/dir.html man-obsolete obsolete
+./usr/share/man/html5/dirent.html man-obsolete obsolete
./usr/share/man/html5/disklabel.html man-sys-htmlman html
./usr/share/man/html5/disktab.html man-sys-htmlman html
./usr/share/man/html5/editrc.html man-sys-htmlman html
@@ -6854,8 +6854,8 @@
./usr/share/man/man5/dhcpcd.conf.5 man-dhcpcd-man .man
./usr/share/man/man5/dhcpd.conf.5 man-dhcpd-man .man
./usr/share/man/man5/dhcpd.leases.5 man-dhcpd-man .man
-./usr/share/man/man5/dir.5 man-c-man .man
-./usr/share/man/man5/dirent.5 man-c-man .man
+./usr/share/man/man5/dir.5 man-obsolete obsolete
+./usr/share/man/man5/dirent.5 man-obsolete obsolete
./usr/share/man/man5/disklabel.5 man-sys-man .man
./usr/share/man/man5/disktab.5 man-sys-man .man
./usr/share/man/man5/editrc.5 man-sys-man .man
Index: src/share/man/man3/Makefile
diff -u src/share/man/man3/Makefile:1.50 src/share/man/man3/Makefile:1.51
--- src/share/man/man3/Makefile:1.50 Wed Apr 28 07:35:30 2010
+++ src/share/man/man3/Makefile Sun May 16 15:33:30 2010
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.50 2010/04/28 07:35:30 jruoho Exp $
+# $NetBSD: Makefile,v 1.51 2010/05/16 15:33:30 jruoho Exp $
# @(#)Makefile 8.2 (Berkeley) 12/13/93
MAN= _DIAGASSERT.3 __CONCAT.3 __UNCONST.3 CMSG_DATA.3 \
- __arraycount.3 assert.3 bits.3 bitstring.3 dlfcn.3 end.3 \
+ __arraycount.3 assert.3 bits.3 bitstring.3 dirent.3 dlfcn.3 end.3 \
fast_divide32.3 ffs32.3 gcq.3 intro.3 inttypes.3 iso646.3 offsetof.3 \
queue.3 rb.3 stdarg.3 stdbool.3 stddef.3 stdint.3 stdlib.3 sysexits.3 \
tgmath.3 timeradd.3 tree.3 types.3 varargs.3
@@ -200,6 +200,9 @@
rb.3 rb_tree_iterate.3
MLINKS+=stdarg.3 va_arg.3 stdarg.3 va_copy.3 \
stdarg.3 va_end.3 stdarg.3 va_start.3
+MLINKS+=dirent.3 dir.3 \
+ dirent.3 IFTODT.3 \
+ dirent.3 DTTOIF.3
MLINKS+=dlfcn.3 dlopen.3 dlfcn.3 dlclose.3 dlfcn.3 dlsym.3 dlfcn.3 dlctl.3 \
dlfcn.3 dlerror.3 dlfcn.3 dladdr.3
MLINKS+=timeradd.3 timersub.3 \
Index: src/share/man/man5/Makefile
diff -u src/share/man/man5/Makefile:1.63 src/share/man/man5/Makefile:1.64
--- src/share/man/man5/Makefile:1.63 Thu Apr 22 06:48:28 2010
+++ src/share/man/man5/Makefile Sun May 16 15:33:30 2010
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.63 2010/04/22 06:48:28 jruoho Exp $
+# $NetBSD: Makefile,v 1.64 2010/05/16 15:33:30 jruoho Exp $
# @(#)Makefile 8.1 (Berkeley) 6/5/93
# missing: dump.5 plot.5
MAN= a.out.5 acct.5 ar.5 boot.cfg.5 \
- core.5 daily.conf.5 dir.5 disktab.5 elf.5 \
+ core.5 daily.conf.5 disktab.5 elf.5 \
ethers.5 forward.5 \
fs.5 fstab.5 genassym.cf.5 gpio.conf.5 group.5 hesiod.conf.5 \
hosts.5 hosts.equiv.5 ifaliases.5 ifconfig.if.5 intro.5 \
@@ -18,7 +18,7 @@
stab.5 statvfs.5 sysctl.conf.5 ttyaction.5 \
utmp.5 utmpx.5 veriexec.5 weekly.conf.5 wscons.conf.5
-MLINKS= dir.5 dirent.5 fs.5 inode.5 hosts.equiv.5 rhosts.5
+MLINKS= fs.5 inode.5 hosts.equiv.5 rhosts.5
MLINKS+=utmp.5 wtmp.5 utmp.5 lastlog.5 passwd.5 master.passwd.5
MLINKS+=utmpx.5 wtmpx.5 utmpx.5 lastlogx.5
Added files:
Index: src/share/man/man3/dirent.3
diff -u /dev/null src/share/man/man3/dirent.3:1.1
--- /dev/null Sun May 16 15:33:30 2010
+++ src/share/man/man3/dirent.3 Sun May 16 15:33:30 2010
@@ -0,0 +1,215 @@
+.\" $NetBSD $
+.\"
+.\" Copyright (c) 1983, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)dir.5 8.3 (Berkeley) 4/19/94
+.\"
+.Dd May 16, 2010
+.Dt DIRENT 3
+.Os
+.Sh NAME
+.Nm dirent
+.Nd directory format
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/dirent.h
+.Ft size
+.Fn IFTODT "mode"
+.Ft dirtype
+.Fn DTTOIF "dirtype"
+.Sh DESCRIPTION
+Directories provide a convenient hierarchical method of grouping
+files while obscuring the underlying details of the storage medium.
+A directory file is differentiated from a plain file
+by a flag in its
+.Xr inode 5
+entry.
+It consists of records (directory entries) each of which contains
+information about a file and a pointer to the file itself.
+Directory entries may contain other directories
+as well as plain files; such nested directories are referred to as
+subdirectories.
+A hierarchy of directories and files is formed in this manner
+and is called a file system (or referred to as a file system tree).
+.\" An entry in this tree,
+.\" nested or not nested,
+.\" is a pathname.
+.Pp
+Each directory file contains two special directory entries; one is a pointer
+to the directory itself
+called dot
+.Ql \&.
+and the other a pointer to its parent directory called dot-dot
+.Ql \&.. .
+Dot and dot-dot
+are valid pathnames, however,
+the system root directory
+.Ql / ,
+has no parent and dot-dot points to itself like dot.
+.Pp
+File system nodes are ordinary directory files on which has
+been grafted a file system object, such as a physical disk or a
+partitioned area of such a disk.
+(See
+.Xr mount 8 . )
+.Sh IMPLEMENTATION NOTES
+The directory entry format is defined in the file
+.In sys/dirent.h ,
+which is also included by
+.In dirent.h .
+The format is represented by the
+.Em dirent
+structure, which contains the following entries:
+.Bd -literal -offset indent
+ino_t d_fileno;
+uint16_t d_reclen;
+uint16_t d_namlen;
+uint8_t d_type;
+char d_name[MAXNAMLEN + 1];
+.Ed
+.Pp
+These are:
+.Bl -enum -offset indent
+.It
+The
+.Fa d_fileno
+entry is a number which is unique for each
+distinct file in the filesystem.
+Files that are linked by hard links (see
+.Xr link 2 )
+have the same
+.Fa d_fileno .
+If
+.Fa d_fileno
+is zero, the entry refers to a deleted file.
+The type
+.Va ino_t
+is defined in
+.In sys/types.h .
+.It
+The
+.Fa d_reclen
+entry is the length, in bytes, of the directory record.
+.It
+The
+.Fa d_namlen
+entry specifies the length of the file name excluding the NUL.
+Thus the actual size of
+.Fa d_name
+may vary from 1 to
+.Dv MAXNAMLEN
+\&+ 1.
+.It
+The
+.Fa d_type
+is the type of the file.
+.It
+The
+.Fa d_name
+entry contains a NUL-terminated file name.
+.El
+.Pp
+The following table lists the types available for
+.Vt d_type
+and the corresponding ones used in the
+.Em struct stat
+(see
+.Xr stat 2 ) ,
+respectively:
+.Pp
+.Bl -column -offset indent -compact \
+"DT_UNKNOWN " "DT_UNKNOWN " "DT_UNKNOWN "
+.It Sy Dirent Ta Sy Stat Ta Sy Description
+.It Dv DT_UNKNOWN Ta - Ta unknown file type
+.It Dv DT_FIFO Ta Dv S_IFIFO Ta named pipe
+.It Dv DT_CHR Ta Dv S_IFCHR Ta character device
+.It Dv DT_DIR Ta Dv S_IFDIR Ta directory
+.It Dv DT_BLK Ta Dv S_IFBLK Ta block device
+.It Dv DT_REG Ta Dv S_IFREG Ta regular file
+.It Dv DT_LNK Ta Dv S_IFLNK Ta symbolic link
+.It Dv DT_SOCK Ta Dv S_IFSOCK Ta UNIX domain socket
+.It Dv DT_WHT Ta Dv S_IFWHT Ta dummy Dq whiteout inode
+.El
+.Pp
+The
+.Dv DT_WHT
+type is internal to the implementation and
+should not be seen in normal user applications.
+The macros
+.Fn IFTODT
+and
+.Fn DTTOIF
+can be used to convert from
+.Em struct stat
+types to
+.Em struct dirent
+types, and vice versa.
+.Sh COMPATIBILITY
+The
+.St -p1003.1-2001
+standard specifies only the fields
+.Va d_ino
+and
+.Va d_name .
+The remaining fields are available on many, but not all systems.
+.Pp
+Furthermore, the standard leaves the size of
+.Va d_name
+as unspecified, mentioning only that the number of
+bytes preceding the terminating NUL shall not exceed
+.Dv NAME_MAX .
+Because of this, and because the
+.Va d_namlen
+field may not be present, a portable application should determine the size of
+.Va d_name
+by using
+.Xr strlen 3
+instead of applying the
+.Fn sizeof
+operator.
+.Pp
+.Sh SEE ALSO
+.Xr getdents 2 ,
+.Xr fs 5 ,
+.Xr inode 5
+.\" .Sh STANDARDS
+.\"
+.\" XXX: Conformance is unclear, cf. PR lib/43310.
+.\"
+.\" Given the noted limitations, the
+.\".In dirent.h
+.\" header conforms to
+.\" .St -p1003.1-2001 .
+.Sh HISTORY
+A
+dir structure appeared in
+.At v7 .
+The
+.Em dirent
+structure appeared in
+.Nx 1.3 .