|
Scott, Yes, that makes sense. That was exactly what my understanding was, I just wanted to make sure I had it right. Thanks for the reply. Charles Wilt iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121 > -----Original Message----- > From: rpg400-l-bounces+cwilt=meaa.mea.com@xxxxxxxxxxxx > [mailto:rpg400-l-bounces+cwilt=meaa.mea.com@xxxxxxxxxxxx]On Behalf Of > Scott Klement > Sent: Friday, February 04, 2005 12:55 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: Byte Alignment question with Change User Space Attributes > API (QUSCUSAT) > > > > > Now for example, the Initial value key has a data field > that is only 1 > > byte long. Does this mean that you should add 3 bytes of > filler so that > > the next key is on a 4 byte boundary? > > Yes, that's what it means. > > > > d t_InitialValueAttr... > > d ds qualified > > d key 10I 0 inz(2) > > d dataLength 10I 0 inz(%sizeof(data)) > > d data > > d initialValue 1a overlay( data : *NEXT ) > > d 3a overlay( data : *NEXT ) > > Hard to say how they're aligned when you only show one key! > The point is, > if you're specifying 2 or more keys, they have to be an even > multiple of 4 > bytes apart. > > So, if the data structure above were an array (you added the > DIM keyword > to the DS line) it would be correct. Each 'key' element of the array > would be an even multiple of 4 bytes apart because the filler > pads your DS > out to make it 12 bytes long (instead of being 9 bytes) > > Likewise, if you based it on a pointer, and used > %size(t_InitialValueAttr) > to increment the pointer, they'd be 12 bytes apart which is a > multiple of > 4, and that's what you want. > > Make sense? > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) > mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.