libnetconf2 session manipulation
More...
Go to the source code of this file.
|
enum | NC_CH_CONN_TYPE { NC_CH_CT_NOT_SET = 0
, NC_CH_PERSIST
, NC_CH_PERIOD
} |
| Enumeration of Call Home connection types. More...
|
|
enum | NC_CH_START_WITH { NC_CH_FIRST_LISTED = 0
, NC_CH_LAST_CONNECTED
, NC_CH_RANDOM
} |
| Enumeration of Call Home client priority policy. More...
|
|
enum | NC_SSH_AUTH_TYPE { NC_SSH_AUTH_PUBLICKEY = 0x01
, NC_SSH_AUTH_PASSWORD = 0x02
, NC_SSH_AUTH_INTERACTIVE = 0x04
} |
| Enumeration of NETCONF SSH authentication methods. More...
|
|
enum | NC_SSH_KNOWNHOSTS_MODE {
NC_SSH_KNOWNHOSTS_ASK = 0
, NC_SSH_KNOWNHOSTS_STRICT
, NC_SSH_KNOWNHOSTS_ACCEPT_NEW
, NC_SSH_KNOWNHOSTS_ACCEPT
,
NC_SSH_KNOWNHOSTS_SKIP
} |
| Enumeration of host key checking and known_hosts entry adding modes. More...
|
|
enum | NC_STATUS {
NC_STATUS_ERR = -1
, NC_STATUS_STARTING = 0
, NC_STATUS_CLOSING
, NC_STATUS_INVALID
,
NC_STATUS_RUNNING
} |
| Enumeration of possible session statuses. More...
|
|
enum | NC_TLS_CTN_MAPTYPE {
NC_TLS_CTN_UNKNOWN = 0
, NC_TLS_CTN_SPECIFIED
, NC_TLS_CTN_SAN_RFC822_NAME
, NC_TLS_CTN_SAN_DNS_NAME
,
NC_TLS_CTN_SAN_IP_ADDRESS
, NC_TLS_CTN_SAN_ANY
, NC_TLS_CTN_COMMON_NAME
} |
| Enumeration of cert-to-name mapping types. More...
|
|
enum | NC_TLS_VERSION { NC_TLS_VERSION_10 = 1
, NC_TLS_VERSION_11 = 2
, NC_TLS_VERSION_12 = 4
, NC_TLS_VERSION_13 = 8
} |
| Enumeration of TLS versions. More...
|
|
enum | NC_TRANSPORT_IMPL {
NC_TI_NONE = 0
, NC_TI_FD
, NC_TI_UNIX
, NC_TI_SSH
,
NC_TI_TLS
} |
| Enumeration of transport implementations (ways how libnetconf implements NETCONF transport protocol) More...
|
|
libnetconf2 session manipulation
- Author
- Radek Krejci rkrej.nosp@m.ci@c.nosp@m.esnet.nosp@m..cz
-
Michal Vasko mvask.nosp@m.o@ce.nosp@m.snet..nosp@m.cz
- Copyright
- Copyright (c) 2015 - 2023 CESNET, z.s.p.o.
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.h.
◆ NC_SSH_AUTH_TYPE
Enumeration of NETCONF SSH authentication methods.
Enumerator |
---|
NC_SSH_AUTH_PUBLICKEY | publickey SSH authentication
|
NC_SSH_AUTH_PASSWORD | password SSH authentication
|
NC_SSH_AUTH_INTERACTIVE | interactive SSH authentication
|
Definition at line 31 of file session.h.
◆ NC_SSH_KNOWNHOSTS_MODE
Enumeration of host key checking and known_hosts entry adding modes.
Enumerator |
---|
NC_SSH_KNOWNHOSTS_ASK | add a known_hosts entry, but with a prompt
|
NC_SSH_KNOWNHOSTS_STRICT | do not add a known_hosts entry and the server's host key must be present in the configured known_hosts file
|
NC_SSH_KNOWNHOSTS_ACCEPT_NEW | add a known_hosts entry without a prompt
|
NC_SSH_KNOWNHOSTS_ACCEPT | add a known_hosts entry without a prompt and allow connections to servers which changed their host key
|
NC_SSH_KNOWNHOSTS_SKIP | do not add a known_hosts entry and skip all host key checks
|
Definition at line 40 of file session.h.
◆ NC_TLS_CTN_MAPTYPE
Enumeration of cert-to-name mapping types.
Enumerator |
---|
NC_TLS_CTN_UNKNOWN | unknown mapping
|
NC_TLS_CTN_SPECIFIED | username explicitly specified
|
NC_TLS_CTN_SAN_RFC822_NAME | email address as username
|
NC_TLS_CTN_SAN_DNS_NAME | DNS name as username
|
NC_TLS_CTN_SAN_IP_ADDRESS | IP address as username
|
NC_TLS_CTN_SAN_ANY | any certificate Subject Alternative Name as username
|
NC_TLS_CTN_COMMON_NAME | common name as username
|
Definition at line 51 of file session.h.
◆ NC_TLS_VERSION
Enumeration of TLS versions.
Enumerator |
---|
NC_TLS_VERSION_10 | TLS1.0
|
NC_TLS_VERSION_11 | TLS1.1
|
NC_TLS_VERSION_12 | TLS1.2
|
NC_TLS_VERSION_13 | TLS1.3
|
Definition at line 64 of file session.h.
◆ NC_STATUS
Enumeration of possible session statuses.
Enumerator |
---|
NC_STATUS_ERR | error return code for function getting the session status
|
NC_STATUS_STARTING | session is not yet fully initiated
|
NC_STATUS_CLOSING | session is being closed
|
NC_STATUS_INVALID | session is not running and is supposed to be closed (nc_session_free())
|
NC_STATUS_RUNNING | up and running
|
Definition at line 76 of file session.h.
◆ NC_TRANSPORT_IMPL
Enumeration of transport implementations (ways how libnetconf implements NETCONF transport protocol)
Enumerator |
---|
NC_TI_NONE | none - session is not connected yet
|
NC_TI_FD | file descriptors - use standard input/output, transport protocol is implemented outside the current application
|
NC_TI_UNIX | unix socket
|
NC_TI_SSH | SSH - use libssh library, only for NETCONF over SSH transport
|
NC_TI_TLS | TLS - use either OpenSSL or MbedTLS library, only for NETCONF over TLS transport
|
Definition at line 87 of file session.h.
◆ NC_CH_CONN_TYPE
Enumeration of Call Home connection types.
Enumerator |
---|
NC_CH_CT_NOT_SET | |
NC_CH_PERSIST | |
NC_CH_PERIOD | |
Definition at line 102 of file session.h.
◆ NC_CH_START_WITH
Enumeration of Call Home client priority policy.
Enumerator |
---|
NC_CH_FIRST_LISTED | |
NC_CH_LAST_CONNECTED | |
NC_CH_RANDOM | |
Definition at line 111 of file session.h.
◆ nc_session_get_status()
NC_STATUS nc_session_get_status |
( |
const struct nc_session * |
session | ) |
|
Get session status.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session status.
◆ nc_session_get_term_reason()
Get session termination reason.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session termination reason enum value.
◆ nc_session_get_killed_by()
uint32_t nc_session_get_killed_by |
( |
const struct nc_session * |
session | ) |
|
Get session killer session ID.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session killer ID.
◆ nc_session_get_id()
uint32_t nc_session_get_id |
( |
const struct nc_session * |
session | ) |
|
Get session ID.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session ID.
◆ nc_session_get_version()
int nc_session_get_version |
( |
const struct nc_session * |
session | ) |
|
Get session NETCONF version.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- 0 for version 1.0, non-zero for version 1.1.
◆ nc_session_get_ti()
Get session transport used.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session transport.
◆ nc_session_get_username()
const char * nc_session_get_username |
( |
const struct nc_session * |
session | ) |
|
Get session username.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session username.
◆ nc_session_get_host()
const char * nc_session_get_host |
( |
const struct nc_session * |
session | ) |
|
Get session host.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session host.
◆ nc_session_get_port()
uint16_t nc_session_get_port |
( |
const struct nc_session * |
session | ) |
|
Get session port.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session port.
◆ nc_session_ssh_get_banner()
const char * nc_session_ssh_get_banner |
( |
const struct nc_session * |
session | ) |
|
Get the SSH banner sent by the peer.
- Parameters
-
[in] | session | Session to get the banner from. |
- Returns
- SSH banner on success, NULL on error.
◆ nc_session_get_path()
const char * nc_session_get_path |
( |
const struct nc_session * |
session | ) |
|
Get session path (unix socket only).
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session unix socket path.
◆ nc_session_get_ctx()
const struct ly_ctx * nc_session_get_ctx |
( |
const struct nc_session * |
session | ) |
|
Get session context.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- Session context.
◆ nc_session_set_data()
void nc_session_set_data |
( |
struct nc_session * |
session, |
|
|
void * |
data |
|
) |
| |
Assign arbitrary data to a session.
- Parameters
-
[in] | session | Session to modify. |
[in] | data | Data to be stored in the session. |
◆ nc_session_get_data()
void * nc_session_get_data |
( |
const struct nc_session * |
session | ) |
|
Get the data assigned to a session.
- Parameters
-
[in] | session | Session to get the data from. |
- Returns
- Session-specific data.
◆ nc_session_is_callhome()
int nc_session_is_callhome |
( |
const struct nc_session * |
session | ) |
|
Learn whether a session was created using Call Home or not.
- Parameters
-
[in] | session | Session to get the information from. |
- Returns
- 0 if a standard session, non-zero if a Call Home session.
◆ nc_session_free()
void nc_session_free |
( |
struct nc_session * |
session, |
|
|
void(*)(void *) |
data_free |
|
) |
| |
Free the NETCONF session object.
- Parameters
-
[in] | session | Object to free. |
[in] | data_free | Session user data destructor. |