XtResolvePathname(3Xt) XT FUNCTIONS XtResolvePathname(3Xt)NAMEXtResolvePathname - search for a file using standard sub-
stitution
SYNTAX
String XtResolvePathname(display, type, filename, suffix,
path, substitutions, num_substitutions, predicate)
Display *display;
String type, filename, suffix, path;
Substitution substitutions;
Cardinal num_substitutions;
XtFilePredicate predicate;
ARGUMENTS
display Specifies the display to use to find the lan-
guage for language substitutions.
type
filename
suffix Specify values to substitute into the path.
path Specifies the list of file specifications, or
NULL.
substitutions
Specifies a list of additional substitutions
to make into the path, or NULL.
num_substitutions
Specifies the number of entries in substitu-
tions.
predicate Specifies a procedure called to judge each
potential file name, or NULL.
DESCRIPTION
The substitutions specified by XtResolvePathname are
determined from the value of the language string retrieved
by XtDisplayInitialize for the specified display. To set
the language for all applications specify ``*xnlLanguage:
lang'' in the resource database. The format and content
of the language string are implementation-defined. One
suggested syntax is to compose the language string of
three parts; a ``language part'', a ``territory
part'' and a ``codeset part''. The manner in which this
composition is accomplished is implementation-defined and
the Intrinsics make no interpretation of the parts other
than to use them in substitutions as described below.
XtResolvePathname calls XtFindFile with the following sub-
stitutions in addition to any passed by the caller and
returns the value returned by XtFindFile:
%N The value of the filename parameter, or the
X Version 11 Release 6.4 1
XtResolvePathname(3Xt) XT FUNCTIONS XtResolvePathname(3Xt)
application's class name if filename is NULL.
%T The value of the type parameter.
%S The value of the suffix parameter.
%L The language string associated with the specified
display.
%l The language part of the display's language string.
%t The territory part of the display's language string.
%c The codeset part of the display's language string.
%C The customization string retrieved from the resource
database associated with display.
%D The value of the implementation-specific default
path.
If a path is passed to XtResolvePathname, it will be
passed along to XtFindFile. If the path argument is NULL,
the value of the XFILESEARCHPATH environment variable will
be passed to XtFindFile. If XFILESEARCHPATH is not
defined, an implementation-specific default path will be
used which contains at least 6 entries. These entries
must contain the following substitutions:
1. %C, %N, %S, %T, %L or%C, %N, %S, %T, %l, %t, %c
2. %C, %N, %S, %T, %l
3. %C, %N, %S, %T
4. %N, %S, %T, %L or %N, %S, %T, %l, %t, %c
5. %N, %S, %T, %l
6. %N, %S, %T
The order of these six entries within the path must be as
given above. The order and use of substitutions within a
given entry is implementation dependent. If the path
begins with a colon, it will be preceded by %N%S. If the
path includes two adjacent colons, %N%S will be inserted
between them.
The type parameter is intended to be a category of files,
usually being translated into a directory in the pathname.
Possible values might include ``app-defaults'', ``help'',
and ``bitmap''.
The suffix parameter is intended to be appended to the
file name. Possible values might include ``.txt'',
``.dat'', and ``.bm''.
A suggested value for the default path on POSIX-based sys-
tems is
X Version 11 Release 6.4 2
XtResolvePathname(3Xt) XT FUNCTIONS XtResolvePathname(3Xt)
<XRoot>/lib/X11/%L/%T/%N%C%S:<XRoot>/lib/X11/%l/%T/%N%C%S:\
<XRoot>/lib/X11/%T/%N%C%S:<XRoot>/lib/X11/%L/%T/%N%S:\
<XRoot>/lib/X11/%l/%T/%N%S:<XRoot>/lib/X11/%T/%N%S
where <XRoot> is replaced by the root of the X11 installa-
tion tree (/usr/X11R6, for example).
Using this example, if the user has specified a language,
it will be used as a subdirectory of <XRoot>/lib/X11 that
will be searched for other files. If the desired file is
not found there, the lookup will be tried again using just
the language part of the specification. If the file is
not there, it will be looked for in <XRoot>/lib/X11. The
type parameter is used as a subdirectory of the language
directory or of <XRoot>/lib/X11, and suffix is appended to
the file name.
The %D substitution allows the addition of path elements
to the implementation-specific default path, typically to
allow additional directories to be searched without pre-
venting resources in the system directories from being
found. For example, a user installing resource files
under a directory called ``ourdir'' might set XFILESEARCH-
PATH to
%D:ourdir/%T/%N%C:ourdir/%T/%N
The customization string is obtained by querying the
resource database currently associated with the display
(the database returned by XrmGetDatabase) for the resource
application_name.customization, class applica-
tion_class.Customization where application_name and appli-
cation_class are the values returned by
XtGetApplicationNameAndClass. If no value is specified in
the database, the empty string is used.
It is the responsibility of the caller to free the
returned string using XtFree when it is no longer needed.
SEE ALSO
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface
X Version 11 Release 6.4 3