There are a variety of operations that may be performed on a channel. Some we've already mentioned, like registering callbacks, or closing the channel. Some of the other more common operations are listed (and described) in the following table.

table(list).
|_. Operation |_. Description |
| @#exec@ | Executes a command asynchronously on this channel.|
| @#request_pty@ | Requests that a pseudo-terminal (pty) be opened for this channel.|
| @#send_data@ | Sends the given data string to the server via this channel.  This is useful for sending data to a remote process, or sending an SFTP packet to the SFTP subsystem.|
| @#send_eof@ | Tells the server that no further data will be sent from the client to the server. The client must honor this by not sending any more data (either normal or extended) to the server over this channel.|
| @#send_extended_data@ | Sends a data string to the server, along with an integer describing its type. This is typically used to send @stderr@ data.|
| @#send_request@ | Sends a named request to the server for this channel. This is primarily used by implementations of protocols and subsystems that run on top of SSH.|
| @#send_signal@ | Indicates that the server should send the given signal to the process on the other end of the channel.|
| @#subsystem@ | Requests that the server start the given subsystem on this channel. This is how (for instance) the SFTP subsystem is invoked. |

See the API documentation for an exhaustive reference of all available channel operations.
