Go to the documentation of this file.
42 #define TRACE_LEVEL AUTO_IP_TRACE_LEVEL
51 #if (IPV4_SUPPORT == ENABLED && AUTO_IP_SUPPORT == ENABLED)
90 if(context == NULL || settings == NULL)
98 interface = settings->interface;
104 context->netContext = settings->
interface->netContext;
107 context->interface = settings->
interface;
115 context->conflictCount = 0;
118 context->running =
FALSE;
125 interface->autoIpContext = context;
158 context->conflictCount = 0;
160 context->running =
TRUE;
189 context->running =
FALSE;
214 state = context->state;
239 interface = context->interface;
241 interface->autoIpContext = NULL;
AutoIpState autoIpGetState(AutoIpContext *context)
Retrieve current state.
error_t autoIpInit(AutoIpContext *context, const AutoIpSettings *settings)
Auto-IP initialization.
void netUnlock(NetContext *context)
Release exclusive access to the core of the TCP/IP stack.
AutoIpStateChangeCallback stateChangeEvent
FSM state change event.
error_t autoIpStop(AutoIpContext *context)
Stop Auto-IP process.
AutoIpLinkChangeCallback linkChangeEvent
Link state change event.
@ ERROR_INVALID_PARAMETER
Invalid parameter.
uint_t ipAddrIndex
Index of the IP address to be configured.
void autoIpResetConfig(AutoIpContext *context)
Reset Auto-IP configuration.
void autoIpGetDefaultSettings(AutoIpSettings *settings)
Initialize settings with default values.
Ipv4Addr linkLocalAddr
Initial link-local address to be used.
void autoIpDeinit(AutoIpContext *context)
Release Auto-IP context.
void netLock(NetContext *context)
Get exclusive access to the core of the TCP/IP stack.
Helper functions for Auto-IP.
NetInterface * interface
Network interface to configure.
#define osMemset(p, value, length)
AutoIpState
Auto-IP FSM states.
error_t autoIpStart(AutoIpContext *context)
Start Auto-IP process.
#define IPV4_UNSPECIFIED_ADDR
Auto-IP (Dynamic Configuration of IPv4 Link-Local Addresses)