1/*********************************************************************
2   PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved.
3   See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage.
4
5   .
6
7 *********************************************************************/
8#ifndef INCLUDE_PICO_DHCP_CLIENT
9#define INCLUDE_PICO_DHCP_CLIENT
10#include "pico_defines.h"
11#ifdef PICO_SUPPORT_UDP
12#include "pico_dhcp_common.h"
13#include "pico_addressing.h"
14#include "pico_protocol.h"
15
16int pico_dhcp_initiate_negotiation(struct pico_device *device, void (*callback)(void*cli, int code), uint32_t *xid);
17void *pico_dhcp_get_identifier(uint32_t xid);
18struct pico_ip4 pico_dhcp_get_address(void *cli);
19struct pico_ip4 pico_dhcp_get_gateway(void *cli);
20struct pico_ip4 pico_dhcp_get_netmask(void *cli);
21struct pico_ip4 pico_dhcp_get_nameserver(void*cli, int index);
22int pico_dhcp_client_abort(uint32_t xid);
23char *pico_dhcp_get_hostname(void);
24char *pico_dhcp_get_domain(void);
25
26/* possible codes for the callback */
27#define PICO_DHCP_SUCCESS 0
28#define PICO_DHCP_ERROR   1
29#define PICO_DHCP_RESET   2
30
31#endif
32#endif
33