C 如何获取systemd上的ntp服务器列表

C 如何获取systemd上的ntp服务器列表,c,linux,systemd,C,Linux,Systemd,我有一个带Systemd237的linux系统。我需要使用C代码获取DHCP配置的NTP服务器列表 systemd的来源包含所有信息: /* Get NTP entries for a given link. These are domain names or string * representations of IP addresses */ int sd_network_link_get_ntp(int ifindex, char ***ret); (摘自sd network.h) 但

我有一个带Systemd237的linux系统。我需要使用C代码获取DHCP配置的NTP服务器列表

systemd的来源包含所有信息:

/* Get NTP entries for a given link. These are domain names or string
 * representations of IP addresses */
int sd_network_link_get_ntp(int ifindex, char ***ret);
(摘自sd network.h) 但是这个接口没有在libsystemd中公开

我知道最新的systemd公开了一个包含必要信息的dbus接口,但我无法更新它

/etc/ntp.conf不再填充

在运行networkctl之前,/run/systemd/netif下的文件不会被填充,即使生成的文件在开头包含一行:

# This is private data. Do not parse.
如果有人有办法的话


谢谢

他们添加了dbus接口作为解决方案,可能是因为在早期版本中没有支持的方法。如果无法升级,则必须执行不受支持的操作,例如解析表示不解析的文件。我想,我将使用networkctl命令的输出,因为正如我所说,文件的内容只有在启动时才会填充。他们添加了dbus接口作为解决方案,大概是因为在早期版本中没有受支持的方法。如果你不能升级,你必须做一些不受支持的事情,比如解析文件说不要解析它。我想,我会处理networkctl命令的输出,因为,就像我说的,文件的内容只有在启动时才被填充。