X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-lease-internal.h;h=9e184ac4b59e643895db203f1623835e459a84dc;hb=79008bddf679a5e0900369950eb346c9fa687107;hp=ff09583604ab79fc8e5a8ad7f204adf24465e398;hpb=f5c0c00f400e6f1fa58c5faf8bc93ca9057d4463;p=elogind.git diff --git a/src/libsystemd-network/dhcp-lease-internal.h b/src/libsystemd-network/dhcp-lease-internal.h index ff0958360..9e184ac4b 100644 --- a/src/libsystemd-network/dhcp-lease-internal.h +++ b/src/libsystemd-network/dhcp-lease-internal.h @@ -32,6 +32,12 @@ #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; @@ -52,8 +58,9 @@ struct sd_dhcp_lease { size_t ntp_size; struct in_addr *policy_filter; size_t policy_filter_size; - struct in_addr *static_route; + 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; @@ -63,16 +70,18 @@ struct sd_dhcp_lease { 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)