diff options
author | Hans Nilsson <[email protected]> | 2018-04-27 10:31:01 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2018-04-27 10:31:01 +0200 |
commit | 82ac72abf72c25fb092486e50ddac700bec17341 (patch) | |
tree | 06b0de823c66c64ade945049d30c5cbda854bd9f /lib/ssh/src/ssh_server_channel.erl | |
parent | 56e88f364a32b471b03e2364c2eb84783642ad88 (diff) | |
parent | c2ca477c85e0e88732f634ddfb01ac675a97dddb (diff) | |
download | otp-82ac72abf72c25fb092486e50ddac700bec17341.tar.gz otp-82ac72abf72c25fb092486e50ddac700bec17341.tar.bz2 otp-82ac72abf72c25fb092486e50ddac700bec17341.zip |
Merge branch 'hans/ssh/channel_maintenance/OTP-15041'
* hans/ssh/channel_maintenance/OTP-15041:
ssh: ssh_channel replaced by ssh_client_channel
ssh: ssh_daemon_channel replaced by ssh_server_channel
ssh: Use ssh_daemon_channel_sup and ssh_damon_channel
ssh: Create doc for the ssh_daemon_channel behaviour
Diffstat (limited to 'lib/ssh/src/ssh_server_channel.erl')
-rw-r--r-- | lib/ssh/src/ssh_server_channel.erl | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/lib/ssh/src/ssh_server_channel.erl b/lib/ssh/src/ssh_server_channel.erl new file mode 100644 index 0000000000..f1c9a85639 --- /dev/null +++ b/lib/ssh/src/ssh_server_channel.erl @@ -0,0 +1,55 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2013-2016. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%% +%% %CopyrightEnd% +%% + +%% +%% Description: a gen_server implementing a simple +%% terminal (using the group module) for a CLI +%% over SSH + +-module(ssh_server_channel). + +%% API to server side channel that can be pluged into the erlang ssh daemeon +-callback init(Args :: term()) -> + {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | + {stop, Reason :: term()} | ignore. + +-callback terminate(Reason :: (normal | shutdown | {shutdown, term()} | + term()), + State :: term()) -> + term(). + +-callback handle_msg(Msg ::term(), State :: term()) -> + {ok, State::term()} | {stop, ChannelId::ssh:channel_id(), State::term()}. +-callback handle_ssh_msg({ssh_cm, ConnectionRef::ssh:connection_ref(), SshMsg::term()}, + State::term()) -> {ok, State::term()} | + {stop, ChannelId::ssh:channel_id(), + State::term()}. + +%%% Internal API +-export([start_link/5, + get_print_info/1 + ]). + +start_link(ConnectionManager, ChannelId, CallBack, CbInitArgs, Exec) -> + ssh_client_channel:start_link(ConnectionManager, ChannelId, CallBack, CbInitArgs, Exec). + + +get_print_info(Pid) -> + ssh_client_channel:get_print_info(Pid). |