Line data Source code
1 : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : #ifndef foosddhcp6leasehfoo 3 : #define foosddhcp6leasehfoo 4 : 5 : /*** 6 : Copyright © 2014-2015 Intel Corporation. All rights reserved. 7 : 8 : systemd is free software; you can redistribute it and/or modify it 9 : under the terms of the GNU Lesser General Public License as published by 10 : the Free Software Foundation; either version 2.1 of the License, or 11 : (at your option) any later version. 12 : 13 : systemd is distributed in the hope that it will be useful, but 14 : WITHOUT ANY WARRANTY; without even the implied warranty of 15 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 : Lesser General Public License for more details. 17 : 18 : You should have received a copy of the GNU Lesser General Public License 19 : along with systemd; If not, see <http://www.gnu.org/licenses/>. 20 : ***/ 21 : 22 : #include <inttypes.h> 23 : #include <netinet/in.h> 24 : 25 : #include "_sd-common.h" 26 : 27 : _SD_BEGIN_DECLARATIONS; 28 : 29 : typedef struct sd_dhcp6_lease sd_dhcp6_lease; 30 : 31 : void sd_dhcp6_lease_reset_address_iter(sd_dhcp6_lease *lease); 32 : int sd_dhcp6_lease_get_address(sd_dhcp6_lease *lease, 33 : struct in6_addr *addr, 34 : uint32_t *lifetime_preferred, 35 : uint32_t *lifetime_valid); 36 : void sd_dhcp6_lease_reset_pd_prefix_iter(sd_dhcp6_lease *lease); 37 : int sd_dhcp6_lease_get_pd(sd_dhcp6_lease *lease, struct in6_addr *prefix, 38 : uint8_t *prefix_len, 39 : uint32_t *lifetime_preferred, 40 : uint32_t *lifetime_valid); 41 : 42 : int sd_dhcp6_lease_get_dns(sd_dhcp6_lease *lease, struct in6_addr **addrs); 43 : int sd_dhcp6_lease_get_domains(sd_dhcp6_lease *lease, char ***domains); 44 : int sd_dhcp6_lease_get_ntp_addrs(sd_dhcp6_lease *lease, 45 : struct in6_addr **addrs); 46 : int sd_dhcp6_lease_get_ntp_fqdn(sd_dhcp6_lease *lease, char ***ntp_fqdn); 47 : 48 : sd_dhcp6_lease *sd_dhcp6_lease_ref(sd_dhcp6_lease *lease); 49 : sd_dhcp6_lease *sd_dhcp6_lease_unref(sd_dhcp6_lease *lease); 50 : 51 7 : _SD_DEFINE_POINTER_CLEANUP_FUNC(sd_dhcp6_lease, sd_dhcp6_lease_unref); 52 : 53 : _SD_END_DECLARATIONS; 54 : 55 : #endif