libssh2\_channel\_process\_startup(3) libssh2 libssh2\_channel\_process\_startup(3)

# [NAME](#NAME)

libssh2\_channel\_process\_startup - request a shell on a channel

# [SYNOPSIS](#SYNOPSIS)

```
#include <libssh2.h>
int
libssh2_channel_process_startup(LIBSSH2_CHANNEL *channel,


                                const char *request,


                                unsigned int request_len,


                                const char *message,


                                unsigned int message_len);
```

# [DESCRIPTION](#DESCRIPTION)

*channel* - Active session channel instance.

*request* - Type of process to startup. The SSH2 protocol currently defines shell, exec, and subsystem as standard process services.

*request\_len* - Length of request parameter.

*message* - Request specific message data to include.

*message\_len* - Length of message parameter.

Initiate a request on a session type channel such as returned by [**libssh2\_channel\_open\_ex(3)**](/man/os/libssh2/libssh2_channel_open_ex.3)

# [RETURN VALUE](#RETURN_VALUE)

Return 0 on success or negative on failure. It returns LIBSSH2\_ERROR\_EAGAIN when it would otherwise block. While LIBSSH2\_ERROR\_EAGAIN is a negative number, it is not really a failure per se.

# [ERRORS](#ERRORS)

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

*LIBSSH2\_ERROR\_SOCKET\_SEND* - Unable to send data on socket.

*LIBSSH2\_ERROR\_CHANNEL\_REQUEST\_DENIED* -

# [SEE ALSO](#SEE_ALSO)

[**libssh2\_channel\_open\_ex(3)**](/man/os/libssh2/libssh2_channel_open_ex.3)

1 Jun 2007 libssh2 0.15

---

Document: libssh2_channel_process_startup(3) from libssh2 1.11.1-r10 (Chainguard OS)
Source: https://github.com/libssh2/libssh2.git
