mrmregisternamesinhierarchy(3)
NAME
MrmRegisterNamesInHierarchy -- Registers the values associated with the
names referenced in UIL within a single hierarchy (for example, UIL
callback function names or UIL identifier names)
SYNOPSIS
#include <Mrm/MrmPublic.h> Cardinal MrmRegisterNamesInHierarchy( MrmHierarchy hierarchy_id, MrmRegisterArglist register_list, MrmCount register_count);
DESCRIPTION
The MrmRegisterNamesInHierarchy function registers a vector of names
and associated values for access in MRM. The values can be callback
functions, pointers to user-defined data, or any other values. The
information provided is used to resolve symbolic references occurring
in UID files to their run-time values. For callbacks, this information
provides the procedure address required by the Motif Toolkit. For
names used as identifiers in UIL, this information provides any runtime mapping the application needs.
This function is similar to MrmRegisterNames, except that the scope of
the names registered by MrmRegisterNamesInHierarchy is limited to the
hierarchy specified by hierarchy_id, whereas the names registered by
MrmRegisterNames have global scope. When MRM looks up a name, it first
tries to find the name among those registered for the given hierarchy.
If that lookup fails, it tries to find the name among those registered
globally.
- hierarchy_id
- Specifies the hierarchy with which the names are to be associated.
- register_list
- Specifies a list of name/value pairs for the names to be registered. Each name is a case-sensitive, NULL-terminated ASCII string. Each value is a 32-bit quantity, interpreted as a procedure address if the name is a callback function, and uninterpreted otherwise.
- register_count
- Specifies the number of entries in register_list.
- The names in the list are case-sensitive. The list can be either ordered or unordered.
- Callback functions registered through MrmRegisterNamesInHierarchy can be either regular or creation callbacks. Regular callbacks have declarations determined by Motif Toolkit and user requirements. Creation callbacks have the same format as any other callback:
- void CallBackProc(
Widget *widget_id,
Opaque tag,
XmAnyCallbackStruct *callback_data); - widget_id Specifies the widget ID associated with the widget performing
- the callback (as in any callback function).
- tag Specifies the tag value (as in any callback function).
- callback_data
- Specifies a widget-specific data structure. This data structure has a minimum of two members: event and reason. The reason member is always set to MrmCR_CREATE.
- Note that the widget name and parent are available from the widget record accessible through widget_id.
RETURN
This function returns one of the following status return constants:
- MrmSUCCESS
- The function executed successfully.
- MrmFAILURE
- The function failed.