Home | History | Annotate | Download | only in sys
History log of /src/lib/libc/sys/stat.2
RevisionDateAuthorComments
 1.60  15-Oct-2023  jschauma document S_ISWHT, sort these macros
 1.59  01-Sep-2019  sevan branches: 1.59.8;
stat() was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf
document history of fstat()
https://www.bell-labs.com/usr/dmr/www/man21.pdf
 1.58  03-Feb-2017  abhinav branches: 1.58.12; 1.58.14;
Remove comma after the last Nm entry.
 1.57  10-Apr-2014  wiz branches: 1.57.6; 1.57.10;
Mention the word 'inode' next to st_ino so it's easier to find.
Bump date.
 1.56  15-Oct-2013  njoly branches: 1.56.2;
Adjust needed includes for fchmodat/mkdirat/mkfifoat/mknodat/fstatat
syscalls.
 1.55  28-Jul-2013  njoly Add fstatat(2) specific errors.
 1.54  13-Jan-2013  dholland Revert defective O_SEARCH implementation committed by manu@ along with
the *at system calls on November 18th of last year. Reasons to revert
it include:
- it is incorrect in a whole variety of ways (but fortunately, one
of them is that the missing and improper permission checks have
no net effect);
- it was committed without review or discussion;
- core ruled that all the new O_* flags pertaining to the *at calls
needed to wait until their semantics could be clarified.

manu was asked to revert it on these grounds but has ignored the request.

I have left O_SEARCH defined and visible and made open() explicitly
ignore it. This way, most code that tries to use it will continue to
build and run. I've also arranged lib/libc/c063/t_o_search.c so that
the tests that make use of the O_SEARCH semantics will disappear until
O_SEARCH comes back, and fixed some mistakes and/or incorrect hacks
that were causing some of these to succeed despite the broken O_SEARCH
implementation.
 1.53  01-Dec-2012  wiz Bump date. New sentence, new line. Wording/articles.
Sort errors while here.
 1.52  01-Dec-2012  wiz Remove trailing whitespace.
 1.51  18-Nov-2012  manu Add most system calls for POSIX extended API set, part 2, with test cases:
faccessat(2), fchmodat(2), fchownat(2), fstatat(2), mkdirat(2), mkfifoat(2),
mknodat(2), linkat(2), readlinkat(2), symlinkat(2), renameat(2), unlinkat(2),
utimensat(2), openat(2).

Also implement O_SEARCH for openat(2)

Still missing:
- some flags for openat(2)
- fexecve(2) implementation
 1.50  04-Jan-2012  wiz branches: 1.50.6;
Fix a sentence, following a hint by Abhinav Upadhyay.
 1.49  14-Sep-2011  apb branches: 1.49.2;
There's no st_block field; it's st_blocks.
 1.48  21-Feb-2011  pooka v-node -> vnode
(for consistency)
 1.47  25-Nov-2010  dholland branches: 1.47.2;
No file system I know of reports directory sizes that are multiples of
sizeof(struct dirent) except by accident. So, sync with reality. Brought
to my attention by Taylor R Campbell in chat.
 1.46  04-Jun-2010  jruoho Fix .Xr; dirent(5) -> dirent(3).
 1.45  31-May-2010  njoly Consistently use `.Brq Dv XXX' across syscalls man pages, for NAME_MAX
and PATH_MAX.
 1.44  18-May-2010  wiz Split "file system" and fix a typo.
 1.43  17-May-2010  jruoho Note that all stat-functions are standardized nowadays.
 1.42  17-May-2010  jruoho Try to describe the struct stat instead of copy-pasting it from the header.
Use xrefs to avoid duplication of effort. Note the S_IS*() macros.
 1.41  03-Apr-2010  jruoho Mention the history of stat(2) and fix the history of open(2).
 1.40  22-Mar-2010  joerg Use .In for header files instead of .Ar Pa and variations.
 1.39  12-Feb-2010  wiz Fix typo.
 1.38  13-May-2009  wiz Sort errors. Avoid marking up punctuation.
 1.37  11-Mar-2009  joerg Fix markup
 1.36  10-Jun-2007  christos branches: 1.36.22;
Note ZFS returning the number of entries instead of the size of the directory.
 1.35  26-Dec-2005  perry u_intN_t -> uintN_t
 1.34  14-Jun-2005  peter - Correct the fields in the stat structure. From PR/18255.
- Document the st_birthtime field.

Reviewed by wiz.
 1.33  13-May-2004  wiz \- is a minus, not -.
 1.32  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.31  16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.30  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.29  01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.28  02-Aug-2002  soren stat(2) can return ENXIO.
 1.27  29-Apr-2002  simonb Remove <sys/types.h> from synopsis, as per latest SUS/Posix specs.
 1.26  08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.25  03-Feb-2002  fair Add a reference to dir(5) per PR 14291
 1.24  23-Oct-2001  kleink Reduce the ties to `inode'.
 1.23  16-Sep-2001  wiz Sort sections, sort SEE ALSO, punctuation and miscellanous fixes.
 1.22  16-Sep-2001  wiz Boring whitespace fixes.
 1.21  09-Jan-2001  augustss branches: 1.21.2;
Document a weird circumstance under which stat() return EBADF.
 1.20  07-Oct-2000  nathanw Use ".Fa stat" instead of ".Fn stat" when referring to the structure
rather than the function.
 1.19  29-Jun-2000  sommerfeld bin/10472: fix a couple typos in stat.2
 1.18  02-Dec-1999  kleink branches: 1.18.4;
Add a LIBRARY section to system call manual pages. While it's clear that the
libraries contain stubs only (with minor exceptions a la pipe(2)), the purpose
of this section is to provide linkage information.
 1.17  22-Mar-1999  garbled branches: 1.17.6;
Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Wheee!
 1.16  29-Aug-1998  lukem first pass at fixing up capitalization of function names and
arguments; ensure that each is correct with respect to the
implementation, rather than being correct as per english.
 1.15  02-Feb-1998  perry merge lite-2
 1.14  11-Oct-1997  enami Don't start function name with capital letter even if it is beginning
of a sentence.
 1.13  11-Oct-1997  enami Remove description about behaviour of 4.4BSD symlink.
 1.12  14-Jul-1997  kleink Add missing `STANDARDS' compliance statements. As we #define _POSIX_VERSION
to 199009L, bump existing statements to 1003.1-1990.
 1.11  16-May-1997  kleink Add/update 1003.1 conformance notice.
 1.10  22-Apr-1997  mikel add description of file flags, with xrefs to chflags(2).
add missing group/other file mode bits (!).
eliminate obsolete CAVEATS section.
fix misc. grammar and macro usage errors.
 1.9  17-Jan-1996  jtc Add S_IFWHT to correspond with <sys/stat.h>; Reported by Mike Long in PR #1949
 1.8  27-Feb-1995  cgd merge with lite, keeping most local changes. clean up Ids
 1.7  22-Apr-1994  jtc Remove description of EINVAL, "The pathname contains a character with the
high-order bit set", as this error is obsolete.

Eventually we may want to add code to some of the "optional" filesystems
(msdosfs, etc.) that checks for illegal characters. At that time it would
be appropriate to reintroduce this error with appropriate text. Perhaps
"The pathname contains a character that is not valid for filesystem type".
 1.6  19-Apr-1994  jtc Use symbolic names {NAME_MAX} & {PATH_MAX} instead of 255 and 1023 in
description of ENAMETOOLONG error.
 1.5  10-Jan-1994  jtc Fix spelling errors.
 1.4  29-Nov-1993  jtc Use "Er" for argument to -width in the lists in the ERROR sections --- so
the formatting is consistant.
 1.3  25-Nov-1993  jtc Clean up manpages:
Use .Fn rather than .Nm macro in HISTORY and STANDARDS sections.
Use .At and .St macros instead of spelling out "Version 6 UNIX",
"IEEE 1003.1-1988 (POSIX)", etc.
 1.2  01-Aug-1993  mycroft Add RCS indentifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  02-Feb-1998  perry import lite-2
 1.1.1.2  27-Feb-1995  cgd from Lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.17.6.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.18.4.1  29-Jun-2000  thorpej Pull up rev. 1.19:
bin/10472: fix a couple typos in stat.2
 1.21.2.7  18-Oct-2002  nathanw Catch up to -current.
 1.21.2.6  13-Aug-2002  nathanw Catch up to -current.
 1.21.2.5  21-Jun-2002  nathanw Catch up to -current.
 1.21.2.4  22-Mar-2002  nathanw Catch up to -current.
 1.21.2.3  08-Mar-2002  nathanw Catch up to -current.
 1.21.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.21.2.1  08-Oct-2001  nathanw Catch up to -current.
 1.36.22.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.47.2.1  05-Mar-2011  bouyer Sync with HEAD
 1.49.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.49.2.3  23-Jan-2013  yamt sync with head
 1.49.2.2  16-Jan-2013  yamt sync with (a bit old) head
 1.49.2.1  17-Apr-2012  yamt sync with head
 1.50.6.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.50.6.2  25-Feb-2013  tls resync with head
 1.50.6.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.56.2.1  10-Aug-2014  tls Rebase.
 1.57.10.1  21-Apr-2017  bouyer Sync with HEAD
 1.57.6.1  20-Mar-2017  pgoyette Sync with HEAD
 1.58.14.1  05-Sep-2019  martin Pull up following revision(s) (requested by sevan in ticket #174):
lib/libc/sys/chmod.2: revision 1.48
lib/libc/sys/stat.2: revision 1.59
lib/libc/sys/unlink.2: revision 1.30
lib/libc/sys/lseek.2: revision 1.25
lib/libc/sys/getuid.2: revision 1.18
lib/libc/sys/chown.2: revision 1.37
lib/libm/man/exp.3: revision 1.32
lib/libm/man/log.3: revision 1.7
lib/libc/sys/open.2: revision 1.60
lib/libc/stdio/fopen.3: revision 1.36
lib/libc/stdio/putc.3: revision 1.14
lib/libc/sys/mount.2: revision 1.51
share/man/man9/copy.9: revision 1.22
share/man/man9/uiomove.9: revision 1.20
lib/libc/sys/setuid.2: revision 1.23
lib/libc/sys/close.2: revision 1.18
sbin/init/init.8: revision 1.61
lib/libc/sys/write.2: revision 1.36
lib/libc/sys/read.2: revision 1.39
sbin/init/init.8: revision 1.62
lib/libc/sys/wait.2: revision 1.40
usr.bin/tty/tty.1: revision 1.10
lib/libc/sys/link.2: revision 1.33
usr.bin/du/du.1: revision 1.24
lib/libc/stdlib/exit.3: revision 1.17
usr.bin/su/su.1: revision 1.53
usr.bin/mail/mail.1: revision 1.66
lib/libc/sys/fork.2: revision 1.25
usr.bin/su/su.1: revision 1.54
usr.bin/mail/mail.1: revision 1.67
lib/libm/man/sin.3: revision 1.15
share/man/man9/intro.9: revision 1.26
share/man/man5/utmp.5: revision 1.17
lib/libc/compat-43/creat.3: revision 1.17
lib/libc/time/ctime.3: revision 1.61
lib/libcompat/4.1/stty.3: revision 1.10
usr.bin/dc/dc.1: revision 1.3
lib/libm/man/cos.3: revision 1.17
lib/libc/sys/chdir.2: revision 1.23
lib/libc/gen/exec.3: revision 1.30
lib/libc/gen/exec.3: revision 1.31
games/bcd/bcd.6: revision 1.18
games/bcd/bcd.6: revision 1.19
usr.bin/write/write.1: revision 1.7
usr.bin/wc/wc.1: revision 1.18
usr.bin/pr/pr.1: revision 1.24
usr.bin/who/who.1: revision 1.25
lib/libc/sys/mkdir.2: revision 1.30
lib/libc/stdio/getc.3: revision 1.13
usr.bin/sort/sort.1: revision 1.40
usr.bin/mesg/mesg.1: revision 1.11
share/man/man5/passwd.5: revision 1.34
sort was there since v1
https://www.bell-labs.com/usr/dmr/www/man61.pdf

dc was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

du was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

mail was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

mesg was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man13.pdf

su was in v1
https://www.bell-labs.com/usr/dmr/www/man13.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man13.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man14.pdf
Update URL

write was in v1
https://www.bell-labs.com/usr/dmr/www/man14.pdf
grammar

passwd(5) was in v1
https://www.bell-labs.com/usr/dmr/www/man51.pdf

utmp(5) was present in v1
https://www.bell-labs.com/usr/dmr/www/man51.pdf

Earliest version of wtmp I could find was in v3
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man5/wtmp.5

Document history of chdir(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of chmod(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of chown(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

create was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of exec()
Move statement on execlpe() & execvpe() to HISTORY section.

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

fork was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf
stat() was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

document history of fstat()
https://www.bell-labs.com/usr/dmr/www/man21.pdf

getuid was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

stty & gtty were around since v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf
https://www.bell-labs.com/usr/dmr/www/man22.pdf

mount & umount were present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

Open was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

read was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

seek was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

setuid was in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

unlink was presen in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

wait was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

write was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

start documenting history
exp was present in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

log appeared in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

putc & putw were in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

putchar was in v4
https://minie.tuhs.org/cgi-bin/utree.pl?file=V4/man/man3/putchr.3

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Document history.
https://www.bell-labs.com/usr/dmr/www/man11.pdf
Between v1 & v6 UNIX, bcd was rewritten in C, but I don't know if which
version,
hence I've skipped mentioning it.
End sentence with a dot.
Remove superfluous Pp.
Remove superfluous Pp.
Remove superfluous Ns.
Remove superfluous Pp.
fetch(9) -> ufetch(9)
fetch(9) -> ufetch(9). Remove superfluous Pp.
fetch(9) -> ufetch(9). Remove reference to unimplemented ppi(9).
 1.58.12.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.59.8.1  20-Jul-2024  martin Pull up following revision(s) (requested by rin in ticket #755):

lib/libc/sys/stat.2: revision 1.60

document S_ISWHT, sort these macros

RSS XML Feed