-------- Original-Nachricht -------- > Datum: Wed, 13 Aug 2008 22:03:23 +0100 > Von: Jonas Maebe <[EMAIL PROTECTED]> > An: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org> > Betreff: Re: [fpc-pascal] Converting C\'s bit field struct > > On 13 Aug 2008, at 11:59, Vinzent Höfler wrote: > > > Should be something like that: > > > > type > > Unsigned_7 = 0 .. (1 shl 7) - 1; > > Unsigned_20 = 0 .. (1 shl 20) - 1; > > > > type > > page_t = bitpacked record > > Yes and no: the layout of bitpacked records is by no means guaranteed > to be the same as that of a C record, regardless of the definition of > the C record.
Well, this is obviously a hardware structure and the actual layout should be checked regardless of the definition in C (IIRC, the C-standard doesn't guarantee any particular layout on such records neither). > The internal format of bitpacked records is opaque and > must not be used in any case where data has to be interchanged or > where a particular layout is desired. There was a reason why I brought up the portability issue. Honestly, what do you propose to mimic such stuff? I remember, we already had a discussion about that a couple of months ago. ;) I don't want to bring up Ada again, but ... some years ago I implemented such nasty stuff for an embedded system. You might take a look for the implementation of system structures in that language http://www.gmx.de/mc/h9DZhQD3l4X4hfKafRIagg6e3PI6TW . Well, apart from Endianess issues, successful compilation virtually guarantees the layout. I hope the link works, currently I don't own any web-space... Just click on that "GMX MediaCenter starten" button... Vinzent. -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal