summaryrefslogtreecommitdiff
path: root/gdhcp
diff options
context:
space:
mode:
Diffstat (limited to 'gdhcp')
-rw-r--r--gdhcp/client.c17
-rw-r--r--gdhcp/gdhcp.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/gdhcp/client.c b/gdhcp/client.c
index 34e773f0..ec1cdeca 100644
--- a/gdhcp/client.c
+++ b/gdhcp/client.c
@@ -143,6 +143,7 @@ struct _GDHCPClient {
time_t last_renew;
time_t last_rebind;
time_t expire;
+ gboolean retransmit;
};
static inline void debug(GDHCPClient *client, const char *format, ...)
@@ -568,6 +569,22 @@ done:
close(sk);
}
+void g_dhcpv6_client_set_retransmit(GDHCPClient *dhcp_client)
+{
+ if (dhcp_client == NULL)
+ return;
+
+ dhcp_client->retransmit = TRUE;
+}
+
+void g_dhcpv6_client_clear_retransmit(GDHCPClient *dhcp_client)
+{
+ if (dhcp_client == NULL)
+ return;
+
+ dhcp_client->retransmit = FALSE;
+}
+
int g_dhcpv6_create_duid(GDHCPDuidType duid_type, int index, int type,
unsigned char **duid, int *duid_len)
{
diff --git a/gdhcp/gdhcp.h b/gdhcp/gdhcp.h
index f011690f..f7a6edeb 100644
--- a/gdhcp/gdhcp.h
+++ b/gdhcp/gdhcp.h
@@ -155,6 +155,8 @@ int g_dhcpv6_client_set_ia(GDHCPClient *dhcp_client, int index,
void g_dhcpv6_client_reset_renew(GDHCPClient *dhcp_client);
void g_dhcpv6_client_reset_rebind(GDHCPClient *dhcp_client);
void g_dhcpv6_client_set_expire(GDHCPClient *dhcp_client, uint32_t timeout);
+void g_dhcpv6_client_set_retransmit(GDHCPClient *dhcp_client);
+void g_dhcpv6_client_clear_retransmit(GDHCPClient *dhcp_client);
/* DHCP Server */
typedef enum {