NAME
XtOffset − determine the byte offset of a field within a structure pointer type.
SYNOPSIS
Cardinal XtOffset(pointer_type, field_name)
Inputs
pointer_type
Specifies a type that is declared as a pointer to the structure.
field_nameSpecifies the name of the field in the structure pointed to by pointer_type.
Returns
The offset in bytes of the named field from the beginning of the structure type pointed to by pointer_type.
DESCRIPTION
XtOffset() is a macro that computes the offset of a named field in a structure, given the field name and a type which points to the structure.
USAGE
XtOffset() has been superseded by XtOffsetOf() which takes the structure type itself rather than a pointer to the structure, and is defined in a more portable way.
XtOffset() is usually used to determine the location of an variable within a structure when initializing a resource list. It is used by widget writers, and anyone who needs to fetch application resources with XtGetApplicationResources(). Resource fields are defined in terms of offsets from a base address from the beginning of a widget. Thus, a resource value can be kept up to date by the Resource Manager without any knowledge of the instance structure of the widget; it uses just a relative byte offset.
BACKGROUND
XtOffset() is a macro defined as follows for most architectures: #define XtOffset(p_type,field) \ #define XtOffset(p_type,field) \ ((Cardinal) (((char ∗) (&(((p_type)NULL)->field))) - ((char ∗) NULL)))
SEE ALSO
XtOffsetOfUNIX SYSTEM V/68.