nl::Weave::Warm::Platform

Summary

Functions

AddRemoveHostAddress(InterfaceType inInterfaceType, const Inet::IPAddress & inAddress, uint8_t inPrefixLength, bool inAdd)
A platform API that Warm will call to add / remove a host IP address to the specified interface on the Host TCP/IP stack.
AddRemoveHostRoute(InterfaceType inInterfaceType, const Inet::IPPrefix & inPrefix, RoutePriority inPriority, bool inAdd)
A platform API that Warm will call to add / remove a IP route for the specified interface on the host TCP/IP stack.
AddRemoveThreadAddress(InterfaceType inInterfaceType, const Inet::IPAddress & inAddress, bool inAdd)
A platform API that Warm will call to add / remove a IP address to the specified interface on the Thread TCP/IP stack.
AddRemoveThreadRoute(InterfaceType inInterfaceType, const Inet::IPPrefix & inPrefix, RoutePriority inPriority, bool inAdd)
A platform API that Warm will call to add / remove a IP route for the specified interface on the Thread TCP/IP stack.
CriticalSectionEnter(void)
void
A platform API that Warm will call to protect access to internal State.
CriticalSectionExit(void)
void
A platform API that Warm will call to release protected access to internal State.
Init(WarmFabricStateDelegate *inFabricStateDelegate)
A platform API that Warm will call as part of nl::Warm::Init execution.
RequestInvokeActions(void)
void
A platform API that Warm will call to announce that the platform should call InvokeActions.
SetThreadRoutePriority(InterfaceType inInterfaceType, const Inet::IPPrefix & inPrefix, RoutePriority inPriority)
A platform API that Warm will call to change the priority of an existing IP route for the specified interface on the Thread TCP/IP stack.
StartStopThreadAdvertisement(InterfaceType inInterfaceType, const Inet::IPPrefix & inPrefix, bool inStart)
A platform API that Warm will call to start / stop advertisement of a IP prefix on the Thread interface.

Functions

AddRemoveHostAddress

PlatformResult AddRemoveHostAddress(
  InterfaceType inInterfaceType,
  const Inet::IPAddress & inAddress,
  uint8_t inPrefixLength,
  bool inAdd
)

A platform API that Warm will call to add / remove a host IP address to the specified interface on the Host TCP/IP stack.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inAddress
The IP address to be added/removed.
[in] inPrefixLength
The Prefix length of the inAddress.
[in] inAdd
true to add the address, false to remove the address.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.

AddRemoveHostRoute

PlatformResult AddRemoveHostRoute(
  InterfaceType inInterfaceType,
  const Inet::IPPrefix & inPrefix,
  RoutePriority inPriority,
  bool inAdd
)

A platform API that Warm will call to add / remove a IP route for the specified interface on the host TCP/IP stack.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inPrefix
The IP prefix to add / remove.
[in] inPriority
The priority to use when the route is assigned.
[in] inAdd
true to add the prefix as a route, false to remove the prefix as a route.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.

AddRemoveThreadAddress

PlatformResult AddRemoveThreadAddress(
  InterfaceType inInterfaceType,
  const Inet::IPAddress & inAddress,
  bool inAdd
)

A platform API that Warm will call to add / remove a IP address to the specified interface on the Thread TCP/IP stack.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inAddress
The IP address to be added/removed.
[in] inAdd
true to add the address, false to remove the address.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.

AddRemoveThreadRoute

PlatformResult AddRemoveThreadRoute(
  InterfaceType inInterfaceType,
  const Inet::IPPrefix & inPrefix,
  RoutePriority inPriority,
  bool inAdd
)

A platform API that Warm will call to add / remove a IP route for the specified interface on the Thread TCP/IP stack.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inPrefix
The IP prefix to assign / remove.
[in] inPriority
The priority to use when the route is assigned.
[in] inAdd
true to add the prefix as a route, false to remove the prefix as a route.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.

CriticalSectionEnter

void CriticalSectionEnter(
  void
)

A platform API that Warm will call to protect access to internal State.

CriticalSectionExit

void CriticalSectionExit(
  void
)

A platform API that Warm will call to release protected access to internal State.

Init

WEAVE_ERROR Init(
  WarmFabricStateDelegate *inFabricStateDelegate
)

A platform API that Warm will call as part of nl::Warm::Init execution.

Details
Parameters
[in] inFabricStateDelegate
A pointer to the fabricStateDelegate object used by Warm to receive updates for the fabric state.
Returns
WEAVE_NO_ERROR on success, error code otherwise.

RequestInvokeActions

void RequestInvokeActions(
  void
)

A platform API that Warm will call to announce that the platform should call InvokeActions.

SetThreadRoutePriority

PlatformResult SetThreadRoutePriority(
  InterfaceType inInterfaceType,
  const Inet::IPPrefix & inPrefix,
  RoutePriority inPriority
)

A platform API that Warm will call to change the priority of an existing IP route for the specified interface on the Thread TCP/IP stack.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inPrefix
The IP prefix to modify.
[in] inPriority
The new priority to apply to the route.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.

StartStopThreadAdvertisement

PlatformResult StartStopThreadAdvertisement(
  InterfaceType inInterfaceType,
  const Inet::IPPrefix & inPrefix,
  bool inStart
)

A platform API that Warm will call to start / stop advertisement of a IP prefix on the Thread interface.

After completion, the platform must call ReportActionComplete with the final result.

Details
Parameters
[in] inInterfaceType
The Interface to be modified.
[in] inPrefix
The IP prefix for which advertising should be started / stopped.
[in] inStart
true to start advertising, false to stop advertising.
Return Values
kPlatformResultSuccess
The operation completed successfully.
kPlatformResultFailure
The operation failed.
kPlatformResultInProgress
The operation will complete asynchronously.