> 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]

Reply via email to