libnetconf2
1.1.48
NETCONF library for clients and servers
|
libnetconf2 session client manipulation More...
#include <libyang/libyang.h>
#include <libssh/libssh.h>
#include <openssl/ssl.h>
#include "session.h"
#include "netconf.h"
#include "messages_client.h"
Go to the source code of this file.
Functions | |
int | nc_client_set_schema_searchpath (const char *path) |
Set location where libnetconf tries to search for YANG/YIN schemas. More... | |
const char * | nc_client_get_schema_searchpath (void) |
Get schema searchpath that was set by nc_client_set_schema_searchpath(). More... | |
int | nc_client_set_schema_callback (ly_module_imp_clb clb, void *user_data) |
Set callback function to get missing schemas. More... | |
ly_module_imp_clb | nc_client_get_schema_callback (void **user_data) |
Get callback function used to get missing schemas. More... | |
void | nc_client_set_thread_context (void *context) |
Use the provided thread-specific client's context in the current thread. More... | |
void * | nc_client_get_thread_context (void) |
Get thread-specific client context for sharing with some other thread using nc_client_set_thread_context(). More... | |
void | nc_client_init (void) |
Initialize libssh and/or libssl/libcrypto for use in the client. More... | |
void | nc_client_destroy (void) |
Destroy all libssh and/or libssl/libcrypto dynamic memory and the client options, for both SSH and TLS, and for Call Home too. More... | |
struct nc_session * | nc_connect_inout (int fdin, int fdout, struct ly_ctx *ctx) |
Connect to the NETCONF server via proviaded input/output file descriptors. More... | |
struct nc_session * | nc_connect_unix (const char *address, struct ly_ctx *ctx) |
Connect to the NETCONF server via unix socket. More... | |
void | nc_client_ssh_set_auth_hostkey_check_clb (int(*auth_hostkey_check)(const char *hostname, ssh_session session, void *priv), void *priv) |
Set SSH authentication hostkey check (knownhosts) callback. More... | |
void | nc_client_ssh_get_auth_hostkey_check_clb (int(**auth_hostkey_check)(const char *hostname, ssh_session session, void *priv), void **priv) |
Get currently set SSH authentication hostkey check (knownhosts) callback and its private data previously set by nc_client_ssh_set_auth_hostkey_check_clb(). More... | |
void | nc_client_ssh_set_auth_password_clb (char *(*auth_password)(const char *username, const char *hostname, void *priv), void *priv) |
Set SSH password authentication callback. More... | |
void | nc_client_ssh_get_auth_password_clb (char *(**auth_password)(const char *username, const char *hostname, void *priv), void **priv) |
Get currently set SSH password authentication callback and its private data previously set by nc_client_ssh_set_auth_password_clb(). More... | |
void | nc_client_ssh_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 interactive authentication callback. More... | |
void | nc_client_ssh_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 interactive authentication callback and its private data previously set by nc_client_ssh_set_auth_interactive_clb(). More... | |
void | nc_client_ssh_set_auth_privkey_passphrase_clb (char *(*auth_privkey_passphrase)(const char *privkey_path, void *priv), void *priv) |
Set SSH publickey authentication encrypted private key passphrase callback. More... | |
void | nc_client_ssh_get_auth_privkey_passphrase_clb (char *(**auth_privkey_passphrase)(const char *privkey_path, void *priv), void **priv) |
Get currently set SSH publickey authentication encrypted private key passphrase callback and its private data previously set by nc_client_ssh_set_auth_privkey_passphrase_clb(). More... | |
int | nc_client_ssh_add_keypair (const char *pub_key, const char *priv_key) |
Add an SSH public and private key pair to be used for client authentication. More... | |
int | nc_client_ssh_del_keypair (int idx) |
Remove an SSH public and private key pair that was used for client authentication. More... | |
int | nc_client_ssh_get_keypair_count (void) |
Get the number of public an private key pairs set to be used for client authentication. More... | |
int | nc_client_ssh_get_keypair (int idx, const char **pub_key, const char **priv_key) |
Get a specific keypair set to be used for client authentication. More... | |
void | nc_client_ssh_set_auth_pref (NC_SSH_AUTH_TYPE auth_type, int16_t pref) |
Set SSH authentication method preference. More... | |
int16_t | nc_client_ssh_get_auth_pref (NC_SSH_AUTH_TYPE auth_type) |
Get SSH authentication method preference. More... | |
int | nc_client_ssh_set_username (const char *username) |
Set client SSH username used for authentication. More... | |
const char * | nc_client_ssh_get_username (void) |
Get client SSH username used for authentication. More... | |
struct nc_session * | nc_connect_ssh (const char *host, uint16_t port, struct ly_ctx *ctx) |
Connect to the NETCONF server using SSH transport (via libssh). More... | |
struct nc_session * | nc_connect_libssh (ssh_session ssh_session, struct ly_ctx *ctx) |
Connect to the NETCONF server using the provided SSH (libssh) session. More... | |
struct nc_session * | nc_connect_ssh_channel (struct nc_session *session, struct ly_ctx *ctx) |
Create another NETCONF session on existing SSH session using separated SSH channel. More... | |
int | nc_client_tls_set_cert_key_paths (const char *client_cert, const char *client_key) |
Set client authentication identity - a certificate and a private key. More... | |
void | nc_client_tls_get_cert_key_paths (const char **client_cert, const char **client_key) |
Get client authentication identity - a certificate and a private key. More... | |
int | nc_client_tls_set_trusted_ca_paths (const char *ca_file, const char *ca_dir) |
Set client trusted CA certificates paths. More... | |
void | nc_client_tls_get_trusted_ca_paths (const char **ca_file, const char **ca_dir) |
Get client trusted CA certificates paths. More... | |
int | nc_client_tls_set_crl_paths (const char *crl_file, const char *crl_dir) |
Set client Certificate Revocation List paths. More... | |
void | nc_client_tls_get_crl_paths (const char **crl_file, const char **crl_dir) |
Get client Certificate Revocation List paths. More... | |
struct nc_session * | nc_connect_tls (const char *host, uint16_t port, struct ly_ctx *ctx) |
Connect to the NETCONF server using TLS transport (via libssl) More... | |
struct nc_session * | nc_connect_libssl (SSL *tls, struct ly_ctx *ctx) |
Connect to the NETCONF server using the provided TLS (libssl) session. More... | |
const char *const * | nc_session_get_cpblts (const struct nc_session *session) |
Get session capabilities. More... | |
const char * | nc_session_cpblt (const struct nc_session *session, const char *capab) |
Check capability presence in a session. More... | |
int | nc_session_ntf_thread_running (const struct nc_session *session) |
Check whether the session has a notification thread running. More... | |
NC_MSG_TYPE | nc_recv_reply (struct nc_session *session, struct nc_rpc *rpc, uint64_t msgid, int timeout, int parseroptions, struct nc_reply **reply) |
Receive NETCONF RPC reply. More... | |
NC_MSG_TYPE | nc_recv_notif (struct nc_session *session, int timeout, struct nc_notif **notif) |
Receive NETCONF Notification. More... | |
int | nc_recv_notif_dispatch (struct nc_session *session, void(*notif_clb)(struct nc_session *session, const struct nc_notif *notif)) |
Receive NETCONF Notifications in a separate thread until the session is terminated or <notificationComplete> is received. More... | |
NC_MSG_TYPE | nc_send_rpc (struct nc_session *session, struct nc_rpc *rpc, int timeout, uint64_t *msgid) |
Send NETCONF RPC message via the session. More... | |
void | nc_client_session_set_not_strict (struct nc_session *session) |
Make a session not strict when sending RPCs and receiving RPC replies. In other words, it will silently skip unknown nodes without an error. More... | |
libnetconf2 session client manipulation
This source code is licensed under BSD 3-Clause License (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://opensource.org/licenses/BSD-3-Clause
Definition in file session_client.h.