---
name: "PAPI_library_init"
section: "3"
platform: "linux"
package: "libpapi-dev"
version: "7.1.0-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PAPI_library_init"
---

# PAPI\_library\_init(3)

initialize the PAPI library.

## NAME

PAPI\_library\_init - initialize the PAPI library.

## SYNOPSIS

## Detailed Description

**Parameters**

*version* upon initialization, PAPI checks the argument against the internal value of PAPI\_VER\_CURRENT when the library was compiled. This guards against portability problems when updating the PAPI shared libraries on your system.

**Return values**

*PAPI\_EINVAL* **papi.h** is different from the version used to compile the PAPI library. \
 *PAPI\_ENOMEM* Insufficient memory to complete the operation. \
 *PAPI\_ECMP* This component does not support the underlying hardware. \
 *PAPI\_ESYS* A system or C library call failed inside PAPI, see the errno variable.

**PAPI\_library\_init()** initializes the PAPI library. **PAPI\_is\_initialized()** check for initialization. It must be called before any low level PAPI functions can be used. If your application is making use of threads **PAPI\_thread\_init** must also be called prior to making any calls to the library other than **PAPI\_library\_init()** .

**Examples:**

```
int retval;
retval = PAPI_library_init(PAPI_VER_CURRENT);
if (retval != PAPI_VER_CURRENT && retval > 0) {
    fprintf(stderr,"PAPI library version mismatch!\en");
    exit(1); }
if (retval < 0)
    handle_error(retval);
retval = PAPI_is_initialized();
if (retval != PAPI_LOW_LEVEL_INITED)
    handle_error(retval)
```

**See also**

**PAPI\_thread\_init** PAPI

## Author

Generated automatically by Doxygen for PAPI from the source code.
