On Thu, 30 Dec 1999, Nicholas Clark wrote:
> /* Typedefs for unaligned integer types */
> typedef unsigned char hfs_byte_t;
> typedef unsigned char hfs_word_t[2];
> typedef unsigned char hfs_lword_t[4];
>
> and (for example)
>
> struct NodeDescriptor {
> hfs_lword_t ndFLink; /* (V) Number of the next node at this level */
> hfs_lword_t ndBLink; /* (V) Number of the prev node at this level */
> hfs_byte_t ndType; /* (F) The type of node */
> hfs_byte_t ndNHeight; /* (F) The level of this node (leaves=1) */
> hfs_word_t ndNRecs; /* (V) The number of records in this node */
> hfs_word_t ndResv2; /* Reserved */
> };
>
>
> because it appears that the Apple disk format uses 16 bit aligned 32 bit
> quantities, and the above is an attempt to make things happy on Alphas.
>
> However, I find that my problems mounting my disk start with a line:
>
> prev = sizeof(struct NodeDescriptor);
>
> which is 16. :-)
With gcc on i386, sizeof(struct NodeDescriptor) = 14.
Nicolas
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++ Please use [EMAIL PROTECTED] for ++
++ kernel-related discussions. ++