[fpc-pascal] Re: does the following translation of a c struct to FPC is correct ?
ik
idokan at gmail.com
Sun Feb 26 14:03:04 CET 2012
Answering myself:
On Sun, Feb 26, 2012 at 14:54, ik <idokan at gmail.com> wrote:
> Hello,
>
> I translated the following struct
>
> struct iphdr {
> #if defined(__LITTLE_ENDIAN_BITFIELD)
> __u8 ihl:4,
> version:4;
> #elif defined (__BIG_ENDIAN_BITFIELD)
> __u8 version:4,
> ihl:4;
> #else
> #error "Please fix <asm/byteorder.h>"
> #endif
> __u8 tos;
> __be16 tot_len;
> __be16 id;
> __be16 frag_off;
> __u8 ttl;
> __u8 protocol;
> __sum16 check;
> __be32 saddr;
> __be32 daddr;
> /*The options start here. */
> };
>
> to the following Pascal record:
>
>
> iphdr = record
> {$IFDEF ENDIAN_LITTLE}
> jhl : Cardinal; // __u8 ihl:4,
cuchar; // instead of Cardinal
> version : Cardinal; // version:4
> {$ELSE}
> version : Cardinal; // __u8 version:4,
> jhl : Cardinal; // version:4
> {$ENDIF}
> tos : cuint8;
> tot_len : cint16;
> id : cint16;
> frag_off : cint16;
> ttl : cint8;
> protocol : cint8;
> check : cuint16;
> saddr : cint32;
> daddr : cint32;
> end;
>
> The problem is, that I get weird data in the fields, so I think I did
> not translate it properly, but can't figure out what have I missed.
>
> Thanks,
> Ido
More information about the fpc-pascal
mailing list