---
name: "libssh2_version"
section: "3"
platform: "linux"
package: "libssh2"
version: "1.11.1-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libssh2_version"
---

# libssh2\_version(3)

return the libssh2 version number

## NAME

libssh2\_version - return the libssh2 version number

## SYNOPSIS

```
#include <libssh2.h>
const char *
libssh2_version(int required_version);
```

## DESCRIPTION

If *required\_version* is lower than or equal to the version number of the libssh2 in use, the version number of libssh2 is returned as a pointer to a zero terminated string.

The *required\_version* should be the version number as constructed by the LIBSSH2\_VERSION\_NUM define in the libssh2.h public header file, which is a 24 bit number in the 0xMMmmpp format. MM for major, mm for minor and pp for patch number.

## RETURN VALUE

The version number of libssh2 is returned as a pointer to a zero terminated string or NULL if the *required\_version* is not fulfilled.

## EXAMPLE

To make sure you run with the correct libssh2 version:

```
if(!libssh2_version(LIBSSH2_VERSION_NUM)) {
  fprintf(stderr, "Runtime libssh2 version too old.");
  exit(1);
}
```

Unconditionally get the version number:

```
printf("libssh2 version: %s", libssh2_version(0));
```

## AVAILABILITY

This function was added in libssh2 1.1, in previous versions there way no way to extract this info in run-time.
