Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

auto_ip.h File Reference

auto_ip.h File Reference

Auto-IP (Dynamic Configuration of IPv4 Link-Local Addresses) More...

Go to the source code of this file.

Data Structures

struct  AutoIpSettings
 Auto-IP settings. More...
struct  _AutoIpContext
 Auto-IP context. More...

Typedefs

typedef void(* AutoIpLinkChangeCallback )(AutoIpContext *context, NetInterface *interface, bool_t linkState)
 Link state change callback.
typedef void(* AutoIpStateChangeCallback )(AutoIpContext *context, NetInterface *interface, AutoIpState state)
 FSM state change callback.

Enumerations

enum  AutoIpState
 

Auto-IP FSM states.

More...

Functions

void autoIpGetDefaultSettings (AutoIpSettings *settings)
 Initialize settings with default values.
error_t autoIpInit (AutoIpContext *context, const AutoIpSettings *settings)
 Auto-IP initialization.
error_t autoIpStart (AutoIpContext *context)
 Start Auto-IP process.
error_t autoIpStop (AutoIpContext *context)
 Stop Auto-IP process.
AutoIpState autoIpGetState (AutoIpContext *context)
 Retrieve current state.
void autoIpTick (AutoIpContext *context)
 Auto-IP timer handler.
void autoIpLinkChangeEvent (AutoIpContext *context)
 Callback function for link change event.
void autoIpChangeState (AutoIpContext *context, AutoIpState newState, systime_t delay)
 Update Auto-IP FSM state.
void autoIpGenerateAddr (Ipv4Addr *ipAddr)
 Generate a random link-local address.
void autoIpDumpConfig (AutoIpContext *context)
 Dump Auto-IP configuration for debugging purpose.

Detailed Description

Auto-IP (Dynamic Configuration of IPv4 Link-Local Addresses)

License

Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file auto_ip.h.


Typedef Documentation

typedef void(* AutoIpLinkChangeCallback)(AutoIpContext *context, NetInterface *interface, bool_t linkState)

Link state change callback.

Definition at line 158 of file auto_ip.h.

typedef void(* AutoIpStateChangeCallback)(AutoIpContext *context, NetInterface *interface, AutoIpState state)

FSM state change callback.

Definition at line 166 of file auto_ip.h.


Enumeration Type Documentation

Auto-IP FSM states.

Definition at line 144 of file auto_ip.h.


Function Documentation

void autoIpChangeState ( AutoIpContext *  context,
AutoIpState  newState,
systime_t  delay 
)

Update Auto-IP FSM state.

Parameters:
[in]contextPointer to the Auto-IP context
[in]newStateNew Auto-IP state to switch to
[in]delayInitial delay

Definition at line 480 of file auto_ip.c.

void autoIpDumpConfig ( AutoIpContext *  context )

Dump Auto-IP configuration for debugging purpose.

Parameters:
[in]contextPointer to the Auto-IP context

Definition at line 533 of file auto_ip.c.

void autoIpGenerateAddr ( Ipv4Addr ipAddr )

Generate a random link-local address.

Parameters:
[out]ipAddrRandom link-local address

Definition at line 515 of file auto_ip.c.

void autoIpGetDefaultSettings ( AutoIpSettings settings )

Initialize settings with default values.

Parameters:
[out]settingsStructure that contains Auto-IP settings

Definition at line 62 of file auto_ip.c.

AutoIpState autoIpGetState ( AutoIpContext *  context )

Retrieve current state.

Parameters:
[in]contextPointer to the Auto-IP context
Returns:
Current Auto-IP state

Definition at line 194 of file auto_ip.c.

error_t autoIpInit ( AutoIpContext *  context,
const AutoIpSettings settings 
)

Auto-IP initialization.

Parameters:
[in]contextPointer to the Auto-IP context
[in]settingsAuto-IP specific settings
Returns:
Error code

Definition at line 83 of file auto_ip.c.

void autoIpLinkChangeEvent ( AutoIpContext *  context )

Callback function for link change event.

Parameters:
[in]contextPointer to the Auto-IP context

Definition at line 428 of file auto_ip.c.

error_t autoIpStart ( AutoIpContext *  context )

Start Auto-IP process.

Parameters:
[in]contextPointer to the Auto-IP context
Returns:
Error code

Definition at line 130 of file auto_ip.c.

error_t autoIpStop ( AutoIpContext *  context )

Stop Auto-IP process.

Parameters:
[in]contextPointer to the Auto-IP context
Returns:
Error code

Definition at line 163 of file auto_ip.c.

void autoIpTick ( AutoIpContext *  context )

Auto-IP timer handler.

This routine must be periodically called by the TCP/IP stack to manage Auto-IP operation

Parameters:
[in]contextPointer to the Auto-IP context

Definition at line 219 of file auto_ip.c.