X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-lease-internal.h;h=d4675f3e473670d4d022e25bf4a2be8a8f4a2a12;hp=d12bcac2477502155c822c8ac70bb475620eac4b;hb=9f03ee51a2207954ef18be79ca3e11cd14ca56fd;hpb=fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2 diff --git a/src/libsystemd-network/dhcp-lease-internal.h b/src/libsystemd-network/dhcp-lease-internal.h index d12bcac24..d4675f3e4 100644 --- a/src/libsystemd-network/dhcp-lease-internal.h +++ b/src/libsystemd-network/dhcp-lease-internal.h @@ -26,26 +26,50 @@ #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; }; int dhcp_lease_new(sd_dhcp_lease **ret); @@ -55,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)