]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/systemd/sd-dhcp-server.h
dhcp: be more careful when parsing strings from DHCP packets
[thirdparty/systemd.git] / src / systemd / sd-dhcp-server.h
CommitLineData
b44cd882
TG
1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
3#ifndef foosddhcpserverhfoo
4#define foosddhcpserverhfoo
5
6/***
7 This file is part of systemd.
8
9 Copyright (C) 2013 Intel Corporation. All rights reserved.
10 Copyright (C) 2014 Tom Gundersen
11
12 systemd is free software; you can redistribute it and/or modify it
13 under the terms of the GNU Lesser General Public License as published by
14 the Free Software Foundation; either version 2.1 of the License, or
15 (at your option) any later version.
16
17 systemd is distributed in the hope that it will be useful, but
18 WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 Lesser General Public License for more details.
21
22 You should have received a copy of the GNU Lesser General Public License
23 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24***/
25
7c16313f 26#include <stdbool.h>
b44cd882
TG
27#include <netinet/in.h>
28
29#include "sd-event.h"
30
31typedef struct sd_dhcp_server sd_dhcp_server;
32
33sd_dhcp_server *sd_dhcp_server_ref(sd_dhcp_server *server);
34sd_dhcp_server *sd_dhcp_server_unref(sd_dhcp_server *server);
35
3a864fe4 36int sd_dhcp_server_new(sd_dhcp_server **ret, int ifindex);
b44cd882
TG
37
38int sd_dhcp_server_attach_event(sd_dhcp_server *client, sd_event *event, int priority);
39int sd_dhcp_server_detach_event(sd_dhcp_server *client);
40sd_event *sd_dhcp_server_get_event(sd_dhcp_server *client);
41
7c16313f
TG
42bool sd_dhcp_server_is_running(sd_dhcp_server *server);
43
ff734080
TG
44int sd_dhcp_server_start(sd_dhcp_server *server);
45int sd_dhcp_server_stop(sd_dhcp_server *server);
46
59b8f6b6 47int sd_dhcp_server_set_address(sd_dhcp_server *server, struct in_addr *address, unsigned char prefixlen);
2dead812 48int sd_dhcp_server_set_lease_pool(sd_dhcp_server *server, struct in_addr *start, size_t size);
52750344
TG
49
50int sd_dhcp_server_forcerenew(sd_dhcp_server *server);
b44cd882 51#endif