From a C program view, the 2nd (__type) and the 3rd parameters (__field)
should refer to some user defined structure (type name) and its containing
field (member name). Those do not need typedef, I think. The description
of the macro offsetof may help to study the usage. But I don't understand
what specific type name and member name would be used in your context. :-)

#define _SET_UPDATE_NULL_MAP_FIELD(__file,__type,__field)

(*((__file)->in_null_map + offsetof(__type,__field)) =


Richard Feng

Chris Hird
dadvanced.ca> To
Sent by: <c400-l@xxxxxxxxxxxx>
c400-l-bounces@mi cc
09/14/2012 11:47 macro

Please respond to
C programming
iSeries / AS400


I am trying to work with data that has NULL fields defined and need to
update a file. I am reading the data from a journal entry and can see the
NULL map in the journal entry, the manuals say I need to update the null
fields before I call the _Rupdate() function, but that’s where things get a
little confusing. The _SET_NULL_MAP_FIELD() macro takes 3 parameters, first
the _RFILE ptr, then a type (I assume this is wher it needs to be ‘0’ or
to determine if NULL) plus a field. But it offers no explanation of the
input required? I assume because it is a volatile char *const that this is
an array of characters which needs to be set to ‘0’ or ‘1’ according to the
fields in the file?

This is the macro definition

#define _SET_UPDATE_NULL_MAP_FIELD(__file,__type,__field)

(*((__file)->in_null_map + offsetof(__type,__field)) =


I cannot find any typedef which relates to the __type or __field element?

I have determined the content of the data and it shows that F9 needs to be
set as a ‘1’ and F0 to ‘0’, but I am not sure how to code up the above
to achieve this? I also see the data for the field which is F0 in the null
map is the data to be changed so I know the _Rupdate() function should take
the NULL map and set the data accordingly but not sure how to implement?
This is only part of the problem, but once I get the null map set I am sure
the rest will make sense.

Any advice will be gladly accepted.


Chris Hird


Shield Advanced Solutions Ltd


1(519) 940-1192



Please consider the environment before printing this email.

This message, including any attached documents, is intended for the
addressees only. It may contain information that is confidential,
and/or exempt from disclosure. No rights to privilege or confidentiality
have been waived. Any unauthorized use or disclosure is prohibited. If you
have received this message in error, please reply to the sender by e-mail
and delete or destroy all copies of this message.


Avant d'imprimer ce courriel, pensez à l'environnement.

Ce message, incluant tous les documents joints, est à l'intention des
destinataires visés seulement. Il peut contenir des renseignements
confidentiels, protégés et/ou ne pouvant pas être divulgués. Aucune
renonciation n'est faite quant à sa nature confidentielle et privilégiée.
Par conséquent, toute diffusion ou utilisation non autorisée est
interdite. Si vous avez reçu ce message par erreur, veuillez en aviser
immédiatement l'expéditeur par retour de courriel et en détruire toutes les
copies existantes.

This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.