The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

fn_ctx_equivalent_name (3)
  • >> fn_ctx_equivalent_name (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         fn_ctx_equivalent_name - construct  an  equivalent  name  in
         same context
    
    SYNOPSIS
         #include <xfn/xfn.h>
    
         FN_composite_name_t  *fn_ctx_equivalent_name(FN_ctx_t  *ctx,
         const    FN_composite_name_t    *name,   const   FN_string_t
         *leading_name, FN_status_t * status);
    
    DESCRIPTION
         Given the name of an object name  relative  to  the  context
         ctx,  this  operation  returns  an  equivalent name for that
         object,  relative  to  the  same  context  ctx,   that   has
         leading_name  as its initial atomic name. Two names are said
         to be equivalent if they have prefixes that resolve  to  the
         same context, and the parts of the names immediately follow-
         ing the prefixes are identical.
    
         The existence of a binding for leading_name in ctx does  not
         guarantee that a name equivalent to name can be constructed.
         The failure may be because such equivalence is not  meaning-
         ful,  or  due  to the inability of the system to construct a
         name with the equivalence. For example, supplying  _thishost
         as   leading_name    when   name   starts  with  _myself  to
         fn_ctx_equivalent_name() in the Initial Context would not be
         meaningful;  this  results  in  the return of the error code
         FN_E_NO_EQUIVALENT_NAME.
    
    RETURN VALUES
         If an equivalent name cannot be constructed, the value 0  is
         returned and status is set appropriately.
    
    ERRORS
         fn_ctx_equivalent_name()  sets  status   as   described   in
         FN_status_t(3XFN)  and xfn_status_codes(3XFN). The following
         status code is especially relevant for this operation:
    
              FN_E_NO_EQUIVALENT_NAME
                    No equivalent name  can  be  constructed,  either
                    because   there   is  no  meaningful  equivalence
                    between name and leading_name, or the system does
                    not support constructing the requested equivalent
                    name, for implementation-specific reasons.
    
    
    EXAMPLES
         Example 1: Naming Files
    
         In the Initial Context supporting XFN enterprise policies, a
         user  jsmith  is  able  to name one of her files relative to
         this context in several ways.
    
         _myself/_fs/map.ps
         _user/jsmith/_fs/map.ps
         _orgunit/finance/_user/jsmith/_fs/map.ps
    
         The first of these may be appealing to the  user  jsmith  in
         her  day-to-day  operations.  This  name  is  not,  however,
         appropriate for her to use when referring  the  file  in  an
         electronic  mail  message sent to a colleague. The second of
         these names would be appropriate if the  colleague  were  in
         the  same organizational unit, and the third appropriate for
         anyone in the same enterprise.
    
         When the following sequence of instructions is  executed  by
         the   user   jsmith  in  the  organizational  unit  finance,
         enterprise_wide_name  would  contain  the   composite   name
         _orgunit/finance/_user/jsmith/_fs/map.ps:
    
         FN_string_t* namestr =
             fn_string_from_str((const unsigned char*)"_myself/_fs/map.ps");
         FN_composite_name_t* name = fn_composite_name_from_string(namestr);
         FN_string_t* org_lead =
             fn_string_from_str((const unsigned char*)"_orgunit");
         FN_status_t* status = fn_status_create();
         FN_composite_name_t* enterprise_wide_name;
         FN_ctx_t* init_ctx = fn_ctx_handle_from_initial(status);
         /* check status of from_initial() */
         enterprise_wide_name = fn_ctx_equivalent_name(init_ctx, name, org_lead,
         status);
    
         When the following sequence of instructions is  executed  by
         the   user   jsmith  in  the  organizational  unit  finance,
         shortest_name   would    contain    the    composite    name
         _myself/_fs/map.ps:
    
         FN_string_t* namestr =
             fn_string_from_str((const unsigned char*)
                 "_orgunit/finance/_user_jsmith/_fs/map.ps");
         FN_composite_name_t* name = fn_composite_name_from_string(namestr);
         FN_string_t* mylead = fn_string_from_str((const unsigned char*)"_myself");
         FN_status_t* status = fn_status_create();
         FN_composite_name_t* shortest_name;
         FN_ctx_t* init_ctx = fn_ctx_handle_from_initial(status);
         /* check status of from_initial() */
         shortest_name = fn_ctx_equivalent_name(init_ctx, name, mylead, status);
    
    ATTRIBUTES
         See attributes (5) for descriptions of the following  attri-
         butes:
    
    
         ____________________________________________________________
        |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
        |_____________________________|_____________________________|
        | MT-Level                    | MT-Safe                     |
        |_____________________________|_____________________________|
    
    
    SEE ALSO
         FN_composite_name_t(3XFN),                   FN_ctx_t(3XFN),
         FN_status_t(3XFN),                        FN_string_t(3XFN),
         xfn_status_codes(3XFN), attributes(5)
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру