---
name: "libssh2_knownhost_writeline"
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_knownhost_writeline"
---

# libssh2\_knownhost\_writeline(3)

convert a known host to a line for storage

## NAME

libssh2\_knownhost\_writeline - convert a known host to a line for storage

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_knownhost_writeline(LIBSSH2_KNOWNHOSTS *hosts,
                            struct libssh2_knownhost *known,
                            char *buffer, size_t buflen,
                            size_t *outlen,
                            int type);
```

## DESCRIPTION

Converts a single known host to a single line of output for storage, using the 'type' output format.

*known* identifies which particular known host

*buffer* points to an allocated buffer

*buflen* is the size of the *buffer*. See RETURN VALUE about the size.

*outlen* must be a pointer to a size\_t variable that will get the output length of the stored data chunk. The number does not included the trailing zero!

*type* specifies what file type it is, and *LIBSSH2\_KNOWNHOST\_FILE\_OPENSSH* is the only currently supported format.

## RETURN VALUE

Returns a regular libssh2 error code, where negative values are error codes and 0 indicates success.

If the provided buffer is deemed too small to fit the data libssh2 wants to store in it, LIBSSH2\_ERROR\_BUFFER\_TOO\_SMALL will be returned. The application is then advised to call the function again with a larger buffer. The *outlen* size will then hold the requested size.

## AVAILABILITY

Added in libssh2 1.2

## SEE ALSO

**[libssh2\_knownhost\_get(3)](/libssh2_knownhost_get/3.md)** **[libssh2\_knownhost\_readline(3)](/libssh2_knownhost_readline/3.md)** **[libssh2\_knownhost\_writefile(3)](/libssh2_knownhost_writefile/3.md)**
