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
This commit is contained in:
parent
72f0eb9104
commit
28644c1bbb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=139811
@ -69,8 +69,16 @@ typedef struct _ftsent {
|
|||||||
struct _ftsent *fts_cycle; /* cycle node */
|
struct _ftsent *fts_cycle; /* cycle node */
|
||||||
struct _ftsent *fts_parent; /* parent directory */
|
struct _ftsent *fts_parent; /* parent directory */
|
||||||
struct _ftsent *fts_link; /* next file in directory */
|
struct _ftsent *fts_link; /* next file in directory */
|
||||||
long fts_number; /* local numeric value */
|
union {
|
||||||
void *fts_pointer; /* local address value */
|
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_accpath; /* access path */
|
||||||
char *fts_path; /* root path */
|
char *fts_path; /* root path */
|
||||||
int fts_errno; /* errno for this node */
|
int fts_errno; /* errno for this node */
|
||||||
|
@ -69,8 +69,16 @@ typedef struct _ftsent {
|
|||||||
struct _ftsent *fts_cycle; /* cycle node */
|
struct _ftsent *fts_cycle; /* cycle node */
|
||||||
struct _ftsent *fts_parent; /* parent directory */
|
struct _ftsent *fts_parent; /* parent directory */
|
||||||
struct _ftsent *fts_link; /* next file in directory */
|
struct _ftsent *fts_link; /* next file in directory */
|
||||||
long fts_number; /* local numeric value */
|
union {
|
||||||
void *fts_pointer; /* local address value */
|
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_accpath; /* access path */
|
||||||
char *fts_path; /* root path */
|
char *fts_path; /* root path */
|
||||||
int fts_errno; /* errno for this node */
|
int fts_errno; /* errno for this node */
|
||||||
|
Loading…
Reference in New Issue
Block a user