History log of /openbsd-current/sys/sys/stat.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.29 11-Jan-2022 jsg

spelling


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.28 04-Apr-2015 jca

fchmod and lstat are standard, widen their visibility

ok millert@ kettenis@; input + "get it in" guenther@


Revision tags: OPENBSD_5_7_BASE
# 1.27 08-Dec-2014 guenther

Add chflagsat(), modeled on fchmodat() with name to match FreeBSD.


# 1.26 20-Nov-2014 krw

Be more POSIXy by using blksize_t (a.k.a. int32) for st_blksize, rather than the current uint32_t.

ok guenther@ deraadt@


# 1.25 22-Aug-2014 krw

POSIX/FreeBSD/NetBSD/Linux/etc agree -- blk[size|cnt]_t is the bomb.

So add the types blksize_t (a.k.a. int32_t) and blkcnt_t (a.k.a.
int64_t). Use blkcnt_t in stat.h since the base type (int64_t) does
not change. blksize_t in stat.h will follow after the tree is audited
for signed issues, since the base type will change from u_int32_t
to a POSIX compliant int32_t.

Guidance and feedback from guenther@

ok millert@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.24 14-Sep-2013 guenther

Snapshots for all archs have been built, so remove the T32 code


# 1.23 13-Aug-2013 guenther

Switch time_t, ino_t, clock_t, and struct kevent's ident and data
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.

Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.

DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.

Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@


Revision tags: OPENBSD_5_4_BASE
# 1.22 04-Jun-2013 guenther

Since we now have shm_{open,unlink}(), add the S_TYPEIS{MQ,SEM,SHM}()
macros that are mandated by POSIX

ok matthew@ tedu@


Revision tags: OPENBSD_5_3_BASE
# 1.21 05-Dec-2012 deraadt

Remove excessive sys/cdefs.h inclusion
ok guenther millert kettenis


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.20 18-Jul-2011 matthew

Expose a bunch of new functionality from POSIX 2008: openat(2),
fchmodat(2), fstatat(2), mkdirat(2), mkfifoat(2), mknodat(2),
faccessat(2), fchownat(2), linkat(2), readlinkat(2), renameat(2),
symlinkat(2), unlinkat(2), utimensat(2), futimens(2), and
fdopendir(3).

"Minor" libc bump.

Tested in a bulk build by naddy@
Much help from guenther@, thib@, tedu@, oga@, and others.
ok deraadt@, naddy@


# 1.19 18-Jul-2011 matthew

Add support for UTIME_OMIT and UTIME_NOW to utimensat(2), add the
futimens(2) system call, and refactor futimes(2) to share the same
code. (As with other openat(2) system call stuff, this is not exposed
to userland yet.)

naddy@ pointed out rsync expects UTIME_* if openat(2) is available
tweaks and ok guenther@; tested by naddy@ in a bulk build


# 1.18 14-Jul-2011 matthew

"struct stat35" and "struct stat43" aren't needed anymore.

ok deraadt@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.17 29-Jan-2009 guenther

Switch struct stat's timespec members to the names standardized in
POSIX 1003.1-2008, with compatibility macros for the names used in
previous version of OpenBSD. Update all the references in the
kernel to use the new, standard member names.

ok'ed by miod@, otto@; ports build test by naddy@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.16 13-Dec-2005 millert

First step in include files overhaul. Use __FOO_VISIBLE (as defined
in sys/cdefs.h) instead of _FOO_SOURCE. Also fix several namespace
pollution issues, including the byte order defines. OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.15 18-Jun-2005 millert

Remove remaining whiteout tentacles; OK deraadt@ miod@ weingart@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.14 13-Jul-2004 millert

Change mode_t and nlink_t from 16bit to 32bit. This allows us to
use mode_t in syscalls.master and to use mode_t in more places in
the kernel. It also makes lint much more useful on kernel code.

I've also added a placeholder for st_birthtime to make a UFS2 import
easier at some future date.

Requested by and OK deraadt@


# 1.13 09-Jul-2004 millert

Rename ostat -> stat43 to disambiguate from upcoming struct stat changes.
Idea from NetBSD, OK deraadt@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
# 1.12 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
# 1.11 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.10 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.9 10-Sep-2001 millert

branches: 1.9.4;
fix typo in comment; d.doroshenko@omnitel.net


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 23-Jul-2000 pjanzen

Consistent tabs


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE SMP_BASE kame_19991208
# 1.7 16-Feb-1998 millert

branches: 1.7.10;
Make "flags" field in f?chflags(2) consistent--unsigned int


# 1.6 16-Feb-1998 deraadt

proto chflags() and fchflags() to take an int, as they do


# 1.5 16-Nov-1997 deraadt

move proto to sys/stat.h; XPG4.2


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE
# 1.4 18-Oct-1996 tholo

Gleaned from a NetBSD commit by jtc:
> S_ISFIFO(x) should not return true with sockets. S_ISSOCK(x) should
> not return true with fifos. Users who want the previous behavior can
> use (S_ISFIFO(x) || S_ISSOCK(x)).


Revision tags: OPENBSD_2_0_BASE
# 1.3 22-May-1996 deraadt

do not expose struct ostat to userland


# 1.2 29-Feb-1996 niklas

From NetBSD: Merge with NetBSD 960217


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.28 04-Apr-2015 jca

fchmod and lstat are standard, widen their visibility

ok millert@ kettenis@; input + "get it in" guenther@


Revision tags: OPENBSD_5_7_BASE
# 1.27 08-Dec-2014 guenther

Add chflagsat(), modeled on fchmodat() with name to match FreeBSD.


# 1.26 20-Nov-2014 krw

Be more POSIXy by using blksize_t (a.k.a. int32) for st_blksize, rather than the current uint32_t.

ok guenther@ deraadt@


# 1.25 22-Aug-2014 krw

POSIX/FreeBSD/NetBSD/Linux/etc agree -- blk[size|cnt]_t is the bomb.

So add the types blksize_t (a.k.a. int32_t) and blkcnt_t (a.k.a.
int64_t). Use blkcnt_t in stat.h since the base type (int64_t) does
not change. blksize_t in stat.h will follow after the tree is audited
for signed issues, since the base type will change from u_int32_t
to a POSIX compliant int32_t.

Guidance and feedback from guenther@

ok millert@


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.24 14-Sep-2013 guenther

Snapshots for all archs have been built, so remove the T32 code


# 1.23 13-Aug-2013 guenther

Switch time_t, ino_t, clock_t, and struct kevent's ident and data
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.

Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.

DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.

Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@


Revision tags: OPENBSD_5_4_BASE
# 1.22 04-Jun-2013 guenther

Since we now have shm_{open,unlink}(), add the S_TYPEIS{MQ,SEM,SHM}()
macros that are mandated by POSIX

ok matthew@ tedu@


Revision tags: OPENBSD_5_3_BASE
# 1.21 05-Dec-2012 deraadt

Remove excessive sys/cdefs.h inclusion
ok guenther millert kettenis


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.20 18-Jul-2011 matthew

Expose a bunch of new functionality from POSIX 2008: openat(2),
fchmodat(2), fstatat(2), mkdirat(2), mkfifoat(2), mknodat(2),
faccessat(2), fchownat(2), linkat(2), readlinkat(2), renameat(2),
symlinkat(2), unlinkat(2), utimensat(2), futimens(2), and
fdopendir(3).

"Minor" libc bump.

Tested in a bulk build by naddy@
Much help from guenther@, thib@, tedu@, oga@, and others.
ok deraadt@, naddy@


# 1.19 18-Jul-2011 matthew

Add support for UTIME_OMIT and UTIME_NOW to utimensat(2), add the
futimens(2) system call, and refactor futimes(2) to share the same
code. (As with other openat(2) system call stuff, this is not exposed
to userland yet.)

naddy@ pointed out rsync expects UTIME_* if openat(2) is available
tweaks and ok guenther@; tested by naddy@ in a bulk build


# 1.18 14-Jul-2011 matthew

"struct stat35" and "struct stat43" aren't needed anymore.

ok deraadt@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.17 29-Jan-2009 guenther

Switch struct stat's timespec members to the names standardized in
POSIX 1003.1-2008, with compatibility macros for the names used in
previous version of OpenBSD. Update all the references in the
kernel to use the new, standard member names.

ok'ed by miod@, otto@; ports build test by naddy@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
# 1.16 13-Dec-2005 millert

First step in include files overhaul. Use __FOO_VISIBLE (as defined
in sys/cdefs.h) instead of _FOO_SOURCE. Also fix several namespace
pollution issues, including the byte order defines. OK deraadt@


Revision tags: OPENBSD_3_8_BASE
# 1.15 18-Jun-2005 millert

Remove remaining whiteout tentacles; OK deraadt@ miod@ weingart@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.14 13-Jul-2004 millert

Change mode_t and nlink_t from 16bit to 32bit. This allows us to
use mode_t in syscalls.master and to use mode_t in more places in
the kernel. It also makes lint much more useful on kernel code.

I've also added a placeholder for st_birthtime to make a UFS2 import
easier at some future date.

Requested by and OK deraadt@


# 1.13 09-Jul-2004 millert

Rename ostat -> stat43 to disambiguate from upcoming struct stat changes.
Idea from NetBSD, OK deraadt@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
# 1.12 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
# 1.11 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.10 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_3_0_BASE UBC_BASE
# 1.9 10-Sep-2001 millert

branches: 1.9.4;
fix typo in comment; d.doroshenko@omnitel.net


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 23-Jul-2000 pjanzen

Consistent tabs


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE SMP_BASE kame_19991208
# 1.7 16-Feb-1998 millert

branches: 1.7.10;
Make "flags" field in f?chflags(2) consistent--unsigned int


# 1.6 16-Feb-1998 deraadt

proto chflags() and fchflags() to take an int, as they do


# 1.5 16-Nov-1997 deraadt

move proto to sys/stat.h; XPG4.2


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE
# 1.4 18-Oct-1996 tholo

Gleaned from a NetBSD commit by jtc:
> S_ISFIFO(x) should not return true with sockets. S_ISSOCK(x) should
> not return true with fifos. Users who want the previous behavior can
> use (S_ISFIFO(x) || S_ISSOCK(x)).


Revision tags: OPENBSD_2_0_BASE
# 1.3 22-May-1996 deraadt

do not expose struct ostat to userland


# 1.2 29-Feb-1996 niklas

From NetBSD: Merge with NetBSD 960217


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision