Blob Blame History Raw
'\" t
...\" OpenHieA.sgm /main/10 1996/09/08 21:25:45 rws $
.de P!
.fl
\!!1 setgray
.fl
\\&.\"
.fl
\!!0 setgray
.fl			\" force out current output buffer
\!!save /psv exch def currentpoint translate 0 0 moveto
\!!/showpage{}def
.fl			\" prolog
.sy sed -e 's/^/!/' \\$1\" bring in postscript file
\!!psv restore
.
.de pF
.ie     \\*(f1 .ds f1 \\n(.f
.el .ie \\*(f2 .ds f2 \\n(.f
.el .ie \\*(f3 .ds f3 \\n(.f
.el .ie \\*(f4 .ds f4 \\n(.f
.el .tm ? font overflow
.ft \\$1
..
.de fP
.ie     !\\*(f4 \{\
.	ft \\*(f4
.	ds f4\"
'	br \}
.el .ie !\\*(f3 \{\
.	ft \\*(f3
.	ds f3\"
'	br \}
.el .ie !\\*(f2 \{\
.	ft \\*(f2
.	ds f2\"
'	br \}
.el .ie !\\*(f1 \{\
.	ft \\*(f1
.	ds f1\"
'	br \}
.el .tm ? font underflow
..
.ds f1\"
.ds f2\"
.ds f3\"
.ds f4\"
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 
.TH "MrmOpenHierarchy" "library call"
.SH "NAME"
\fBMrmOpenHierarchy\fP \(em Allocates a hierarchy ID and opens all the UID files in
the hierarchy
.iX "MrmOpenHierarchy"
.iX "uil functions" "MrmOpenHierarchy"
.SH "SYNOPSIS"
.PP
.nf
#include <Mrm/MrmPublic\&.h>
\fBCardinal \fBMrmOpenHierarchy\fP\fR(
\fBMrmCount \fBnum_files\fR\fR,
\fBString \fBfile_names_list\fR[]\fR,
\fBMrmOsOpenParamPtr *\fBancillary_structures_list\fR\fR,
\fBMrmHierarchy *\fBhierarchy_id\fR\fR);
.fi
.iX "MRM function" "MrmOpenHierarchy"
.iX "MrmOpenHierarchy" "definition"
.SH "DESCRIPTION"
.PP
This routine is obsolete and exists for compatibility with previous
releases\&. It is replaced by \fBMrmOpenHierarchyPerDisplay\fP\&.
\fBMrmOpenHierarchy\fP is identical to \fBMrmOpenHierarchyPerDisplay\fP
except that \fBMrmOpenHierarchy\fP does not take a \fIdisplay\fP
argument\&.
.IP "\fInum_files\fP" 10
Specifies the number of files in the name list\&.
.IP "\fIfile_names_list\fP" 10
Specifies an array of character strings that identify
the UID files\&.
.IP "\fIancillary_structures_list\fP" 10
A list of operating-system-dependent ancillary structures corresponding
to items such as filenames, clobber flags, and so forth\&.
This argument should be NULL for most operations\&.
If you need to reference this structure,
see the definition of
\fBMrmOsOpenParamPtr\fR
in the \fBMrmPublic\&.h\fP header file for more information\&.
.IP "\fIhierarchy_id\fP" 10
Returns the search hierarchy ID\&.
The search hierarchy ID identifies the list of UID files that
MRM searches (in order) when performing subsequent
fetch calls\&.
.PP
Each UID file string in \fIfile_names_list\fP can specify either a full
pathname or a filename\&.
If a UID file string has a leading slash (/), it specifies a full
pathname, and MRM opens the file as specified\&.
Otherwise, the UID file string specifies a filename\&.
In this case, MRM looks for the file along a search path specified by the
\fBUIDPATH\fP environment variable or by a default search path, which
varies depending on whether or not the \fBXAPPLRESDIR\fP environment
variable is set\&.
.PP
The \fBUIDPATH\fP environment variable specifies a search path and
naming conventions associated with UID files\&.
It can contain the substitution field \fB%U\fP, where the UID file string from
the \fIfile_names_list\fP argument to \fBMrmOpenHierarchyPerDisplay\fP is
substituted for \fB%U\fP\&.
It can also contain the substitution fields accepted by
\fBXtResolvePathname\fP\&.
The substitution field \fB%T\fP is always mapped to \fIuid\fP\&.
The entire path is first searched with \fB%S\fP mapped to \fB\&.uid\fP\&.
If no file is found, it is searched again with \fB%S\fP mapped to NULL\&.
.PP
If no display is set prior to calling this function, the result of
this function\&'s call to \fBXtResolvePathname\fP is undefined\&.
.PP
For example, the following \fBUIDPATH\fP value and
\fBMrmOpenHierarchy\fP call cause MRM to open two separate UID files:
.PP
.nf
\f(CWUIDPATH=/uidlib/%L/%U\&.uid:/uidlib/%U/%L
  static char *uid_files[] = {"/usr/users/me/test\&.uid", "test2"};
  MrmHierarchy  *Hierarchy_id;
  MrmOpenHierarchy((MrmCount)2,uid_files, NULL, Hierarchy_id)\fR
.fi
.PP
.PP
MRM opens the first file, \fB/usr/users/me/test\&.uid\fP, as specified in
the \fIfile_names_list\fP argument to \fBMrmOpenHierarchy\fP, because
the UID file string in the \fIfile_names_list\fP argument specifies a
full pathname\&.
MRM looks for the second file,
\fBtest2\fP,
first as
\fB/uidlib/%L/test2\&.uid\fP
and second as
\fB/uidlib/test2/%L\fP,
where the display\&'s language string is substituted for \fB%L\fP\&.
.PP
After
\fBMrmOpenHierarchy\fP
opens the UID hierarchy, you should not delete or modify the
UID files until you close the UID hierarchy by calling
\fBMrmCloseHierarchy\fP\&.
.PP
If \fBUIDPATH\fP is not set but the environment variable
\fBXAPPLRESDIR\fP is set, MRM searches the following pathnames:
.IP "   \(bu" 6
\fB%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/%L/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/%l/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/%L/uid/%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/%l/uid/%U%S\fP
.IP "   \(bu" 6
\fB$XAPPLRESDIR/uid/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/uid/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%L/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%l/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%L/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%l/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/include/X11/uid/%U%S\fP
.PP
If neither \fBUIDPATH\fP nor \fBXAPPLRESDIR\fP is set, MRM searches the
following pathnames:
.IP "   \(bu" 6
\fB%U%S\fP
.IP "   \(bu" 6
\fBHOME/%L/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fBHOME/%l/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/%L/uid/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/%l/uid/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/uid/%U%S\fP
.IP "   \(bu" 6
\fB$HOME/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%L/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%l/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/uid/%N/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%L/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/%l/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/lib/X11/uid/%U%S\fP
.IP "   \(bu" 6
\fB/usr/include/X11/uid/%U%S\fP
.PP
These paths are defaults that vendors may change\&.
For example, a vendor may use different directories for
\fB/usr/lib/X11\fP and \fB/usr/include/X11\fP\&.
.PP
The following substitutions are used in these paths:
.IP "\fB%U\fP" 10
The UID file string, from the \fIfile_names_list\fP argument\&.
.IP "\fB%N\fP" 10
The class name of the application\&.
.IP "\fB%L\fP" 10
The display\&'s language string\&.
This string is influenced by \fBXtSetLanguageProc\fP\&.
The default string is determined by
calling setlocale(\fBLC_ALL, NULL\fP)\&.
.IP "\fB%l\fP" 10
The language component of the display\&'s language string\&.
.IP "\fB%S\fP" 10
The suffix to the filename\&.
The entire path is first searched with a suffix of
\fB\&.uid\fP\&.
If
no file is found, it is searched again with a NULL suffix\&.
.SH "RETURN"
.PP
This function returns one of the following status return constants:
.iX "MrmSUCCESS"
.iX "MrmNOT_FOUND"
.iX "MrmFAILURE"
.IP "\fBMrmSUCCESS\fP" 10
The function executed successfully\&.
.IP "\fBMrmNOT_FOUND\fP" 10
File not found\&.
.IP "\fBMrmFAILURE\fP" 10
The function failed\&.
.SH "RELATED"
.PP
\fBMrmOpenHierarchyPerDisplay\fP(3) and
\fBMrmCloseHierarchy\fP(3)\&.
...\" created by instant / docbook-to-man, Sun 22 Dec 1996, 20:17