X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-lease-internal.h;h=9e184ac4b59e643895db203f1623835e459a84dc;hb=5f86c1f4c43ee9caa120d130e9b89d3fd25124c0;hp=ba2fd73b45210501f3a5fdd1f047d2a214d00a10;hpb=4684469639d0893d78fc8e1a1966ce11eb9c7e31;p=elogind.git diff --git a/src/libsystemd-network/dhcp-lease-internal.h b/src/libsystemd-network/dhcp-lease-internal.h index ba2fd73b4..9e184ac4b 100644 --- a/src/libsystemd-network/dhcp-lease-internal.h +++ b/src/libsystemd-network/dhcp-lease-internal.h @@ -26,40 +26,62 @@ #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; + unsigned char 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; + uint8_t *client_id; + size_t client_id_len; }; int dhcp_lease_new(sd_dhcp_lease **ret); int dhcp_lease_parse_options(uint8_t code, uint8_t len, const uint8_t *option, void *user_data); -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); +int dhcp_lease_set_client_id(sd_dhcp_lease *lease, const uint8_t *client_id, + size_t client_id_len); + DEFINE_TRIVIAL_CLEANUP_FUNC(sd_dhcp_lease*, sd_dhcp_lease_unref); #define _cleanup_dhcp_lease_unref_ _cleanup_(sd_dhcp_lease_unrefp)