MrmOpenHierarchy(3X)

MrmOpenHierarchy - Allocates a hierarchy ID and opens all the UID files in the hierarchy

As shipped in IRIX 6.5.30. Added in IRIX 6.5.19.

     NAME
          MrmOpenHierarchy - Allocates a hierarchy ID and opens all
          the UID files in the hierarchy

     SYNOPSIS
          #include <Mrm/MrmPublic.h>

          Cardinal MrmOpenHierarchy(num_files, file_names_list, ancillary_structures_list, hierarchy_id)
               MrmCount            num_files;
               String              file_names_list[];
               MrmOsOpenParamPtr   *ancillary_structures_list;
               MrmHierarchy        *hierarchy_id;

     DESCRIPTION
          This routine is obsolete and exists for compatibility with
          previous releases.  It is replaced by
          MrmOpenHierarchyPerDisplay.  MrmOpenHierarchy is identical
          to MrmOpenHierarchyPerDisplay except that MrmOpenHierarchy
          does not take a display argument.

          num_files
               Specifies the number of files in the name list.

          file_names_list
               Specifies an array of character strings that identify
               the UID files.

          ancillary_structures_list
               A list of operating-system-dependent ancillary
               structures corresponding to such things as filenames,
               clobber flag, and so forth.  This argument should be
               NULL for most operations.  If you need to reference
               this structure, see the definition of MrmOsOpenParamPtr
               in MrmPublic.h for more information.

          hierarchy_id
               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.

          Each UID file string in file_names_list 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 UIDPATH environment
          variable or by a default search path, which varies depending
          on whether or not the XAPPLRESDIR environment variable is
          set.

          The UIDPATH environment variable specifies a search path and
          naming conventions associated with UID files.  It can
          contain the substitution field %U, where the UID file string
          from the file_names_list argument to
          MrmOpenHierarchyPerDisplay is substituted for %U.  It can
          also contain the substitution fields accepted by
          XtResolvePathname.  The substitution field %T is always
          mapped to uid.  The entire path is first searched with %S
          mapped to .uid and then, if no file is found, is searched
          again with %S mapped to NULL.

          If no display is set prior to calling this function, the
          result of this function's call to XtResolvePathname is
          undefined.

          For example, the following UIDPATH value and
          MrmOpenHierarchy call cause MRM to open two separate UID
          files:  UIDPATH=/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)

          MRM opens the first file, /usr/users/me/test.uid, as
          specified in the file_names_list argument to
          MrmOpenHierarchy, because the UID file string in the
          file_names_list argument specifies a full pathname.  MRM
          looks for the second file, test2, first as
          /uidlib/%L/test2.uid and second as /uidlib/test2/%L, where
          the display's language string is substituted for %L.

          After MrmOpenHierarchy opens the UID hierarchy, you should
          not delete or modify the UID files until you close the UID
          hierarchy by calling MrmCloseHierarchy.

          If UIDPATH is not set but the environment variable
          XAPPLRESDIR is set, MRM searches the following pathnames:
                    22:59:55S
                    $XAPPLRESDIR/%L/uid/%N/22:59:55S
                    $XAPPLRESDIR/%l/uid/%N/22:59:55S
                    $XAPPLRESDIR/uid/%N/22:59:55S
                    $XAPPLRESDIR/%L/uid/22:59:55S
                    $XAPPLRESDIR/%l/uid/22:59:55S
                    $XAPPLRESDIR/uid/22:59:55S
                    $HOME/uid/22:59:55S
                    $HOME/22:59:55S
                    /usr/lib/X11/%L/uid/%N/22:59:55S
                    /usr/lib/X11/%l/uid/%N/22:59:55S
                    /usr/lib/X11/uid/%N/22:59:55S
                    /usr/lib/X11/%L/uid/22:59:55S
                    /usr/lib/X11/%l/uid/22:59:55S
                    /usr/lib/X11/uid/22:59:55S
                    /usr/include/X11/uid/22:59:55S
          If neither UIDPATH nor XAPPLRESDIR is set, MRM searches the
          following pathnames:
                    22:59:55S
                    $HOME/%L/uid/%N/22:59:55S
                    $HOME/%l/uid/%N/22:59:55S
                    $HOME/uid/%N/22:59:55S
                    $HOME/%L/uid/22:59:55S
                    $HOME/%l/uid/22:59:55S
                    $HOME/uid/22:59:55S
                    $HOME/22:59:55S
                    /usr/lib/X11/%L/uid/%N/22:59:55S
                    /usr/lib/X11/%l/uid/%N/22:59:55S
                    /usr/lib/X11/uid/%N/22:59:55S
                    /usr/lib/X11/%L/uid/22:59:55S
                    /usr/lib/X11/%l/uid/22:59:55S
                    /usr/lib/X11/uid/22:59:55S
                    /usr/include/X11/uid/22:59:55S

          These paths are defaults that vendors may change.  For
          example, a vendor may use different directories for
          /usr/lib/X11 and /usr/include/X11.

          The following substitutions are used in these paths:

          %U   The UID file string, from the file_names_list argument.

          %N   The class name of the application.

          %L   The display's language string.

          %l   The language component of the display's language
               string.

          %S   The suffix to the file name.  The entire path is
               searched first with a suffix of .uil, and if no file is
               found, it is searched again with a NULL suffix.

     RETURN VALUE
          This function returns one of these status return constants:

          MrmSUCCESS
               The function executed successfully.

          MrmNOT_FOUND
               File not found.

          MrmFAILURE
               The function failed.

     RELATED INFORMATION
          MrmOpenHierarchyPerDisplay(3X) and MrmCloseHierarchy(3X).