1
0
mirror of https://github.com/libssh2/libssh2.git synced 2026-10-28 17:01:54 +03:00
Files
libssh2/docs/libssh2_version.md
Viktor Szakats ca43b304cf tidy-up: miscellaneous
- man pages: grammar
- examples: add missing parentheses to macro values
- examples: replace `write()` with `_write()` on Windows.
  (to avoid warnings.)
- examples, tests: drop redundant NULL assigments.
- examples: fix to cleanup on error in ssh2_echo, ssh2_exec.
- libssh2.rpgle.in: make hex notation consistent in comment.
- chacha, session.h: avoid comparison with literal NULL.
- prefer 'unrecognized' vs 'unknown' in error messages.
- mbedtls: sync a code pattern with others in the code in
  `ssh2_rsa_new()`.
- openssl: declutter and update comment for wolfSSL `HMAC_Update()`
  exception. Also drop FIXME as the upstream incompatibility seems
  intentional.
- pem, userauth, wincng: fix, clarify error messages.
- wincng: add explanation for `NOLINT` exception, reword another
  comment.
  (suggested by Copilot)
- misc: drop redundant parentheses.
- test_read: fix a type mismatch.
- openssl: use indexed syntax for readability.
- vms/man2help: fix tool name is help text.
- formatting: reflow, newlines, spaces, comment typos.

Some of these reported by GitHub Code Quality / Copilot.

Closes #2042
2026-06-11 14:49:52 +02:00

1.3 KiB

c, SPDX-License-Identifier, Title, Section, Source, See-also
c SPDX-License-Identifier Title Section Source See-also
Copyright (C) The libssh2 project and its contributors. BSD-3-Clause libssh2_version 3 libssh2

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 null-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 null-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.\&");
  return -1;  /* return error */
}

Unconditionally get the version number:

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

AVAILABILITY

This function was added in libssh2 1.1, in earlier versions there way no way to extract this info in runtime.