The OpenNET Project / Index page

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

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

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

nsdispatch (3)
  • >> nsdispatch (3) ( FreeBSD man: Библиотечные вызовы )

  • BSD mandoc
     

    NAME

    
    
    nsdispatch
    
     - name-service switch dispatcher routine
    
     
    

    LIBRARY

    Lb libc
    
     
    

    SYNOPSIS

       #include <sys/types.h>
       #include <stdarg.h>
       #include <nsswitch.h>
    int Fo nsdispatch Fa void *retval Fa const ns_dtab dtab[] Fa const char *database Fa const char *method_name Fa const ns_src defaults[] Fa ... Fc  

    DESCRIPTION

    The nsdispatch ();
    function invokes the methods specified in dtab in the order given by nsswitch.conf5 for the database database until a successful entry is found.

    retval is passed to each method to modify as necessary, to pass back results to the caller of nsdispatch (.);

    Each method has the function signature described by the typedef:

    typedef int Fn *nss_method void *retval void *mdata va_list *ap ;

    dtab is an array of ns_dtab structures, which have the following format:

    typedef struct _ns_dtab {
            const char      *src;
            nss_method       method;
            void            *mdata;
    } ns_dtab;
    

    The Fa dtab array should consist of one entry for each source type that is implemented, with src as the name of the source, method as a function which handles that source, and mdata as a handle on arbitrary data to be passed to the method. The last entry in dtab should contain NULL values for src method and mdata

    Additionally, methods may be implemented in NSS modules, in which case they are selected using the Fa database and Fa method_name arguments along with the configured source. (The methods supplied via Fa dtab take priority over those implemented in NSS modules in the event of a conflict.)

    defaults contains a list of default sources to try if nsswitch.conf5 is missing or corrupted, or if there is no relevant entry for database It is an array of ns_src structures, which have the following format:

    typedef struct _ns_src {
            const char      *src;
            u_int32_t        flags;
    } ns_src;
    

    The Fa defaults array should consist of one entry for each source to be configured by default indicated by src and flags set to the criterion desired (usually NS_SUCCESS refer to Sx Method return values for more information). The last entry in defaults should have src set to NULL and flags set to 0.

    For convenience, a global variable defined as:

    extern const ns_src __nsdefaultsrc[];
    exists which contains a single default entry for the source `files' that may be used by callers which do not require complicated default rules.

    `... ' are optional extra arguments, which are passed to the appropriate method as a variable argument list of the type Vt va_list .  

    Valid source types

    While there is support for arbitrary sources, the following #defines for commonly implemented sources are available:

    #define       value
    NSSRC_FILES Ta files
    NSSRC_DNS Ta dns
    NSSRC_NIS Ta nis
    NSSRC_COMPAT Ta compat

    Refer to
    nsswitch.conf5 for a complete description of what each source type is.

     

    Method return values

    The Vt nss_method functions must return one of the following values depending upon status of the lookup:

    Return value  Status code
    NS_SUCCESS Ta success
    NS_NOTFOUND Ta notfound
    NS_UNAVAIL Ta unavail
    NS_TRYAGAIN Ta tryagain
    NS_RETURN Ta -none-

    Refer to
    nsswitch.conf5 for a complete description of each status code.

    The nsdispatch ();
    function returns the value of the method that caused the dispatcher to terminate, or NS_NOTFOUND otherwise.  

    NOTES

    Fx Ns 's Lb libc provides stubs for compatibility with NSS modules written for the GNU C Library nsswitch interface. However, these stubs only support the use of the ``passwd '' and ``group '' databases.  

    SEE ALSO

    hesiod(3), stdarg(3), nsswitch.conf5, yp(8)  

    HISTORY

    The nsdispatch ();
    function first appeared in Fx 5.0 . It was imported from the Nx Project, where it appeared first in Nx 1.4 . Support for NSS modules first appeared in Fx 5.1 .  

    AUTHORS

    Luke Mewburn Aq lukem@netbsd.org wrote this freely-distributable name-service switch implementation, using ideas from the ULTRIX svc.conf(5) and Solaris nsswitch.conf(4) manual pages. The Fx Project added the support for threads and NSS modules, and normalized the uses of nsdispatch ();
    within the standard C library.


     

    Index

    NAME
    LIBRARY
    SYNOPSIS
    DESCRIPTION
    Valid source types
    Method return values
    NOTES
    SEE ALSO
    HISTORY
    AUTHORS


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




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

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