chiark / gitweb /
networkd/sd-dhcp-server: only start dhcp server when necessary
[elogind.git] / src / systemd / sd-dhcp-server.h
index 47962e550c632b298c1a985069d87f2e733b27cc..01595d39d1ed384dde7624ee347466e24e3bb4c1 100644 (file)
@@ -23,6 +23,7 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
+#include <stdbool.h>
 #include <netinet/in.h>
 
 #include "sd-event.h"
@@ -32,13 +33,17 @@ typedef struct sd_dhcp_server sd_dhcp_server;
 sd_dhcp_server *sd_dhcp_server_ref(sd_dhcp_server *server);
 sd_dhcp_server *sd_dhcp_server_unref(sd_dhcp_server *server);
 
-int sd_dhcp_server_new(sd_dhcp_server **ret);
+int sd_dhcp_server_new(sd_dhcp_server **ret, int ifindex);
 
 int sd_dhcp_server_attach_event(sd_dhcp_server *client, sd_event *event, int priority);
 int sd_dhcp_server_detach_event(sd_dhcp_server *client);
 sd_event *sd_dhcp_server_get_event(sd_dhcp_server *client);
 
+bool sd_dhcp_server_is_running(sd_dhcp_server *server);
+
 int sd_dhcp_server_start(sd_dhcp_server *server);
 int sd_dhcp_server_stop(sd_dhcp_server *server);
 
+int sd_dhcp_server_set_address(sd_dhcp_server *server, struct in_addr *address);
+int sd_dhcp_server_set_lease_pool(sd_dhcp_server *server, struct in_addr *start, size_t size);
 #endif