|        |   | 
- aaa_reload(...)
 - aaa_reload(tctx) -> None
 
  
When the ConfD AAA tree is populated by an external data provider (see the 
AAA chapter in the User Guide), this function can be used by the data 
provider to notify ConfD when there is a change to the AAA data. 
  
Keyword arguments: 
tctx -- a transaction context  
 - access_reply_result(...)
 - access_reply_result(actx, result) -> None
 
  
The callbacks must call this function to report the result of the access 
check to ConfD, and should normally return CONFD_OK. If any other value is 
returned, it will cause the access check to be rejected. 
  
Keyword arguments: 
actx -- the authorization context 
result -- the result (ACCESS_RESULT_xxx)  
 - action_delayed_reply_error(...)
 - action_delayed_reply_error(uinfo, errstr) -> None
 
  
If we use the CONFD_DELAYED_RESPONSE as a return value from the action 
callback, we must later asynchronously reply. This function is used to 
reply with error. 
  
Keyword arguments: 
uinfo -- a user info context 
errstr -- an error string  
 - action_delayed_reply_ok(...)
 - action_delayed_reply_ok(uinfo) -> None
 
  
If we use the CONFD_DELAYED_RESPONSE as a return value from the action 
callback, we must later asynchronously reply. This function is used to 
reply with success. 
  
Keyword arguments: 
uinfo -- a user info context  
 - action_reply_command(...)
 - action_reply_command(uinfo, values) -> None
 
  
If a CLI callback command should return data, it must invoke this function 
in response to the cb_command() callback. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of strings or None  
 - action_reply_completion(...)
 - action_reply_completion(uinfo, values) -> None
 
  
This function must normally be called in response to the cb_completion() 
callback. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of 3-tuples or None (see below) 
  
The values argument must be None or a list of 3-tuples where each tuple is 
built up like: 
  
    (type::int, value::string, extra::string) 
  
The third item of the tuple (extra) may be set to None.  
 - action_reply_range_enum(...)
 - action_reply_range_enum(uinfo, values, keysize) -> None
 
  
This function must be called in response to the cb_completion() callback 
when it is invoked via a tailf:cli-custom-range-enumerator statement in the 
data model. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of keys as strings or None 
keysize -- number of keys for the list in the data model 
  
The values argument is a flat list of keys. If the list in the data model 
specifies multiple keys this list is still flat. The keysize argument 
tells us how many keys to use for each list element. So the size of values 
should be a multiple of keysize.  
 - action_reply_rewrite(...)
 - action_reply_rewrite(uinfo, values, unhides) -> None
 
  
This function can be called instead of action_reply_command() as a 
response to a show path rewrite callback invocation. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of strings or None 
unhides -- a list of strings or None  
 - action_reply_rewrite2(...)
 - action_reply_rewrite2(uinfo, values, unhides, selects) -> None
 
  
This function can be called instead of action_reply_command() as a 
response to a show path rewrite callback invocation. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of strings or None 
unhides -- a list of strings or None 
selects -- a list of strings or None  
 - action_reply_values(...)
 - action_reply_values(uinfo, values) -> None
 
  
If the action definition specifies that the action should return data, it 
must invoke this function in response to the cb_action() callback. 
  
Keyword arguments: 
uinfo -- a user info context 
values -- a list of _lib.TagValue instances or None  
 - action_set_fd(...)
 - action_set_fd(uinfo, sock) -> None
 
  
Associate a worker socket with the action. This function must be called in 
the action cb_init() callback. 
  
Keyword arguments: 
uinfo -- a user info context 
sock -- a previously connected worker socket 
  
A typical implementation of an action cb_init() callback looks like: 
  
class ActionCallbacks(object): 
    def __init__(self, workersock): 
        self.workersock = workersock 
  
     def cb_init(self, uinfo): 
         dp.action_set_fd(uinfo, self.workersock)  
 - action_set_timeout(...)
 - action_set_timeout(uinfo, timeout_secs) -> None
 
  
Some action callbacks may require a significantly longer execution time 
than others, and this time may not even be possible to determine statically 
(e.g. a file download). In such cases the /confdConfig/capi/queryTimeout 
setting in confd.conf may be insufficient, and this function can be used to 
extend (or shorten) the timeout for the current callback invocation. The 
timeout is given in seconds from the point in time when the function is 
called. 
  
Keyword arguments: 
uinfo -- a user info context 
timeout_secs -- timeout value  
 - action_seterr(...)
 - action_seterr(uinfo, errstr) -> None
 
  
If action callback encounters fatal problems that can not be expressed via 
the reply function, it may call this function with an appropriate message 
and return CONFD_ERR instead of CONFD_OK. 
  
Keyword arguments: 
uinfo -- a user info context 
errstr -- an error message string  
 - action_seterr_extended(...)
 - action_seterr_extended(uninfo, code, apptag_ns, apptag_tag, errstr) -> None
 
  
This function can be used to provide more structured error information 
from an action callback. 
  
Keyword arguments: 
uinfo -- a user info context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
errstr -- an error message string  
 - action_seterr_extended_info(...)
 - action_seterr_extended_info(uinfo, code, apptag_ns, apptag_tag,
 
                            error_info, errstr) -> None 
  
This function can be used to provide structured error information in the 
same way as action_seterr_extended(), and additionally provide contents for 
the NETCONF <error-info> element. 
  
Keyword arguments: 
uinfo -- a user info context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
error_info -- a list of _lib.TagValue instances 
errstr -- an error message string  
 - auth_seterr(...)
 - auth_seterr(actx, errstr) -> None
 
  
This function is used by the application to set an error string. 
  
This function can be used to provide a text message when the callback 
returns CONFD_ERR. If used when rejecting a successful authentication, the 
message will be logged in ConfD's audit log (otherwise a generic "rejected 
by application callback" message is logged). 
  
Keyword arguments: 
actx -- the auth context 
errstr -- an error message string  
 - authorization_set_timeout(...)
 - authorization_set_timeout(actx, timeout_secs) -> None
 
  
The authorization callbacks are invoked on the daemon control socket, and 
as such are expected to complete quickly. However in case they send requests 
to a remote server, and such a request needs to be retried, this function 
can be used to extend the timeout for the current callback invocation. The 
timeout is given in seconds from the point in time when the function is 
called. 
  
Keyword arguments: 
actx -- the authorization context 
timeout_secs -- timeout value  
 - connect(...)
 - connect(dx, sock, type, ip, port, path) -> None
 
  
Connects to the ConfD daemon. The socket instance provided via the 'sock' 
argument must be kept alive during the lifetime of the daemon context. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
sock -- a Python socket instance 
type -- the socket type (CONTROL_SOCKET or WORKER_SOCKET) 
ip -- the ip address if socket is AF_INET (optional) 
port -- the port if socket is AF_INET (optional) 
path -- a filename if socket is AF_UNIX (optional).  
 - data_reply_attrs(...)
 - data_reply_attrs(tctx, attrs) -> None
 
  
This function is used by the cb_get_attrs() callback to return the 
requested attribute values. 
  
Keyword arguments: 
tctx -- a transaction context 
attrs - a list of _lib.AttrValue instances  
 - data_reply_found(...)
 - data_reply_found(tctx) -> None
 
  
This function is used by the cb_exists_optional() callback to indicate to 
ConfD that a node does exist. 
  
Keyword arguments: 
tctx -- a transaction context  
 - data_reply_next_key(...)
 - data_reply_next_key(tctx, keys, next) -> None
 
  
This function is used by the cb_get_next() and cb_find_next() callbacks to 
return the next key. 
  
Keyword arguments: 
tctx -- a transaction context 
keys -- a list of keys of _lib.Value for a list item (se below) 
next -- int value passed to the next invocation of cb_get_next() callback 
  
A list may have mutiple key leafs specified in the data model. This is why 
the keys argument must be a list.  
 - data_reply_next_object_array(...)
 - data_reply_next_object_array(tctx, v, next) -> None
 
  
This function is used by the optional cb_get_next_object() and 
cb_find_next_object() callbacks to return an entire object including its keys. 
It combines the functions of data_reply_next_key() and 
data_reply_value_array(). 
  
Keyword arguments: 
tctx -- a transaction context 
v -- a list of _lib.Value instances 
next -- int value passed to the next invocation of cb_get_next() callback  
 - data_reply_next_object_arrays(...)
 - data_reply_next_object_arrays(tctx, objs, timeout_millisecs) -> None
 
  
This function is used by the optional cb_get_next_object() and 
cb_find_next_object() callbacks to return multiple objects including their 
keys, in _lib.Value form. 
  
Keyword arguments: 
tctx -- a transaction context 
objs -- a list of tuples or None (see below) 
timeout_millisecs -- timeout value for ConfD's caching of returned data 
  
The format of argument objs is list(tuple(list(_lib.Value), long)), or 
None to indicate end of list. Another way to indicate end of list is to 
include None as the first item in the 2-tuple last in the list. 
  
E.g.: 
  
    V = _lib.Value 
    objs = [ 
             ( [ V(1), V(2) ], next1 ), 
             ( [ V(3), V(4) ], next2 ), 
             ( None, -1 ) 
           ]  
 - data_reply_next_object_tag_value_array(...)
 - data_reply_next_object_tag_value_array(tctx, tvs, next) -> None
 
  
This function is used by the optional cb_get_next_object() and 
cb_find_next_object() callbacks to return an entire object including its keys 
  
Keyword arguments: 
tctx -- a transaction context 
tvs -- a list of _lib.TagValue instances or None 
next -- int value passed to the next invocation of cb_get_next_object() 
        callback  
 - data_reply_next_object_tag_value_arrays(...)
 - data_reply_next_object_tag_value_arrays(tctx, objs, timeout_millisecs) -> None
 
  
This function is used by the optional cb_get_next_object() and 
cb_find_next_object() callbacks to return multiple objects including their 
keys. 
  
Keyword arguments: 
tctx -- a transaction context 
objs -- a list of tuples or None (see below) 
timeout_millisecs -- timeout value for ConfD's caching of returned data 
  
The format of argument objs is list(tuple(list(_lib.TagValue), long)) or 
None to indicate end of list. Another way to indicate end of list is to 
include None as the first item in the 2-tuple last in the list. 
  
E.g.: 
  
    objs = [ 
             ( [ tagval1, tagval2 ], next1 ), 
             ( [ tagval3, tagval4, tagval5 ], next2 ), 
             ( None, -1 ) 
           ]  
 - data_reply_not_found(...)
 - data_reply_not_found(tctx) -> None
 
  
This function is used by the cb_get_elem() and cb_exists_optional() 
callbacks to indicate to ConfD that a list entry or node does not exist. 
  
Keyword arguments: 
tctx -- a transaction context  
 - data_reply_tag_value_array(...)
 - data_reply_tag_value_array(tctx, tvs) -> None
 
  
This function is used to return an array of values, corresponding to a 
complete list entry, to ConfD. It can be used by the optional 
cb_get_object() callback. 
  
Keyword arguments: 
tctx -- a transaction context 
tvs -- a list of _lib.TagValue instances or None  
 - data_reply_value(...)
 - data_reply_value(tctx, v) -> None
 
  
This function is used to return a single data item to ConfD. 
  
Keyword arguments: 
tctx -- a transaction context 
v -- a _lib.Value instance  
 - data_reply_value_array(...)
 - data_reply_value_array(tctx, vs) -> None
 
  
This function is used to return an array of values, corresponding to a 
complete list entry, to ConfD. It can be used by the optional 
cb_get_object() callback. 
  
Keyword arguments: 
tctx -- a transaction context 
vs -- a list of _lib.Value instances  
 - data_set_timeout(...)
 - data_set_timeout(tctx, timeout_secs) -> None
 
  
A data callback should normally complete quickly, since e.g. the 
execution of a 'show' command in the CLI may require many data callback 
invocations. In some rare cases it may still be necessary for a data 
callback to have a longer execution time, and then this function can be 
used to extend (or shorten) the timeout for the current callback invocation. 
The timeout is given in seconds from the point in time when the function is 
called. 
  
Keyword arguments: 
tctx -- a transaction context 
timeout_secs -- timeout value  
 - db_set_timeout(...)
 - db_set_timeout(dbx, timeout_secs) -> None
 
  
Some of the DB callbacks registered via register_db_cb(), e.g. 
cb_copy_running_to_startup(), may require a longer execution time than 
others. This function can be used to extend the timeout for the current 
callback invocation. The timeout is given in seconds from the point in 
time when the function is called. 
  
Keyword arguments: 
dbx -- a db context of _dp.DbCtxRef 
timeout_secs -- timeout value  
 - db_seterr(...)
 - db_seterr(dbx, errstr) -> None
 
  
This function is used by the application to set an error string. 
  
Keyword arguments: 
dbx -- a db context 
errstr -- an error message string  
 - db_seterr_extended(...)
 - db_seterr_extended(dbx, code, apptag_ns, apptag_tag, errstr) -> None
 
  
This function can be used to provide more structured error information 
from a db callback. 
  
Keyword arguments: 
dbx -- a db context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
errstr -- an error message string  
 - db_seterr_extended_info(...)
 - db_seterr_extended_info(dbx, code, apptag_ns, apptag_tag,
 
                        error_info, errstr) -> None 
  
This function can be used to provide structured error information in the 
same way as db_seterr_extended(), and additionally provide contents for 
the NETCONF <error-info> element. 
  
Keyword arguments: 
dbx -- a db context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
error_info -- a list of _lib.TagValue instances 
errstr -- an error message string  
 - delayed_reply_error(...)
 - delayed_reply_error(tctx, errstr) -> None
 
  
This function must be used to return an error when tha actual callback 
returned CONFD_DELAYED_RESPONSE. 
  
Keyword arguments: 
tctx -- a transaction context 
errstr -- an error message string  
 - delayed_reply_ok(...)
 - delayed_reply_ok(tctx) -> None
 
  
This function must be used to return the equivalent of CONFD_OK when the 
actual callback returned CONFD_DELAYED_RESPONSE. 
  
Keyword arguments: 
tctx -- a transaction context  
 - delayed_reply_validation_warn(...)
 - delayed_reply_validation_warn(tctx) -> None
 
  
This function must be used to return the equivalent of CONFD_VALIDATION_WARN 
when the cb_validate() callback returned CONFD_DELAYED_RESPONSE. 
  
Keyword arguments: 
tctx -- a transaction context  
 - error_seterr(...)
 - error_seterr(uinfo, errstr) -> None
 
  
This function must be called by format_error() (above) to provide a 
 replacement for the default error message. If format_error() is called 
 without calling error_seterr() the default message will be used. 
  
Keyword arguments: 
uinfo -- a user info context 
errstr -- an string describing the error  
 - fd_ready(...)
 - fd_ready(dx, sock) -> None
 
  
The database application owns all data provider sockets to ConfD and is 
responsible for the polling of these sockets. When one of the ConfD 
sockets has I/O ready to read, the application must invoke fd_ready() on 
the socket. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
sock -- the socket  
 - init_daemon(...)
 - init_daemon(name) -> _dp.DaemonCtxRef
 
  
Initializes and returns a new daemon context. 
  
Keyword arguments: 
name -- a string used to uniquely identify the daemon  
 - install_crypto_keys(...)
 - install_crypto_keys(dtx) -> None
 
  
It is possible to define DES3 and AES keys inside confd.conf. These keys 
are used by ConfD to encrypt data which is entered into the system which 
has either of the two builtin types tailf:des3-cbc-encrypted-string or 
tailf:aes-cfb-128-encrypted-string. 
This function will copy those keys from ConfD (which reads confd.conf) into 
memory in the library. 
  
This function must be called before register_done() is called. 
  
Keyword arguments: 
dtx -- a daemon context wich is connected through a call to connect()  
 - notification_flush(...)
 - notification_flush(nctx) -> None
 
  
Notifications are sent asynchronously, i.e. normally without blocking the 
caller of the send functions described above. This means that in some cases 
ConfD's sending of the notifications on the northbound interfaces may lag 
behind the send calls. This function can be used  to make sure that the 
notifications have actually been sent out. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream()  
 - notification_replay_complete(...)
 - notification_replay_complete(nctx) -> None
 
  
The application calls this function to notify ConfD that the replay is 
complete 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream()  
 - notification_replay_failed(...)
 - notification_replay_failed(nctx) -> None
 
  
In case the application fails to complete the replay as requested (e.g. the 
log gets overwritten while the replay is in progress), the application 
should call this function instead of notification_replay_complete(). An 
error message describing the reason for the failure can be supplied by 
first calling notification_seterr() or notification_seterr_extended(). 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream()  
 - notification_reply_log_times(...)
 - notification_reply_log_times(nctx, creation, aged) -> None
 
  
Reply function for use in the cb_get_log_times() callback invocation. If no 
notifications have been aged out of the log, give None for the aged argument. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
creation -- a _lib.DateTime instance 
aged -- a _lib.DateTime instance or None  
 - notification_send(...)
 - notification_send(nctx, time, values) -> None
 
  
This function is called by the application to send a notification, whether 
"live" or replay. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
time -- a _lib.DateTime instance 
values -- a list of _lib.TagValue instances or None  
 - notification_send_snmp(...)
 - notification_send_snmp(nctx, notification, varbinds) -> None
 
  
Sends the SNMP notification specified by 'notification', without requesting 
inform-request delivery information. This is equivalent to calling 
notification_send_snmp_inform() with None as the cb_id argument. I.e. if 
the common arguments are the same, the two functions will send the exact 
same set of traps and inform-requests. 
  
Keyword arguments: 
nctx -- notification context returned from register_snmp_notification() 
notification -- the notification string 
varbinds -- a list of _lib.SnmpVarbind instances or None  
 - notification_send_snmp_inform(...)
 - notification_send_snmp_inform(nctx, notification, varbinds, cb_id, ref) ->None
 
  
Sends the SNMP notification specified by notification. If cb_id is not None 
the callbacks registered for cb_id will be invoked with the ref argument. 
  
Keyword arguments: 
nctx -- notification context returned from register_snmp_notification() 
notification -- the notification string 
varbinds -- a list of _lib.SnmpVarbind instances or None 
cb_id -- callback id 
ref -- argument send to callbacks  
 - notification_set_fd(...)
 - notification_set_fd(nctx, sock) -> None
 
  
This function may optionally be called by the cb_replay() callback to 
request that the worker socket given by 'sock' should be used for the 
replay. Otherwise the socket specified in register_notification_stream() 
will be used. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
sock -- a previously connected worker socket  
 - notification_set_snmp_notify_name(...)
 - notification_set_snmp_notify_name(nctx, notify_name) -> None
 
  
This function can be used to change the snmpNotifyName (notify_name) for 
the nctx context. 
  
Keyword arguments: 
nctx -- notification context returned from register_snmp_notification() 
notify_name -- the snmpNotifyName  
 - notification_set_snmp_src_addr(...)
 - notification_set_snmp_src_addr(nctx, family, src_addr) -> None
 
  
By default, the source address for the SNMP notifications that are sent by 
the above functions is chosen by the IP stack of the OS. This function may 
be used to select a specific source address, given by src_addr, for the 
SNMP notifications subsequently sent using the nctx context. The default 
can be restored by calling the function with family set to AF_UNSPEC. 
  
Keyword arguments: 
nctx -- notification context returned from register_snmp_notification() 
family -- AF_INET, AF_INET6 or AF_UNSPEC 
src_addr -- the source address in string format  
 - notification_seterr(...)
 - notification_seterr(nctx, errstr) -> None
 
  
In some cases the callbacks may be unable to carry out the requested 
actions, e.g. the capacity for simultaneous replays might be exceeded, and 
they can then return CONFD_ERR. This function allows the callback to 
associate an error message with the failure. It can also be used to supply 
an error message before calling notification_replay_failed(). 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
errstr -- an error message string  
 - notification_seterr_extended(...)
 - notification_seterr_extended(nctx, code, apptag_ns, apptag_tag, errstr) ->None
 
  
This function can be used to provide more structured error information 
from a notification callback. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
errstr -- an error message string  
 - notification_seterr_extended_info(...)
 - notification_seterr_extended_info(nctx, code, apptag_ns, apptag_tag,
 
                                  error_info, errstr) -> None 
  
This function can be used to provide structured error information in the 
same way as notification_seterr_extended(), and additionally provide 
contents for the NETCONF <error-info> element. 
  
Keyword arguments: 
nctx -- notification context returned from register_notification_stream() 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
error_info -- a list of _lib.TagValue instances 
errstr -- an error message string  
 - register_action_cbs(...)
 - register_action_cbs(dx, actionpoint, acb) -> None
 
  
This function registers up to five callback functions, two of which will 
be called in sequence when an action is invoked. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
actionpoint -- the name of the action point 
vcb -- the callback instance (see below) 
  
The acb argument should be an instance of a class with callback methods. 
E.g.: 
  
    class ActionCallbacks(object): 
        def cb_init(self, uinfo): 
            pass 
  
        def cb_abort(self, uinfo): 
            pass 
  
        def cb_action(self, uinfo, name, kp, params): 
            pass 
  
        def cb_command(self, uinfo, path, argv): 
            pass 
  
        def cb_completion(self, uinfo, cli_style, token, completion_char, 
                          kp, cmdpath, cmdparam_id, simpleType, extra): 
            pass 
  
    acb = ActionCallbacks() 
    dp.register_action_cbs(dx, 'actionpoint-1', acb) 
  
Notes about some of the callbacks: 
  
cb_action() 
    The params argument is a list of _lib.TagValue instances. 
  
cb_command() 
    The argv argument is a list of strings.  
 - register_auth_cb(...)
 - register_auth_cb(dx, acb) -> None
 
  
Registers the authentication callback. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
abc -- the callback instance (see below) 
  
E.g.: 
  
    class AuthCallbacks(object): 
        def cb_auth(self, actx): 
            pass 
  
    acb = AuthCallbacks() 
    dp.register_auth_cb(dx, acb)  
 - register_authorization_cb(...)
 - register_authorization_cb(dx, acb, cmd_filter, data_filter) -> None
 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
abc -- the callback instance (see below) 
cmd_filter -- set to 0 for no filtering 
data_filter -- set to 0 for no filtering 
  
E.g.: 
  
    class AuthorizationCallbacks(object): 
        def cb_chk_cmd_access(self, actx, cmdtokens, cmdop): 
            pass 
  
        def cb_chk_data_access(self, actx, hashed_ns, hkp, dataop, how): 
            pass 
  
    acb = AuthCallbacks() 
    dp.register_authorization_cb(dx, acb)  
 - register_data_cb(...)
 - register_data_cb(dx, callpoint, data) -> None
 
  
Registers data manipulation callback functions. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
callpoint -- name of a tailf:callpoint in the data model 
data -- the callback instance (see below) 
  
The data argument should be an instance of a class with callback methods. 
E.g.: 
  
    class DataCallbacks(object): 
        def cb_exists_optional(self, tctx, kp): 
            pass 
  
        def cb_get_elem(self, tctx, kp): 
            pass 
  
        def cb_get_next(self, tctx, kp, next): 
            pass 
  
        def cb_set_elem(self, tctx, kp, newval): 
            pass 
  
        def cb_create(self, tctx, kp): 
            pass 
  
        def cb_remove(self, tctx, kp): 
            pass 
  
        def cb_find_next(self, tctx, kp, type, keys): 
            pass 
  
        def cb_num_instances(self, tctx, kp): 
            pass 
  
        def cb_get_object(self, tctx, kp): 
            pass 
  
        def cb_get_next_object(self, tctx, kp, next): 
            pass 
  
        def cb_find_next_object(self, tctx, kp, type, keys): 
            pass 
  
        def cb_get_case(self, tctx, kp, choice): 
            pass 
  
        def cb_set_case(self, tctx, kp, choice, caseval): 
            pass 
  
        def cb_get_attrs(self, tctx, kp, attrs): 
            pass 
  
        def cb_set_attr(self, tctx, kp, attr, v): 
            pass 
  
        def cb_move_after(self, tctx, kp, prevkeys): 
            pass 
  
        def cb_write_all(self, tctx, kp): 
            pass 
  
    dcb = DataCallbacks() 
    dp.register_data_cb(dx, 'example-callpoint-1', dcb)  
 - register_db_cb(...)
 - register_db_cb(dx, dbcbs) -> None
 
  
This function is used to set callback functions which span over several 
ConfD transactions. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
dbcbs -- the callback instance (see below) 
  
The dbcbs argument should be an instance of a class with callback methods. 
E.g.: 
  
    class DbCallbacks(object): 
        def cb_candidate_commit(self, dbx, timeout): 
            pass 
  
        def cb_candidate_confirming_commit(self, dbx): 
            pass 
  
        def cb_candidate_reset(self, dbx): 
            pass 
  
        def cb_candidate_chk_not_modified(self, dbx): 
            pass 
  
        def cb_candidate_rollback_running(self, dbx): 
            pass 
  
        def cb_candidate_validate(self, dbx): 
            pass 
  
        def cb_add_checkpoint_running(self, dbx): 
            pass 
  
        def cb_del_checkpoint_running(self, dbx): 
            pass 
  
        def cb_activate_checkpoint_running(self, dbx): 
            pass 
  
        def cb_copy_running_to_startup(self, dbx): 
            pass 
  
        def cb_running_chk_not_modified(self, dbx): 
            pass 
  
        def cb_lock(self, dbx, dbname): 
            pass 
  
        def cb_unlock(self, dbx, dbname): 
            pass 
  
        def cb_lock_partial(self, dbx, dbname, lockid, paths): 
            pass 
  
        def cb_ulock_partial(self, dbx, dbname, lockid): 
            pass 
  
        def cb_delete_confid(self, dbx, dbname): 
            pass 
  
    dbcbs = DbCallbacks() 
    dp.register_db_cb(dx, dbcbs)  
 - register_done(...)
 - register_done(dx) -> None
 
  
When we have registered all the callbacks for a daemon (including the other 
types described below if we have them), we must call this function to 
synchronize with ConfD. No callbacks will be invoked until it has been 
called, and after the call, no further registrations are allowed. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon()  
 - register_error_cb(...)
 - register_error_cb(dx, errortypes, ecbs) -> None
 
  
This funciton can be used to register error callbacks that are 
invoked for internally generated errors. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
errortypes -- logical OR of the error types that the ecbs should handle 
ecbs -- the callback instance (see below) 
  
E.g.: 
  
    class ErrorCallbacks(object): 
        def cb_format_error(self, uinfo, errinfo_dict, default_msg): 
            dp.error_seterr(uinfo, default_msg) 
    ecbs = ErrorCallbacks() 
    dp.register_error_cb(ctx, 
                         dp.ERRTYPE_BAD_VALUE | 
                         dp.ERRTYPE_MISC, ecbs) 
    dp.register_done(ctx)  
 - register_notification_snmp_inform_cb(...)
 - register_notification_snmp_inform_cb(dx, cb_id, cbs) -> None
 
  
If we want to receive information about the delivery of SNMP 
inform-requests, we must register two callbacks for this. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
cb_id -- the callback identifier 
cbs -- the callback instance (see below) 
  
E.g.: 
  
    class NotifySnmpCallbacks(object): 
        def cb_targets(self, nctx, ref, targets): 
            pass 
  
        def cb_result(self, nctx, ref, target, got_response): 
            pass 
  
    cbs = NotifySnmpCallbacks() 
    dp.register_notification_snmp_inform_cb(dx, 'callback-id-1', cbs)  
 - register_notification_stream(...)
 - register_notification_stream(dx, ncbs, sock, streamname) -> _dp.NotificationCtxRef
 
  
This function registers the notification stream and optionally two callback 
functions used for the replay functionality. 
  
The returned notification context must be used by the application for the 
sending of live notifications via notification_send(). 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
ncbs -- the callback instance (see below) 
sock -- a previously connected worker socket 
streamname -- the name of the notification stream 
  
E.g.: 
  
    class NotificationCallbacks(object): 
        def cb_get_log_times(self, nctx): 
            pass 
  
        def cb_replay(self, nctx, start, stop): 
            pass 
  
    ncbs = NotificationCallbacks() 
    livectx = dp.register_notification_stream(dx, ncbs, workersock, 
    'streamname')  
 - register_notification_sub_snmp_cb(...)
 - register_notification_sub_snmp_cb(dx, sub_id, cbs) -> None
 
  
Registers a callback function to be called when an SNMP notification is 
received by the SNMP gateway. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
sub_id -- the subscription id for the notifications 
cbs -- the callback instance (see below) 
  
E.g.: 
  
    class NotifySubSnmpCallbacks(object): 
        def cb_recv(self, nctx, notification, varbinds, src_addr, port): 
            pass 
  
    cbs = NotifySubSnmpCallbacks() 
    dp.register_notification_sub_snmp_cb(dx, 'sub-id-1', cbs)  
 - register_range_action_cbs(...)
 - register_range_action_cbs(dx, actionpoint, acb, lower, upper, path) -> None
 
  
A variant of register_action_cbs() which registers action callbacks for a 
range of key values. The lower, upper, and path arguments are the same as 
for register_range_data_cb(). 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
actionpoint -- the name of the action point 
data -- the callback instance (see register_action_cbs()) 
lower -- a list of Value's or None 
upper -- a list of Value's or None 
path -- path for the list (string)  
 - register_range_data_cb(...)
 - register_range_data_cb(dx, callpoint, data, lower, upper, path) -> None
 
  
This is a variant of register_data_cb() which registers a set of callbacks 
for a range of list entries. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
callpoint -- name of a tailf:callpoint in the data model 
data -- the callback instance (see register_data_cb()) 
lower -- a list of Value's or None 
upper -- a list of Value's or None 
path -- path for the list (string)  
 - register_range_valpoint_cb(...)
 - register_range_valpoint_cb(dx, valpoint, vcb, lower, upper, path) -> None
 
  
A variant of register_valpoint_cb() which registers a validation function 
for a range of key values. The lower, upper and path arguments are the same 
as for register_range_data_cb(). 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
valpoint -- name of a validation point 
data -- the callback instance (see register_valpoint_cb()) 
lower -- a list of Value's or None 
upper -- a list of Value's or None 
path -- path for the list (string)  
 - register_snmp_notification(...)
 - register_snmp_notification(dx, sock, notify_name, ctx_name) ->_dp.NotificationCtxRef
 
  
SNMP notifications can also be sent via the notification framework, however 
most aspects of the stream concept do not apply for SNMP. This function is 
used to register a worker socket, the snmpNotifyName (notify_name), and 
SNMP context (ctx_name) to be used for the notifications. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
sock -- a previously connected worker socket 
notify_name -- the snmpNotifyName 
ctx_name -- the SNMP context  
 - register_trans_cb(...)
 - register_trans_cb(dx, trans) -> None
 
  
Registers transaction callback functions. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
trans -- the callback instance (see below) 
  
The trans argument should be an instance of a class with callback methods. 
E.g.: 
  
    class TransCallbacks(object): 
        def cb_init(self, tctx): 
            pass 
  
        def cb_trans_lock(self, tctx): 
            pass 
  
        def cb_trans_unlock(self, tctx): 
            pass 
  
        def cb_write_start(self, tctx): 
            pass 
  
        def cb_prepare(self, tctx): 
            pass 
  
        def cb_abort(self, tctx): 
            pass 
  
        def cb_commit(self, tctx): 
            pass 
  
        def cb_finish(self, tctx): 
            pass 
  
        def cb_interrupt(self, tctx): 
            pass 
  
    tcb = TransCallbacks() 
    dp.register_trans_cb(dx, tcb)  
 - register_trans_validate_cb(...)
 - register_trans_validate_cb(dx, vcbs) -> None
 
  
This function installs two callback functions for the daemon context. One 
function that gets called when the validation phase starts in a transaction 
and one when the validation phase stops in a transaction. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
vcbs -- the callback instance (see below) 
  
The vcbs argument should be an instance of a class with callback methods. 
E.g.: 
  
    class TransValidateCallbacks(object): 
        def cb_init(self, tctx): 
            pass 
  
        def cb_stop(self, tctx): 
            pass 
  
    vcbs = TransValidateCallbacks() 
    dp.register_trans_validate_cb(dx, vcbs)  
 - register_usess_cb(...)
 - register_usess_cb(dx, ucb) -> None
 
  
This function can be used to register information callbacks that are 
invoked for user session start and stop. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
ucb -- the callback instance (see below) 
  
E.g.: 
  
    class UserSessionCallbacks(object): 
        def cb_start(self, dx, uinfo): 
            pass 
  
        def cb_stop(self, dx, uinfo): 
            pass 
  
    ucb = UserSessionCallbacks() 
    dp.register_usess_cb(dx, acb)  
 - register_valpoint_cb(...)
 - register_valpoint_cb(dx, valpoint, vcb) -> None
 
  
We must also install an actual validation function for each validation 
point, i.e. for each tailf:validate statement in the YANG data model. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
valpoint -- the name of the validation point 
vcb -- the callback instance (see below) 
  
The vcb argument should be an instance of a class with a callback method. 
E.g.: 
  
    class ValpointCallback(object): 
        def cb_validate(self, tctx, kp, newval): 
            pass 
  
    vcb = ValpointCallback() 
    dp.register_valpoint_cb(dx, 'valpoint-1', vcb)  
 - release_daemon(...)
 - release_daemon(dx) -> None
 
  
Releases all memory that has been allocated by init_daemon() and other 
functions for the daemon context. The control socket as well as all the 
worker sockets must be closed by the application (before or after 
release_daemon() has been called). 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon()  
 - set_daemon_flags(...)
 - set_daemon_flags(dx, flags) -> None
 
  
Modifies the API behaviour according to the flags ORed into the flags 
argument. 
  
Keyword arguments: 
dx -- a daemon context acquired through a call to init_daemon() 
flags -- the flags to set  
 - trans_set_fd(...)
 - trans_set_fd(tctx, sock) -> None
 
  
Associate a worker socket with the transaction, or validation phase. This 
function must be called in the transaction and validation cb_init() 
callbacks. 
  
Keyword arguments: 
tctx -- a transaction context 
sock -- a previously connected worker socket 
  
A minimal implementation of a transaction cb_init() callback looks like: 
  
class TransCb(object): 
    def __init__(self, workersock): 
        self.workersock = workersock 
  
     def cb_init(self, tctx): 
         dp.trans_set_fd(tctx, self.workersock)  
 - trans_seterr(...)
 - trans_seterr(tctx, errstr) -> None
 
  
This function is used by the application to set an error string. 
  
Keyword arguments: 
tctx -- a transaction context 
errstr -- an error message string  
 - trans_seterr_extended(...)
 - trans_seterr_extended(tctx, code, apptag_ns, apptag_tag, errstr) -> None
 
  
This function can be used to provide more structured error information 
from a transaction or data callback. 
  
Keyword arguments: 
tctx -- a transaction context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
errstr -- an error message string  
 - trans_seterr_extended_info(...)
 - trans_seterr_extended_info(tctx, code, apptag_ns, apptag_tag,
 
                           error_info, errstr) -> None 
  
This function can be used to provide structured error information in the 
same way as trans_seterr_extended(), and additionally provide contents for 
the NETCONF <error-info> element. 
  
Keyword arguments: 
tctx -- a transaction context 
code -- an error code 
apptag_ns -- namespace - should be set to 0 
apptag_tag -- either 0 or the hash value for a data model node 
error_info -- a list of _lib.TagValue instances 
errstr -- an error message string  
 |