---
name: "libssh2_scp_recv"
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_scp_recv"
---

# libssh2\_scp\_recv(3)

request a remote file via SCP

## NAME

libssh2\_scp\_recv - request a remote file via SCP

## SYNOPSIS

```
#include <libssh2.h>
LIBSSH2_CHANNEL *
libssh2_scp_recv(LIBSSH2_SESSION *session, const char *path, struct stat *sb);
```

## DESCRIPTION

This function is **DEPRECATED** in 1.7.0. Use the *[libssh2\_scp\_recv2(3)](/libssh2_scp_recv2/3.md)* function instead!

*session* - Session instance as returned by **[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)**

*path* - Full path and filename of file to transfer. That is the remote file name.

*sb* - Populated with remote file's size, mode, mtime, and atime

Request a file from the remote host via SCP.

## RETURN VALUE

Pointer to a newly allocated LIBSSH2\_CHANNEL instance, or NULL on errors.

## ERRORS

*LIBSSH2\_ERROR\_ALLOC* - An internal memory allocation call failed.

*LIBSSH2\_ERROR\_SCP\_PROTOCOL* -

*LIBSSH2\_ERROR\_EAGAIN* - Marked for non-blocking I/O but the call would block.

## SEE ALSO

**[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)** **[libssh2\_channel\_open\_ex(3)](/libssh2_channel_open_ex/3.md)**
