Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XtOffset(3x) — HP-UX 9.05

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XtOffsetOf(1)

 

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

XtOffsetOf(1). 

Copyright O’Reilly & Assoc.  —  X Toolkit Intrinsics Reference Manual © O’Reilly & Associates

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026