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 .

Reply via email to