mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
sd-network: introduce sd_network_link_get_netdev_file{,_dropins}
This commit is contained in:
@@ -159,25 +159,37 @@ int sd_network_link_get_network_file(int ifindex, char **ret) {
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -122,6 +122,12 @@ int sd_network_link_get_network_file(int ifindex, char **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);
|
||||
|
||||
Reference in New Issue
Block a user