return network_link_get_string(ifindex, "NETWORK_FILE", ret);
}
-int sd_network_link_get_network_file_dropins(int ifindex, char ***ret) {
- _cleanup_free_ char **sv = NULL, *joined = NULL;
+int sd_network_link_get_netdev_file(int ifindex, char **ret) {
+ return network_link_get_string(ifindex, "NETDEV_FILE", ret);
+}
+
+static int link_get_config_file_dropins_internal(int ifindex, const char *field, char ***ret) {
+ _cleanup_free_ char *s = NULL;
int r;
+ assert(field);
assert_return(ifindex > 0, -EINVAL);
assert_return(ret, -EINVAL);
- r = network_link_get_string(ifindex, "NETWORK_FILE_DROPINS", &joined);
+ r = network_link_get_string(ifindex, field, &s);
if (r < 0)
return r;
- r = strv_split_full(&sv, joined, ":", EXTRACT_CUNESCAPE);
+ r = strv_split_full(ret, s, ":", EXTRACT_CUNESCAPE);
if (r < 0)
return r;
- *ret = TAKE_PTR(sv);
return 0;
}
+int sd_network_link_get_network_file_dropins(int ifindex, char ***ret) {
+ return link_get_config_file_dropins_internal(ifindex, "NETWORK_FILE_DROPINS", ret);
+}
+
+int sd_network_link_get_netdev_file_dropins(int ifindex, char ***ret) {
+ return link_get_config_file_dropins_internal(ifindex, "NETDEV_FILE_DROPINS", ret);
+}
+
int sd_network_link_get_operational_state(int ifindex, char **ret) {
return network_link_get_string(ifindex, "OPER_STATE", ret);
}
/* Get paths to .network file dropins applied to link */
int sd_network_link_get_network_file_dropins(int ifindex, char ***ret);
+/* Get path to .netdev file associated with link */
+int sd_network_link_get_netdev_file(int ifindex, char **ret);
+
+/* Get path to .netdev file dropins associated with link */
+int sd_network_link_get_netdev_file_dropins(int ifindex, char ***ret);
+
/* Get DNS entries for a given link. These are string representations of
* IP addresses */
int sd_network_link_get_dns(int ifindex, char ***ret);