PAPI3:PAPI perror.3
From PAPIDocs
(Redirected from PAPI3:PAPI strerror.3)
Jump to: navigation, search


Contents

Name

  • PAPI_perror - convert PAPI error codes to strings, and print error message to stderr.
  • PAPI_strerror - convert PAPI error codes to strings, and return the error string to user.

Synopsis

C Interface

#include <papi.h>
int PAPI_perror(int  code, char * destination, int  length );
char *PAPI_strerror(int  code );

Fortran Interface

#include fpapi.h
PAPIF_perror(C_INT  code,  C_STRING  destination,  C_INT  check )

Description

PAPI_perror() fills the string destination with the error message corresponding to the error code code . The function copies length worth of the error description string corresponding to code into destination. The resulting string is always null terminated. If length is 0, then the string is printed on stderr. PAPI_strerror() returns a pointer to the error message corresponding to the error code code . If the call fails the function returns the NULL pointer. This function is not implemented in Fortran.

Arguments

code -- the error code to interpret

*destination -- "the error message in quotes"

length -- either 0 or strlen(destination)

Errors

PAPI_EINVAL One or more of the arguments to PAPI_perror() is invalid.

NULL The input error code to PAPI_strerror() is invalid.

Bugs

These functions have no known bugs.

EXAMPLE

int EventSet = PAPI_NULL;
int native = 0x0;
char error_str[PAPI_MAX_STR_LEN];
if ((retval = PAPI_create_eventset(&EventSet)) != PAPI_OK)
{
fprintf(stderr, "PAPI error %d: %s\\n",retval,PAPI_strerror(retval));
exit(1);
}
/* Add Total Instructions Executed to our EventSet */
if ((retval = PAPI_add_event(EventSet, PAPI_TOT_INS)) != PAPI_OK)
{
PAPI_perror(retval,error_str,PAPI_MAX_STR_LEN);
fprintf(stderr,"PAPI_error %d: %s\\n",retval,error_str);
exit(1);
}
/* Start counting */
if ((retval = PAPI_start(EventSet)) != PAPI_OK)
handle_error(retval);

See Also

PAPI_set_opt(3), PAPI_get_opt(3), PAPI_shutdown(3), PAPI_set_debug(3)