X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-lease-internal.h;h=d4675f3e473670d4d022e25bf4a2be8a8f4a2a12;hb=54d61deb7bffec5ca22cf765b13afbb0af547868;hp=1b157fd454d5325361a65cf64c172d807dd6d197;hpb=ce78df79b88d02d36cbf9e39e70ecb871750e16d;p=elogind.git diff --git a/src/libsystemd-network/dhcp-lease-internal.h b/src/libsystemd-network/dhcp-lease-internal.h index 1b157fd45..d4675f3e4 100644 --- a/src/libsystemd-network/dhcp-lease-internal.h +++ b/src/libsystemd-network/dhcp-lease-internal.h @@ -26,24 +26,47 @@ #include #include "refcnt.h" +#include "util.h" #include "dhcp-protocol.h" #include "sd-dhcp-client.h" +struct sd_dhcp_route { + struct in_addr dst_addr; + struct in_addr gw_addr; + uint8_t dst_prefixlen; +}; + struct sd_dhcp_lease { RefCount n_ref; + int32_t time_offset; uint32_t t1; uint32_t t2; uint32_t lifetime; + uint32_t mtu_aging_timeout; be32_t address; be32_t server_address; be32_t subnet_mask; be32_t router; + be32_t next_server; + be32_t broadcast; struct in_addr *dns; size_t dns_size; + struct in_addr *ntp; + size_t ntp_size; + struct in_addr *policy_filter; + size_t policy_filter_size; + struct sd_dhcp_route *static_route; + size_t static_route_size; + size_t static_route_allocated; + uint16_t boot_file_size; + uint16_t mdr; uint16_t mtu; + uint8_t ttl; + bool ip_forward; + bool ip_forward_non_local; char *domainname; char *hostname; char *root_path; @@ -56,5 +79,7 @@ int dhcp_lease_parse_options(uint8_t code, uint8_t len, const uint8_t *option, int dhcp_lease_save(sd_dhcp_lease *lease, const char *lease_file); int dhcp_lease_load(const char *lease_file, sd_dhcp_lease **ret); +int dhcp_lease_set_default_subnet_mask(sd_dhcp_lease *lease); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_dhcp_lease*, sd_dhcp_lease_unref); #define _cleanup_dhcp_lease_unref_ _cleanup_(sd_dhcp_lease_unrefp)