> Date: Tue, 31 Oct 2000 03:00:43 +0200
> From: Matti Aarnio <[EMAIL PROTECTED]>
> The more I am following this disaster called ABI evolution, the more
> I am convinced that IBM did indeed do something right at the switch
> from AIX 3.x to AIX 4.x -- ALL SCALAR INTEGERS AT AIX 4.x ABIs ARE 64 BIT !
Not ino_t. I see (cutting&pasting from various header files):
#if defined(__64BIT_KERNEL) && defined(_KERNEL)
typedef signed long int32long64_t;
typedef unsigned long uint32long64_t;
#else
typedef signed int int32long64_t;
typedef unsigned int uint32long64_t;
#endif /* __64BIT_KERNEL && _KERNEL */
typedef uint32long64_t ino_t; /* inode number (filesystem) */
typedef uint_t ino32_t; /* size invariant 32-bit inode number */
#if defined(__64BIT__) || defined(_LONG_LONG)
typedef uint64_t ino64_t; /* size invariant 64-bit inode number */
#endif
Then in the three stat structures, all of them have:
ino_t st_ino; /* File serial number */
So here it looks like the type is 32 bits in all user code, even for
64-bit programs. The line I listed (the definition) was the only
place under /usr/include where `ino64_t' could be found.
This was on AIX 4.3.3.
I also believe that AIX still supports compilers with no 64-bit type,
so I'm not convinced that an application _ever_ sees a 64-bit type.
--
- Geoffrey Keating <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]