[fpc-pascal] does the following translation of a c struct to FPC is	correct ?
    ik 
    idokan at gmail.com
       
    Sun Feb 26 13:54:51 CET 2012
    
    
  
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,
              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