liybang FEATURE action reply support
Required lyd_parse_* API changes.
diff --git a/src/tree_data.h b/src/tree_data.h
index f647df2..60c13fc 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -480,9 +480,9 @@
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* - #LYD_OPT_RPCREPLY:
- * - const struct ::lys_node *rpc_act - pointer to the RPC or action schema node
- * operation of the reply.
- * - struct lyd_node *data_tree - additional data tree that will be used
+ * - const struct ::lyd_node *rpc_act - pointer to the RPC or action operation data node
+ * of the reply.
+ * - const struct ::lyd_node *data_tree - additional data tree that will be used
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* @return Pointer to the built data tree or NULL in case of empty \p data. To free the returned structure,
@@ -518,9 +518,9 @@
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* - #LYD_OPT_RPCREPLY:
- * - const struct ::lys_node *rpc_act - pointer to the RPC or action schema node
- * operation of the reply.
- * - struct lyd_node *data_tree - additional data tree that will be used
+ * - const struct ::lyd_node *rpc_act - pointer to the RPC or action operation data node
+ * of the reply.
+ * - const struct ::lyd_node *data_tree - additional data tree that will be used
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* @return Pointer to the built data tree or NULL in case of empty file. To free the returned structure,
@@ -554,9 +554,9 @@
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* - #LYD_OPT_RPCREPLY:
- * - const struct ::lys_node *rpc_act - pointer to the RPC or action schema node
- * operation of the reply.
- * - struct lyd_node *data_tree - additional data tree that will be used
+ * - const struct ::lyd_node *rpc_act - pointer to the RPC or action operation data node
+ * of the reply.
+ * - const struct ::lyd_node *data_tree - additional data tree that will be used
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* @return Pointer to the built data tree or NULL in case of empty file. To free the returned structure,
@@ -600,9 +600,9 @@
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* - #LYD_OPT_RPCREPLY:
- * - const struct ::lys_node *rpc_act - pointer to the RPC or action schema node
- * operation of the reply.
- * - struct lyd_node *data_tree - additional data tree that will be used
+ * - const struct ::lyd_node *rpc_act - pointer to the RPC or action operation data node
+ * of the reply.
+ * - const struct ::lyd_node *data_tree - additional data tree that will be used
* when checking any "when" or "must" conditions in the parsed tree that require
* some nodes outside their subtree. It must be a list of top-level elements!
* @return Pointer to the built data tree or NULL in case of empty \p root. To free the returned structure,
@@ -617,7 +617,7 @@
* @param[in] parent Parent node for the node being created. NULL in case of creating top level element.
* @param[in] module Module with the node being created.
* @param[in] name Schema node name of the new data node. The node can be #LYS_CONTAINER, #LYS_LIST,
- * #LYS_NOTIF, or #LYS_RPC.
+ * #LYS_NOTIF, #LYS_RPC, or #LYS_ACTION.
* @return New node, NULL on error.
*/
struct lyd_node *lyd_new(struct lyd_node *parent, const struct lys_module *module, const char *name);
@@ -672,19 +672,19 @@
void *value, LYD_ANYDATA_VALUETYPE value_type);
/**
- * @brief Create a new container node in a data tree. Ignore RPC input nodes and instead use RPC output ones.
+ * @brief Create a new container node in a data tree. Ignore RPC/action input nodes and instead use RPC/action output ones.
*
* @param[in] parent Parent node for the node being created. NULL in case of creating top level element.
* @param[in] module Module with the node being created.
- * @param[in] name Schema node name of the new data node. The node can be #LYS_CONTAINER, #LYS_LIST,
- * #LYS_NOTIF, or #LYS_RPC.
+ * @param[in] name Schema node name of the new data node. The node should only be #LYS_CONTAINER or #LYS_LIST,
+ * but accepted are also #LYS_NOTIF, #LYS_RPC, or #LYS_ACTION.
* @return New node, NULL on error.
*/
struct lyd_node *lyd_new_output(struct lyd_node *parent, const struct lys_module *module, const char *name);
/**
* @brief Create a new leaf or leaflist node in a data tree with a string value that is converted to
- * the actual value. Ignore RPC input nodes and instead use RPC output ones.
+ * the actual value. Ignore RPC/action input nodes and instead use RPC/action output ones.
*
* @param[in] parent Parent node for the node being created. NULL in case of creating top level element.
* @param[in] module Module with the node being created.
@@ -697,8 +697,8 @@
const char *val_str);
/**
- * @brief Create a new anydata or anyxml node in a data tree. Ignore RPC input nodes and instead use
- * RPC output ones.
+ * @brief Create a new anydata or anyxml node in a data tree. Ignore RPC/action input nodes and instead use
+ * RPC/action output ones.
*
* @param[in] parent Parent node for the node being created. NULL in case of creating top level element.
* @param[in] module Module with the node being created.
@@ -730,7 +730,7 @@
#define LYD_PATH_OPT_UPDATE 0x01 /**< If the target node exists and is a leaf, it is updated with the new value and returned.
If the target node exists and is not a leaf, NULL is returned and no error set. */
#define LYD_PATH_OPT_NOPARENT 0x02 /**< If any parents of the target node exist, return an error. */
-#define LYD_PATH_OPT_OUTPUT 0x04 /**< Changes the behavior to ignoring RPC input schema nodes and using only output ones. */
+#define LYD_PATH_OPT_OUTPUT 0x04 /**< Changes the behavior to ignoring RPC/action input schema nodes and using only output ones. */
/** @} pathoptions */
@@ -744,8 +744,8 @@
* If \p path points to a list key and the list does not exist, the key value from the predicate is used
* and \p value is ignored.
*
- * @param[in] data_tree Existing data tree to add to/modify. If creating RPCs, there should only be one RPC and
- * either input or output. Can be NULL.
+ * @param[in] data_tree Existing data tree to add to/modify. If creating RPCs/actions, there should only be one
+ * RPC/action and either input or output, not both. Can be NULL.
* @param[in] ctx Context to use. Mandatory if \p data_tree is NULL.
* @param[in] path Simple data XPath of the new node. It can contain only simple node addressing with optional
* module names as prefixes. List nodes must have predicates, one for each list key in the correct order and