https://invisible-island.net/xterm/xtoolkit/
XtGetSubresources, XtVaGetSubresources - obtain subresources
#include <X11/Intrinsic.h> void XtGetSubresources(Widget w, XtPointer base, const char *name, const char * class, XtResourceList resources, Cardinal num_resources, ArgList args, Cardinal num_args); void XtVaGetSubresources(Widget w, XtPointer base, const char *name, const char *class, XtResourceList resources, Cardinal num_resources, ...);
args Specifies the argument list to override resources obtained from the resource database. base Specifies the base address of the subpart data structure where the resources should be written. class Specifies the class of the subpart. name Specifies the name of the subpart. num_args Specifies the number of arguments in the argument list. num_resources Specifies the number of resources in the resource list. resources Specifies the resource list for the subpart. w Specifies the widget that wants resources for a subpart or that identifies the resource database to search. ... Specifies the variable arguments to override resources obtained from the resource database.
The XtGetSubresources function constructs a name/class list from the application name/class, the name/classes of all its ancestors, and the widget itself. Then, it appends to this list the name/class pair passed in. The resources are fetched from the argument list, the resource database, or the default values in the resource list. Then, they are copied into the subpart record. If args is NULL, num_args must be zero. However, if num_args is zero, the argument list is not referenced.
XtGetApplicationResources, XtVaGetApplicationResources X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.2 XtGetSubresources(3)