]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/systemd/sd-dhcp-lease.h
Merge pull request #1668 from ssahani/net1
[thirdparty/systemd.git] / src / systemd / sd-dhcp-lease.h
CommitLineData
a6cc569e
TG
1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
fe8db0c5
TG
3#ifndef foosddhcpleasehfoo
4#define foosddhcpleasehfoo
a6cc569e
TG
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
04c01369 26#include <inttypes.h>
fe8db0c5 27#include <net/ethernet.h>
04c01369
LP
28#include <netinet/in.h>
29#include <sys/types.h>
30
31#include "_sd-common.h"
32
33_SD_BEGIN_DECLARATIONS;
a6cc569e 34
fe8db0c5 35typedef struct sd_dhcp_lease sd_dhcp_lease;
e1ea665e 36struct sd_dhcp_route;
a6cc569e 37
fe8db0c5
TG
38sd_dhcp_lease *sd_dhcp_lease_ref(sd_dhcp_lease *lease);
39sd_dhcp_lease *sd_dhcp_lease_unref(sd_dhcp_lease *lease);
74b2466e 40
fe8db0c5 41int sd_dhcp_lease_get_address(sd_dhcp_lease *lease, struct in_addr *addr);
68ceb9df 42int sd_dhcp_lease_get_lifetime(sd_dhcp_lease *lease, uint32_t *lifetime);
0339cd77
LP
43int sd_dhcp_lease_get_t1(sd_dhcp_lease *lease, uint32_t *t1);
44int sd_dhcp_lease_get_t2(sd_dhcp_lease *lease, uint32_t *t2);
45int sd_dhcp_lease_get_broadcast(sd_dhcp_lease *lease, struct in_addr *addr);
fe8db0c5
TG
46int sd_dhcp_lease_get_netmask(sd_dhcp_lease *lease, struct in_addr *addr);
47int sd_dhcp_lease_get_router(sd_dhcp_lease *lease, struct in_addr *addr);
8e34a618 48int sd_dhcp_lease_get_next_server(sd_dhcp_lease *lease, struct in_addr *addr);
0ad853bc 49int sd_dhcp_lease_get_server_identifier(sd_dhcp_lease *lease, struct in_addr *addr);
a2ba62c7
LP
50int sd_dhcp_lease_get_dns(sd_dhcp_lease *lease, const struct in_addr **addr);
51int sd_dhcp_lease_get_ntp(sd_dhcp_lease *lease, const struct in_addr **addr);
fe8db0c5
TG
52int sd_dhcp_lease_get_mtu(sd_dhcp_lease *lease, uint16_t *mtu);
53int sd_dhcp_lease_get_domainname(sd_dhcp_lease *lease, const char **domainname);
54int sd_dhcp_lease_get_hostname(sd_dhcp_lease *lease, const char **hostname);
ce78df79 55int sd_dhcp_lease_get_root_path(sd_dhcp_lease *lease, const char **root_path);
e4735228 56int sd_dhcp_lease_get_routes(sd_dhcp_lease *lease, struct sd_dhcp_route **routes);
0339cd77
LP
57int sd_dhcp_lease_get_vendor_specific(sd_dhcp_lease *lease, const void **data, size_t *data_len);
58int sd_dhcp_lease_get_client_id(sd_dhcp_lease *lease, const void **client_id, size_t *client_id_len);
8eb9058d 59int sd_dhcp_lease_get_timezone(sd_dhcp_lease *lease, const char **timezone);
74b2466e 60
04c01369
LP
61_SD_END_DECLARATIONS;
62
fe8db0c5 63#endif