The OpenNET Project / Index page

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

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

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

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

    NAME

    vpfmt - display error message in standard format and pass to logging and monitoring services
     
    

    SYNOPSIS

    #include <pfmt.h>
    #include <stdarg.h>
    
    int vpfmt(FILE *stream, long flag, const char *format, va_list ap);
    

     

    DESCRIPTION

    The vpfmt() function is identical to pfmt(3C), except that it is called with an argument list as defined by <stdarg.h>.

    The <stdarg.h> header defines the type va_list and a set of macros for advancing through a list of arguments whose number and types may vary. The ap argument is of type va_list. This argument is used with the <stdarg.h> macros va_start(), va_arg(), and va_end(). See stdarg(3EXT). The example in the EXAMPLES section below demonstrates their use with vpfmt().  

    RETURN VALUES

    Upon successful completion, vpfmt() returns the number of bytes transmitted. Otherwise, -1 is returned if there was a write error to stream.  

    EXAMPLES

    Example 1 Use of vpfmt() to write an error routine.

    The following example demonstrates how vpfmt() could be used to write an error() routine. The va_alist() macro is used as the parameter list in a function definition. The va_start(ap, ...) call, where ap is of type va_list, must be invoked before any attempt to traverse and access unnamed arguments. Calls to va_arg(ap, atype) traverse the argument list. Each execution of va_arg() expands to an expression with the value and type of the next argument in the list ap, which is the same object initialized by va_start(). The atype argument is the type that the returned argument is expected to be. The va_end(ap) macro must be invoked when all desired arguments have been accessed. The argument list in ap can be traversed again if va_start() is called again after va_end(). In the example below, va_arg() is executed first to retrieve the format string passed to error(). The remaining error() arguments (arg1, arg2, ...) are passed to vpfmt() in the argument ap.

    #include <pfmt.h>
    #include <stdarg.h>
    /*
    *   error should be called like
    *         error(format, arg1, ...);
    */
    void error(...)
    {
           va_list ap;
           char *format;
           va_start(ap, );
           format = va_arg(ap, char *);
           (void) vpfmt(stderr, MM_ERROR, format, ap);
           va_end(ap);
           (void) abort();
    }
    

     

    USAGE

    Since vpfmt() uses gettxt(3C), it is recommended that vpfmt() not be used.  

    ATTRIBUTES

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    MT-LevelMT-Safe

     

    SEE ALSO

    gettxt(3C), pfmt(3C), attributes(5), stdarg(3EXT)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    EXAMPLES
    USAGE
    ATTRIBUTES
    SEE ALSO


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




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

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