sg_get_error_arg man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

sg_get_error(3)						       sg_get_error(3)

NAME
       sg_get_error,   sg_get_error_arg,   sg_get_error_errno,	 sg_str_error,
       sg_get_error_details, sg_strperror - get last error status

SYNOPSIS
       #include <statgrab.h>

       sg_error sg_get_error (void);

       const char *sg_get_error_arg (void);

       int sg_get_error_errno (void);

       sg_error sg_get_error_details (sg_error_details *err_details);

       const char *sg_str_error (sg_error code);

       char *sg_strperror (char **buf, const sg_error_details * const
			  err_details);

DESCRIPTION
       There are four functions to get information about the last occurred er‐
       ror: sg_get_error, sg_get_error_arg, sg_get_error_errno and  sg_get_er‐
       ror_details.  The  remaining  functions are intended to improve the ma‐
       chine-human-interface  (e.g.   the  error  log  or  a   message	 box):
       sg_str_error delivers a human readable error name and sg_strperror pre‐
       pares a full blown error message for printing.

       The error argument (sg_get_error_arg) is stored	thread	local  and  is
       reused  every  time an error occures. If a later usage is intended, du‐
       plicating it is a suitable strategy. Same for the error_arg  of	sg_er‐
       ror_details delivered by sg_get_error_details.

       When someone calls the function sg_get_error_details with a NULL point‐
       er, the last error  is  overridden  with	 a  new	 one  describing  that
       sg_get_error_details  is called with invalid arguments. Please be care‐
       ful.

       The function sg_strperror is allowed  to	 be  called  with  or  without
       (err_details  is NULL) collected error details. In the latter case, the
       last occurred error of this thread is used to prepare  the  error  mes‐
       sage.  Be  aware, the the buffer pointer must be non-NULL (points to an
       existing char * lvalue), but the char * lvalue it points	 to,  must  be
       NULL.  When invoked correctly, there are only two possible error condi‐
       tions let sg_strperror fail: ENOMEM (out of memory) and EINVAL (invalid
       error code).

       Example

       if( NULL == sg_get_cpu_stats() ) {
	   char *buf = NULL;
	   if( NULL != sg_strperror( &buf, NULL ) ) {
	       fprintf( stderr, "error getting CPU stats: %s\n", buf );
	       free(buf);
	       exit(255);
	   }
	   else {
	       fprintf( stderr, "error getting CPU stats and error information\n" );
	       exit(255);
	   }
       }

RETURN VALUES
       The error details contains following information:

       typedef struct sg_error_details {
	       sg_error error;
	       int errno_value;
	       const char *error_arg;
       } sg_error_details;

       error  The statgrab library error code.

       errno_value
	      The operating system error code.

       error_arg
	      Additional information set when the error was reported.

SEE ALSO
       statgrab(3)

WEBSITE
       ⟨http://www.i-scream.org/libstatgrab/⟩

i-scream			  2013-06-07		       sg_get_error(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net