Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : #ifndef foosddhcpleasehfoo 3 : : #define foosddhcpleasehfoo 4 : : 5 : : /*** 6 : : Copyright © 2013 Intel Corporation. All rights reserved. 7 : : systemd is free software; you can redistribute it and/or modify it 8 : : under the terms of the GNU Lesser General Public License as published by 9 : : the Free Software Foundation; either version 2.1 of the License, or 10 : : (at your option) any later version. 11 : : 12 : : systemd is distributed in the hope that it will be useful, but 13 : : WITHOUT ANY WARRANTY; without even the implied warranty of 14 : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 : : Lesser General Public License for more details. 16 : : 17 : : You should have received a copy of the GNU Lesser General Public License 18 : : along with systemd; If not, see <http://www.gnu.org/licenses/>. 19 : : ***/ 20 : : 21 : : #include <inttypes.h> 22 : : #include <net/ethernet.h> 23 : : #include <netinet/in.h> 24 : : #include <sys/types.h> 25 : : 26 : : #include "_sd-common.h" 27 : : 28 : : _SD_BEGIN_DECLARATIONS; 29 : : 30 : : typedef struct sd_dhcp_lease sd_dhcp_lease; 31 : : typedef struct sd_dhcp_route sd_dhcp_route; 32 : : 33 : : sd_dhcp_lease *sd_dhcp_lease_ref(sd_dhcp_lease *lease); 34 : : sd_dhcp_lease *sd_dhcp_lease_unref(sd_dhcp_lease *lease); 35 : : 36 : : int sd_dhcp_lease_get_address(sd_dhcp_lease *lease, struct in_addr *addr); 37 : : int sd_dhcp_lease_get_lifetime(sd_dhcp_lease *lease, uint32_t *lifetime); 38 : : int sd_dhcp_lease_get_t1(sd_dhcp_lease *lease, uint32_t *t1); 39 : : int sd_dhcp_lease_get_t2(sd_dhcp_lease *lease, uint32_t *t2); 40 : : int sd_dhcp_lease_get_broadcast(sd_dhcp_lease *lease, struct in_addr *addr); 41 : : int sd_dhcp_lease_get_netmask(sd_dhcp_lease *lease, struct in_addr *addr); 42 : : int sd_dhcp_lease_get_router(sd_dhcp_lease *lease, const struct in_addr **addr); 43 : : int sd_dhcp_lease_get_next_server(sd_dhcp_lease *lease, struct in_addr *addr); 44 : : int sd_dhcp_lease_get_server_identifier(sd_dhcp_lease *lease, struct in_addr *addr); 45 : : int sd_dhcp_lease_get_dns(sd_dhcp_lease *lease, const struct in_addr **addr); 46 : : int sd_dhcp_lease_get_ntp(sd_dhcp_lease *lease, const struct in_addr **addr); 47 : : int sd_dhcp_lease_get_mtu(sd_dhcp_lease *lease, uint16_t *mtu); 48 : : int sd_dhcp_lease_get_domainname(sd_dhcp_lease *lease, const char **domainname); 49 : : int sd_dhcp_lease_get_search_domains(sd_dhcp_lease *lease, char ***domains); 50 : : int sd_dhcp_lease_get_hostname(sd_dhcp_lease *lease, const char **hostname); 51 : : int sd_dhcp_lease_get_root_path(sd_dhcp_lease *lease, const char **root_path); 52 : : int sd_dhcp_lease_get_routes(sd_dhcp_lease *lease, sd_dhcp_route ***routes); 53 : : int sd_dhcp_lease_get_vendor_specific(sd_dhcp_lease *lease, const void **data, size_t *data_len); 54 : : int sd_dhcp_lease_get_client_id(sd_dhcp_lease *lease, const void **client_id, size_t *client_id_len); 55 : : int sd_dhcp_lease_get_timezone(sd_dhcp_lease *lease, const char **timezone); 56 : : 57 : : int sd_dhcp_route_get_destination(sd_dhcp_route *route, struct in_addr *destination); 58 : : int sd_dhcp_route_get_destination_prefix_length(sd_dhcp_route *route, uint8_t *length); 59 : : int sd_dhcp_route_get_gateway(sd_dhcp_route *route, struct in_addr *gateway); 60 : : int sd_dhcp_route_get_option(sd_dhcp_route *route); 61 : : 62 [ - + ]: 4 : _SD_DEFINE_POINTER_CLEANUP_FUNC(sd_dhcp_lease, sd_dhcp_lease_unref); 63 : : 64 : : _SD_END_DECLARATIONS; 65 : : 66 : : #endif