diff options
author | pjd <pjd@FreeBSD.org> | 2005-01-07 00:06:20 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2005-01-07 00:06:20 +0000 |
commit | 0c5ce74735bbd3686abf179eb6987d8ac99f2ebf (patch) | |
tree | 37a097a0620ecd5d559bafa547fdf6516c8c32ee /lib/libc/gen/fts-compat.h | |
parent | de4fc049c913f4cfee5d128a99e9e24e5e9a66b8 (diff) | |
download | FreeBSD-src-0c5ce74735bbd3686abf179eb6987d8ac99f2ebf.zip FreeBSD-src-0c5ce74735bbd3686abf179eb6987d8ac99f2ebf.tar.gz |
Introduce new field 'fts_bignum' which is 64bit long and will allow to
make utilities like du(1) 64bit-clean.
When this field is used, one cannot use 'fts_number' and 'fts_pointer'
fields.
This commit doesn't break API nor ABI.
This work is part of the BigDisk project:
http://www.FreeBSD.org/projects/bigdisk/
Discussed on: arch@
MFC after: 5 days
Diffstat (limited to 'lib/libc/gen/fts-compat.h')
-rw-r--r-- | lib/libc/gen/fts-compat.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/libc/gen/fts-compat.h b/lib/libc/gen/fts-compat.h index 09c4600..7eb03a6 100644 --- a/lib/libc/gen/fts-compat.h +++ b/lib/libc/gen/fts-compat.h @@ -69,8 +69,16 @@ typedef struct _ftsent { struct _ftsent *fts_cycle; /* cycle node */ struct _ftsent *fts_parent; /* parent directory */ struct _ftsent *fts_link; /* next file in directory */ - long fts_number; /* local numeric value */ - void *fts_pointer; /* local address value */ + union { + struct { + long __fts_number; /* local numeric value */ + void *__fts_pointer; /* local address value */ + } __struct_ftsent; + int64_t __fts_bignum; + } __union_ftsent; +#define fts_number __union_ftsent.__struct_ftsent.__fts_number +#define fts_pointer __union_ftsent.__struct_ftsent.__fts_pointer +#define fts_bignum __union_ftsent.__fts_bignum char *fts_accpath; /* access path */ char *fts_path; /* root path */ int fts_errno; /* errno for this node */ |