libnetconf2 3.5.5
NETCONF server and client library in C.
Loading...
Searching...
No Matches
session_client_ch.h
Go to the documentation of this file.
1
16#ifndef NC_SESSION_CLIENT_CH_H_
17#define NC_SESSION_CLIENT_CH_H_
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#include <libyang/libyang.h>
24
25#ifdef NC_ENABLED_SSH_TLS
26# include <libssh/libssh.h>
27#endif /* NC_ENABLED_SSH_TLS */
28
29#include "messages_client.h"
30#include "netconf.h"
31#include "session.h"
32
33#ifdef NC_ENABLED_SSH_TLS
34
54int nc_accept_callhome(int timeout, struct ly_ctx *ctx, struct nc_session **session);
55
74
86
98void nc_client_ssh_ch_set_auth_password_clb(char *(*auth_password)(const char *username, const char *hostname, void *priv),
99 void *priv);
100
108void nc_client_ssh_ch_get_auth_password_clb(char *(**auth_password)(const char *username, const char *hostname, void *priv),
109 void **priv);
110
122void nc_client_ssh_ch_set_auth_interactive_clb(char *(*auth_interactive)(const char *auth_name, const char *instruction,
123 const char *prompt, int echo, void *priv),
124 void *priv);
125
133void nc_client_ssh_ch_get_auth_interactive_clb(char *(**auth_interactive)(const char *auth_name, const char *instruction,
134 const char *prompt, int echo, void *priv),
135 void **priv);
136
148void nc_client_ssh_ch_set_auth_privkey_passphrase_clb(char *(*auth_privkey_passphrase)(const char *privkey_path, void *priv),
149 void *priv);
150
158void nc_client_ssh_ch_get_auth_privkey_passphrase_clb(char *(**auth_privkey_passphrase)(const char *privkey_path, void *priv),
159 void **priv);
160
168int nc_client_ssh_ch_add_bind_listen(const char *address, uint16_t port);
169
177int nc_client_ssh_ch_del_bind(const char *address, uint16_t port);
178
188int nc_client_ssh_ch_add_keypair(const char *pub_key, const char *priv_key);
189
197
204
213int nc_client_ssh_ch_get_keypair(int idx, const char **pub_key, const char **priv_key);
214
227
235
242int nc_client_ssh_ch_set_username(const char *username);
243
250
268int nc_client_tls_ch_add_bind_listen(const char *address, uint16_t port);
269
278int nc_client_tls_ch_add_bind_hostname_listen(const char *address, uint16_t port, const char *hostname);
279
287int nc_client_tls_ch_del_bind(const char *address, uint16_t port);
288
297int nc_client_tls_ch_set_cert_key_paths(const char *client_cert, const char *client_key);
298
305void nc_client_tls_ch_get_cert_key_paths(const char **client_cert, const char **client_key);
306
316int nc_client_tls_ch_set_trusted_ca_paths(const char *ca_file, const char *ca_dir);
317
324void nc_client_tls_ch_get_trusted_ca_paths(const char **ca_file, const char **ca_dir);
325
329int nc_client_tls_ch_set_crl_paths(const char *crl_file, const char *crl_dir);
330
334void nc_client_tls_ch_get_crl_paths(const char **crl_file, const char **crl_dir);
335
338#endif /* NC_ENABLED_SSH_TLS */
339
340#ifdef __cplusplus
341}
342#endif
343
344#endif /* NC_SESSION_CLIENT_CH_H_ */
int16_t nc_client_ssh_ch_get_auth_pref(NC_SSH_AUTH_TYPE auth_type)
Get SSH Call Home authentication method preference.
void nc_client_ssh_ch_set_auth_privkey_passphrase_clb(char *(*auth_privkey_passphrase)(const char *privkey_path, void *priv), void *priv)
Set SSH Call Home publickey authentication encrypted private key passphrase callback.
void nc_client_ssh_ch_set_knownhosts_mode(NC_SSH_KNOWNHOSTS_MODE mode)
Set SSH Call Home behaviour of checking the host key and adding/reading entries to/from the known_hos...
int nc_client_ssh_ch_set_knownhosts_path(const char *path)
Set SSH Call Home path to the known_hosts file for connections.
int nc_client_ssh_ch_add_keypair(const char *pub_key, const char *priv_key)
Add an SSH public and private key pair to be used for Call Home client authentication.
void nc_client_ssh_ch_set_auth_password_clb(char *(*auth_password)(const char *username, const char *hostname, void *priv), void *priv)
Set SSH Call Home password authentication callback.
void nc_client_ssh_ch_set_auth_pref(NC_SSH_AUTH_TYPE auth_type, int16_t pref)
Set SSH Call Home authentication method preference.
int nc_client_ssh_ch_add_bind_listen(const char *address, uint16_t port)
Add a new client bind and start listening on it for SSH Call Home connections.
const char * nc_client_ssh_ch_get_username(void)
Get client Call Home SSH username used for authentication.
int nc_client_ssh_ch_del_keypair(int idx)
Remove an SSH public and private key pair that was used for Call Home client authentication.
int nc_client_ssh_ch_get_keypair_count(void)
Get the number of public an private key pairs set to be used for Call Home client authentication.
void nc_client_ssh_ch_get_auth_interactive_clb(char *(**auth_interactive)(const char *auth_name, const char *instruction, const char *prompt, int echo, void *priv), void **priv)
Get currently set SSH Call Home interactive authentication callback and its private data previously s...
void nc_client_ssh_ch_set_auth_interactive_clb(char *(*auth_interactive)(const char *auth_name, const char *instruction, const char *prompt, int echo, void *priv), void *priv)
Set SSH Call Home interactive authentication callback.
int nc_client_ssh_ch_del_bind(const char *address, uint16_t port)
Remove an SSH listening client bind.
int nc_client_ssh_ch_get_keypair(int idx, const char **pub_key, const char **priv_key)
Get a specific keypair set to be used for Call Home client authentication.
void nc_client_ssh_ch_get_auth_privkey_passphrase_clb(char *(**auth_privkey_passphrase)(const char *privkey_path, void *priv), void **priv)
Get currently set SSH Call Home publickey authentication encrypted private key passphrase callback an...
int nc_client_ssh_ch_set_username(const char *username)
Set client Call Home SSH username used for authentication.
void nc_client_ssh_ch_get_auth_password_clb(char *(**auth_password)(const char *username, const char *hostname, void *priv), void **priv)
Get currently set SSH Call Home password authentication callback and its private data previously set ...
int nc_client_tls_ch_add_bind_listen(const char *address, uint16_t port)
Add a new client bind and start listening on it for TLS Call Home connections.
void nc_client_tls_ch_get_crl_paths(const char **crl_file, const char **crl_dir)
Deprecated.
int nc_client_tls_ch_set_crl_paths(const char *crl_file, const char *crl_dir)
Deprecated.
int nc_client_tls_ch_add_bind_hostname_listen(const char *address, uint16_t port, const char *hostname)
Add a new client bind and start listening on it for TLS Call Home connections coming from the specifi...
int nc_client_tls_ch_del_bind(const char *address, uint16_t port)
Remove a TLS listening client bind.
void nc_client_tls_ch_get_cert_key_paths(const char **client_cert, const char **client_key)
Get client Call Home authentication identity - a certificate and a private key.
int nc_client_tls_ch_set_trusted_ca_paths(const char *ca_file, const char *ca_dir)
Set client Call Home trusted CA certificates.
void nc_client_tls_ch_get_trusted_ca_paths(const char **ca_file, const char **ca_dir)
Get client Call Home trusted CA certificates.
int nc_client_tls_ch_set_cert_key_paths(const char *client_cert, const char *client_key)
Set client Call Home authentication identity - a certificate and a private key.
int nc_accept_callhome(int timeout, struct ly_ctx *ctx, struct nc_session **session)
Accept a Call Home connection on any of the listening binds.
libnetconf2's public functions and structures of NETCONF client messages.
libnetconf2's general public functions and structures definitions.
libnetconf2 session manipulation
NC_SSH_KNOWNHOSTS_MODE
Enumeration of host key checking and known_hosts entry adding modes.
Definition session.h:40
NC_SSH_AUTH_TYPE
Enumeration of NETCONF SSH authentication methods.
Definition session.h:31