Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
server.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Grant Ramsay <grant.ramsay@hotmail.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_NET_SSH_SERVER_H_
8#define ZEPHYR_INCLUDE_NET_SSH_SERVER_H_
9
21
22#include <zephyr/kernel.h>
23#include <zephyr/net/socket.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
31
32struct ssh_server;
33
35
45
49 struct ssh_transport *transport;
50};
51
55 struct ssh_transport *transport;
56};
57
77
94typedef int (*ssh_server_event_callback_t)(struct ssh_server *sshd,
95 const struct ssh_server_event *event,
96 void *user_data);
97
99
100struct ssh_server *ssh_server_instance(int instance);
101
103
104
125int ssh_server_start(struct ssh_server *sshd,
126 const struct net_sockaddr *bind_addr,
127 int host_key_index,
128 const char *username,
129 const char *password,
130 const int *authorized_keys,
131 size_t authorized_keys_len,
132 ssh_server_event_callback_t server_callback,
133 ssh_transport_event_callback_t transport_callback,
134 void *user_data);
135
143int ssh_server_stop(struct ssh_server *sshd);
144
153int ssh_server_transport_close(struct ssh_server *sshd, int idx);
154
155#ifdef __cplusplus
156}
157#endif
158
162
163#endif /* ZEPHYR_INCLUDE_NET_SSH_SERVER_H_ */
int ssh_server_start(struct ssh_server *sshd, const struct net_sockaddr *bind_addr, int host_key_index, const char *username, const char *password, const int *authorized_keys, size_t authorized_keys_len, ssh_server_event_callback_t server_callback, ssh_transport_event_callback_t transport_callback, void *user_data)
Start an SSH server.
int ssh_server_stop(struct ssh_server *sshd)
Stop an SSH server.
ssh_server_event_type
Server event types.
Definition server.h:37
int(* ssh_server_event_callback_t)(struct ssh_server *sshd, const struct ssh_server_event *event, void *user_data)
Callback function type for SSH server events.
Definition server.h:94
int ssh_server_transport_close(struct ssh_server *sshd, int idx)
Close an SSH server transport connection.
@ SSH_SERVER_EVENT_CLIENT_DISCONNECTED
Client has disconnected from the server.
Definition server.h:43
@ SSH_SERVER_EVENT_CLIENT_CONNECTED
Client has connected to the server.
Definition server.h:41
@ SSH_SERVER_EVENT_CLOSED
Server has been closed.
Definition server.h:39
SSH client/server common API.
Public kernel APIs.
BSD Sockets compatible API definitions.
Generic sockaddr struct.
Definition net_ip.h:449
Client connection transport data.
Definition server.h:47
struct ssh_transport * transport
Transport associated with the connected client.
Definition server.h:49
Client disconnection transport data.
Definition server.h:53
struct ssh_transport * transport
Transport associated with the disconnected client.
Definition server.h:55
SSH server event.
Definition server.h:64
struct ssh_server_event_client_connected client_connected
Data specific to client connection.
Definition server.h:71
enum ssh_server_event_type type
Type of the event.
Definition server.h:66
struct ssh_server_event_client_disconnected client_disconnected
Data specific to client disconnection.
Definition server.h:74