aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Erickson <gerickson@nuovations.com>2023-12-06 11:36:30 -0800
committerMarcel Holtmann <marcel@holtmann.org>2023-12-08 01:55:44 +0100
commit91608a2e732275013c90caed4c3b4b6cdb992ddf (patch)
treeea4a68f8247463021018d5b2bb73388caad8c0f9
parent9a77cf71c2cb487824bf07ac4ec3c25302a27bbe (diff)
downloadconnman-91608a2e732275013c90caed4c3b4b6cdb992ddf.tar.gz
connection: Document 'unset_ipv4_low_priority_default_gateway'.
This adds documentation to the 'unset_ipv4_low_priority_default_gateway' function.
-rw-r--r--src/connection.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/connection.c b/src/connection.c
index 0a7d9c919..1f250a62f 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -2540,6 +2540,50 @@ static int unset_ipv4_low_priority_default_gateway_route_cb(
metric);
}
+/**
+ * @brief
+ * Unset the IPv4 low-priority default route for the specified IP
+ * configuration type from the provided gateway data.
+ *
+ * This attempts to unset, or clear, the IPv4 low-priority (that is,
+ * metric > 0) default route for the specified IP configuration type
+ * from the provided gateway data. The network interface and, by
+ * extension, the network service with which the gateway is
+ * associated is determined by the @a index field of @a data.
+ *
+ * On success, the gateway configuration state will be set to
+ * #CONNMAN_GATEWAY_CONFIG_STATE_REMOVED.
+ *
+ * @param[in,out] data A pointer to the mutable gateway data to
+ * clear as the IPv4 low-priority default
+ * route.
+ * @param[in] type The IP configuration type for which the
+ * gateway, or default router, configuration
+ * will be selected from @a data and used to
+ * unset the IPv4 low-priority default route.
+ *
+ * @retval 0 If successful.
+ * @retval -EINVAL If @a data or @a config are null, if the
+ * gateway configuration type is not
+ * #CONNMAN_GATEWAY_CONFIG_TYPE_LOW_PRIORITY_DEFAULT,
+ * or if the routing information to be unset,
+ * or cleared, was invalid.
+ * @retval -EINPROGRESS If the state of @a config is
+ * #CONNMAN_GATEWAY_CONFIG_STATE_REMOVED.
+ * @retval -EALREADY If the state of @a config is
+ * #CONNMAN_GATEWAY_CONFIG_STATE_INACTIVE.
+ * @retval -EFAULT If the address to the routing information
+ * to be unset, or cleared, was invalid.
+ * @retval -EPERM If the current process does not have the
+ * credentials or capabilities to unset, or
+ * clear, routes.
+ * @retval -ESRCH A request was made to unset, or clear a
+ * non-existing routing entry.
+ *
+ * @sa unset_default_gateway_route_common
+ * @sa unset_ipv4_low_priority_default_gateway_route_cb
+ *
+ */
static int unset_ipv4_low_priority_default_gateway(struct gateway_data *data,
struct gateway_config *config)
{