All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tems.zigbee.com.zsmartsystems.zigbee.dongle.ember.autocode.1.4.15.source-code.ezsp_protocol.xml Maven / Gradle / Ivy

The newest version!
<protocol>
	<command>
		<name>version</name>
		<id>0x00</id>
		<description>The command allows the Host to specify the desired EZSP version and must be sent before any other command. This document describes EZSP version 4 and stack type 2 (mesh). The response provides information about the firmware running on the NCP.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>desiredProtocolVersion</name>
				<description>The EZSP version the Host wishes to use. To successfully set the version and allow other commands.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>protocolVersion</name>
				<description>The EZSP version the NCP is using</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>stackType</name>
				<description>The type of stack running on the NCP</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>stackVersion</name>
				<description>The version number of the stack</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>getLibraryStatus</name>
		<id>0x01</id>
		<description>This retrieves the status of the passed library ID to determine if it is compiled into the stack.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberLibraryId</data_type>
				<name>libraryId</name>
				<description>The ID of the library being queried.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberLibraryStatus</data_type>
				<name>status</name>
				<description>The status of the library being queried.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setConcentrator</name>
		<id>0x10</id>
		<description>Enable/disable concentrator support.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>enable</name>
				<description>If this bool is true the concentrator support is enabled. Otherwise is disabled. If this bool is false all the other arguments are ignored.</description>
			</parameter>
			<parameter>
				<data_type>EmberConcentratorType</data_type>
				<name>concentratorType</name>
				<description>Must be either EMBER_HIGH_RAM_CONCENTRATOR or EMBER_LOW_RAM_CONCENTRATOR. The former is used when the caller has enough memory to store source routes for the whole network. In that case, remote nodes stop sending route records once the concentrator has successfully received one. The latter is used when the concentrator has insufficient RAM to store all outbound source routes. In that case, route records are sent to the concentrator prior to every inbound APS unicast.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>minTime</name>
				<description>The minimum amount of time that must pass between MTORR broadcasts.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>maxTime</name>
				<description>The maximum amount of time that can pass between MTORR broadcasts.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>routeErrorThreshold</name>
				<description>The number of route errors that will trigger a re-broadcast of the MTORR.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>deliveryFailureThreshold</name>
				<description>The number of APS delivery failures that will trigger a re-broadcast of the MTORR.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>maxHops</name>
				<description>The maximum number of hops that the MTORR broadcast will be allowed to have. A value of 0 will be converted to the EMBER_MAX_HOPS value set by the stack.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>launchStandaloneBootloader</name>
		<id>0x8f</id>
		<description>Quits the current application and launches the standalone bootloader (if installed) The function returns an error if the standalone bootloader is not present</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>mode</name>
				<description>Controls the mode in which the standalone bootloader will run. See the app. note for full details. Options are: STANDALONE_BOOTLOADER_NORMAL_MODE: Will listen for an over-the-air image transfer on the current channel with current power  settings.  STANDALONE_BOOTLOADER_RECOVERY_MODE: Will listen for an over-the-air im-age transfer on the default channel with default power settings. Both modes also allow an image transfer to begin with XMODEM over the serial protocol's Bootloader Frame.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getStandaloneBootloaderVersionPlatMicroPhy</name>
		<id>0x91</id>
		<description>Detects if the standalone bootloader is installed, and if so returns the installed version. If not return 0xffff. A returned version of 0x1234 would indicate version 1.2 build 34. Also return the node's version of PLAT, MICRO and PHY.</description>
		<response_parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>bootloaderVersion</name>
				<description>BOOTLOADER_INVALID_VERSION if the standalone bootloader is not present, or the version of the installed standalone bootloader.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nodePlat</name>
				<description>The value of PLAT on the node.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nodeMicro</name>
				<description>The value of MICRO on the node.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nodePhy</name>
				<description>The value of PHY on the node.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getConfigurationValue</name>
		<id>0x52</id>
		<description>Reads a configuration value from the NCP</description>
		<command_parameters>
			<parameter>
				<data_type>EzspConfigId</data_type>
				<name>configId</name>
				<description>Identifies which configuration value to read</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the value was read successfully, EZSP_ERROR_INVALID_ID if the NCP does not recognize configId.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>value</name>
				<description>The configuration value.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setConfigurationValue</name>
		<id>0x53</id>
		<description>Writes a configuration value to the NCP. Configuration values can be modified by the Host after the NCP has reset. Once the status of the stack changes to EMBER_NETWORK_UP, configuration values can no longer be modified and this command will respond with EZSP_ERROR_INVALID_CALL.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspConfigId</data_type>
				<name>configId</name>
				<description>Identifies which configuration value to change.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>value</name>
				<description>The new configuration value.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the configuration value was changed, EZSP_ERROR_OUT_OF_MEMORY if the new value exceeded the available memory, EZSP_ERROR_INVALID_VALUE if the new value was out of bounds, EZSP_ERROR_INVALID_ID if the NCP does not recognize configId, EZSP_ERROR_INVALID_CALL if configuration values can no longer be modified.</description>
			</parameter>
		</response_parameters>
	</command>
			
	<command>
		<name>addEndpoint</name>
		<id>0x02</id>
		<description>Configures endpoint information on the NCP. The NCP does not remember these settings after a reset. Endpoints can be added by the Host after the NCP has reset. Once the status of the stack changes to EMBER_NETWORK_UP, endpoints can no longer be added and this command will respond with EZSP_ERROR_INVALID_CALL.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>endpoint</name>
				<description>The application endpoint to be added.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>profileId</name>
				<description>The endpoint's application profile.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>deviceId</name>
				<description>The endpoint's device ID within the application profile.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>appFlags</name>
				<description>The device version and flags indicating description availability.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>inputClusterCount</name>
				<description>The number of cluster IDs in inputClusterList.</description>
				<auto_size>inputClusterList</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>outputClusterCount</name>
				<description>The number of cluster IDs in outputClusterList</description>
				<auto_size>outputClusterList</auto_size>
			</parameter>
			<parameter>
				<data_type>uint16_t[]</data_type>
				<name>inputClusterList</name>
				<description>Input cluster IDs the endpoint will accept.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint16_t[]</data_type>
				<name>outputClusterList</name>
				<description>Output cluster IDs the endpoint may send.</description>
				<display>hex[4]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the configuration value was changed, EZSP_ERROR_OUT_OF_MEMORY if the new value exceeded the available memory, EZSP_ERROR_INVALID_VALUE if the new value was out of bounds, EZSP_ERROR_INVALID_ID if the NCP does not recognize configId, EZSP_ERROR_INVALID_CALL if configuration values can no longer be modified.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setPolicy</name>
		<id>0x55</id>
		<description>Allows the Host to change the policies used by the NCP to make fast decisions.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspPolicyId</data_type>
				<name>policyId</name>
				<description>Identifies which policy to modify.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>decisionId</name>
				<description> The new decision for the specified policy.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the policy was changed, EZSP_ERROR_INVALID_ID if the NCP does not recognize policyId.</description>
			</parameter>
		</response_parameters>
	</command>
			
	<command>
		<name>getPolicy</name>
		<id>0x56</id>
		<description>Allows the Host to read the policies used by the NCP to make fast decisions.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspPolicyId</data_type>
				<name>policyId</name>
				<description>Identifies which policy to modify.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the policy was changed, EZSP_ERROR_INVALID_ID if the NCP does not recognize policyId.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>decisionId</name>
				<description>The current decision for the specified policy.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getValue</name>
		<id>0xAA</id>
		<description>Reads a value from the NCP.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspValueId</data_type>
				<name>valueId</name>
				<description>Identifies which policy to modify.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the value was read successfully, EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>valueLength</name>
				<description>The length of the value parameter in bytes.</description>
				<auto_size>value</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>value</name>
				<description>The value.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getExtendedValue</name>
		<id>0x0003</id>
		<description>Reads a value from the NCP but passes an extra argument specific to the value being retrieved.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspExtendedValueId</data_type>
				<name>valueId</name>
				<description>Identifies which extended value ID to read.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>characteristics</name>
				<description>Identifies which characteristics of the extended value ID to read. These are specific to the value being read.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the value was read successfully, EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>valueLength</name>
				<description>Both a command and response parameter. On command, the maximum size in bytes of local storage allocated to receive the returned value. On response, the actual length in bytes of the returned value.</description>
				<auto_size>value</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>value</name>
				<description>The value.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setValue</name>
		<id>0xAB</id>
		<description>Writes a value to the NCP.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspValueId</data_type>
				<name>valueId</name>
				<description>Identifies which policy to change.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>valueLength</name>
				<description>The length of the value parameter in bytes.</description>
				<auto_size>value</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>value</name>
				<description>The new value.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EZSP_SUCCESS if the value was changed, EZSP_ERROR_INVALID_VALUE if the new value was out of bounds, EZSP_ERROR_INVALID_ID if the NCP does not recognize valueId, EZSP_ERROR_INVALID_CALL if the value could not be modified.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>invalidCommand</name>
		<id>0x58</id>
		<description>Indicates that the NCP received an invalid command.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>reason</name>
				<description>The reason why the command was invalid.</description>
			</parameter>
		</response_parameters>
	</command>
			
	<command>
		<name>callback</name>
		<id>0x06</id>
		<description>Allows the NCP to respond with a pending callback.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>
	
	<command>
		<name>noCallbacks</name>
		<id>0x07</id>
		<description>Indicates that there are currently no pending callbacks.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>

	<command>
		<name>readAndClearCounters</name>
		<id>0x65</id>
		<description>Retrieves and clears Ember counters. See the EmberCounterType enumeration for the counter types.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint16_t[29]</data_type>
				<name>values</name>
				<description>A list of all counter values ordered according to the EmberCounterType enumeration.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
						
	<command>
		<name>readCounters</name>
		<id>0xF1</id>
		<description>Retrieves Ember counters. See the EmberCounterType enumeration for the counter types.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint16_t[29]</data_type>
				<name>values</name>
				<description>A list of all counter values ordered according to the EmberCounterType enumeration.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
				
	<command>
		<name>getMfgToken</name>
		<id>0x0B</id>
		<description>Retrieves a manufacturing token from the Flash Information Area of the NCP (except for EZSP_STACK_CAL_DATA which is managed by the stack).</description>
		<command_parameters>
			<parameter>
				<data_type>EzspMfgTokenId</data_type>
				<name>tokenId</name>
				<description>Which manufacturing token to read.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>tokenDataLength</name>
				<description>The length of the tokenData parameter in bytes.</description>
				<auto_size>tokenData</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>tokenData</name>
				<description>The manufacturing token data.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setMfgToken</name>
		<id>0x0C</id>
		<description>Sets a manufacturing token in the Customer Information Block (CIB) area of the NCP if that token currently unset (fully erased). Cannot be used with EZSP_STACK_CAL_DATA, EZSP_STACK_CAL_FILTER, EZSP_MFG_ASH_CONFIG, or EZSP_MFG_CBKE_DATA token.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspMfgTokenId</data_type>
				<name>tokenId</name>
				<description>Which manufacturing token to set.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>tokenDataLength</name>
				<description>The length of the tokenData parameter in bytes.</description>
				<auto_size>tokenData</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>tokenData</name>
				<description>The manufacturing token data.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>stackTokenChangedHandler</name>
		<id>0x0D</id>
		<description>A callback invoked to inform the application that a stack token has changed.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>tokenAddress</name>
				<description>The address of the stack token that has changed.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingSenderEui64Handler</name>
		<id>0x62</id>
		<description>A callback indicating a message has been received containing the EUI64 of the sender. This callback is called immediately before the incomingMessageHandler callback. It is not called if the incoming message did not contain the EUI64 of the sender.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>senderEui64</name>
				<description>The EUI64 of the sender.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getMulticastTableEntry</name>
		<id>0x63</id>
		<description>Gets an entry from the multicast table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a multicast table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberMulticastTableEntry</data_type>
				<name>value</name>
				<description>The contents of the multicast entry.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setMulticastTableEntry</name>
		<id>0x64</id>
		<description>Sets an entry in the multicast table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a multicast table entry</description>
			</parameter>
			<parameter>
				<data_type>EmberMulticastTableEntry</data_type>
				<name>value</name>
				<description>The contents of the multicast entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingNetworkStatusHandler</name>
		<id>0xC4</id>
		<description>This is called by the stack to notify the application that a network status/route error message has been received.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>errorCode</name>
				<description>Over the air error code.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>target</name>
				<description>The node ID associated with the error.  Depending on the error code this may be either originator of the error message or the node ID of the destination that could not be reached.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingManyToOneRouteRequestHandler</name>
		<id>0x7D</id>
		<description>A callback indicating that a many-to-one route to the concentrator with the given short and long id is available for use.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>source</name>
				<description>The short id of the concentrator.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>longId</name>
				<description>The EUI64 of the concentrator.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>cost</name>
				<description>The path cost to the concentrator. The cost may decrease as additional route request packets for this discovery arrive, but the callback is made only once.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>counterRolloverHandler</name>
		<id>0xF2</id>
		<description>This call is fired when a counter exceeds its threshold.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberCounterType</data_type>
				<name>type</name>
				<description>Type of Counter.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getXncpInfo</name>
		<id>0x13</id>
		<description>Allows the HOST to know whether the NCP is running the XNCP library. If so, the response contains also the manufacturer ID and the version number of the XNCP application that is running on the NCP.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if the NCP is running the XNCP library. EMBER_INVALID_CALL otherwise.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>manufacturerId</name>
				<description>The manufactured ID the user has defined in the XNCP application.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>versionNumber</name>
				<description>The version number of the XNCP application.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>customFrame</name>
		<id>0x47</id>
		<description>Provides the customer a custom EZSP frame. On the NCP, these frames are only handled if the XNCP library is included. On the NCP side these frames are handled in the emberXNcpIncomingCustomEzspMessageCallback() callback function.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>payloadLength</name>
				<description>The length of the custom frame payload (maximum 119 bytes).</description>
				<auto_size>payload</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>payload</name>
				<description>The payload of the custom frame.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The status returned by the custom command.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>replyLength</name>
				<description>The length of the response.</description>
				<auto_size>reply</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>reply</name>
				<description>The response.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>customFrameHandler</name>
		<id>0x54</id>
		<description>A callback indicating a custom EZSP message has been received.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>payloadLength</name>
				<description>The length of the custom frame payload.</description>
				<auto_size>payload</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>payload</name>
				<description>The payload of the custom frame.</description>
			</parameter>
		</response_parameters>
	</command>
															
	<command>
		<name>getEui64</name>
		<id>0x26</id>
		<description>Returns the EUI64 ID of the local node.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The 64-bit ID.</description>
			</parameter>
		</response_parameters>
	</command>
																		
	<command>
		<name>getNodeId</name>
		<id>0x27</id>
		<description>Returns the 16-bit node ID of the local node.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The 16-bit ID.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
											
	<command>
		<name>setManufacturerCode</name>
		<id>0x15</id>
		<description>Sets the manufacturer code to the specified value. The manufacturer code is one of the fields of the node descriptor.</description>
		<command_parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>code</name>
				<description>The manufacturer code for the local node.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>

	<command>
		<name>setPowerDescriptor</name>
		<id>0x16</id>
		<description>Sets the power descriptor to the specified value. The power descriptor is a dynamic value, therefore you should call this function whenever the value changes.</description>
		<command_parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>descriptor</name>
				<description>The new power descriptor for the local node.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>
														
	<command>
		<name>networkInit</name>
		<id>0x17</id>
		<description>Resume network operation after a reboot. The node retains its original type. This should be called on startup whether or not the node was previously part of a network. EMBER_NOT_JOINED is returned if the node is not part of a network.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value that indicates one of the following: successful initialization, EMBER_NOT_JOINED if the node is not part of a network, or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>
												
	<command>
		<name>stackStatusHandler</name>
		<id>0x19</id>
		<description> A callback invoked when the status of the stack changes. If the status parameter equals EMBER_NETWORK_UP, then the getNetworkParameters command can be called to obtain the new network parameters. If any of the parameters are being stored in nonvolatile memory by the Host, the stored values should be updated.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>Stack status. One of the following: EMBER_NETWORK_UP, EMBER_NETWORK_DOWN, EMBER_JOIN_FAILED, EMBER_MOVE_FAILED</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>startScan</name>
		<id>0x1A</id>
		<description>This function will start a scan.</description>
		<command_parameters>
			<parameter>
				<data_type>EzspNetworkScanType</data_type>
				<name>scanType</name>
				<description>Indicates the type of scan to be performed. Possible values are: EZSP_ENERGY_SCAN and EZSP_ACTIVE_SCAN. For each type, the respective callback for reporting results is: energyScanResultHandler and networkFoundHandler. The energy scan and active scan report errors and completion via the scanCompleteHandler</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>channelMask</name>
				<description>Bits set as 1 indicate that this particular channel should be scanned. Bits set to 0 indicate that this particular channel should not be scanned. For example, a channelMask value of 0x00000001 would indicate that only channel 0 should be scanned. Valid channels range from 11 to 26 inclusive. This translates to a channel mask value of 0x07FFF800. As a convenience, a value of 0 is reinterpreted as the mask for the current channel.</description>
				<display>hex[8]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>duration</name>
				<description>Sets the exponent of the number of scan periods, where a scan period is 960 symbols. The scan will occur for ((2^duration) + 1) scan periods.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS signals that the scan successfully started. Possible error responses and their meanings: EMBER_MAC_SCANNING, we are already scanning; EMBER_MAC_JOINED_NETWORK, we are currently joined to a network and cannot begin a scan; EMBER_MAC_BAD_SCAN_DURATION, we have set a duration value that is not 0..14 inclusive; EMBER_MAC_INCORRECT_SCAN_TYPE, we have requested an undefined scanning type; EMBER_MAC_INVALID_CHANNEL_MASK, our channel mask did not specify any valid channels.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>energyScanRequest</name>
		<id>0x9C</id>
		<description>Sends a ZDO energy scan request. This request may only be sent by the current network manager and must be unicast, not broadcast. See ezsp-utils.h for related macros emberSetNetworkManagerRequest() and emberChangeChannelRequest()</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>target</name>
				<description>The network address of the node to perform the scan.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>scanChannels</name>
				<description>A mask of the channels to be scanned.</description>
				<display>hex[8]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>scanDuration</name>
				<description>How long to scan on each channel. Allowed values are 0..5, with the scan times as specified by 802.15.4 (0 = 31ms, 1 = 46ms, 2 = 77ms, 3 = 138ms, 4 = 261ms, 5 = 507ms).</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>scanCount</name>
				<description>The number of scans to be performed on each channel (1..8).</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>
								
	<command>
		<name>energyScanResultHandler</name>
		<id>0x48</id>
		<description>Reports the result of an energy scan for a single channel. The scan is not complete until the scanCompleteHandler callback is called.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The 802.15.4 channel number that was scanned</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>maxRssiValue</name>
				<description>The maximum RSSI value found on the channel.</description>
			</parameter>
		</response_parameters>
	</command>
		
	<command>
		<name>networkFoundHandler</name>
		<id>0x1B</id>
		<description>Reports that a network was found as a result of a prior call to startScan. Gives the network parameters useful for deciding which network to join.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberZigbeeNetwork</data_type>
				<name>networkFound</name>
				<description>The parameters associated with the network found.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>lastHopLqi</name>
				<description>The link quality from the node that generated this beacon.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>lastHopRssi</name>
				<description>The energy level (in units of dBm) observed during the reception.</description>
			</parameter>
		</response_parameters>
	</command>
				
	<command>
		<name>scanCompleteHandler</name>
		<id>0x1C</id>
		<description>Returns the status of the current scan of type EZSP_ENERGY_SCAN or EZSP_ACTIVE_SCAN. EMBER_SUCCESS signals that the scan has completed. Other error conditions signify a failure to scan on the channel specified.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The channel on which the current error occurred. Undefined for the case of EMBER_SUCCESS.</description>
			</parameter>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The error condition that occurred on the current channel. Value will be EMBER_SUCCESS when the scan has completed.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>stopScan</name>
		<id>0x1D</id>
		<description>Terminates a scan in progress.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>
			
	<command>
		<name>formNetwork</name>
		<id>0x1E</id>
		<description>Forms a new network by becoming the coordinator.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNetworkParameters</data_type>
				<name>parameters</name>
				<description>Specification of the new network.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>
					
	<command>
		<name>permitJoining</name>
		<id>0x22</id>
		<description>Tells the stack to allow other nodes to join the network with this node as their parent. Joining is initially disabled by default.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>duration</name>
				<description>A value of 0x00 disables joining. A value of 0xFF enables joining. Any other value enables joining for that number of seconds.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>
							
	<command>
		<name>removeDevice</name>
		<id>0xA8</id>
		<description>This command sends an APS remove device using APS encryption to the destination indicating either to remove itself from the network, or one of its children.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destShort</name>
				<description>The node ID of the device that will receive the message</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>destLong</name>
				<description>The long address (EUI64) of the device that will receive the message.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>targetLong</name>
				<description>The long address (EUI64) of the device to be removed.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success, or the reason for failure</description>
			</parameter>
		</response_parameters>
	</command>
					
	<command>
		<name>networkState</name>
		<id>0x18</id>
		<description>Returns a value indicating whether the node is joining, joined to, or leaving a network.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNetworkStatus</data_type>
				<name>status</name>
				<description>An EmberNetworkStatus value indicating the current join status.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>childJoinHandler</name>
		<id>0x23</id>
		<description>Indicates that a child has joined or left.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the child of interest.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>joining</name>
				<description>True if the child is joining. False the child is leaving.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>childId</name>
				<description>The node ID of the child.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>childEui64</name>
				<description>The EUI64 of the child.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeType</data_type>
				<name>childType</name>
				<description>The node type of the child.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>getNetworkParameters</name>
		<id>0x28</id>
		<description>Returns the current network parameters.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeType</data_type>
				<name>nodeType</name>
				<description>An EmberNodeType value indicating the current node type.</description>
			</parameter>
			<parameter>
				<data_type>EmberNetworkParameters</data_type>
				<name>parameters</name>
				<description>The current network parameters.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>getParentChildParameters</name>
		<id>0x29</id>
		<description>Returns information about the children of the local node and the parent of the local node.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>childCount</name>
				<description>The number of children the node currently has.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>parentEui64</name>
				<description>The parent's EUI64. The value is undefined for nodes without parents (coordinators and nodes that are not joined to a network)</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>parentNodeId</name>
				<description>The parent's node ID. The value is undefined for nodes without parents (coordinators and nodes that are not joined to a network).</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>getChildData</name>
		<id>0x4A</id>
		<description>Returns information about a child of the local node.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the child of interest in the child table. Possible indexes range from zero to EMBER_CHILD_TABLE_SIZE.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if there is a child at index. EMBER_NOT_JOINED if there is no child at index.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>childId</name>
				<description>The node ID of the child.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>childEui64</name>
				<description>The EUI64 of the child</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeType</data_type>
				<name>childType</name>
				<description>The EmberNodeType value for the child.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getNeighbor</name>
		<id>0x79</id>
		<description>Returns the neighbor table entry at the given index. The number of active neighbors can be obtained using the neighborCount command.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the neighbor of interest. Neighbors are stored in ascending order by node id, with all unused entries at the end of the table.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_ERR_FATAL if the index is greater or equal to the number of active neighbors, or if the device is an end device. Returns EMBER_SUCCESS otherwise.</description>
			</parameter>
			<parameter>
				<data_type>EmberNeighborTableEntry</data_type>
				<name>value</name>
				<description>The contents of the neighbor table entry.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>neighborCount</name>
		<id>0x7A</id>
		<description>Returns the number of active entries in the neighbor table.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>value</name>
				<description>The number of active entries in the neighbor table</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getRouteTableEntry</name>
		<id>0x7B</id>
		<description>Returns the route table entry at the given index. The route table size can be obtained using the getConfigurationValue command.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the route table entry of interest</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_ERR_FATAL if the index is out of range or the device is an end device, and EMBER_SUCCESS otherwise.</description>
			</parameter>
			<parameter>
				<data_type>EmberRouteTableEntry</data_type>
				<name>value</name>
				<description>The contents of the route table entry.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setRadioChannel</name>
		<id>0x9A</id>
		<description>Sets the channel to use for sending and receiving messages. For a list of available radio channels, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this API, as all devices on a network must use the same channel.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>Desired radio channel.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setRadioPower</name>
		<id>0x99</id>
		<description>Sets the radio output power at which a node is operating. Ember radios have discrete power settings. For a list of available power settings, see the technical specification for the RF communication module in your Developer Kit. Note: Care should be taken when using this API on a running network, as it will directly impact the established link qualities neighboring nodes have with the node on which it is called. This can lead to disruption of existing routes and erratic network behavior.</description>
		<command_parameters>
			<parameter>
				<data_type>int8s</data_type>
				<name>power</name>
				<description>Desired radio output power, in dBm.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>clearBindingTable</name>
		<id>0x2A</id>
		<description>Deletes all binding table entries.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
		</response_parameters>
	</command>
					
	<command>
		<name>setBinding</name>
		<id>0x2B</id>
		<description>Sets an entry in the binding table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberBindingTableEntry</data_type>
				<name>value</name>
				<description>The contents of the binding entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
		</response_parameters>
	</command>
							
	<command>
		<name>getBinding</name>
		<id>0x2C</id>
		<description>Gets an entry in the binding table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
			<parameter>
				<data_type>EmberBindingTableEntry</data_type>
				<name>value</name>
				<description>The contents of the binding entry.</description>
			</parameter>
		</response_parameters>
	</command>
									
	<command>
		<name>deleteBinding</name>
		<id>0x2D</id>
		<description>Deletes an entry in the binding table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating the success or failure of the command.</description>
			</parameter>
		</response_parameters>
	</command>
											
	<command>
		<name>bindingIsActive</name>
		<id>0x2E</id>
		<description>Indicates whether any messages are currently being sent using this binding table entry. Note that this command does not indicate whether a binding is clear. To determine whether a binding is clear, check whether the type field of the EmberBindingTableEntry has the value EMBER_UNUSED_BINDING.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>active</name>
				<description>True if the binding table entry is active, false otherwise.</description>
			</parameter>
		</response_parameters>
	</command>
													
	<command>
		<name>getBindingRemoteNodeId</name>
		<id>0x2F</id>
		<description>Returns the node ID for the binding's destination, if the ID is known. If a message is sent using the binding and the destination's ID is not known, the stack will discover the ID by broadcasting a ZDO address request. The application can avoid the need for this discovery by using setBindingRemoteNodeId when it knows the correct ID via some other means. The destination's node ID is forgotten when the binding is changed, when the local node reboots or, much more rarely, when the destination node changes its ID in response to an ID conflict.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The short ID of the destination node or EMBER_NULL_NODE_ID if no destination is known.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>
				
	<command>
		<name>setBindingRemoteNodeId</name>
		<id>0x30</id>
		<description>Set the node ID for the binding's destination. See getBindingRemoteNodeId for a description.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The short ID of the destination node.</description>
				<display>hex[4]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>
								
	<command>
		<name>remoteSetBindingHandler</name>
		<id>0x31</id>
		<description>The NCP used the external binding modification policy to decide how to handle a remote set binding request. The Host cannot change the current decision, but it can change the policy for future decisions using the setPolicy command.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberBindingTableEntry</data_type>
				<name>entry</name>
				<description>The requested binding.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>policyDecision</name>
				<description>EMBER_SUCCESS if the binding was added to the table and any other status if not.</description>
			</parameter>
		</response_parameters>
	</command>
										
	<command>
		<name>remoteDeleteBindingHandler</name>
		<id>0x32</id>
		<description>The NCP used the external binding modification policy to decide how to handle a remote delete binding request. The Host cannot change the current decision, but it can change the policy for future decisions using the setPolicy command.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of a binding table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>policyDecision</name>
				<description>EMBER_SUCCESS if the binding was removed from the table and any other status if not.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>sendUnicast</name>
		<id>0x34</id>
		<description>Sends a unicast message as per the ZigBee specification. The message will arrive at its destination only if there is a known route to the destination node. Setting the ENABLE_ROUTE_DISCOVERY option will cause a route to be discovered if none is known. Setting the FORCE_ROUTE_DISCOVERY option will force route discovery. Routes to end-device children of the local node are always known. Setting the APS_RETRY option will cause the message to be retransmitted until either a matching acknowledgement is received or three transmissions have been made. Note: Using the FORCE_ROUTE_DISCOVERY option will cause the first transmission to be consumed by a route request as part of discovery, so the application payload of this packet will not reach its destination on the first attempt. If you want the packet to reach its destination, the APS_RETRY option must be set so that another attempt is made to transmit the message with its application payload after the route has been constructed. Note: When sending fragmented messages, the stack will only assign a new APS sequence number for the first fragment of the message (i.e., EMBER_APS_OPTION_FRAGMENT is set and the low-order byte of the groupId field in the APS frame is zero). For all subsequent fragments of the same message, the application must set the sequence number field in the APS frame to the sequence number assigned by the stack to the first fragment.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberOutgoingMessageType</data_type>
				<name>type</name>
				<description>Specifies the outgoing message type. Must be one of EMBER_OUTGOING_DIRECT, EMBER_OUTGOING_VIA_ADDRESS_TABLE, or EMBER_OUTGOING_VIA_BINDING.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>indexOrDestination</name>
				<description>Depending on the type of addressing used, this is either the EmberNodeId of the destination, an index into the address table, or an index into the binding table.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>The APS frame which is to be added to the message.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageTag</name>
				<description>A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>Content of the message.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequence</name>
				<description>The sequence number that will be used when this message is transmitted.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>sendBroadcast</name>
		<id>0x36</id>
		<description>Sends a broadcast message as per the ZigBee specification.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destination</name>
				<description>The destination to which to send the broadcast. This must be one of the three ZigBee broadcast addresses.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>The APS frame which is to be added to the message.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radius</name>
				<description>The message will be delivered to all nodes within radius hops of the sender. A radius of zero is converted to EMBER_MAX_HOPS.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageTag</name>
				<description>A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>Content of the message.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequence</name>
				<description>The sequence number that will be used when this message is transmitted.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>sendReply</name>
		<id>0x39</id>
		<description>Sends a reply to a received unicast message. The incomingMessageHandler callback for the unicast being replied to supplies the values for all the parameters except the reply itself.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>sender</name>
				<description>Value supplied by incoming unicast.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>Value supplied by incoming unicast.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageTag</name>
				<description>A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>The reply message.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>policyDecision</name>
				<description>An EmberStatus value. EMBER_INVALID_CALL - The EZSP_UNICAST_REPLIES_POLICY is set to EZSP_HOST_WILL_NOT_SUPPLY_REPLY. This means the NCP will automatically send an empty reply. The Host must change the policy to EZSP_HOST_WILL_SUPPLY_REPLY before it can supply the reply. There is one exception to this rule: In the case of responses to message fragments, the host must call sendReply when a message fragment is received. In this case, the policy set on the NCP does not matter. The NCP expects a sendReply call from the Host for message fragments regardless of the current policy settings. EMBER_NO_BUFFERS - Not enough memory was available to send the reply. EMBER_NETWORK_BUSY - Either no route or insufficient resources available. EMBER_SUCCESS - The reply was successfully queued for transmission.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>sendMulticast</name>
		<id>0x38</id>
		<description>Sends a multicast message to all endpoints that share a specific multicast ID and are within a specified number of hops of the sender.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>The APS frame for the message. The multicast will be sent to the groupId in this frame.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>hops</name>
				<description>The message will be delivered to all nodes within this number of hops of the sender. A value of zero is converted to EMBER_MAX_HOPS.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nonmemberRadius</name>
				<description>The number of hops that the message will be forwarded by devices that are not members of the group. A value of 7 or greater is treated as infinite.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageTag</name>
				<description>A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>The multicast message.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value. For any result other than EMBER_SUCCESS, the message will not be sent. 	EMBER_SUCCESS - The message has been submitted for transmission. EMBER_INVALID_BINDING_INDEX - The bindingTableIndex refers to a non-multicast binding. EMBER_NETWORK_DOWN - The node is not part of a network. EMBER_MESSAGE_TOO_LONG - The message is too large to fit in a MAC layer frame. EMBER_NO_BUFFERS - The free packet buffer pool is empty. EMBER_NETWORK_BUSY - Insufficient resources available in Network or MAC layers to send message. </description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequence</name>
				<description>The sequence number that will be used when this message is transmitted.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>messageSentHandler</name>
		<id>0x3F</id>
		<description>A callback indicating the stack has completed sending a message.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberOutgoingMessageType</data_type>
				<name>type</name>
				<description>The type of message sent.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>indexOrDestination</name>
				<description>The destination to which the message was sent, for direct unicasts, or the address table or binding index for other unicasts. The value is unspecified for multicasts and broadcasts.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>The APS frame for the message.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageTag</name>
				<description>The value supplied by the Host in the ezspSendUnicast, ezspSendBroadcast or ezspSendMulticast command.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value of EMBER_SUCCESS if an ACK was received from the destination or EMBER_DELIVERY_FAILED if no ACK was received.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>The unicast message supplied by the Host. The message contents are only included here if the decision for the messageContentsInCallback policy is messageTagAndContentsInCallback.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>
		
	<command>
		<name>sendManyToOneRouteRequest</name>
		<id>0x41</id>
		<description>Sends a route request packet that creates routes from every node in the network back to this node. This function should be called by an application that wishes to communicate with many nodes, for example, a gateway, central monitor, or controller. A device using this function was referred to as an 'aggregator' in EmberZNet 2.x and earlier, and is referred to as a 'concentrator' in the ZigBee specification and EmberZNet 3. This function enables large scale networks, because the other devices do not have to individually perform bandwidth-intensive route discoveries. Instead, when a remote node sends an APS unicast to a concentrator, its network layer automatically delivers a special route record packet first, which lists the network ids of all the intermediate relays. The concentrator can then use source routing to send outbound APS unicasts. (A source routed message is one in which the entire route is listed in the network layer header.) This allows the concentrator to communicate with thousands of devices without requiring large route tables on neighboring nodes. This function is only available in ZigBee Pro (stack profile 2), and cannot be called on end devices. Any router can be a concentrator (not just the coordinator), and there can be multiple concentrators on a network. Note that a concentrator does not automatically obtain routes to all network nodes after calling this function. Remote applications must first initiate an inbound APS unicast. Many-to-one routes are not repaired automatically. Instead, the concentrator application must call this function to rediscover the routes as necessary, for example, upon failure of a retried APS message. The reason for this is that there is no scalable one-size-fits-all route repair strategy. A common and recommended strategy is for the concentrator application to refresh the routes by calling this function periodically.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberConcentratorType</data_type>
				<name>concentratorType</name>
				<description>Must be either EMBER_HIGH_RAM_CONCENTRATOR or EMBER_LOW_RAM_CONCENTRATOR. The former is used when the caller has enough memory to store source routes for the whole network. In that case, remote nodes stop sending route records once the concentrator has successfully received one. The latter is used when the concentrator has insufficient RAM to store all outbound source routes. In that case, route records are sent to the concentrator prior to every inbound APS unicast.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radius</name>
				<description>The maximum number of hops the route request will be relayed. A radius of zero is converted to EMBER_MAX_HOPS.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if the route request was successfully submitted to the transmit queue, and EMBER_ERR_FATAL otherwise.</description>
			</parameter>
		</response_parameters>
	</command>
				
	<command>
		<name>pollHandler</name>
		<id>0x44</id>
		<description>Indicates that the local node received a data poll from a child.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>senderEui64</name>
				<description>The EUI64 of the sender.</description>
			</parameter>
		</response_parameters>
	</command>
		
	<command>
		<name>incomingRouteErrorHandler</name>
		<id>0x80</id>
		<description>A callback invoked when a route error message is received. The error indicates that a problem routing to or from the target node was encountered.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SOURCE_ROUTE_FAILURE or EMBER_MANY_TO_ONE_ROUTE_FAILURE.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>target</name>
				<description>The short id of the remote node.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingMessageHandler</name>
		<id>0x45</id>
		<description>A callback indicating a message has been received.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberIncomingMessageType</data_type>
				<name>type</name>
				<description>The type of the incoming message. One of the following: EMBER_INCOMING_UNICAST, EMBER_INCOMING_UNICAST_REPLY, EMBER_INCOMING_MULTICAST, EMBER_INCOMING_MULTICAST_LOOPBACK, EMBER_INCOMING_BROADCAST, EMBER_INCOMING_BROADCAST_LOOPBACK</description>
			</parameter>
			<parameter>
				<data_type>EmberApsFrame</data_type>
				<name>apsFrame</name>
				<description>The APS frame for the message.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>lastHopLqi</name>
				<description>The link quality from the node that last relayed the message.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>lastHopRssi</name>
				<description>The energy level (in units of dBm) observed during the reception.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>sender</name>
				<description>The sender of the message.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>bindingIndex</name>
				<description>The index of a binding that matches the message or 0xFF if there is no matching binding.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressIndex</name>
				<description>The index of the entry in the address table that matches the sender of the message or 0xFF if there is no matching entry.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>The incoming message.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>macFilterMatchMessageHandler</name>
		<id>0x46</id>
		<description>A callback invoked by the EmberZNet stack when a raw MAC message that has matched one of the application's configured MAC filters.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>filterIndexMatch</name>
				<description>The index of the filter that was matched.</description>
			</parameter>
			<parameter>
				<data_type>EmberMacPassthroughType</data_type>
				<name>legacyPassthroughType</name>
				<description>The type of MAC passthrough message received.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>lastHopLqi</name>
				<description>The link quality from the node that last relayed the message.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>lastHopRssi</name>
				<description>The energy level (in units of dBm) observed during reception.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>messageLength</name>
				<description>The length of the messageContents parameter in bytes.</description>
				<auto_size>messageContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>messageContents</name>
				<description>The raw message that was received.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>trustCenterJoinHandler</name>
		<id>0x24</id>
		<description>The NCP used the trust center behavior policy to decide whether to allow a new node to join the network. The Host cannot change the current decision, but it can change the policy for future decisions using the setPolicy command.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>newNodeId</name>
				<description>The Node Id of the node whose status changed.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>newNodeEui64</name>
				<description>The EUI64 of the node whose status changed.</description>
			</parameter>
			<parameter>
				<data_type>EmberDeviceUpdate</data_type>
				<name>status</name>
				<description>The status of the node: Secure Join/Rejoin, Unsecure Join/Rejoin, Device left.</description>
			</parameter>
			<parameter>
				<data_type>EmberJoinDecision</data_type>
				<name>policyDecision</name>
				<description>An EmberJoinDecision reflecting the decision made.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>parentOfNewNodeId</name>
				<description>The parent of the node whose status has changed.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>becomeTrustCenter</name>
		<id>0x77</id>
		<description>This function causes a coordinator to become the Trust Center when it is operating in a network that is not using one. It will send out an updated Network Key to all devices that will indicate a transition of the network to now use a Trust Center. The Trust Center should also switch all devices to using this new network key with the appropriate API.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>newNetworkKey</name>
				<description>The key data for the Updated Network Key.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The response status.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>aesMmoHash</name>
		<id>0x6F</id>
		<description>This routine processes the passed chunk of data and updates the hash context based on it. If the 'finalize' parameter is not set, then the length of the data passed in must be a multiple of 16. If the 'finalize' parameter is set then the length can be any value up 1-16, and the final hash value will be calculated.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberAesMmoHashContext</data_type>
				<name>context</name>
				<description>The hash context to update.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>finalize</name>
				<description>This indicates whether the final hash value should be calculated.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>length</name>
				<description>The length of the data to hash.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>data</name>
				<description>The data to hash.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberAesMmoHashContext</data_type>
				<name>returnContext</name>
				<description>The updated hash context.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setSourceRoute</name>
		<id>0x5A</id>
		<description>Supply a source route for the next outgoing message. [Deprecated]</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destination</name>
				<description>The destination of the source route.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>relayCount</name>
				<description>The number of relays in relayList.</description>
				<auto_size>relayList</auto_size>
			</parameter>
			<parameter>
				<data_type>uint16_t[]</data_type>
				<name>relayList</name>
				<description>The route record. Each relay in the list is an uint16_t node ID.</description>
				<display>hex[4]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if the source route was successfully stored, and EMBER_NO_BUFFERS otherwise.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>addressTableEntryIsActive</name>
		<id>0x5B</id>
		<description>Indicates whether any messages are currently being sent using this address table entry. Note that this function does not indicate whether the address table entry is unused. To determine whether an address table entry is unused, check the remote node ID. The remote node ID will have the value EMBER_TABLE_ENTRY_UNUSED_NODE_ID when the address table entry is not in use.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressTableIndex</name>
				<description>The index of an address table entry.</description>
			</parameter>
        </command_parameters>
		<response_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>active</name>
				<description>True if the address table entry is active, false otherwise.</description>
			</parameter>
		</response_parameters>
	</command>


	<command>
		<name>setAddressTableRemoteEui64</name>
		<id>0x5C</id>
		<description>Sets the EUI64 of an address table entry. This function will also check other address table entries, the child table and the neighbor table to see if the node ID for the given EUI64 is already known. If known then this function will also set node ID. If not known it will set the node ID to EMBER_UNKNOWN_NODE_ID.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressTableIndex</name>
				<description>The index of an address table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The EUI64 to use for the address table entry.</description>
			</parameter>
        </command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if the EUI64 was successfully set, and EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE otherwise.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setAddressTableRemoteNodeId</name>
		<id>0x5D</id>
		<description>Sets the short ID of an address table entry. Usually the application will not need to set the short ID in the address table. Once the remote EUI64 is set the stack is capable of figuring out the short ID on its own. However, in cases where the application does set the short ID, the application must set the remote EUI64 prior to setting the short ID.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressTableIndex</name>
				<description>The index of an address table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The short ID corresponding to the remote node whose EUI64 is stored in the address table at the given index or EMBER_TABLE_ENTRY_UNUSED_NODE_ID which indicates that the entry stored in the address table at the given index is not in use.</description>
				<display>hex[4]</display>
			</parameter>
		</command_parameters>
	</command>

	<command>
		<name>getAddressTableRemoteEui64</name>
		<id>0x5E</id>
		<description>Gets the EUI64 of an address table entry.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressTableIndex</name>
				<description>The index of an address table entry.</description>
			</parameter>
        </command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The EUI64 of the address table entry is copied to this location.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getAddressTableRemoteNodeId</name>
		<id>0x5F</id>
		<description>Gets the short ID of an address table entry.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>addressTableIndex</name>
				<description>The index of an address table entry.</description>
			</parameter>
        </command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>One of the following: The short ID corresponding to the remote node whose EUI64 is stored in the address table at the given index. EMBER_UNKNOWN_NODE_ID - Indicates that the EUI64 stored in the address table at the given index is valid but the short ID is currently unknown. EMBER_DISCOVERY_ACTIVE_NODE_ID - Indicates that the EUI64 stored in the address table at the given location is valid and network address discovery is underway. EMBER_TABLE_ENTRY_UNUSED_NODE_ID - Indicates that the entry stored in the address table at the given index is not in use.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getSourceRouteTableTotalSize</name>
		<id>0xC3</id>
		<description>Returns the source route table total size.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sourceRouteTableTotalSize</name>
				<description>Total size of source route table.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getSourceRouteTableFilledSize</name>
		<id>0xC2</id>
		<description>Returns the number of filled entries in source route table.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sourceRouteTableFilledSize</name>
				<description>The number of filled entries in source route table.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getSourceRouteTableEntry</name>
		<id>0xC1</id>
		<description>Returns information about a source route table entry.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the entry of interest in the source route table. Possible indexes range from zero to SOURCE_ROUTE_TABLE_FILLED_SIZE.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if there is source route entry at index. EMBER_SOURCE_ROUTE_FAILURE if there is no source route at index.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destination</name>
				<description>The node ID of the destination in that entry.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>closerIndex</name>
				<description>The closer node index for this source route table entry.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getRoutingShortcutThreshold</name>
		<id>0xD1</id>
		<description>Gets the routing shortcut threshold used to differentiate between directly using a neighbour vs. performing routing.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>routingShortcutThresh</name>
				<description>The routing shortcut threshold.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setRoutingShortcutThreshold</name>
		<id>0xD0</id>
		<description>Sets the routing shortcut threshold to directly use a neighbour instead of performing routing.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>costThresh</name>
				<description>The routing shortcut threshold to configure</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setSourceRouteDiscoveryMode</name>
		<id>0x5A</id>
		<description>: Sets source route discovery(MTORR) mode to on, off, reschedule.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>mode</name>
				<description>Source route discovery mode: off:0, on:1, reschedule:2</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>remainingTime</name>
				<description>Remaining time(ms) until next MTORR broadcast if the mode is on, MAX_INT32U_VALUE if the mode is off.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingRouteRecordHandler</name>
		<id>0x59</id>
		<description>Reports the arrival of a route record command frame.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>source</name>
				<description>The source of the route record.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>sourceEui</name>
				<description>The EUI64 of the source.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>lastHopLqi</name>
				<description>The link quality from the node that last relayed the route record.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>lastHopRssi</name>
				<description>The energy level (in units of dBm) observed during the reception.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>relayCount</name>
				<description>The number of relays in relayList.</description>
				<auto_size>relayList</auto_size>
			</parameter>
			<parameter>
				<data_type>uint16_t[]</data_type>
				<name>relayList</name>
				<description>The route record. Each relay in the list is an uint16_t node ID.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>incomingRouteErrorHandler</name>
		<id>0x80</id>
		<description>A callback invoked when a route error message is received. The error indicates that a problem routing to or from the target node was encountered.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SOURCE_ROUTE_FAILURE or EMBER_MANY_TO_ONE_ROUTE_FAILURE.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>target</name>
				<description>The short id of the remote node.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>joinNetwork</name>
		<id>0x1f</id>
		<description>Causes the stack to associate with the network using the specified network parameters. It can take several seconds for the stack to associate with the local network. Do not send messages until the stackStatusHandler callback informs you that the stack is up.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeType</data_type>
				<name>nodeType</name>
				<description>Specification of the role that this node will have in the network. This role must not be EMBER_COORDINATOR. To be a coordinator, use the formNetwork command.</description>
			</parameter>
			<parameter>
				<data_type>EmberNetworkParameters</data_type>
				<name>parameters</name>
				<description>Specification of the network with which the node should associate.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>findAndRejoinNetwork</name>
		<id>0x21</id>
		<description>The application may call this function when contact with the network has been lost. The most common usage case is when an end device can no longer communicate with its parent and wishes to find a new one. Another case is when a device has missed a Network Key update and no longer has the current Network Key. The stack will call ezspStackStatusHandler to indicate that the network is down, then try to re-establish contact with the network by performing an active scan, choosing a network with matching extended pan id, and sending a ZigBee network rejoin request. A sec- ond call to the ezspStackStatusHandler callback indicates either the success or the failure of the attempt. The process takes approximately 150 milliseconds per channel to complete. This call replaces the emberMobileNodeHasMoved API from EmberZNet 2.x, which used MAC association and consequently took half a second longer to complete.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>haveCurrentNetworkKey</name>
				<description>This parameter tells the stack whether to try to use the current network key. If it has the current network key it will perform a secure rejoin (encrypted). If this fails the device should try an unsecure rejoin. If the Trust Center allows the rejoin then the current Network Key will be sent encrypted using the device's Link Key. The unsecured rejoin is only supported in the Commercial Security Library.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>channelMask</name>
				<description>A mask indicating the channels to be scanned. See emberStartScan for format details. A value of 0 is reinterpreted as the mask for the current channel.</description>
				<display>hex[8]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>leaveNetwork</name>
		<id>0x20</id>
		<description>Causes the stack to leave the current network. This generates a stackStatusHandler callback to indicate that the network is down. The radio will not be used until after sending a formNetwork or joinNetwork command.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setExtendedTimeout</name>
		<id>0x7E</id>
		<description>Tells the stack whether or not the normal interval between retransmissions of a retried unicast message should be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT. The interval needs to be increased when sending to a sleepy node so that the message is not retransmitted until the destination has had time to wake up and poll its parent. The stack will automatically extend the timeout: - For our own sleepy children. - When an address response is received from a parent on behalf of its child. - When an indirect transaction expiry route error is received. - When an end device announcement is received from a sleepy node.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>remoteEui64</name>
				<description>The address of the node for which the timeout is to be set.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>extendedTimeout</name>
				<description>true if the retry interval should be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT. false if the normal retry interval should be used.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>

	<command>
		<name>getExtendedTimeout</name>
		<id>0x7F</id>
		<description>Indicates whether or not the stack will extend the normal interval between retransmissions of a retried unicast message by EMBER_INDIRECT_TRANSMISSION_TIMEOUT.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>remoteEui64</name>
				<description>The address of the node for which the timeout is to be returned.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>extendedTimeout</name>
				<description>true if the retry interval should be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT. false if the normal retry interval should be used.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>lookupNodeIdByEui64</name>
		<id>0x60</id>
		<description>Returns the node ID that corresponds to the specified EUI64. The node ID is found by searching through all stack tables for the specified EUI64.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The EUI64 of the node to look up.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The short ID of the node or EMBER_NULL_NODE_ID if the short ID is not known.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>lookupEui64ByNodeId</name>
		<id>0x61</id>
		<description>Returns the EUI64 that corresponds to the specified node ID. The EUI64 is found by searching through all stack tables for the specified node ID.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nodeId</name>
				<description>The short ID of the node or EMBER_NULL_NODE_ID if the short ID is not known.</description>
				<display>hex[4]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if the EUI64 was found, EMBER_ERR_FATAL if the EUI64 is not known.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The EUI64 of the node to look up.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getKey</name>
		<id>0x6A</id>
		<description>Gets a Security Key based on the passed key type.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberKeyType</data_type>
				<name>keyType</name>
				<description></description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of the operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyStruct</data_type>
				<name>keyStruct</name>
				<description>The structure containing the key and its associated data.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getTransientLinkKey</name>
		<id>0xCE</id>
		<description>This is a function to get the transient link key structure in the transient key table. The EUI of the passed in key structure is searched and, if a match is found, the rest of the key structure is filled in.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui</name>
				<description>The IEEE address to look up the transient key for.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of getting the transient key.</description>
			</parameter>
			<parameter>
				<data_type>EmberTransientKeyData</data_type>
				<name>transientKeyData</name>
				<description>The transient key structure that is filled in upon success.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getTransientKeyTableEntry</name>
		<id>0x6D</id>
		<description>Gets the transient link key at the index specified in the transient key table.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index in the transient key table to fetch data from.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of getting the transient key.</description>
			</parameter>
			<parameter>
				<data_type>EmberTransientKeyData</data_type>
				<name>transientKeyData</name>
				<description>The transient key structure that is filled in upon success.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>switchNetworkKeyHandler</name>
		<id>0x6E</id>
		<description>A callback to inform the application that the Network Key has been updated and the node has been switched over to use the new key. The actual key being used is not passed up, but the sequence number is.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequenceNumber</name>
				<description>The sequence number of the new network key.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>zigbeeKeyEstablishmentHandler</name>
		<id>0x9B</id>
		<description>This is a callback that indicates the success or failure of an attempt to establish a key with a partner device.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>partner</name>
				<description>This is the IEEE address of the partner that the device successfully established a key with. This value is all zeros on a failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyStatus</data_type>
				<name>status</name>
				<description>This is the status indicating what was established or why the key establishment failed.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getKeyTableEntry</name>
		<id>0x71</id>
		<description>Retrieves the key table entry at the specified index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the entry in the table to retrieve.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_TABLE_ENTRY_ERASED if the index is an erased key entry. EMBER_INDEX_OUT_OF_RANGE if the passed index is not valid. EMBER_SUCCESS on success.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyStruct</data_type>
				<name>keyStruct</name>
				<description>The results retrieved by the stack.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setKeyTableEntry</name>
		<id>0x72</id>
		<description>Sets the key table entry at the specified index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index of the entry in the table to set.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>address</name>
				<description>The address of the partner device that shares the key</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>linkKey</name>
				<description>This indicates whether the key is a Link or a Master Key</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>keyStruct</name>
				<description>The actual key data associated with the table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_KEY_INVALID if the passed key data is using one of the reserved key values. EMBER_INDEX_OUT_OF_RANGE if passed index is not valid. EMBER_SUCCESS on success.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>findKeyTableEntry</name>
		<id>0x75</id>
		<description>This function searches through the Key Table and tries to find the entry that matches the passed search criteria.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>address</name>
				<description>The address to search for. Alternatively, all zeros may be passed in to search for the first empty entry.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>linkKey</name>
				<description>This  indicates  whether  to  search  for  an  entry  that  contains  a  link  key  or  a  master  key. truemeans to search for an entry with a Link Key.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>This indicates the index of the entry that matches the search criteria. A value of 0xFF is returned if not matching entry is found.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>addOrUpdateKeyTableEntry</name>
		<id>0x66</id>
		<description>This function updates an existing entry in the key table or adds a new one. It first searches the table for an existing entrythat matches the passed EUI64 address. If no entry is found, it searches for the first free entry. If successful, it updates the key data and resets the associated incoming frame counter. If it fails to find an existing entry and no free one exists, it returns a failure.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>address</name>
				<description>The address of the partner device that shares the key</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>linkKey</name>
				<description>This indicates whether the key is a Link or a Master Key</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>keyData</name>
				<description>The actual key data associated with the entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure error code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>eraseKeyTableEntry</name>
		<id>0x76</id>
		<description>This function erases the data in the key table entry at the specified index. If the index is invalid, falseis returned.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>This indicates the index of entry to erase.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>clearKeyTable</name>
		<id>0xB1</id>
		<description>This function clears the key table of the current network.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>addTransientLinkKey</name>
		<id>0xAF</id>
		<description>This is a function to add a temporary link key for a joining device. The key will get timed out after a defined timeout period if the device does not update its link key with the Trust Center.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>partner</name>
				<description>This is the IEEE address of the partner that the device successfully established a key with. This value is all zeros on a failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>transientKey</name>
				<description>The transient key data for the joining device.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of adding a transient key.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>clearTransientLinkKeys</name>
		<id>0x6B</id>
		<description>Clear all of the transient link keys from RAM.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>

	<command>
		<name>idConflictHandler</name>
		<id>0x7C</id>
		<description>A callback invoked by the EmberZNet stack when an id conflict is discovered, that is, two different nodes in the network were found to be using the same short id. The stack automatically removes the conflicting short id from its internal tables (address, binding, route, neighbor, and child tables). The application should discontinue any other use of the id.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>id</name>
				<description>The short id for which a conflict was detected.</description>
				<display>hex[4]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>resetToFactoryDefaults</name>
		<id>0xCC</id>
		<description>Reset the NCP to factory default.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EzspStatus</data_type>
				<name>status</name>
				<description>An EzspStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setInitialSecurityState</name>
		<id>0x68</id>
		<description>Sets the security state that will be used by the device when it forms or joins the network. This call should not be used when restoring saved network state via networkInit as this will result in a loss of security data and will cause communication problems when the device re-enters the network.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberInitialSecurityState</data_type>
				<name>state</name>
				<description>The security configuration to be set.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getCurrentSecurityState</name>
		<id>0x69</id>
		<description>Gets the current security state that is being used by a device that is joined in the network.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberCurrentSecurityState</data_type>
				<name>state</name>
				<description>The security configuration in use by the stack.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibStart</name>
		<id>0x83</id>
		<description>Activate use of mfglib test routines and enables the radio receiver to report packets it receives to the mfgLibRxHandler() callback. These packets will not be passed up with a CRC failure. All other mfglib functions will return an error until the mfglibStart() has been called</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>rxCallback</name>
				<description>true to generate a mfglibRxHandler callback when a packet is received.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibEnd</name>
		<id>0x84</id>
		<description>Deactivate use of mfglib test routines; restores the hardware to the state it was in prior to mfglibStart() and stops receiving packets started by mfglibStart() at the same time.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibStartTone</name>
		<id>0x85</id>
		<description>Starts transmitting an unmodulated tone on the currently set channel and power level. Upon successful return, the tone will be transmitting. To stop transmitting tone, application must call mfglibStopTone(), allowing it the flexibility to determine its own criteria for tone duration (time, event, etc.)</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibStopTone</name>
		<id>0x86</id>
		<description>Stops transmitting tone started by mfglibStartTone().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibStartStream</name>
		<id>0x87</id>
		<description>Starts transmitting a random stream of characters. This is so that the radio modulation can be measured.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibStopStream</name>
		<id>0x88</id>
		<description>Stops transmitting a random stream of characters started by mfglibStartStream().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibSetChannel</name>
		<id>0x8A</id>
		<description>Sets the radio channel. Calibration occurs if this is the first time the channel has been used.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The current channel.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibSendPacket</name>
		<id>0x89</id>
		<description>Sends a single packet consisting of the following bytes: packetLength, packetContents[0], ... , packetContents[pack-etLength -  3], CRC[0], CRC[1]. The total number of bytes sent is packetLength + 1. The radio replaces the last two bytes of  packetContents[]with the 16-bit CRC for the packet.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>packetLength</name>
				<description>The current channel.</description>
				<auto_size>packetContents</auto_size>
			</parameter>	
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>packetContents</name>
				<description>The packet to send. The last two bytes will be replacedwith the 16-bit CRC.</description>
				<display>hex[2]</display>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibGetChannel</name>
		<id>0x8B</id>
		<description>Returns the current radio channel, as previously set via mfglibSetChannel().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The current channel.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibSetPower</name>
		<id>0x8C</id>
		<description>First select the transmit power mode, and then include a method for selecting the radio transmit power. The valid power settings depend upon the specific radio in use. Ember radios have discrete power settings, and then requested power is rounded to a valid power setting; the actual power output is available to the caller via mfglibGetPower().</description>
		<command_parameters>
			<parameter>
				<data_type>EmberPowerMode</data_type>
				<name>txPowerMode</name>
				<description>Power mode.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>power</name>
				<description>Power in units of dBm. Refer to radio data sheet for valid range.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure code of the operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibGetPower</name>
		<id>0x8D</id>
		<description>Returns the current radio power setting, as previously set via mfglibSetPower().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>int8s</data_type>
				<name>power</name>
				<description>Power in units of dBm. Refer to radio data sheet for valid range.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>mfglibRxHandler</name>
		<id>0x8E</id>
		<description>A callback indicating a packet with a valid CRC has been received.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>linkQuality</name>
				<description>The link quality observed during the reception.</description>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>rssi</name>
				<description>The energy level (in units of dBm) observed during the reception.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>packetLength</name>
				<description>The length of the packetContents parameter in bytes. Will be greater than 3 and less than 123.</description>
				<auto_size>packetContents</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>packetContents</name>
				<description>The received packet. The last two bytes are the 16-bit CRC.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getFirstBeacon</name>
		<id>0x3D</id>
		<description>Returns the first beacon in the cache. Beacons are stored in cache after issuing an active scan.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if first beacon found, EMBER_BAD_ARGUMENT if input parameters are invalid, EMBER_INVALID_CALL if no beacons stored, EMBER_ERR_FATAL if no first beacon found.</description>
			</parameter>
			<parameter>
				<data_type>EmberBeaconIterator</data_type>
				<name>beaconIterator</name>
				<description>The iterator to use when returning the first beacon. This argument must not be NULL.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getNextBeacon</name>
		<id>0x3D</id>
		<description>Returns the next beacon in the cache. Beacons are stored in cache after issuing an active scan.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>EMBER_SUCCESS if next beacon found, EMBER_BAD_ARGUMENT if input parameters are invalid, EMBER_ERR_FATAL if no next beacon found.</description>
			</parameter>
			<parameter>
				<data_type>EmberBeaconData</data_type>
				<name>beacon</name>
				<description>The next beacon retrieved. It is assumed that emberGetFirstBeacon has been called first. This argument must not be NULL.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getNumStoredBeacons</name>
		<id>0x08</id>
		<description>Returns the number of cached beacons that have been collected from a scan.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>numBeacons</name>
				<description>The number of cached beacons that have been collected from a scan.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>clearStoredBeacons</name>
		<id>0x3C</id>
		<description>Clears all cached beacons that have been collected from a scan.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
		</response_parameters>
	</command>

	<command>
		<name>gpProxyTableProcessGpPairing</name>
		<id>0xC9</id>
		<description>Update the GP Proxy table based on a GP pairing.</description>
		<command_parameters>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>options</name>
				<description>The options field of the GP Pairing command.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>The target GPD.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>commMode</name>
				<description>The communication mode of the GP Sink.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>sinkNetworkAddress</name>
				<description>The network address of the GP Sink.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>sinkGroupId</name>
				<description>The group ID of the GP Sink.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>assignedAlias</name>
				<description>The alias assigned to the GPD.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>sinkIeeeAddress</name>
				<description>The IEEE address of the GP Sink.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>gpdKey</name>
				<description>The key to use for the target GPD.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>gpPairingAdded</name>
				<description>Whether a GP Pairing has been created or not.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>dGpSend</name>
		<id>0xC6</id>
		<description>Adds/removes an entry from the GP Tx Queue.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>action</name>
				<description>The action to perform on the GP TX queue (true to add, false to remove).</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>useCca</name>
				<description>Whether to use ClearChannelAssessment when transmitting the GPDF.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>The Address of the destination GPD.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpdCommandId</name>
				<description>The GPD command ID to send.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpdAsduLength</name>
				<description>The length of the GP command payload.</description>
				<auto_size>gpdAsdu</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>gpdAsdu</name>
				<description>The GP command payload.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpepHandle</name>
				<description>The handle to refer to the GPDF.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>gpTxQueueEntryLifetimeMs</name>
				<description>How long to keep the GPDF in the TX Queue.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>dGpSentHandler</name>
		<id>0xC7</id>
		<description>A callback to the GP endpoint to indicate the result of the GPDF transmission.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpepHandle</name>
				<description>The handle of the GPDF.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>gpepIncomingMessageHandler</name>
		<id>0xC5</id>
		<description>A callback invoked by the ZigBee GP stack when a GPDF is received.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpdLink</name>
				<description>The gpdLink value of the received GPDF.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequenceNumber</name>
				<description>The GPDF sequence number.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>The address of the source GPD.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSecurityLevel</data_type>
				<name>gpdfSecurityLevel</name>
				<description>The security level of the received GPDF.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpKeyType</data_type>
				<name>gpdfSecurityKeyType</name>
				<description>The securityKeyType used to decrypt/authenticate the incoming GPDF.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>autoCommissioning</name>
				<description>Whether the incoming GPDF had the auto-commissioning bit set.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>bidirectionalInfo</name>
				<description>Bidirectional information represented in bitfields, where bit0 holds the rxAfterTx of incoming gpdf and bit1 holds if tx queue is available for outgoing gpdf.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>gpdSecurityFrameCounter</name>
				<description>The security frame counter of the incoming GDPF.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpdCommandId</name>
				<description>The gpdCommandId of the incoming GPDF.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>mic</name>
				<description>The received MIC of the GPDF.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>proxyTableIndex</name>
				<description>The proxy table index of the corresponding proxy table entry to the incoming GPDF.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>gpdCommandPayloadLength</name>
				<description>The of the GPD command payload.</description>
				<auto_size>gpdCommandPayload</auto_size>
			</parameter>
			<parameter>
				<data_type>uint8_t[]</data_type>
				<name>gpdCommandPayload</name>
				<description>The GPD command payload.</description>
				<display>hex[2]</display>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>gpProxyTableLookup</name>
		<id>0xC0</id>
		<description>Finds the index of the passed address in the gp table.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>The address to search for</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index, or 0xFF for not found.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>generateCbkeKeys</name>
		<id>0xA4</id>
		<description>This call starts the generation of the ECC Ephemeral Public/Private key pair. When complete it stores the private key. The results are returned via ezspGenerateCbkeKeysHandler().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>generateCbkeKeysHandler</name>
		<id>0x9E</id>
		<description>A callback by the Crypto Engine indicating that a new ephemeral public/private key pair has been generated. The pub- lic/private key pair is stored on the NCP, but only the associated public key is returned to the host. The node's associated certificate is also returned.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberPublicKeyData</data_type>
				<name>ephemeralPublicKey</name>
				<description>The generated ephemeral public key.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>calculateSmacs</name>
		<id>0x9F</id>
		<description>Calculates the SMAC verification keys for both the initiator and responder roles of CBKE using the passed parameters and the stored public/private key pair previously generated with ezspGenerateKeysRetrieveCert(). It also stores the unverified link key data in temporary storage on the NCP until the key establishment is complete.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>amInitiator</name>
				<description>The role of this device in the Key Establishment protocol.</description>
			</parameter>
			<parameter>
				<data_type>EmberCertificateData</data_type>
				<name>partnerCertificate</name>
				<description>The key establishment partner's implicit certificate.</description>
			</parameter>
			<parameter>
				<data_type>EmberPublicKeyData</data_type>
				<name>partnerEphemeralPublicKey</name>
				<description>The key establishment partner's ephemeral public key</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>calculateSmacsHandler</name>
		<id>0xA0</id>
		<description>A callback to indicate that the NCP has finished calculating the Secure Message Authentication Codes (SMAC) for both the initiator and responder. The associated link key is kept in temporary storage until the host tells the NCP to store or discard the key via emberClearTemporaryDataMaybeStoreLinkKey().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberSmacData</data_type>
				<name>initiatorSmac</name>
				<description>The calculated value of the initiators SMAC.</description>
			</parameter>
			<parameter>
				<data_type>EmberSmacData</data_type>
				<name>responderSmac</name>
				<description>The calculated value of the responders SMAC.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>generateCbkeKeys283k1</name>
		<id>0xE8</id>
		<description>This call starts the generation of the ECC 283k1 curve Ephemeral Public/Private key pair. When complete it stores the private key. The results are returned via ezspGenerateCbkeKeys283k1Handler().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>generateCbkeKeys283k1Handler</name>
		<id>0xE9</id>
		<description>A callback by the Crypto Engine indicating that a new 283k1 ephemeral public/private key pair has been generated. The public/private key pair is stored on the NCP, but only the associate public key is returned to the host. The node’s associated certificate is also returned.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberPublicKey283k1Data</data_type>
				<name>ephemeralPublicKey</name>
				<description>The generated ephemeral public key.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>calculateSmacs283k1</name>
		<id>0xEA</id>
		<description>Calculates the SMAC verification keys for both the initiator and responder roles of CBKE for the 283k1 ECC curve using the passed parameters and the stored public/private key pair previously generated with ezspGenerateKeysRetrieveCert283k1(). It also stores the unverified link key data in temporary storage on the NCP until the key establishment is complete.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>amInitiator</name>
				<description>The role of this device in the Key Establishment protocol.</description>
			</parameter>
			<parameter>
				<data_type>EmberCertificate283k1Data</data_type>
				<name>partnerCertificate</name>
				<description>The key establishment partner's implicit certificate.</description>
			</parameter>
			<parameter>
				<data_type>EmberPublicKey283k1Data</data_type>
				<name>partnerEphemeralPublicKey</name>
				<description>The key establishment partner's ephemeral public key</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>calculateSmacs283k1Handler</name>
		<id>0xEB</id>
		<description>A callback to indicate that the NCP has finished calculating the Secure Message Authentication Codes (SMAC) for both the initiator and responder for the CBKE 283k1 Library. The associated link key is kept in temporary storage until the host tells the NCP to store or discard the key via emberClearTemporaryDataMaybeStoreLinkKey().</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberSmacData</data_type>
				<name>initiatorSmac</name>
				<description>The calculated value of the initiators SMAC.</description>
			</parameter>
			<parameter>
				<data_type>EmberSmacData</data_type>
				<name>responderSmac</name>
				<description>The calculated value of the responders SMAC.</description>
			</parameter>
		</response_parameters>
	</command>
	
	<command>
		<name>clearTemporaryDataMaybeStoreLinkKey</name>
		<id>0xA1</id>
		<description>Clears the temporary data associated with CBKE and the key establishment, most notably the ephemeral public/private key pair. If storeLinKey is true it moves the unverified link key stored in temporary storage into the link key table. Otherwise it discards the key.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>storeLinkKey</name>
				<description>A bool indicating whether to store (true) or discard (false) the unverified link key derived when ezspCalculateSmacs() was previously called.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>clearTemporaryDataMaybeStoreLinkKey283k1</name>
		<id>0xEE</id>
		<description>Clears the temporary data associated with CBKE and the key establishment, most notably the ephemeral public/private key pair. If storeLinKey is true it moves the unverified link key stored in temporary storage into the link key table. Otherwise it discards the key.</description>
		<command_parameters>
			<parameter>
				<data_type>bool</data_type>
				<name>storeLinkKey</name>
				<description>A bool indicating whether to store (true) or discard (false) the unverified link key derived when ezspCalculateSmacs() was previously called.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getCertificate</name>
		<id>0xA5</id>
		<description>Retrieves the certificate installed on the NCP.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberCertificateData</data_type>
				<name>localCert</name>
				<description>The locally installed certificate.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getCertificate283k1</name>
		<id>0xEC</id>
		<description>Retrieves the 283k1 certificate installed on the NCP.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberCertificate283k1Data</data_type>
				<name>localCert</name>
				<description>The locally installed certificate.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setPreinstalledCbkeData</name>
		<id>0xA2</id>
		<description>Sets the device's CA public key, local certificate, and static private key on the NCP associated with this node.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberPublicKeyData</data_type>
				<name>caCert</name>
				<description>The Certificate Authority's public key.</description>
			</parameter>
			<parameter>
				<data_type>EmberCertificateData</data_type>
				<name>myCert</name>
				<description>The node's new certificate signed by the CA.</description>
			</parameter>
			<parameter>
				<data_type>EmberPrivateKeyData</data_type>
				<name>myKey</name>
				<description>The node's new static private key.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>setPreinstalledCbkeData283k1</name>
		<id>0xED</id>
		<description>Sets the device's 283k1 curve CA public key, local certificate, and static private key on the NCP associated with this node. The associated data needs to be set via the setValue method before calling this method.</description>
		<command_parameters>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the CBKE operation.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>getRadioParameters</name>
		<id>0xFD</id>
		<description>Returns the current radio parameters based on phy index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>phyIndex</name>
				<description>The physical radio to query.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The result of the operation.</description>
			</parameter>
			<parameter>
				<data_type>EmberMultiPhyRadioParameters</data_type>
				<name>parameters</name>
				<description>The current radio parameters.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>requestLinkKey</name>
		<id>0x14</id>
		<description>A function to request a Link Key from the Trust Center with another device on the Network (which could be the Trust Center). A Link Key with the Trust Center is possible but the requesting device cannot be the Trust Center. Link Keys are optional in ZigBee Standard Security and thus the stack cannot know whether the other device supports them. If EMBER_REQUEST_KEY_TIMEOUT is non-zero on the Trust Center and the partner device is not the Trust Center, both devices must request keys with their partner device within the time period. The Trust Center only supports one outstanding key request at a time and therefore will ignore other requests. If the timeout is zero then the Trust Center will immediately respond and not wait for the second request. The Trust Center will always immediately respond to requests for a Link Key with it. Sleepy devices should poll at a higher rate until a response is received or the request times out. The success or failure of the request is returned via ezspZigbeeKeyEstablishmentHandler(...).</description>
		<command_parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>partner</name>
				<description>This is the IEEE address of the partner device that will share the link key.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>The success or failure of sending the request. This is not the final result of the attempt. ezspZigbeeKeyEstablishmentHandler(...) will return that.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>sendTrustCenterLinkKey</name>
		<id>0x67</id>
		<description>This function sends an APS TransportKey command containing the current trust center link key. The node to which the command is sent is specified via the short and long address arguments.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destinationNodeId</name>
				<description>The short address of the node to which this command will be sent</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>destinationEui64</name>
				<description>The long address of the node to which this command will be sent</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success of failure of the operation</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>gpProxyTableGetEntry</name>
		<id>0xC8</id>
		<description>Retrieves the proxy table entry stored at the passed index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>proxyIndex</name>
				<description>The index of the requested proxy table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpProxyTableEntry</data_type>
				<name>entry</name>
				<description>An EmberGpProxyTableEntry struct containing a copy of the requested proxy entry.</description>
			</parameter>
		</response_parameters>
	</command>
<!-- commented to prevent erasure of necessary manual modifications -->
	<command>
		<name>gpSinkTableGetEntry</name>
		<id>0xDD</id>
		<description>Retrieves the sink table entry stored at the passed index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sinkIndex</name>
				<description>The index of the requested sink table entry.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSinkTableEntry</data_type>
				<name>entry</name>
				<description>An EmberGpSinkTableEntry struct containing a copy of the requested sink entry.</description>
			</parameter>
		</response_parameters>
	</command>

	<command>
		<name>gpSinkTableLookup</name>
		<id>0xDE</id>
		<description>Finds the index of the passed address in the gp table.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>The address to search for.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>The index or 0xFF for not found.</description>
			</parameter>			
		</response_parameters>
	</command>
<!--  commented to prevent erasure of necessary manual modifications -->
	<command>
		<name>gpSinkTableSetEntry</name>
		<id>0xDF</id>
		<description>Retrieves the sink table entry stored at the passed index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sinkIndex</name>
				<description>The index of the requested sink table entry.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSinkTableEntry</data_type>
				<name>entry</name>
				<description>An EmberGpSinkTableEntry struct containing a copy of the sink entry to be updated.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>EmberStatus</data_type>
				<name>status</name>
				<description>An EmberStatus value indicating success or the reason for failure.</description>
			</parameter>			
		</response_parameters>
	</command>

	<command>
		<name>gpSinkTableRemoveEntry</name>
		<id>0xE0</id>
		<description>Removes the sink table entry stored at the passed index.</description>
		<command_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sinkIndex</name>
				<description>The index of the requested sink entry.</description>
			</parameter>
		</command_parameters>
	</command>
	
	<command>
		<name>gpSinkTableFindOrAllocateEntry</name>
		<id>0xE1</id>
		<description>FFinds or allocates a sink entry.</description>
		<command_parameters>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>addr</name>
				<description>An EmberGpAddress struct containing a copy of the gpd address to be found.</description>
			</parameter>
		</command_parameters>
		<response_parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>An index of found or allocated sink or 0xFF if failed.</description>
			</parameter>			
		</response_parameters>
	</command>
	
	<command>
		<name>gpSinkTableClearAll</name>
		<id>0xE2</id>
		<description>Clears the entire sink table.</description>
	</command>
	
	<command>
		<name>gpSinkTableInit</name>
		<id>0x70</id>
		<description>Initializes the sink table.</description>
	</command>
	
	<command>
		<name>nop</name>
		<id>0x05</id>
		<description>A command which does nothing. The Host can use this to set the sleep mode or check the status of the NCP.</description>
	</command>
	
	<structure>
		<name>EmberCertificateData</name>
		<description>The implicit certificate used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[48]</data_type>
				<name>contents</name>
				<description>The certificate data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberTransientKeyData</name>
		<description>The transient key data structure.</description>
		<parameters>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>eui64</name>
				<description>The IEEE address paired with the transient link key.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>keyData</name>
				<description>The key data structure matching the transient key.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>incomingFrameCounter</name>
				<description>The incoming frame counter associated with this key.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>countdownTimerMs</name>
				<description>The number of milliseconds remaining before the key is automatically timed out of the transient key table.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberPublicKeyData</name>
		<description>The public key data used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[22]</data_type>
				<name>contents</name>
				<description>The public key data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberPrivateKeyData</name>
		<description>The private key data used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[21]</data_type>
				<name>contents</name>
				<description>The private key data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberSmacData</name>
		<description>The Shared Message Authentication Code data used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[16]</data_type>
				<name>contents</name>
				<description>The Shared Message Authentication Code data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberCertificate283k1Data</name>
		<description>The implicit certificate used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[74]</data_type>
				<name>contents</name>
				<description>The 283k1 certificate data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberPublicKey283k1Data</name>
		<description>The public key data used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[37]</data_type>
				<name>contents</name>
				<description>The public key data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberPrivateKey283k1Data</name>
		<description>The private key data used in CBKE.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[36]</data_type>
				<name>contents</name>
				<description>The private key data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberNetworkParameters</name>
		<description>Network parameters.</description>
		<parameters>
			<parameter>
				<data_type>ExtendedPanId</data_type>
				<name>extendedPanId</name>
				<description>The network's extended PAN identifier.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>panId</name>
				<description>The network's PAN identifier.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>int8s</data_type>
				<name>radioTxPower</name>
				<description>A power setting, in dBm.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radioChannel</name>
				<description>A radio channel.</description>
			</parameter>
			<parameter>
				<data_type>EmberJoinMethod</data_type>
				<name>joinMethod</name>
				<description>The method used to initially join the network</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>nwkManagerId</name>
				<description>NWK Manager ID. The ID of the network manager in the current network. This may only be set at joining when using EMBER_USE_NWK_COMMISSIONING as the join method.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nwkUpdateId</name>
				<description>NWK Update ID. The value of the ZigBee nwkUpdateId known by the stack. This is used to determine the newest instance of the network after a PAN ID or channel change. This may only be set at joining when using EMBER_USE_NWK_COMMISSIONING as the join method.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>channels</name>
				<description>NWK channel mask. The list of preferred channels that the NWK manager has told this device to use when searching for the network. This may only be set at joining when using EMBER_USE_NWK_COMMISSIONING as the join method.</description>
				<display>hex[8]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberZigbeeNetwork</name>
		<description>The parameters of a ZigBee network.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The 802.15.4 channel associated with the network.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>panId</name>
				<description>The network's PAN identifier</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>ExtendedPanId</data_type>
				<name>extendedPanId</name>
				<description>The network's extended PAN identifier.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>allowingJoin</name>
				<description>Whether the network is allowing MAC associations.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>stackProfile</name>
				<description>The Stack Profile associated with the network.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nwkUpdateId</name>
				<description>The instance of the Network.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberApsFrame</name>
		<description>ZigBee APS frame parameters.</description>
		<parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>profileId</name>
				<description>The application profile ID that describes the format of the message.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>clusterId</name>
				<description>The cluster ID for this message</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sourceEndpoint</name>
				<description>The source endpoint.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>destinationEndpoint</name>
				<description>The destination endpoint.</description>
			</parameter>
			<parameter>
				<data_type multiple="true">EmberApsOption</data_type>
				<name>options</name>
				<description>A bitmask of options.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>groupId</name>
				<description>The group ID for this message, if it is multicast mode.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequence</name>
				<description>The sequence number.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberNeighborTableEntry</name>
		<description>A neighbor table entry stores information about the reliability of RF links to and from neighboring nodes.</description>
		<parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>shortId</name>
				<description>The neighbor's two byte network id.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>averageLqi</name>
				<description>An exponentially weighted moving average of the link quality values of incoming packets from this neighbor as reported by the PHY.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>inCost</name>
				<description>The incoming cost for this neighbor, computed from the average LQI. Values range from 1 for a good link to 7 for a bad link.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>outCost</name>
				<description>The outgoing cost for this neighbor, obtained from the most recently received neighbor exchange message from the neighbor. A value of zero means that a neighbor exchange message from the neighbor has not been received recently enough, or that our id was not present in the most recently received one.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>age</name>
				<description>The number of aging periods elapsed since a link status message was last received from this neighbor. The aging period is 16 seconds.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>longId</name>
				<description>The 8 byte EUI64 of the neighbor.</description>
			</parameter>
		</parameters>
	</structure>
	
	<structure>
		<name>EmberInitialSecurityState</name>
		<description>The security data used to set the configuration for the stack, or the retrieved configuration currently in use.</description>
		<parameters>
			<parameter>
				<data_type multiple="true">EmberInitialSecurityBitmask</data_type>
				<name>bitmask</name>
				<description>A bitmask indicating the security state used to indicate what the security configuration will be when the device forms or joins the network.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>preconfiguredKey</name>
				<description>The pre-configured Key data that should be used when forming or joining the network. The security bitmask must be set with the EMBER_HAVE_PRECONFIGURED_KEY bit to indicate that the key contains valid data.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>networkKey</name>
				<description>The Network Key that should be used by the Trust Center when it forms the network, or the Network Key currently in use by a joined device. The security bitmask must be set with EMBER_HAVE_NETWORK_KEY to indicate that the key contains valid data.</description>
			</parameter>
			<parameter>
				<data_type>uint8_u</data_type>
				<name>networkKeySequenceNumber</name>
				<description>The sequence number associated with the network key. This is only valid if the EMBER_HAVE_NETWORK_KEY has been set in the security bitmask.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>preconfiguredTrustCenterEui64</name>
				<description>This is the long address of the trust center on the network that will be joined. It is usually NOT set prior to joining the network and instead it is learned during the joining message exchange. This field is only examined if EMBER_HAVE_TRUST_CENTER_EUI64 is set in the EmberInitialSecurityState::bitmask. Most devices should clear that bit and leave this field alone. This field must be set when using commissioning mode.</description>
			</parameter>
		</parameters>
	</structure>
	
	<structure>
		<name>EmberRouteTableEntry</name>
		<description>A route table entry stores information about the next hop along the route to the destination.</description>
		<parameters>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>destination</name>
				<description>The short id of the destination. A value of 0xFFFF indicates the entry is unused.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>nextHop</name>
				<description>The short id of the next hop to this destination.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>status</name>
				<description>Indicates whether this entry is active (0), being discovered (1), unused (3), or validating (4).</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>age</name>
				<description>The number of seconds since this route entry was last used to send a packet.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>concentratorType</name>
				<description>Indicates whether this destination is a High RAM Concentrator (2), a Low RAM Concentrator (1), or not a concentrator (0).</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>routeRecordState</name>
				<description>For a High RAM Concentrator, indicates whether a route record is needed (2), has been sent (1), or is no long needed (0) because a source routed message from the concentrator has been received.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberBindingTableEntry</name>
		<description>An entry in the binding table.</description>
		<parameters>
			<parameter>
				<data_type>EmberBindingType</data_type>
				<name>type</name>
				<description>The type of binding.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>local</name>
				<description>The endpoint on the local node.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>clusterId</name>
				<description>A cluster ID that matches one from the local endpoint's simple descriptor. This cluster ID is set by the provisioning application to indicate which part an endpoint's functionality is bound to this particular remote node and is used to distinguish between unicast and multicast bindings. Note that a binding can be used to send messages with any cluster ID, not just that listed in the binding.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>remote</name>
				<description>The endpoint on the remote node (specified by identifier).</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>identifier</name>
				<description>A 64-bit identifier. This is either the destination EUI64 (for unicasts) or the 64-bit group address (for multicasts).</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>uint8_t</name>
				<description>The index of the network the binding belongs to.</description>
			</parameter>
		</parameters>
	</structure>
	
	<structure>
		<name>EmberCurrentSecurityState</name>
		<description>The security options and information currently used by the stack.</description>
		<parameters>
			<parameter>
				<data_type multiple="true">EmberCurrentSecurityBitmask</data_type>
				<name>bitmask</name>
				<description>A bitmask indicating the security options currently in use by a device joined in the network.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>trustCenterLongAddress</name>
				<description>The IEEE Address of the Trust Center device.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberKeyData</name>
		<description>A 128-bit key.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[16]</data_type>
				<name>contents</name>
				<description>The key data.</description>
				<display>hex[2]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberAesMmoHashContext</name>
		<description>The hash context for an ongoing hash operation.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[16]</data_type>
				<name>result</name>
				<description>The result of ongoing the hash operation.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>length</name>
				<description>The total length of the data that has been hashed so far.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberKeyStruct</name>
		<description>A structure containing a key and its associated data.</description>
		<parameters>
			<parameter>
				<data_type multiple="true">EmberKeyStructBitmask</data_type>
				<name>bitmask</name>
				<description>A bitmask indicating the presence of data within the various fields in the structure.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyType</data_type>
				<name>type</name>
				<description>The type of the key.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>key</name>
				<description>The actual key data.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>outgoingFrameCounter</name>
				<description>The outgoing frame counter associated with the key.</description>
				<display>hex[8]</display>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>incomingFrameCounter</name>
				<description>The frame counter of the partner device associated with the key.</description>
				<display>hex[8]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>sequenceNumber</name>
				<description>The sequence number associated with the key.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>partnerEUI64</name>
				<description>The IEEE address of the partner device also in possession of the key.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberBeaconData</name>
		<description>Beacon data structure.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>channel</name>
				<description>The channel of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>lqi</name>
				<description>The LQI of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>rssi</name>
				<description>The RSSI of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>depth</name>
				<description>The depth of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>nwkUpdateId</name>
				<description>The network update ID of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>power</name>
				<description>The power level of the received beacon. This field is valid only if the beacon is an enhanced beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>parentPriority</name>
				<description>The TC connectivity and long uptime from capacity field.</description>
			</parameter>
			<parameter>
				<data_type>uint16_t</data_type>
				<name>panId</name>
				<description>The PAN ID of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>ExtendedPanId</data_type>
				<name>extendedPanId</name>
				<description>The extended PAN ID of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>sender</name>
				<description>The sender of the received beacon.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>enhanced</name>
				<description>Whether or not the beacon is enhanced.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>permitJoin</name>
				<description>Whether the beacon is advertising permit join.</description>
			</parameter>
			<parameter>
				<data_type>bool</data_type>
				<name>hasCapacity</name>
				<description>Whether the beacon is advertising capacity.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberBeaconIterator</name>
		<description>Defines an iterator that is used to loop over cached beacons. Do not write to fields denoted as Private.</description>
		<parameters>
			<parameter>
				<data_type>EmberBeaconData</data_type>
				<name>beacon</name>
				<description>The channel of the received beacon.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>index</name>
				<description>(Private) The index of the retrieved beacon.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberMultiPhyRadioParameters</name>
		<description>Radio parameters.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radioTxPower</name>
				<description>A power setting, in dBm.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radioPage</name>
				<description>A radio page.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>radioChannel</name>
				<description>A radio channel.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberGpAddress</name>
		<description>A GP address structure.</description>
		<parameters>
			<parameter>
				<data_type>uint8_t[8]</data_type>
				<name>gpdSource</name>
				<description>The GPD's EUI64. The IEEE address is used when the application identifier is EMBER_GP_APPLICATION_IEEE_ADDRESS.</description>
				<description>The GPD's source ID. The 32-bit source identifier is used when the application identifier is EMBER_GP_APPLICATION_SOURCE_ID.</description>
				<display>hex[2]</display>
			</parameter>
			<parameter>
				<data_type>EmberGpApplicationId</data_type>
				<name>applicationId</name>
				<description>The GPD Application ID.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>endpoint</name>
				<description>The GPD endpoint.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberGpSinkListEntry</name>
		<description>A sink list entry</description>
		<parameters>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>type</name>
				<description>The sink list type.</description>
			</parameter>
			<parameter>
				<data_type>EmberEUI64</data_type>
				<name>sinkEui</name>
				<description>The EUI64 of the target sink.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>sinkNodeId</name>
				<description>The short address of the target sink.</description>
				<display>hex[4]</display>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberGpProxyTableEntry</name>
		<description>The internal representation of a proxy table entry.</description>
		<parameters>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>securityLinkKey</name>
				<description>The link key to be used to secure this pairing link.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpProxyTableEntryStatus</data_type>
				<name>status</name>
				<description>Internal status of the proxy table entry.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>options</name>
				<description>The tunneling options (this contains both options and extendedOptions from the spec).</description>
			</parameter>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>gpd</name>
				<description>The GPD endpoint.</description>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>assignedAlias</name>
				<description>The assigned alias for the GPD.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>securityOptions</name>
				<description>The security options field.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSecurityFrameCounter</data_type>
				<name>gpdSecurityFrameCounter</name>
				<description>The security frame counter of the GPD.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>gpdKey</name>
				<description>The key to use for GPD.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSinkListEntry[2]</data_type>
				<name>sinkList</name>
				<description>The list of sinks (hardcoded to 2 which is the spec minimum).</description>
				<display>string</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>groupcastRadius</name>
				<description>The groupcast radius.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>searchCounter</name>
				<description>The search counter.</description>
			</parameter>
		</parameters>
	</structure>

	<structure>
		<name>EmberGpSinkTableEntry</name>
		<description>The internal representation of a sink table entry.</description>
		<parameters>
			<parameter>
				<data_type>EmberGpSinkTableEntryStatus</data_type>
				<name>status</name>
				<description>Internal status of the sink table entry.</description>
			</parameter>
			<parameter>
				<data_type>uint32_t</data_type>
				<name>options</name>
				<description>The tunneling options (this contains both options and extendedOptions from the spec).</description>
			</parameter>
			<parameter>
				<data_type>EmberGpAddress</data_type>
				<name>gpd</name>
				<description>The addressing info of the GPD.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>deviceId</name>
				<description>The device id for the GPD.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>EmberGpSinkListEntry[2]</data_type>
				<name>sinkList</name>
				<description>The list of sinks (hardcoded to 2 which is the spec minimum).</description>
				<display>string</display>
			</parameter>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>assignedAlias</name>
				<description>The assigned alias for the GPD.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>groupcastRadius</name>
				<description>The groupcast radius.</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>securityOptions</name>
				<description>The security options field.</description>
			</parameter>
			<parameter>
				<data_type>EmberGpSecurityFrameCounter</data_type>
				<name>gpdSecurityFrameCounter</name>
				<description>The security frame counter of the GPD.</description>
			</parameter>
			<parameter>
				<data_type>EmberKeyData</data_type>
				<name>gpdKey</name>
				<description>The key to use for GPD.</description>
			</parameter>
		</parameters>
	</structure>
	
	<structure>
		<name>EmberMulticastTableEntry</name>
		<description>A multicast table entry indicates that a particular endpoint is a member of a particular multicast group. Only devices with an endpoint in a multicast group will receive messages sent to that multicast group.</description>
		<parameters>
			<parameter>
				<data_type>EmberMulticastId</data_type>
				<name>multicastId</name>
				<description>The multicast group ID.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>endpoint</name>
				<description>The endpoint that is a member, or 0 if this entry is not in use (the ZDO is not a member of any multicast groups.)</description>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>networkIndex</name>
				<description>The network index of the network the entry is related to.</description>
			</parameter>
		</parameters>
	</structure>

	<enum>
		<name>EzspPolicyId</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_TRUST_CENTER_POLICY</name>
				<enum_value>0x00</enum_value>
				<description>Controls trust center behavior.</description>
			</value>
			<value>
				<name>EZSP_BINDING_MODIFICATION_POLICY</name>
				<enum_value>0x01</enum_value>
				<description>Controls how external binding modification requests are handled.</description>
			</value>
			<value>
				<name>EZSP_UNICAST_REPLIES_POLICY</name>
				<enum_value>0x02</enum_value>
				<description>Controls whether the Host supplies unicast replies.</description>
			</value>
			<value>
				<name>EZSP_POLL_HANDLER_POLICY</name>
				<enum_value>0x03</enum_value>
				<description>Controls whether pollHandler callbacks are generated.</description>
			</value>
			<value>
				<name>EZSP_MESSAGE_CONTENTS_IN_CALLBACK_POLICY</name>
				<enum_value>0x04</enum_value>
				<description>Controls whether the message contents are included in the messageSentHandler callback.</description>
			</value>
			<value>
				<name>EZSP_TC_KEY_REQUEST_POLICY</name>
				<enum_value>0x05</enum_value>
				<description>Controls whether the Trust Center will respond to Trust Center link key requests.</description>
			</value>
			<value>
				<name>EZSP_APP_KEY_REQUEST_POLICY</name>
				<enum_value>0x06</enum_value>
				<description>Controls whether the Trust Center will respond to application link key requests.</description>
			</value>
			<value>
				<name>EZSP_PACKET_VALIDATE_LIBRARY_POLICY</name>
				<enum_value>0x07</enum_value>
				<description>Controls whether ZigBee packets that appear invalid are automatically dropped by the stack. A counter will be incremented when this occurs.</description>
			</value>
			<value>
				<name>EZSP_ZLL_POLICY</name>
				<enum_value>0x08</enum_value>
				<description>Controls whether the stack will process ZLL messages.</description>
			</value>
			<value>
				<name>EZSP_TC_REJOINS_USING_WELL_KNOWN_KEY_POLICY</name>
				<enum_value>0x09</enum_value>
				<description>Controls whether Trust Center (insecure) rejoins for devices using the well-known link key are accepted. If rejoining using the well-known key is allowed, it is disabled again after emAllowTcRejoinsUsingWellKnownKeyTimeoutSec seconds.</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EmberOutgoingMessageType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_OUTGOING_DIRECT</name>
				<enum_value>0x00</enum_value>
				<description>Unicast sent directly to an EmberNodeId.</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_VIA_ADDRESS_TABLE</name>
				<enum_value>0x01</enum_value>
				<description>Unicast sent using an entry in the address table.</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_VIA_BINDING</name>
				<enum_value>0x02</enum_value>
				<description>Unicast sent using an entry in the binding table.</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_MULTICAST</name>
				<enum_value>0x03</enum_value>
				<description>Multicast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast().</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_MULTICAST_WITH_ALIAS</name>
				<enum_value>0x04</enum_value>
				<description>Aliased multicast message.  This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast().</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_BROADCAST_WITH_ALIAS</name>
				<enum_value>0x05</enum_value>
				<description>Aliased broadcast message.  This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast().</description>
			</value>
			<value>
				<name>EMBER_OUTGOING_BROADCAST</name>
				<enum_value>0x06</enum_value>
				<description>Broadcast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast().</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EzspDecisionId</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_ALLOW_JOINS</name>
				<enum_value>0x00</enum_value>
				<description>Send the network key in the clear to all joining and rejoining devices.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_PRECONFIGURED_KEY_JOINS</name>
				<enum_value>0x01</enum_value>
				<description>Send the network key encrypted with the joining or rejoining device's trust center link key. The trust center and any joining or rejoining device are assumed to share a link key, either preconfigured or obtained under a previous policy. This is the default value for the EZSP_TRUST_CENTER_POLICY.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_REJOINS_ONLY</name>
				<enum_value>0x02</enum_value>
				<description>Send the network key encrypted with the rejoining device's trust center link key. The trust center and any rejoining device are assumed to share a link key, either preconfigured or obtained under a previous policy. No new devices are allowed to join.</description>
			</value>
			<value>
				<name>EZSP_DISALLOW_ALL_JOINS_AND_REJOINS</name>
				<enum_value>0x03</enum_value>
				<description>Reject all unsecured join and rejoin attempts.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_JOINS_REJOINS_HAVE_LINK_KEY</name>
				<enum_value>0x04</enum_value>
				<description>Send the network key in the clear to all joining devices. Rejoining devices are sent the network key encrypted with their trust center link key. The trust center and any rejoining device are assumed to share a link key, either preconfigured or obtained under a previous policy.</description>
			</value>
			<value>
				<name>EZSP_IGNORE_TRUST_CENTER_REJOINS</name>
				<enum_value>0x05</enum_value>
				<description>Take no action on trust center rejoin attempts.</description>
			</value>
			<value>
				<name>EZSP_BDB_JOIN_USES_INSTALL_CODE_KEY</name>
				<enum_value>0x06</enum_value>
				<description>Admit joins only if there is an entry in the transient key table. This corresponds to the Base Device Behavior specification where a Trust Center enforces all devices to join with an install code-derived link key.</description>
			</value>
			<value>
				<name>EZSP_DEFER_JOINS_REJOINS_HAVE_LINK_KEY</name>
				<enum_value>0x07</enum_value>
				<description>Delay sending the network key to a new joining device.</description>
			</value>
			<value>
				<name>EZSP_DISALLOW_BINDING_MODIFICATION</name>
				<enum_value>0x10</enum_value>
				<description>EZSP_BINDING_MODIFICATION_POLICY default decision. Do not allow the local binding table to be changed by remote nodes.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_BINDING_MODIFICATION</name>
				<enum_value>0x11</enum_value>
				<description>EZSP_BINDING_MODIFICATION_POLICY decision. Allow remote nodes to change the local binding table.</description>
			</value>
			<value>
				<name>EZSP_CHECK_BINDING_MODIFICATIONS_ARE_VALID_ENDPOINT_CLUSTERS</name>
				<enum_value>0x12</enum_value>
				<description>EZSP_BINDING_MODIFICATION_POLICY decision. Allows remote nodes to set local binding entries only if the entries correspond to endpoints defined on the device, and for output clusters bound to those endpoints.</description>
			</value>
			<value>
				<name>EZSP_HOST_WILL_NOT_SUPPLY_REPLY </name>
				<enum_value>0x20</enum_value>
				<description>EZSP_UNICAST_REPLIES_POLICY default decision. The NCP will automatically send an empty reply (containing no payload) for every unicast received.</description>
			</value>
			<value>
				<name>EZSP_HOST_WILL_SUPPLY_REPLY</name>
				<enum_value>0x21</enum_value>
				<description>EZSP_UNICAST_REPLIES_POLICY decision. The NCP will only send a reply if it receives a sendReply command from the Host.</description>
			</value>
			<value>
				<name>EZSP_POLL_HANDLER_IGNORE</name>
				<enum_value>0x30</enum_value>
				<description>EZSP_POLL_HANDLER_POLICY default decision. Do not inform the Host when a child polls.</description>
			</value>
			<value>
				<name>EZSP_POLL_HANDLER_CALLBACK</name>
				<enum_value>0x31</enum_value>
				<description>EZSP_POLL_HANDLER_POLICY decision. Generate a pollHandler callback when a child polls.</description>
			</value>
			<value>
				<name>EZSP_MESSAGE_TAG_ONLY_IN_CALLBACK</name>
				<enum_value>0x40</enum_value>
				<description>EZSP_MESSAGE_CONTENTS_IN_CALLBACK_POLICY default decision. Include only the message tag in the messageSentHandler callback.</description>
			</value>
			<value>
				<name>EZSP_MESSAGE_TAG_AND_CONTENTS_IN_CALLBACK</name>
				<enum_value>0x41</enum_value>
				<description>EZSP_MESSAGE_CONTENTS_IN_CALLBACK_POLICY decision. Include both the message tag and the message contents in the messageSentHandler callback.</description>
			</value>
			<value>
				<name>EZSP_DENY_TC_KEY_REQUESTS</name>
				<enum_value>0x50</enum_value>
				<description>EZSP_TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request for a Trust Center link key, it will be ignored.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_TC_KEY_REQUESTS_AND_SEND_CURRENT_KEY</name>
				<enum_value>0x51</enum_value>
				<description>EZSP_TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request for a Trust Center link key, it will reply to it with the current key. If not key is currently in the key table for this device, a new key will be generated and sent to the device.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_TC_KEY_REQUEST_AND_GENERATE_NEW_KEY</name>
				<enum_value>0x52</enum_value>
				<description>EZSP_TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request for a Trust Center link key, it will generate a key to send to the joiner.</description>
			</value>
			<value>
				<name>EZSP_DENY_APP_KEY_REQUESTS</name>
				<enum_value>0x60</enum_value>
				<description>EZSP_APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request for an application link key, it will be ignored.</description>
			</value>
			<value>
				<name>EZSP_ALLOW_APP_KEY_REQUESTS</name>
				<enum_value>0x61</enum_value>
				<description>EZSP_APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request for an application link key, it will randomly generate a key and send it to both partners.</description>
			</value>
			<value>
				<name>EZSP_PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED</name>
				<enum_value>0x62</enum_value>
				<description>Indicates that packet validate library checks are enabled on the NCP.</description>
			</value>
			<value>
				<name>EZSP_PACKET_VALIDATE_LIBRARY_CHECKS_DISABLED</name>
				<enum_value>0x63</enum_value>
				<description>Indicates that packet validate library checks are NOT enabled on the NCP.</description>
			</value>
		</values>
	</enum>
		
	<enum>
		<name>EzspDecisionBitmask</name>
		<description>This is the policy decision bitmask that controls the trust center decision strategies. The bitmask is modified and extracted from the EzspDecisionId for supporting bitmask operations.</description>
		<values>
			<value>
				<name>EZSP_DECISION_BITMASK_DEFAULT_CONFIGURATION</name>
				<enum_value>0x00</enum_value>
				<description>Disallow joins and rejoins.</description>
			</value>
			<value>
				<name>EZSP_DECISION_ALLOW_JOINS</name>
				<enum_value>0x01</enum_value>
				<description>Send the network key to all joining devices.</description>
			</value>
			<value>
				<name>EZSP_DECISION_ALLOW_UNSECURED_REJOINS</name>
				<enum_value>0x02</enum_value>
				<description>Send the network key to all rejoining devices.</description>
			</value>
			<value>
				<name>EZSP_DECISION_SEND_KEY_IN_CLEAR</name>
				<enum_value>0x04</enum_value>
				<description>Send the network key in the clear.</description>
			</value>
			<value>
				<name>EZSP_DECISION_IGNORE_UNSECURED_REJOINS</name>
				<enum_value>0x08</enum_value>
				<description>Do nothing for unsecured rejoins.</description>
			</value>
			<value>
				<name>EZSP_DECISION_JOINS_USE_INSTALL_CODE_KEY</name>
				<enum_value>0x10</enum_value>
				<description>Allow joins if there is an entry in the transient key table</description>
			</value>
			<value>
				<name>EZSP_DECISION_DEFER_JOINS</name>
				<enum_value>0x20</enum_value>
				<description>Delay sending the network key to a new joining device.</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EmberBindingType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_UNUSED_BINDING</name>
				<enum_value>0x00</enum_value>
				<description>A binding that is currently not in use.</description>
			</value>
			<value>
				<name>EMBER_UNICAST_BINDING</name>
				<enum_value>0x01</enum_value>
				<description>A unicast binding whose 64-bit identifier is the destination EUI64.</description>
			</value>
			<value>
				<name>EMBER_MANY_TO_ONE_BINDING</name>
				<enum_value>0x02</enum_value>
				<description>A unicast binding whose 64-bit identifier is the aggregator EUI64.</description>
			</value>
			<value>
				<name>EMBER_MULTICAST_BINDING</name>
				<enum_value>0x03</enum_value>
				<description>A multicast binding whose 64-bit identifier is the group address. A multicast binding can be used to send messages to the group and to receive messages sent to the group.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberCurrentSecurityBitmask</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_STANDARD_SECURITY_MODE</name>
				<enum_value>0x0000</enum_value>
				<description>This denotes that the device is running in a network with ZigBee Standard Security.</description>
			</value>
			<value>
				<name>EMBER_HIGH_SECURITY_MODE</name>
				<enum_value>0x0001</enum_value>
				<description>This denotes that the device is running in a network with ZigBee High Security.</description>
			</value>
			<value>
				<name>EMBER_DISTRIBUTED_TRUST_CENTER_MODE</name>
				<enum_value>0x0002</enum_value>
				<description>This denotes that the device is running in a network without a centralized Trust Center.</description>
			</value>
			<value>
				<name>EMBER_GLOBAL_LINK_KEY</name>
				<enum_value>0x0004</enum_value>
				<description>This denotes that the device has a Global Link Key. The Trust Center Link Key is the same across multiple nodes.</description>
			</value>
			<value>
				<name>EMBER_HAVE_TRUST_CENTER_LINK_KEY</name>
				<enum_value>0x0010</enum_value>
				<description>This denotes that the node has a Trust Center Link Key.</description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_USES_HASHED_LINK_KEY</name>
				<enum_value>0x0084</enum_value>
				<description>This denotes that the Trust Center is using a Hashed Link Key.</description>
			</value>
		</values>
	</enum>


	<enum>
		<name>EmberExtendedSecurityBitmask</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_PRECONFIG_KEY_NOT_VALID</name>
				<enum_value>0x0001</enum_value>
				<description>If this bit is set, we set the 'key token data' field in the Initial Security Bitmask to 0 (No Preconfig Key token), otherwise we leave the field as it is.</description>
			</value>
			<value>
				<name>EMBER_JOINER_GLOBAL_LINK_KEY</name>
				<enum_value>0x0010</enum_value>
				<description>This denotes whether a joiner node (router or end-device) uses a Global Link Key or a Unique Link Key.</description>
			</value>
			<value>
				<name>EMBER_EXT_NO_FRAME_COUNTER_RESET</name>
				<enum_value>0x0020</enum_value>
				<description>This denotes whether the device's outgoing frame counter is allowed to be reset during forming or joining. If flag is set, the outgoing frame counter is not allowed to be reset. If flag is not set, the frame counter is allowed to be reset.</description>
			</value>
			<value>
				<name>EMBER_NWK_LEAVE_REQUEST_NOT_ALLOWED</name>
				<enum_value>0x0100</enum_value>
				<description>This denotes whether a router node should discard or accept network Leave Commands.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EzspStatus</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_SUCCESS</name>
				<enum_value>0x0000</enum_value>
				<description>Success</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_FATAL</name>
				<enum_value>0x0010</enum_value>
				<description>Fatal error</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_NCP_RESET</name>
				<enum_value>0x0011</enum_value>
				<description>The Response frame of the current transaction indicates the NCP has reset.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_OVERSIZED_EZSP_FRAME</name>
				<enum_value>0x0012</enum_value>
				<description>The NCP is reporting that the Command frame of the current transaction is oversized (the length byte is too large).</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_ABORTED_TRANSACTION</name>
				<enum_value>0x0013</enum_value>
				<description>The Response frame of the current transaction indicates the previous transaction was aborted (nSSEL deasserted too soon).</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_MISSING_FRAME_TERMINATOR</name>
				<enum_value>0x0014</enum_value>
				<description>The Response frame of the current transaction indicates the frame terminator is missing from the Command frame.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_WAIT_SECTION_TIMEOUT</name>
				<enum_value>0x0015</enum_value>
				<description>The NCP has not provided a Response within the time limit defined by WAIT_SECTION_TIMEOUT.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_NO_FRAME_TERMINATOR</name>
				<enum_value>0x0016</enum_value>
				<description>The Response frame from the NCP is missing the frame terminator.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_EZSP_COMMAND_OVERSIZED</name>
				<enum_value>0x0017</enum_value>
				<description>The Host attempted to send an oversized Command (the length byte is too large) and the AVR's spi-protocol.c blocked the transmission.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_EZSP_RESPONSE_OVERSIZED</name>
				<enum_value>0x0018</enum_value>
				<description>The NCP attempted to send an oversized Response (the length byte is too large) and the AVR's spi-protocol.c blocked the reception.</description>
			</value>
			<value>
				<name>EZSP_SPI_WAITING_FOR_RESPONSE</name>
				<enum_value>0x0019</enum_value>
				<description>The Host has sent the Command and is still waiting for the NCP to send a Response.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_HANDSHAKE_TIMEOUT</name>
				<enum_value>0x001A</enum_value>
				<description>The NCP has not asserted nHOST_INT within the time limit defined by WAKE_HANDSHAKE_TIMEOUT.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_STARTUP_TIMEOUT</name>
				<enum_value>0x001B</enum_value>
				<description>The NCP has not asserted nHOST_INT after an NCP reset within the time limit defined by STARTUP_TIMEOUT.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_STARTUP_FAIL</name>
				<enum_value>0x001C</enum_value>
				<description>The Host attempted to verify the SPI Protocol activity and version number, and the verification failed.</description>
			</value>
			<value>
				<name>EZSP_SPI_ERR_UNSUPPORTED_SPI_COMMAND</name>
				<enum_value>0x001D</enum_value>
				<description>The Host has sent a command with a SPI Byte that is unsupported by the current mode the NCP is operating in.</description>
			</value>
			<value>
				<name>EZSP_ASH_IN_PROGRESS</name>
				<enum_value>0x0020</enum_value>
				<description>Operation not yet complete.</description>
			</value>
			<value>
				<name>EZSP_HOST_FATAL_ERROR</name>
				<enum_value>0x0021</enum_value>
				<description>Fatal error detected by host.</description>
			</value>
			<value>
				<name>EZSP_ASH_NCP_FATAL_ERROR</name>
				<enum_value>0x0022</enum_value>
				<description>Fatal error detected by NCP.</description>
			</value>
			<value>
				<name>EZSP_DATA_FRAME_TOO_LONG</name>
				<enum_value>0x0023</enum_value>
				<description>Tried to send DATA frame too long.</description>
			</value>
			<value>
				<name>EZSP_DATA_FRAME_TOO_SHORT</name>
				<enum_value>0x0024</enum_value>
				<description>Tried to send DATA frame too short.</description>
			</value>
			<value>
				<name>EZSP_NO_TX_SPACE</name>
				<enum_value>0x0025</enum_value>
				<description>No space for tx'ed DATA frame.</description>
			</value>
			<value>
				<name>EZSP_NO_RX_SPACE</name>
				<enum_value>0x0026</enum_value>
				<description>No space for rec'd DATA frame.</description>
			</value>
			<value>
				<name>EZSP_NO_RX_DATA</name>
				<enum_value>0x0027</enum_value>
				<description>No receive data available.</description>
			</value>
			<value>
				<name>EZSP_NOT_CONNECTED</name>
				<enum_value>0x0028</enum_value>
				<description>Not in Connected state</description>
			</value>
			<value>
				<name>EZSP_ERROR_VERSION_NOT_SET</name>
				<enum_value>0x0030</enum_value>
				<description>The NCP received a command before the EZSP version had been set.</description>
			</value>
			<value>
				<name>EZSP_ERROR_INVALID_FRAME_ID</name>
				<enum_value>0x0031</enum_value>
				<description>The NCP received a command containing an unsupported frame ID</description>
			</value>
			<value>
				<name>EZSP_ERROR_WRONG_DIRECTION</name>
				<enum_value>0x0032</enum_value>
				<description>The direction flag in the frame control field was incorrect.</description>
			</value>
			<value>
				<name>EZSP_ERROR_TRUNCATED</name>
				<enum_value>0x0033</enum_value>
				<description>The truncated flag in the frame control field was set, indicating there was not enough memory available to complete the response or that the response would have exceeded the maximum EZSP frame length.</description>
			</value>
			<value>
				<name>EZSP_ERROR_OVERFLOW</name>
				<enum_value>0x0340</enum_value>
				<description>The overflow flag in the frame control field was set, indicating one or more callbacks occurred since the previous response and there was not enough memory available to report them to the Host.</description>
			</value>
			<value>
				<name>EZSP_ERROR_OUT_OF_MEMORY</name>
				<enum_value>0x0035</enum_value>
				<description>Insufficient memory was available.</description>
			</value>
			<value>
				<name>EZSP_ERROR_INVALID_VALUE</name>
				<enum_value>0x0036</enum_value>
				<description>The value was out of bounds.</description>
			</value>
			<value>
				<name>EZSP_ERROR_INVALID_ID</name>
				<enum_value>0x0037</enum_value>
				<description>The configuration id was not recognized.</description>
			</value>
			<value>
				<name>EZSP_ERROR_INVALID_CALL</name>
				<enum_value>0x0038</enum_value>
				<description>Configuration values can no longer be modified.</description>
			</value>
			<value>
				<name>EZSP_ERROR_NO_RESPONSE</name>
				<enum_value>0x0039</enum_value>
				<description>The NCP failed to respond to a command</description>
			</value>
			<value>
				<name>EZSP_ERROR_COMMAND_TOO_LONG</name>
				<enum_value>0x0040</enum_value>
				<description>The length of the command exceeded the maximum EZSP frame length.</description>
			</value>
			<value>
				<name>EZSP_ERROR_QUEUE_FULL</name>
				<enum_value>0x0041</enum_value>
				<description>The UART receive queue was full causing a callback response to be dropped.</description>
			</value>
			<value>
				<name>EZSP_ERROR_COMMAND_FILTERED</name>
				<enum_value>0x0042</enum_value>
				<description>The command has been filtered out by NCP.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_KEY_ALREADY_SET</name>
				<enum_value>0x0043</enum_value>
				<description>EZSP Security Key is already set.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_TYPE_INVALID</name>
				<enum_value>0x0044</enum_value>
				<description>EZSP Security Type is invalid.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_PARAMETERS_INVALID</name>
				<enum_value>0x0045</enum_value>
				<description>EZSP Security Parameters are invalid.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_PARAMETERS_ALREADY_SET0x46</name>
				<enum_value>0x0046</enum_value>
				<description>EZSP Security Parameters are already set.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_KEY_NOT_SET</name>
				<enum_value>0x0047</enum_value>
				<description>EZSP Security Key is not set.</description>
			</value>
			<value>
				<name>EZSP_ERROR_SECURITY_PARAMETERS_NOT_SET</name>
				<enum_value>0x0048</enum_value>
				<description>EZSP Security Parameters are not set.</description>
			</value>
			<value>
				<name>EZSP_ERROR_UNSUPPORTED_CONTROL</name>
				<enum_value>0x0049</enum_value>
				<description>Received frame with unsupported control byte.</description>
			</value>
			<value>
				<name>EZSP_ERROR_UNSECURE_FRAME</name>
				<enum_value>0x004A</enum_value>
				<description>Received frame is unsecure, when security is established.</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_VERSION</name>
				<enum_value>0x0050</enum_value>
				<description>Incompatible ASH version</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_TIMEOUTS</name>
				<enum_value>0x0051</enum_value>
				<description>Exceeded max ACK timeouts</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_RESET_FAIL</name>
				<enum_value>0x0052</enum_value>
				<description>Timed out waiting for RSTACK</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_NCP_RESET</name>
				<enum_value>0x0053</enum_value>
				<description>Unexpected NCP reset</description>
			</value>
			<value>
				<name>EZSP_ERROR_SERIAL_INIT</name>
				<enum_value>0x0054</enum_value>
				<description>Serial port initialization failed</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_NCP_TYPE</name>
				<enum_value>0x0055</enum_value>
				<description>Invalid NCP processor type</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_RESET_METHOD</name>
				<enum_value>0x0056</enum_value>
				<description>Invalid ncp reset method</description>
			</value>
			<value>
				<name>EZSP_ASH_ERROR_XON_XOF</name>
				<enum_value>0x0057</enum_value>
				<description>XON/XOFF not supported by host driver</description>
			</value>
			<value>
				<name>EZSP_ASH_STARTED</name>
				<enum_value>0x0070</enum_value>
				<description></description>
			</value>
			<value>
				<name>EZSP_ASH_CONNECTED</name>
				<enum_value>0x0071</enum_value>
				<description>ASH protocol connected</description>
			</value>
			<value>
				<name>EZSP_ASH_DISCONNECTED</name>
				<enum_value>0x0072</enum_value>
				<description>ASH protocol disconnected</description>
			</value>
			<value>
				<name>EZSP_ASH_ACK_TIMEOUT</name>
				<enum_value>0x0073</enum_value>
				<description>Timer expired waiting for ack</description>
			</value>
			<value>
				<name>EZSP_ASH_CANCELLED</name>
				<enum_value>0x0074</enum_value>
				<description>Frame in progress cancelled</description>
			</value>
			<value>
				<name>EZSP_ASH_OUT_OF_SEQUENCE</name>
				<enum_value>0x0075</enum_value>
				<description>Received frame out of sequence</description>
			</value>
			<value>
				<name>EZSP_ASH_BAD_CRC</name>
				<enum_value>0x0076</enum_value>
				<description>Received frame with CRC error</description>
			</value>
			<value>
				<name>EZSP_ASH_COMM_ERROR</name>
				<enum_value>0x0077</enum_value>
				<description>Received frame with comm error</description>
			</value>
			<value>
				<name>EZSP_ASH_BAD_ACKNUM</name>
				<enum_value>0x0078</enum_value>
				<description>Received frame with bad ackNum</description>
			</value>
			<value>
				<name>EZSP_ASH_TOO_SHORT</name>
				<enum_value>0x0079</enum_value>
				<description>Received frame shorter than minimum</description>
			</value>
			<value>
				<name>EZSP_ASH_TOO_LONG</name>
				<enum_value>0x007A</enum_value>
				<description>Received frame longer than maximum</description>
			</value>
			<value>
				<name>EZSP_ASH_BAD_CONTROL</name>
				<enum_value>0x007B</enum_value>
				<description>Received frame with illegal control byte</description>
			</value>
			<value>
				<name>EZSP_ASH_BAD_LENGTH</name>
				<enum_value>0x007C</enum_value>
				<description>Received frame with illegal length for its type</description>
			</value>
			<value>
				<name>EZSP_ASH_ACK_RECEIVED</name>
				<enum_value>0x007D</enum_value>
				<description> Received ASH Ack</description>
			</value>
			<value>
				<name>EZSP_ASH_ACK_SENT</name>
				<enum_value>0x007E</enum_value>
				<description>Sent ASH Ack</description>
			</value>
			<value>
				<name>EZSP_ASH_NAK_RECEIVED</name>
				<enum_value>0x007F</enum_value>
				<description>Received ASH Nak</description>
			</value>
			<value>
				<name>EZSP_ASH_NAK_SENT</name>
				<enum_value>0x0080</enum_value>
				<description>Sent ASH Nak</description>
			</value>
			<value>
				<name>EZSP_ASH_RST_RECEIVED</name>
				<enum_value>0x0081</enum_value>
				<description>Received ASH RST</description>
			</value>
			<value>
				<name>EZSP_ASH_RST_SENT</name>
				<enum_value>0x0082</enum_value>
				<description>Sent ASH RST</description>
			</value>
			<value>
				<name>EZSP_ASH_STATUS</name>
				<enum_value>0x0083</enum_value>
				<description>ASH Status</description>
			</value>
			<value>
				<name>EZSP_ASH_TX</name>
				<enum_value>0x0084</enum_value>
				<description>ASH TX</description>
			</value>
			<value>
				<name>EZSP_ASH_RX</name>
				<enum_value>0x0085</enum_value>
				<description>ASH RX</description>
			</value>
			<value>
				<name>EZSP_CPC_ERROR_INIT</name>
				<enum_value>0x0086</enum_value>
				<description>Failed to connect to CPC daemon or failed to open CPC endpoint.</description>
			</value>
			<value>
				<name>EZSP_NO_ERROR</name>
				<enum_value>0x00FF</enum_value>
				<description>No reset or error</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberJoinMethod</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_USE_MAC_ASSOCIATION</name>
				<enum_value>0x0000</enum_value>
				<description>Normally devices use MAC Association to join a network, which respects the "permit joining" flag in the MAC Beacon. For mobile nodes this value causes the device to use an Ember Mobile Node Join, which is functionally equivalent to a MAC association. This value should be used by default.</description>
			</value>
			<value>
				<name>EMBER_USE_NWK_REJOIN</name>
				<enum_value>0x0001</enum_value>
				<description>For those networks where the "permit joining" flag is never turned on, they will need to use a ZigBee NWK Rejoin. This value causes the rejoin to be sent without NWK security and the Trust Center will be asked to send the NWK key to the device. The NWK key sent to the device can be encrypted with the device's corresponding Trust Center link key. That is determined by the ::EmberJoinDecision on the Trust Center returned by the ::emberTrustCenterJoinHandler(). For a mobile node this value will cause it to use an Ember Mobile node rejoin, which is functionally equivalent.</description>
			</value>
			<value>
				<name>EMBER_USE_NWK_REJOIN_HAVE_NWK_KEY</name>
				<enum_value>0x0002</enum_value>
				<description>For those networks where the "permit joining" flag is never turned on, they will need to use a NWK Rejoin. If those devices have been preconfigured with the NWK key (including sequence number) they can use a secured rejoin. This is only necessary for end devices since they need a parent. Routers can simply use the ::EMBER_USE_NWK_COMMISSIONING join method below.</description>
			</value>
			<value>
				<name>EMBER_USE_NWK_COMMISSIONING</name>
				<enum_value>0x0003</enum_value>
				<description>For those networks where all network and security information is known ahead of time, a router device may be commissioned such that it does not need to send any messages to begin communicating on the network.</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EzspNetworkScanType</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_ENERGY_SCAN</name>
				<enum_value>0x00</enum_value>
				<description>An energy scan scans each channel for its RSSI value.</description>
			</value>
			<value>
				<name>EZSP_ACTIVE_SCAN</name>
				<enum_value>0x01</enum_value>
				<description>An active scan scans each channel for available networks.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberZdoConfigurationFlags</name>
		<description>This is a bitmask that controls which incoming ZDO request messages are passed to the application.</description>
		<values>
			<value>
				<name>EMBER_APP_RECEIVES_SUPPORTED_ZDO_REQUESTS</name>
				<enum_value>0x01</enum_value>
				<description>Set this flag in order to receive supported ZDO request messages via the incomingMessageHandler callback. A supported ZDO request is one that is handled by the EmberZNet stack. The stack will continue to handle the request and send the appropriate ZDO response even if this configuration option is enabled.</description>
			</value>
			<value>
				<name>EMBER_APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS</name>
				<enum_value>0x02</enum_value>
				<description>Set this flag in order to receive unsupported ZDO request messages via the incomingMessageHandler callback. An unsupported ZDO request is one that is not handled by the EmberZNet stack, other than to send a 'not supported' ZDO response. If this configuration option is enabled, the stack will no longer send any ZDO response, and it is the application's responsibility to do so.</description>
			</value>
			<value>
				<name>EMBER_APP_HANDLES_ZDO_ENDPOINT_REQUESTS</name>
				<enum_value>0x04</enum_value>
				<description>Set this flag in order to receive the following ZDO request messages via the incomingMessageHandler callback: SIMPLE_DESCRIPTOR_REQUEST, MATCH_DESCRIPTORS_REQUEST, and ACTIVE_ENDPOINTS_REQUEST. If this configuration option is enabled, the stack will no longer send any ZDO response for these requests, and it is the application's responsibility to do so.</description>
			</value>
			<value>
				<name>EMBER_APP_HANDLES_ZDO_BINDING_REQUESTS</name>
				<enum_value>0x08</enum_value>
				<description>Set this flag in order to receive the following ZDO request messages via the incomingMessageHandler callback: BINDING_TABLE_REQUEST, BIND_REQUEST, and UNBIND_REQUEST. If this configuration option is enabled, the stack will no longer send any ZDO response for these requests, and it is the application's responsibility to do so.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberPowerMode</name>
		<description>Defines the Ember power modes.</description>
		<values>
			<value>
				<name>EMBER_TX_POWER_MODE_DEFAULT</name>
				<enum_value>0x00</enum_value>
				<description>Normal power mode and bi-directional RF transmitter output.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_BOOST</name>
				<enum_value>0x01</enum_value>
				<description>Enable boost power mode. This is a high performance radio mode which offers increased receive sensitivity and transmit power at the cost of an increase in power consumption.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_ALTERNATE</name>
				<enum_value>0x02</enum_value>
				<description>Enable the alternate transmitter output. This allows for simplified connection to an external power amplifier via the RF_TX_ALT_P and RF_TX_ALT_N pins.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_BOOST_AND_ALTERNATE</name>
				<enum_value>0x03</enum_value>
				<description>Enable both boost mode and the alternate transmitter output.</description>
			</value>
		</values>
	</enum>
	-->
	<enum>
		<name>EzspConfigId</name>
		<description>Identifies which configuration value to read or change with getConfigurationValue and setConfigurationValue.</description>
		<values>
			<value>
				<name>EZSP_CONFIG_PACKET_BUFFER_COUNT</name>
				<enum_value>0x01</enum_value>
				<description>The number of packet buffers available to the stack. When set to the special value 0xFF, the NCP will allocate all remaining configuration RAM towards packet buffers, such that the resulting count will be the largest whole number of packet buffers that can fit into the available memory.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_NEIGHBOR_TABLE_SIZE</name>
				<enum_value>0x02</enum_value>
				<description>The maximum number of router neighbors the stack can keep track of. A neighbor is a node within radio range.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_APS_UNICAST_MESSAGE_COUNT</name>
				<enum_value>0x03</enum_value>
				<description>The maximum number of APS retried messages the stack can be transmitting at any time.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_BINDING_TABLE_SIZE</name>
				<enum_value>0x04</enum_value>
				<description>The maximum number of non-volatile bindings supported by the stack.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_ADDRESS_TABLE_SIZE</name>
				<enum_value>0x05</enum_value>
				<description>The maximum number of EUI64 to network address associations that the stack can maintain for the application. (Note, the total number of such address associations maintained by the NCP is the sum of the value of this setting and the value of ::EZSP_CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE.). </description>
			</value>
			<value>
				<name>EZSP_CONFIG_MULTICAST_TABLE_SIZE</name>
				<enum_value>0x06</enum_value>
				<description>The maximum number of multicast groups that the device may be a member of.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_ROUTE_TABLE_SIZE</name>
				<enum_value>0x07</enum_value>
				<description>The maximum number of destinations to which a node can route messages. This includes both messages originating at this node and those relayed for others.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_DISCOVERY_TABLE_SIZE</name>
				<enum_value>0x08</enum_value>
				<description>The number of simultaneous route discoveries that a node will support.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_STACK_PROFILE</name>
				<enum_value>0x0C</enum_value>
				<description>Specifies the stack profile.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_SECURITY_LEVEL</name>
				<enum_value>0x0D</enum_value>
				<description>The security level used for security at the MAC and network layers. The supported values are 0 (no security) and 5 (payload is encrypted and a four-byte MIC is used for authentication).</description>
			</value>
			<value>
				<name>EZSP_CONFIG_MAX_HOPS</name>
				<enum_value>0x10</enum_value>
				<description>The maximum number of hops for a message.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_MAX_END_DEVICE_CHILDREN</name>
				<enum_value>0x11</enum_value>
				<description>The maximum number of end device children that a router will support.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_INDIRECT_TRANSMISSION_TIMEOUT</name>
				<enum_value>0x12</enum_value>
				<description>The maximum amount of time that the MAC will hold a message for indirect transmission to a child.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_END_DEVICE_POLL_TIMEOUT</name>
				<enum_value>0x13</enum_value>
				<description>The maximum amount of time that an end device child can wait between polls. If no poll is heard within this timeout, then the parent removes the end device from its tables.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_MOBILE_NODE_POLL_TIMEOUT</name>
				<enum_value>0x14</enum_value>
				<description>The maximum amount of time that a mobile node can wait between polls. If no poll is heard within this timeout, then the parent removes the mobile node from its tables.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_RESERVED_MOBILE_CHILD_ENTRIES</name>
				<enum_value>0x15</enum_value>
				<description>The number of child table entries reserved for use only by mobile nodes.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_TX_POWER_MODE</name>
				<enum_value>0x17</enum_value>
				<description>Enables boost power mode and/or the alternate transmitter output.</description>
			</value>	
			<value>
				<name>EZSP_CONFIG_DISABLE_RELAY</name>
				<enum_value>0x18</enum_value>
				<description>0: Allow this node to relay messages. 1: Prevent this node from relaying messages.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE</name>
				<enum_value>0x19</enum_value>
				<description>The maximum number of EUI64 to network address associations that the Trust Center can maintain. These address cache entries are reserved for and reused by the Trust Center when processing device join/rejoin authentications. This cache size limits the number of overlapping joins the Trust Center can process within a narrow time window (e.g. two seconds), and thus should be set to the maximum number of near simultaneous joins the Trust Center is expected to accommodate. (Note, the total number of such address associations maintained by the NCP is the sum of the value of this setting and the value of ::EZSP_CONFIG_ADDRESS_TABLE_SIZE.) </description>
			</value>
			<value>
				<name>EZSP_CONFIG_SOURCE_ROUTE_TABLE_SIZE</name>
				<enum_value>0x1A</enum_value>
				<description>The size of the source route table.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT</name>
				<enum_value>0x1B</enum_value>
				<description>The units used for timing out end devices on their parents.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_FRAGMENT_WINDOW_SIZE</name>
				<enum_value>0x1C</enum_value>
				<description>The number of blocks of a fragmented message that can be sent in a single window.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_FRAGMENT_DELAY_MS</name>
				<enum_value>0x1D</enum_value>
				<description>The time the stack will wait (in milliseconds) between sending blocks of a fragmented message.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_KEY_TABLE_SIZE</name>
				<enum_value>0x1E</enum_value>
				<description>The size of the Key Table used for storing individual link keys (if the device is a Trust Center) or Application Link Keys (if the device is a normal node).</description>
			</value>
			<value>
				<name>EZSP_CONFIG_APS_ACK_TIMEOUT</name>
				<enum_value>0x1F</enum_value>
				<description>The APS ACK timeout value. The stack waits this amount of time between resends of APS retried messages.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_BEACON_JITTER_DURATION</name>
				<enum_value>0x20</enum_value>
				<description>The duration of a beacon jitter, in the units used by the 15.4 scan parameter (((1 less than duration) + 1) * 15ms), when responding to a beacon request.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_END_DEVICE_BIND_TIMEOUT</name>
				<enum_value>0x21</enum_value>
				<description>The time the coordinator will wait (in seconds) for a second end device bind request to arrive.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD</name>
				<enum_value>0x22</enum_value>
				<description>The number of PAN id conflict reports that must be received by the network manager within one minute to trigger a PAN id change.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_REQUEST_KEY_TIMEOUT</name>
				<enum_value>0x24</enum_value>
				<description>The timeout value in minutes for how long the Trust Center or a normal node waits for the ZigBee Request Key to complete. On the Trust Center this controls whether or not the device buffers the request, waiting for a matching pair of ZigBee Request Key. If the value is non-zero, the Trust Center buffers and waits for that amount of time. If the value is zero, the Trust Center does not buffer the request and immediately responds to the request. Zero is the most compliant behavior.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_CERTIFICATE_TABLE_SIZE</name>
				<enum_value>0x29</enum_value>
				<description>This value indicates the size of the runtime modifiable certificate table. Normally certificates are stored in MFG tokens but this table can be used to field upgrade devices with new Smart Energy certificates. This value cannot be set, it can only be queried.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_APPLICATION_ZDO_FLAGS</name>
				<enum_value>0x2A</enum_value>
				<description>This is a bitmask that controls which incoming ZDO request messages are passed to the application. The bits are defined in the EmberZdoConfigurationFlags enumeration. To see if the application is required to send a ZDO response in reply to an incoming message, the application must check the APS options bitfield within the incomingMessageHandler callback to see if the EMBER_APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_BROADCAST_TABLE_SIZE</name>
				<enum_value>0x2B</enum_value>
				<description>The maximum number of broadcasts during a single broadcast timeout period.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_MAC_FILTER_TABLE_SIZE</name>
				<enum_value>0x2C</enum_value>
				<description>The size of the MAC filter list table.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_SUPPORTED_NETWORKS</name>
				<enum_value>0x2D</enum_value>
				<description>The number of supported networks.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_SEND_MULTICASTS_TO_SLEEPY_ADDRESS</name>
				<enum_value>0x2E</enum_value>
				<description>Whether multicasts are sent to the RxOnWhenIdle=true address (0xFFFD) or the sleepy broadcast address (0xFFFF). The RxOnWhenIdle=true address is the ZigBee compliant destination for multicasts.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_ZLL_GROUP_ADDRESSES</name>
				<enum_value>0x2F</enum_value>
				<description>ZLL group address initial configuration.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_ZLL_RSSI_THRESHOLD</name>
				<enum_value>0x30</enum_value>
				<description>ZLL rssi threshold initial configuration.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_MTORR_FLOW_CONTROL</name>
				<enum_value>0x33</enum_value>
				<description>Toggles the mtorr flow control in the stack.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_RETRY_QUEUE_SIZE</name>
				<enum_value>0x34</enum_value>
				<description>Setting the retry queue size.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_NEW_BROADCAST_ENTRY_THRESHOLD</name>
				<enum_value>0x35</enum_value>
				<description>Setting the new broadcast entry threshold.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_TRANSIENT_KEY_TIMEOUT_S</name>
				<enum_value>0x36</enum_value>
				<description>The length of time, in seconds, that a trust center will store a transient link key that a device can use to join its network. A transient key is added with a call to emberAddTransientLinkKey. After the transient key is added, it will be removed once this amount of time has passed. A joining device will not be able to use that key to join until it is added again on the trust center. The default value is 300 seconds, i.e., 5 minutes.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_BROADCAST_MIN_ACKS_NEEDED</name>
				<enum_value>0x37</enum_value>
				<description>The number of passive acknowledgements to record from neighbors before we stop re-transmitting broadcasts.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S</name>
				<enum_value>0x38</enum_value>
				<description>The length of time, in seconds, that a trust center will allow a Trust Center (insecure) rejoin for a device that is using the well-known link key. This timeout takes effect once rejoins using the well-known key has been allowed. This command updates the emAllowTcRejoinsUsingWellKnownKeyTimeoutSec value.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_CTUNE_VALUE</name>
				<enum_value>0x39</enum_value>
				<description>Valid range of a CTUNE value is 0x0000-0x01FF. Higher order bits (0xFE00) of the 16-bit value are ignored.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_ASSUME_TC_CONCENTRATOR_TYPE</name>
				<enum_value>0x40</enum_value>
				<description>To configure non trust center node to assume a concentrator type of the trust center it join to, until it receive many-to-one route request from the trust center. For the trust center node, concentrator type is configured from the concentrator plugin. The stack by default assumes trust center be a low RAM concentrator that make other devices send route record to the trust center even without receiving a many-to-one route request. The default concentrator type can be changed by setting appropriate EmberAssumeTrustCenterConcentratorType config value.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_GP_PROXY_TABLE_SIZE</name>
				<enum_value>0x41</enum_value>
				<description>This is green power proxy table size. This value is readonly and cannot be set at runtime.</description>
			</value>
			<value>
				<name>EZSP_CONFIG_GP_SINK_TABLE_SIZE</name>
				<enum_value>0x42</enum_value>
				<description>This is green power sink table size. This value is readonly and cannot be set at runtime.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberStatus</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_SUCCESS</name>
				<enum_value>0x0000</enum_value>
				<description>The generic 'no error' message.</description>
			</value>
			<value>
				<name>EMBER_ERR_FATAL</name>
				<enum_value>0x0001</enum_value>
				<description>The generic 'fatal error' message.</description>
			</value>
			<value>
				<name>EMBER_BAD_ARGUMENT</name>
				<enum_value>0x0002</enum_value>
				<description>An invalid value was passed as an argument to a function</description>
			</value>
			<value>
				<name>EMBER_EEPROM_MFG_STACK_VERSION_MISMATCH</name>
				<enum_value>0x0004</enum_value>
				<description>The manufacturing and stack token format in nonvolatile memory is different than what the stack expects (returned at initialization).</description>
			</value>
			<value>
				<name>EMBER_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS</name>
				<enum_value>0x0005</enum_value>
				<description>The static memory definitions in ember-staticmemory.h are incompatible with this stack version</description>
			</value>
			<value>
				<name>EMBER_EEPROM_MFG_VERSION_MISMATCH</name>
				<enum_value>0x0006</enum_value>
				<description>The manufacturing token format in non-volatile memory is different than what the stack expects (returned at initialization).</description>
			</value>
			<value>
				<name>EMBER_EEPROM_STACK_VERSION_MISMATCH</name>
				<enum_value>0x0007</enum_value>
				<description>The stack token format in non-volatile memory is different than what the stack expects (returned at initialization).</description>
			</value>
			<value>
				<name>EMBER_NO_BUFFERS</name>
				<enum_value>0x0018</enum_value>
				<description>There are no more buffers.</description>
			</value>
			<value>
				<name>EMBER_SERIAL_INVALID_BAUD_RATE</name>
				<enum_value>0x0020</enum_value>
				<description>Specified an invalid baud rate</description>
			</value>
			<value>
				<name>EMBER_SERIAL_INVALID_PORT</name>
				<enum_value>0x0021</enum_value>
				<description>Specified an invalid baud rate</description>
			</value>
			<value>
				<name>EMBER_SERIAL_TX_OVERFLOW</name>
				<enum_value>0x0022</enum_value>
				<description>Tried to send too much data</description>
			</value>
			<value>
				<name>EMBER_SERIAL_RX_OVERFLOW</name>
				<enum_value>0x0023</enum_value>
				<description>There was not enough space to store a received character and the character was dropped.</description>
			</value>
			<value>
				<name>EMBER_SERIAL_RX_FRAME_ERROR</name>
				<enum_value>0x0024</enum_value>
				<description>Detected a UART framing error</description>
			</value>
			<value>
				<name>EMBER_SERIAL_RX_PARITY_ERROR</name>
				<enum_value>0x0025</enum_value>
				<description>Detected a UART parity error.</description>
			</value>
			<value>
				<name>EMBER_SERIAL_RX_EMPTY</name>
				<enum_value>0x0026</enum_value>
				<description>There is no received data to process.</description>
			</value>
			<value>
				<name>EMBER_SERIAL_RX_OVERRUN_ERROR</name>
				<enum_value>0x0027</enum_value>
				<description>The receive interrupt was not handled in time, and a character was dropped.</description>
			</value>
			<value>
				<name>EMBER_MAC_TRANSMIT_QUEUE_FULL</name>
				<enum_value>0x0039</enum_value>
				<description>The MAC transmit queue is full</description>
			</value>
			<value>
				<name>EMBER_MAC_UNKNOWN_HEADER_TYPE</name>
				<enum_value>0x003A</enum_value>
				<description>MAC header FCR error on receive</description>
			</value>
			<value>
				<name>EMBER_MAC_SCANNING</name>
				<enum_value>0x003D</enum_value>
				<description>The MAC can't complete this task because it is scanning.</description>
			</value>
			<value>
				<name>EMBER_MAC_NO_DATA</name>
				<enum_value>0x0031</enum_value>
				<description>No pending data exists for device doing a data poll.</description>
			</value>
			<value>
				<name>EMBER_MAC_JOINED_NETWORK</name>
				<enum_value>0x0032</enum_value>
				<description>Attempt to scan when we are joined to a network.</description>
			</value>
			<value>
				<name>EMBER_MAC_BAD_SCAN_DURATION</name>
				<enum_value>0x0033</enum_value>
				<description>Scan duration must be 0 to 14 inclusive. Attempt was made to scan with an incorrect duration value.</description>
			</value>
			<value>
				<name>EMBER_MAC_INCORRECT_SCAN_TYPE</name>
				<enum_value>0x0034</enum_value>
				<description>emberStartScan was called with an incorrect scan type.</description>
			</value>
			<value>
				<name>EMBER_MAC_INVALID_CHANNEL_MASK</name>
				<enum_value>0x0035</enum_value>
				<description>emberStartScan was called with an invalid channel mask.</description>
			</value>
			<value>
				<name>EMBER_MAC_COMMAND_TRANSMIT_FAILURE</name>
				<enum_value>0x0036</enum_value>
				<description>Failed to scan current channel because we were unable to transmit the relevant MAC command.</description>
			</value>
			<value>
				<name>EMBER_MAC_NO_ACK_RECEIVED</name>
				<enum_value>0x0040</enum_value>
				<description>We expected to receive an ACK following the transmission, but the MAC level ACK was never received.</description>
			</value>
			<value>
				<name>EMBER_MAC_INDIRECT_TIMEOUT</name>
				<enum_value>0x0042</enum_value>
				<description>Indirect data message timed out before polled.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_ERASE_PAGE_GREEN</name>
				<enum_value>0x0043</enum_value>
				<description>The Simulated EEPROM is telling the application that there is at least one flash page to be erased. The GREEN status means the current page has not filled above the ERASE_CRITICAL_THRESHOLD. The application should call the function halSimEepromErasePage when it can to erase a page.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_ERASE_PAGE_RED</name>
				<enum_value>0x0044</enum_value>
				<description>The Simulated EEPROM is telling the application that there is at least one flash page to be erased. The RED status means the current page has filled above the ERASE_CRITICAL_THRESHOLD. Due to the shrinking availability of write space, there is a danger of data loss. The application must call the function halSimEepromErasePage as soon as possible to erase a page.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_FULL</name>
				<enum_value>0x0045</enum_value>
				<description>The Simulated EEPROM has run out of room to write any new data and the data trying to be set has been lost. This error code is the result of ignoring the SIM_EEPROM_ERASE_PAGE_RED error code. The application must call the function halSimEepromErasePage to make room for any further calls to set a token.</description>
			</value>
			<value>
				<name>EMBER_ERR_FLASH_WRITE_INHIBITED</name>
				<enum_value>0x0046</enum_value>
				<description>A fatal error has occurred while trying to write data to the Flash. The target memory attempting to be programmed is already programmed. The flash write routines were asked to flip a bit from a 0 to 1, which is physically impossible and the write was therefore inhibited. The data in the flash cannot be trusted after this error.</description>
			</value>
			<value>
				<name>EMBER_ERR_FLASH_VERIFY_FAILED</name>
				<enum_value>0x0047</enum_value>
				<description>A fatal error has occurred while trying to write data to the Flash and the write verification has failed. The data in the flash cannot be trusted after this error, and it is possible this error is the result of exceeding the life cycles of the flash.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_INIT_1_FAILED</name>
				<enum_value>0x0048</enum_value>
				<description>Attempt 1 to initialize the Simulated EEPROM has failed. This failure means the information already stored in Flash (or a lack thereof), is fatally incompatible with the token information compiled into the code image being run.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_INIT_2_FAILED</name>
				<enum_value>0x0049</enum_value>
				<description>Attempt 2 to initialize the Simulated EEPROM has failed. This failure means Attempt 1 failed, and the token system failed to properly reload default tokens and reset the Simulated EEPROM.</description>
			</value>
			<value>
				<name>EMBER_SIM_EEPROM_INIT_3_FAILED</name>
				<enum_value>0x004A</enum_value>
				<description>Attempt 3 to initialize the Simulated EEPROM has failed. This failure means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to properly reload default tokens and reset the Simulated EEPROM.</description>
			</value>
			<value>
				<name>EMBER_ERR_FLASH_PROG_FAIL</name>
				<enum_value>0x004B</enum_value>
				<description>A fatal error has occurred while trying to write data to the flash, possibly due to write protection or an invalid address. The data in the flash cannot be trusted after this error, and it is possible this error is the result of exceeding the life cycles of the flash.</description>
			</value>
			<value>
				<name>EMBER_ERR_FLASH_ERASE_FAIL</name>
				<enum_value>0x004C</enum_value>
				<description>A fatal error has occurred while trying to erase flash, possibly due to write protection. The data in the flash cannot be trusted after this error, and it is possible this error is the result of exceeding the life cycles of the flash</description>
			</value>
			<value>
				<name>EMBER_ERR_BOOTLOADER_TRAP_TABLE_BAD</name>
				<enum_value>0x0058</enum_value>
				<description>The bootloader received an invalid message (failed attempt to go into bootloader).</description>
			</value>
			<value>
				<name>EMBER_ERR_BOOTLOADER_TRAP_UNKNOWN</name>
				<enum_value>0x0059</enum_value>
				<description>Bootloader received an invalid message (failed attempt to go into bootloader).</description>
			</value>
			<value>
				<name>EMBER_ERR_BOOTLOADER_NO_IMAGE</name>
				<enum_value>0x005A</enum_value>
				<description>The bootloader cannot complete the bootload operation because either an image was not found or the image exceeded memory bounds.</description>
			</value>
			<value>
				<name>EMBER_DELIVERY_FAILED</name>
				<enum_value>0x0066</enum_value>
				<description>The APS layer attempted to send or deliver a message, but it failed.</description>
			</value>
			<value>
				<name>EMBER_BINDING_INDEX_OUT_OF_RANGE</name>
				<enum_value>0x0069</enum_value>
				<description>This binding index is out of range of the current binding table.</description>
			</value>
			<value>
				<name>EMBER_ADDRESS_TABLE_INDEX_OUT_OF_RANGE</name>
				<enum_value>0x006A</enum_value>
				<description>This address table index is out of range for the current address table.</description>
			</value>
			<value>
				<name>EMBER_INVALID_BINDING_INDEX</name>
				<enum_value>0x006C</enum_value>
				<description>An invalid binding table index was given to a function.</description>
			</value>
			<value>
				<name>EMBER_INVALID_CALL</name>
				<enum_value>0x0070</enum_value>
				<description>The API call is not allowed given the current state of the stack</description>
			</value>
			<value>
				<name>EMBER_COST_NOT_KNOWN</name>
				<enum_value>0x0071</enum_value>
				<description>The link cost to a node is not known.</description>
			</value>
			<value>
				<name>EMBER_MAX_MESSAGE_LIMIT_REACHED</name>
				<enum_value>0x0072</enum_value>
				<description>The maximum number of in-flight messages (i.e. EMBER_APS_UNICAST_MESSAGE_COUNT) has been reached.</description>
			</value>
			<value>
				<name>EMBER_MESSAGE_TOO_LONG</name>
				<enum_value>0x0074</enum_value>
				<description>The message to be transmitted is too big to fit into a single over-the-air packet</description>
			</value>
			<value>
				<name>EMBER_BINDING_IS_ACTIVE</name>
				<enum_value>0x0075</enum_value>
				<description>The application is trying to delete or overwrite a binding that is in use.</description>
			</value>
			<value>
				<name>EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE</name>
				<enum_value>0x0076</enum_value>
				<description>The application is trying to overwrite an address table entry that is in use.</description>
			</value>
			<value>
				<name>EMBER_MATCH</name>
				<enum_value>0x0078</enum_value>
				<description>Security match.</description>
			</value>
			<value>
				<name>EMBER_DROP_FRAME</name>
				<enum_value>0x0079</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_PASS_UNPROCESSED</name>
				<enum_value>0x007A</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_TX_THEN_DROP</name>
				<enum_value>0x007B</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_NO_SECURITY</name>
				<enum_value>0x007C</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_COUNTER_FAILURE</name>
				<enum_value>0x007D</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_AUTH_FAILURE</name>
				<enum_value>0x007E</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_UNPROCESSED</name>
				<enum_value>0x007F</enum_value>
				<description>Security match. </description>
			</value>
			<value>
				<name>EMBER_ADC_CONVERSION_DONE</name>
				<enum_value>0x0080</enum_value>
				<description>Conversion is complete.</description>
			</value>
			<value>
				<name>EMBER_ADC_CONVERSION_BUSY</name>
				<enum_value>0x0081</enum_value>
				<description>Conversion cannot be done because a request is being processed.</description>
			</value>
			<value>
				<name>EMBER_ADC_CONVERSION_DEFERRED</name>
				<enum_value>0x0082</enum_value>
				<description>Conversion is deferred until the current request has been processed.</description>
			</value>
			<value>
				<name>EMBER_ADC_NO_CONVERSION_PENDING</name>
				<enum_value>0x0084</enum_value>
				<description>No results are pending</description>
			</value>
			<value>
				<name>EMBER_SLEEP_INTERRUPTED</name>
				<enum_value>0x0085</enum_value>
				<description>Sleeping (for a duration) has been abnormally interrupted and exited prematurely.</description>
			</value>
			<value>
				<name>EMBER_PHY_TX_UNDERFLOW</name>
				<enum_value>0x0088</enum_value>
				<description>The transmit hardware buffer underflowed.</description>
			</value>
			<value>
				<name>EMBER_PHY_TX_INCOMPLETE</name>
				<enum_value>0x0089</enum_value>
				<description>The transmit hardware did not finish transmitting a packet.</description>
			</value>
			<value>
				<name>EMBER_PHY_INVALID_CHANNEL</name>
				<enum_value>0x008A</enum_value>
				<description>An unsupported channel setting was specified.</description>
			</value>
			<value>
				<name>EMBER_PHY_INVALID_POWER</name>
				<enum_value>0x008B</enum_value>
				<description>An unsupported power setting was specified.</description>
			</value>
			<value>
				<name>EMBER_PHY_TX_BUSY</name>
				<enum_value>0x008C</enum_value>
				<description>The packet cannot be transmitted because the physical MAC layer is currently transmitting a packet. (This is used for the MAC backoff algorithm.)</description>
			</value>
			<value>
				<name>EMBER_PHY_TX_CCA_FAIL</name>
				<enum_value>0x008D</enum_value>
				<description>The transmit attempt failed because all CCA attempts indicated that the channel was busy</description>
			</value>
			<value>
				<name>EMBER_PHY_OSCILLATOR_CHECK_FAILED</name>
				<enum_value>0x008E</enum_value>
				<description>The software installed on the hardware doesn't recognize the hardware radio type.</description>
			</value>
			<value>
				<name>EMBER_PHY_ACK_RECEIVED</name>
				<enum_value>0x008F</enum_value>
				<description>The expected ACK was received after the last transmission.</description>
			</value>
			<value>
				<name>EMBER_NETWORK_UP</name>
				<enum_value>0x0090</enum_value>
				<description>The stack software has completed initialization and is ready to send and receive packets over the air</description>
			</value>
			<value>
				<name>EMBER_NETWORK_DOWN</name>
				<enum_value>0x0091</enum_value>
				<description>The network is not operating.</description>
			</value>
			<value>
				<name>EMBER_JOIN_FAILED</name>
				<enum_value>0x0094</enum_value>
				<description>An attempt to join a network failed.</description>
			</value>
			<value>
				<name>EMBER_MOVE_FAILED</name>
				<enum_value>0x0096</enum_value>
				<description>After moving, a mobile node's attempt to re-establish contact with the network failed.</description>
			</value>
			<value>
				<name>EMBER_CANNOT_JOIN_AS_ROUTER</name>
				<enum_value>0x0098</enum_value>
				<description>An attempt to join as a router failed due to a ZigBee versus ZigBee Pro incompatibility. ZigBee devices joining ZigBee Pro networks (or vice versa) must join as End Devices, not Routers.</description>
			</value>
			<value>
				<name>EMBER_NODE_ID_CHANGED</name>
				<enum_value>0x099</enum_value>
				<description>The local node ID has changed. The application can obtain the new node ID by calling emberGetNodeId().</description>
			</value>
			<value>
				<name>EMBER_PAN_ID_CHANGED</name>
				<enum_value>0x009A</enum_value>
				<description>The local PAN ID has changed. The application can obtain the new PAN ID by calling emberGetPanId().</description>
			</value>
			<value>
				<name>EMBER_NETWORK_OPENED</name>
				<enum_value>0x009C</enum_value>
				<description>The network has been opened for joining.</description>
			</value>
			<value>
				<name>EMBER_NETWORK_CLOSED</name>
				<enum_value>0x009D</enum_value>
				<description>The network has been closed for joining.</description>
			</value>
			<value>
				<name>EMBER_NO_BEACONS</name>
				<enum_value>0x00AB</enum_value>
				<description>An attempt to join or rejoin the network failed because no router beacons could be heard by the joining node.</description>
			</value>
			<value>
				<name>EMBER_RECEIVED_KEY_IN_THE_CLEAR</name>
				<enum_value>0x00AC</enum_value>
				<description>An attempt was made to join a Secured Network using a pre-configured key, but the Trust Center sent back a Network Key in-the-clear when an encrypted Network Key was required.</description>
			</value>
			<value>
				<name>EMBER_NO_NETWORK_KEY_RECEIVED</name>
				<enum_value>0x00AD</enum_value>
				<description>An attempt was made to join a Secured Network, but the device did not receive a Network Key.</description>
			</value>
			<value>
				<name>EMBER_NO_LINK_KEY_RECEIVED</name>
				<enum_value>0x00AE</enum_value>
				<description>After a device joined a Secured Network, a Link Key was requested but no response was ever received.</description>
			</value>
			<value>
				<name>EMBER_PRECONFIGURED_KEY_REQUIRED</name>
				<enum_value>0x00AF</enum_value>
				<description>An attempt was made to join a Secured Network without a pre-configured key, but the Trust Center sent encrypted data using a pre-configured key.</description>
			</value>
			<value>
				<name>EMBER_NOT_JOINED</name>
				<enum_value>0x0093</enum_value>
				<description>The node has not joined a network.</description>
			</value>
			<value>
				<name>EMBER_INVALID_SECURITY_LEVEL</name>
				<enum_value>0x0095</enum_value>
				<description>The chosen security level (the value of EMBER_SECURITY_LEVEL) is not supported by the stack</description>
			</value>
			<value>
				<name>EMBER_NETWORK_BUSY</name>
				<enum_value>0x00A1</enum_value>
				<description>A message cannot be sent because the network is currently overloaded.</description>
			</value>
			<value>
				<name>EMBER_INVALID_ENDPOINT</name>
				<enum_value>0x00A3</enum_value>
				<description>The application tried to send a message using an endpoint that it has not defined.</description>
			</value>
			<value>
				<name>EMBER_BINDING_HAS_CHANGED</name>
				<enum_value>0x00A4</enum_value>
				<description>The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application.</description>
			</value>
			<value>
				<name>EMBER_INSUFFICIENT_RANDOM_DATA</name>
				<enum_value>0x00A5</enum_value>
				<description>An attempt to generate random bytes failed because of insufficient random data from the radio.</description>
			</value>
			<value>
				<name>EMBER_APS_ENCRYPTION_ERROR</name>
				<enum_value>0x00A6</enum_value>
				<description>There was an error in trying to encrypt at the APS Level. This could result from either an inability to determine the long address of the recipient from the short address (no entry in the binding table) or there is no link key entry in the table associated with the destination, or there was a failure to load the correct key into the encryption core.</description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_MASTER_KEY_NOT_SET</name>
				<enum_value>0x00A7</enum_value>
				<description>There was an attempt to form a network using commercial security without setting the Trust Center master key first.</description>
			</value>
			<value>
				<name>EMBER_SECURITY_STATE_NOT_SET</name>
				<enum_value>0x00A8</enum_value>
				<description>There was an attempt to form or join a network with security without calling emberSetInitialSecurityState() first</description>
			</value>
			<value>
				<name>EMBER_KEY_INVALID</name>
				<enum_value>0x00B2</enum_value>
				<description>The passed key data is not valid. A key of all zeros or all F's are reserved values and cannot be used.</description>
			</value>
			<value>
				<name>EMBER_KEY_TABLE_INVALID_ADDRESS</name>
				<enum_value>0x00B3</enum_value>
				<description>There was an attempt to set an entry in the key table using an invalid long address. An entry cannot be set using either the local device's or Trust Center's IEEE address. Or an entry already exists in the table with the same IEEE address. An Address of all zeros or all F's are not valid addresses in 802.15.4.</description>
			</value>
			<value>
				<name>EMBER_SECURITY_CONFIGURATION_INVALID</name>
				<enum_value>0x00B7</enum_value>
				<description>There was an attempt to set a security configuration that is not valid given the other security settings.</description>
			</value>
			<value>
				<name>EMBER_TOO_SOON_FOR_SWITCH_KEY</name>
				<enum_value>0x00B8</enum_value>
				<description>There was an attempt to broadcast a key switch too quickly after broadcasting the next network key. The Trust Center must wait at least a period equal to the broadcast timeout so that all routers have a chance to receive the broadcast of the new network key.</description>
			</value>
			<value>
				<name>EMBER_KEY_NOT_AUTHORIZED</name>
				<enum_value>0x00BB</enum_value>
				<description>The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages. APS Commands (sent by the stack) are allowed. To use it for encryption of APS data messages it must be authorized using a key agreement protocol (such as CBKE).</description>
			</value>
			<value>
				<name>EMBER_SECURITY_DATA_INVALID</name>
				<enum_value>0x00BD</enum_value>
				<description>The security data provided was not valid, or an integrity check failed.</description>
			</value>
			<value>
				<name>EMBER_SOURCE_ROUTE_FAILURE</name>
				<enum_value>0x00A9</enum_value>
				<description>A ZigBee route error command frame was received indicating that a source routed message from this node failed en route.</description>
			</value>
			<value>
				<name>EMBER_MANY_TO_ONE_ROUTE_FAILURE</name>
				<enum_value>0x00AA</enum_value>
				<description>A ZigBee route error command frame was received indicating that a message sent to this node along a many-to-one route failed en route. The route error frame was delivered by an ad-hoc search for a functioning route.</description>
			</value>
			<value>
				<name>EMBER_STACK_AND_HARDWARE_MISMATCH</name>
				<enum_value>0x00B0</enum_value>
				<description>A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it is running on. The software (stack) on the chip must be replaced with software that is compatible with the chip</description>
			</value>
			<value>
				<name>EMBER_INDEX_OUT_OF_RANGE</name>
				<enum_value>0x00B1</enum_value>
				<description>An index was passed into the function that was larger than the valid range.</description>
			</value>
			<value>
				<name>EMBER_TABLE_FULL</name>
				<enum_value>0x00B4</enum_value>
				<description>There are no empty entries left in the table.</description>
			</value>
			<value>
				<name>EMBER_TABLE_ENTRY_ERASED</name>
				<enum_value>0x00B6</enum_value>
				<description>The requested table entry has been erased and contains no valid data.</description>
			</value>
			<value>
				<name>EMBER_LIBRARY_NOT_PRESENT</name>
				<enum_value>0x00B5</enum_value>
				<description>The requested function cannot be executed because the library that contains the necessary functionality is not present.</description>
			</value>
			<value>
				<name>EMBER_OPERATION_IN_PROGRESS</name>
				<enum_value>0x00BA</enum_value>
				<description>The stack accepted the command and is currently processing the request. The results will be returned via an appropriate handler.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_0</name>
				<enum_value>0x00F0</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_1</name>
				<enum_value>0x00F1</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_2</name>
				<enum_value>0x00F2</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_3</name>
				<enum_value>0x00F3</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_4</name>
				<enum_value>0x00F4</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_5</name>
				<enum_value>0x00F5</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_6</name>
				<enum_value>0x00F6</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_7</name>
				<enum_value>0x00F7</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_8</name>
				<enum_value>0x00F8</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_9</name>
				<enum_value>0x00F9</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_10</name>
				<enum_value>0x00FA</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_11</name>
				<enum_value>0x00FB</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_12</name>
				<enum_value>0x00FC</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_13</name>
				<enum_value>0x00FD</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_14</name>
				<enum_value>0x00FE</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_ERROR_15</name>
				<enum_value>0x00FF</enum_value>
				<description>This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberIncomingMessageType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_INCOMING_UNICAST</name>
				<enum_value>0x0000</enum_value>
				<description>Unicast</description>
			</value>
			<value>
				<name>EMBER_INCOMING_UNICAST_REPLY</name>
				<enum_value>0x0001</enum_value>
				<description>Unicast reply</description>
			</value>
			<value>
				<name>EMBER_INCOMING_MULTICAST</name>
				<enum_value>0x0002</enum_value>
				<description>Multicast</description>
			</value>
			<value>
				<name>EMBER_INCOMING_MULTICAST_LOOPBACK</name>
				<enum_value>0x0003</enum_value>
				<description>Multicast sent by the local device</description>
			</value>
			<value>
				<name>EMBER_INCOMING_BROADCAST</name>
				<enum_value>0x0004</enum_value>
				<description>Broadcast</description>
			</value>
			<value>
				<name>EMBER_INCOMING_BROADCAST_LOOPBACK</name>
				<enum_value>0x0005</enum_value>
				<description>Broadcast sent by the local device.</description>
			</value>
			<value>
				<name>EMBER_INCOMING_MANY_TO_ONE_ROUTE_REQUEST</name>
				<enum_value>0x0006</enum_value>
				<description>Many to one route request</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberApsOption</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_APS_OPTION_NONE</name>
				<enum_value>0x0000</enum_value>
				<description>No options</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_ENCRYPTION</name>
				<enum_value>0x0020</enum_value>
				<description>Send the message using APS Encryption, using the Link Key shared with the destination node to encrypt the data at the APS Level.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_RETRY</name>
				<enum_value>0x0040</enum_value>
				<description>Resend the message using the APS retry mechanism.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_ENABLE_ROUTE_DISCOVERY</name>
				<enum_value>0x0100</enum_value>
				<description>Causes a route discovery to be initiated if no route to the destination is known.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_FORCE_ROUTE_DISCOVERY</name>
				<enum_value>0x0200</enum_value>
				<description>Causes a route discovery to be initiated even if one is known.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_SOURCE_EUI64</name>
				<enum_value>0x0400</enum_value>
				<description>Include the source EUI64 in the network frame.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_DESTINATION_EUI64</name>
				<enum_value>0x0800</enum_value>
				<description>Include the destination EUI64 in the network frame</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_ENABLE_ADDRESS_DISCOVERY</name>
				<enum_value>0x1000</enum_value>
				<description>Send a ZDO request to discover the node ID of the destination, if it is not already know.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_POLL_RESPONSE</name>
				<enum_value>0x2000</enum_value>
				<description>Reserved</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_ZDO_RESPONSE_REQUIRED</name>
				<enum_value>0x4000</enum_value>
				<description>This incoming message is a ZDO request not handled by the EmberZNet stack, and the application is responsible for sending a ZDO response. This flag is used only when the ZDO is configured to have requests handled by the application. See the EZSP_CONFIG_APPLICATION_ZDO_FLAGS configuration parameter for more information.</description>
			</value>
			<value>
				<name>EMBER_APS_OPTION_FRAGMENT</name>
				<enum_value>0x8000</enum_value>
				<description>This message is part of a fragmented message. This option may only be set for unicasts. The groupId field gives the index of this fragment in the low-order byte. If the low-order byte is zero this is the first fragment and the high-order byte contains the number of fragments in the message.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberJoinDecision</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_USE_PRECONFIGURED_KEY</name>
				<enum_value>0x0000</enum_value>
				<description>Allow the node to join. The joining node should have a pre-configured key. The security data sent to it will be encrypted with that key.</description>
			</value>
			<value>
				<name>EMBER_SEND_KEY_IN_THE_CLEAR</name>
				<enum_value>0x0001</enum_value>
				<description>Allow the node to join. Send the necessary key (the Network Key in Standard Security mode, the Trust Center Master in High Security mode) in-the-clear to the joining device.</description>
			</value>
			<value>
				<name>EMBER_DENY_JOIN</name>
				<enum_value>0x0002</enum_value>
				<description>Deny join.</description>
			</value>
			<value>
				<name>EMBER_NO_ACTION</name>
				<enum_value>0x0003</enum_value>
				<description>Take no action.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberLeaveReason</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_LEAVE_REASON_NONE</name>
				<enum_value>0x0000</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_LEAVE_DUE_TO_NWK_LEAVE_MESSAGE</name>
				<enum_value>0x0001</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_LEAVE_DUE_TO_APS_REMOVE_MESSAGE</name>
				<enum_value>0x0002</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_LEAVE_DUE_TO_ZDO_LEAVE_MESSAGE</name>
				<enum_value>0x0003</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_LEAVE_DUE_TO_ZLL_TOUCHLINK</name>
				<enum_value>0x0004</enum_value>
				<description></description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberNodeType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_UNKNOWN_DEVICE</name>
				<enum_value>0x0000</enum_value>
				<description>Device is not joined</description>
			</value>
			<value>
				<name>EMBER_COORDINATOR</name>
				<enum_value>0x0001</enum_value>
				<description>Will relay messages and can act as a parent to other nodes.</description>
			</value>
			<value>
				<name>EMBER_ROUTER</name>
				<enum_value>0x0002</enum_value>
				<description>Will relay messages and can act as a parent to other nodes.</description>
			</value>
			<value>
				<name>EMBER_END_DEVICE</name>
				<enum_value>0x0003</enum_value>
				<description>Communicates only with its parent and will not relay messages.</description>
			</value>
			<value>
				<name>EMBER_SLEEPY_END_DEVICE</name>
				<enum_value>0x0004</enum_value>
				<description>An end device whose radio can be turned off to save power. The application must poll to receive messages.</description>
			</value>
			<value>
				<name>EMBER_MOBILE_END_DEVICE</name>
				<enum_value>0x0005</enum_value>
				<description>A sleepy end device that can move through the network.</description>
			</value>
			<value>
				<name>EMBER_RF4CE_TARGET</name>
				<enum_value>0x0006</enum_value>
				<description>RF4CE target node.</description>
			</value>
			<value>
				<name>EMBER_RF4CE_CONTROLLER</name>
				<enum_value>0x0007</enum_value>
				<description>RF4CE controller node.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EzspNetworkScanType</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_ENERGY_SCAN</name>
				<enum_value>0x0000</enum_value>
				<description>An energy scan scans each channel for its RSSI value.</description>
			</value>
			<value>
				<name>EZSP_ACTIVE_SCAN</name>
				<enum_value>0x0001</enum_value>
				<description>An active scan scans each channel for available networks.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberInitialSecurityBitmask</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_STANDARD_SECURITY_MODE</name>
				<enum_value>0x0000</enum_value>
				<description>This enables ZigBee Standard Security on the node.</description>
			</value>
			<value>
				<name>EMBER_DISTRIBUTED_TRUST_CENTER_MODE</name>
				<enum_value>0x0002</enum_value>
				<description>This enables Distributed Trust Center Mode for the device forming the network. (Previously known as EMBER_NO_TRUST_CENTER_MODE)</description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_GLOBAL_LINK_KEY</name>
				<enum_value>0x0004</enum_value>
				<description>This enables a Global Link Key for the Trust Center. All nodes will share the same Trust Center Link Key</description>
			</value>
			<value>
				<name>EMBER_PRECONFIGURED_NETWORK_KEY_MODE</name>
				<enum_value>0x0008</enum_value>
				<description>This enables devices that perform MAC Association with a pre-configured Network Key to join the network. It is only set on the Trust Center.</description>
			</value>
			<value>
				<name>EMBER_HAVE_TRUST_CENTER_EUI64</name>
				<enum_value>0x0040</enum_value>
				<description>This denotes that the ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in it containing the trust center EUI64.  The device will only join a network and accept commands from a trust center with that EUI64. Normally this bit is NOT set, and the EUI64 of the trust center is learned during the join process.  When commissioning a device to join onto an existing network that is using a trust center, and without sending any messages, this bit must be set and the field ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be populated with the appropriate EUI64.</description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_USES_HASHED_LINK_KEY</name>
				<enum_value>0x0084</enum_value>
				<description>This denotes that the preconfiguredKey is not the actual Link Key but a Secret Key known only to the Trust Center. It is hashed with the IEEE Address of the destination device in order to create the actual Link Key used in encryption. This is bit is only used by the Trust Center. The joining device need not set this.</description>
			</value>
			<value>
				<name>EMBER_HAVE_PRECONFIGURED_KEY</name>
				<enum_value>0x0100</enum_value>
				<description>This denotes that the preconfiguredKey element has valid data that should be used to configure the initial security state.</description>
			</value>
			<value>
				<name>EMBER_HAVE_NETWORK_KEY</name>
				<enum_value>0x0200</enum_value>
				<description>This denotes that the networkKey element has valid data that should be used to configure the initial security state.</description>
			</value>
			<value>
				<name>EMBER_GET_LINK_KEY_WHEN_JOINING</name>
				<enum_value>0x0400</enum_value>
				<description>This denotes to a joining node that it should attempt to acquire a Trust Center Link Key during joining. This is only necessary if the device does not have a pre-configured key.</description>
			</value>
			<value>
				<name>EMBER_REQUIRE_ENCRYPTED_KEY</name>
				<enum_value>0x0800</enum_value>
				<description>This denotes that a joining device should only accept an encrypted network key from the Trust Center (using its preconfigured key). A key sent in-the-clear by the Trust Center will be rejected and the join will fail. This option is only valid when utilizing a pre-configured key.</description>
			</value>
			<value>
				<name>EMBER_NO_FRAME_COUNTER_RESET</name>
				<enum_value>0x1000</enum_value>
				<description>This denotes whether the device should NOT reset its outgoing frame counters (both NWK and APS) when ::emberSetInitialSecurityState() is called. Normally it is advised to reset the frame counter before joining a new network. However in cases where a device is joining to the same network a again (but not using ::emberRejoinNetwork()) it should keep the NWK and APS frame counters stored in its tokens.</description>
			</value>
			<value>
				<name>EMBER_GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE</name>
				<enum_value>0x2000</enum_value>
				<description>This denotes that the device should obtain its preconfigured key from an installation code stored in the manufacturing token. The token contains a value that will be hashed to obtain the actual preconfigured key. If that token is not valid, then the call to emberSetInitialSecurityState() will fail.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberKeyType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_TRUST_CENTER_LINK_KEY</name>
				<enum_value>0x0001</enum_value>
				<description>A shared key between the Trust Center and a device.</description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_MASTER_KEY</name>
				<enum_value>0x0002</enum_value>
				<description>A shared secret used for deriving keys between the Trust Center and a device</description>
			</value>
			<value>
				<name>EMBER_CURRENT_NETWORK_KEY</name>
				<enum_value>0x0003</enum_value>
				<description>The current active Network Key used by all devices in the network.</description>
			</value>
			<value>
				<name>EMBER_NEXT_NETWORK_KEY</name>
				<enum_value>0x0004</enum_value>
				<description>The alternate Network Key that was previously in use, or the newer key that will be switched to.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_LINK_KEY</name>
				<enum_value>0x0005</enum_value>
				<description>An Application Link Key shared with another (non-Trust Center) device.</description>
			</value>
			<value>
				<name>EMBER_APPLICATION_MASTER_KEY</name>
				<enum_value>0x0006</enum_value>
				<description>An Application Master Key shared secret used to derive an Application Link Key.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberKeyStructBitmask</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_KEY_HAS_SEQUENCE_NUMBER</name>
				<enum_value>0x0001</enum_value>
				<description>The key has a sequence number associated with it.</description>
			</value>
			<value>
				<name>EMBER_KEY_HAS_OUTGOING_FRAME_COUNTER</name>
				<enum_value>0x0002</enum_value>
				<description>The key has an outgoing frame counter associated with it.</description>
			</value>
			<value>
				<name>EMBER_KEY_HAS_INCOMING_FRAME_COUNTER</name>
				<enum_value>0x0004</enum_value>
				<description>The key has an incoming frame counter associated with it.</description>
			</value>
			<value>
				<name>EMBER_KEY_HAS_PARTNER_EUI64</name>
				<enum_value>0x0008</enum_value>
				<description>The key has a Partner IEEE address associated with it.</description>
			</value>
			<value>
				<name>EMBER_KEY_IS_AUTHORIZED</name>
				<enum_value>0x0010</enum_value>
				<description>This indicates the key is authorized for use in APS data messages. If the key is not authorized for use in APS data messages it has not yet gone through a key agreement protocol, such as CBKE (i.e. ECC).</description>
			</value>
			<value>
				<name>EMBER_KEY_PARTNER_IS_SLEEPY</name>
				<enum_value>0x0020</enum_value>
				<description>This indicates that the partner associated with the link is a sleepy end device.  This bit is set automatically if the local device hears a device announce from the partner indicating it is not an 'RX on when idle' device.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EzspMfgTokenId</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_MFG_CUSTOM_VERSION</name>
				<enum_value>0x0000</enum_value>
				<description>Custom version (2 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_STRING</name>
				<enum_value>0x0001</enum_value>
				<description>Manufacturing string (16 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_BOARD_NAME</name>
				<enum_value>0x0002</enum_value>
				<description>Board name (16 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_MANUF_ID</name>
				<enum_value>0x0003</enum_value>
				<description>Manufacturing ID (2 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_PHY_CONFIG</name>
				<enum_value>0x0004</enum_value>
				<description>Radio configuration (2 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_BOOTLOAD_AES_KEY</name>
				<enum_value>0x0005</enum_value>
				<description>Bootload AES key (16 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_ASH_CONFIG</name>
				<enum_value>0x0006</enum_value>
				<description>ASH configuration (40 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_EZSP_STORAGE</name>
				<enum_value>0x0007</enum_value>
				<description>EZSP storage (8 bytes)</description>
			</value>
			<value>
				<name>EZSP_STACK_CAL_DATA</name>
				<enum_value>0x0008</enum_value>
				<description>Radio calibration data (64 bytes). 4 bytes are stored for each of the 16 channels. This token is not stored in the Flash Information Area. It is updated by the stack each time a calibration is performed.</description>
			</value>
			<value>
				<name>EZSP_MFG_CBKE_DATA</name>
				<enum_value>0x0009</enum_value>
				<description>Certificate Based Key Exchange (CBKE) data (92 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_INSTALLATION_CODE</name>
				<enum_value>0x000A</enum_value>
				<description>Installation code (20 bytes)</description>
			</value>
			<value>
				<name>EZSP_STACK_CAL_FILTER</name>
				<enum_value>0x000B</enum_value>
				<description>Radio channel filter calibration data (1 byte). This token is not stored in the Flash Information Area. It is updated by the stack each time a calibration is performed.</description>
			</value>
			<value>
				<name>EZSP_MFG_CUSTOM_EUI_64</name>
				<enum_value>0x000C</enum_value>
				<description>Custom EUI64 MAC address (8 bytes)</description>
			</value>
			<value>
				<name>EZSP_MFG_CTUNE</name>
				<enum_value>0x000D</enum_value>
				<description>CTUNE value (2 byte)</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberKeyStatus</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_KEY_STATUS_NONE</name>
				<enum_value>0x0000</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_APP_LINK_KEY_ESTABLISHED</name>
				<enum_value>0x0001</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_APP_MASTER_KEY_ESTABLISHED</name>
				<enum_value>0x0002</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_LINK_KEY_ESTABLISHED</name>
				<enum_value>0x0003</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_KEY_ESTABLISHMENT_TIMEOUT</name>
				<enum_value>0x0004</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_KEY_TABLE_FULL</name>
				<enum_value>0x0005</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_RESPONDED_TO_KEY_REQUEST</name>
				<enum_value>0x0006</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_APP_KEY_SENT_TO_REQUESTER</name>
				<enum_value>0x0007</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_RESPONSE_TO_KEY_REQUEST_FAILED</name>
				<enum_value>0x0008</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REQUEST_KEY_TYPE_NOT_SUPPORTED</name>
				<enum_value>0x0009</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_NO_LINK_KEY_FOR_REQUESTER</name>
				<enum_value>0x000A</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REQUESTER_EUI64_UNKNOWN</name>
				<enum_value>0x000B</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_RECEIVED_FIRST_APP_KEY_REQUEST</name>
				<enum_value>0x000C</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST</name>
				<enum_value>0x000D</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED</name>
				<enum_value>0x000E</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_FAILED_TO_SEND_APP_KEYS</name>
				<enum_value>0x000F</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_FAILED_TO_STORE_APP_KEY_REQUEST</name>
				<enum_value>0x0010</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REJECTED_APP_KEY_REQUEST</name>
				<enum_value>0x0011</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_FAILED_TO_GENERATE_NEW_KEY</name>
				<enum_value>0x0012</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_FAILED_TO_SEND_TC_KEY</name>
				<enum_value>0x00013</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TRUST_CENTER_IS_PRE_R21</name>
				<enum_value>0x001E</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REQUESTER_VERIFY_KEY_TIMEOUT</name>
				<enum_value>0x0032</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REQUESTER_VERIFY_KEY_FAILURE</name>
				<enum_value>0x0033</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_TC_REQUESTER_VERIFY_KEY_SUCCESS</name>
				<enum_value>0x0034</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_VERIFY_LINK_KEY_FAILURE</name>
				<enum_value>0x0064</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_VERIFY_LINK_KEY_SUCCESS</name>
				<enum_value>0x0065</enum_value>
				<description></description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberDeviceUpdate</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_STANDARD_SECURITY_SECURED_REJOIN</name>
				<enum_value>0x0000</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_STANDARD_SECURITY_UNSECURED_JOIN</name>
				<enum_value>0x0001</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_DEVICE_LEFT</name>
				<enum_value>0x0002</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_STANDARD_SECURITY_UNSECURED_REJOIN</name>
				<enum_value>0x0003</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_HIGH_SECURITY_SECURED_REJOIN</name>
				<enum_value>0x0004</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_HIGH_SECURITY_UNSECURED_JOIN</name>
				<enum_value>0x0005</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_HIGH_SECURITY_UNSECURED_REJOIN</name>
				<enum_value>0x0007</enum_value>
				<description></description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberCounterType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_COUNTER_MAC_RX_BROADCAST</name>
				<enum_value>0</enum_value>
				<description>The MAC received a broadcast</description>
			</value>
			<value>
				<name>EMBER_COUNTER_MAC_TX_BROADCAST</name>
				<enum_value>1</enum_value>
				<description>The MAC transmitted a broadcast</description>
			</value>
			<value>
				<name>EMBER_COUNTER_MAC_RX_UNICAST</name>
				<enum_value>2</enum_value>
				<description>The MAC received a unicast</description>
			</value>
			<value>
				<name>EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS</name>
				<enum_value>3</enum_value>
				<description>The MAC successfully transmitted a unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_MAC_TX_UNICAST_RETRY</name>
				<enum_value>4</enum_value>
				<description>The MAC retried a unicast</description>
			</value>
			<value>
				<name>EMBER_COUNTER_MAC_TX_UNICAST_FAILED</name>
				<enum_value>5</enum_value>
				<description>The MAC unsuccessfully transmitted a unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_RX_BROADCAST</name>
				<enum_value>6</enum_value>
				<description>The APS layer received a data broadcast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_TX_BROADCAST</name>
				<enum_value>7</enum_value>
				<description>The APS layer transmitted a data broadcast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_RX_UNICAST</name>
				<enum_value>8</enum_value>
				<description>The APS layer received a data unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_TX_UNICAST_SUCCESS</name>
				<enum_value>9</enum_value>
				<description>The APS layer successfully transmitted a data unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_TX_UNICAST_RETRY</name>
				<enum_value>10</enum_value>
				<description>The APS layer retried a data unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DATA_TX_UNICAST_FAILED</name>
				<enum_value>11</enum_value>
				<description>The APS layer unsuccessfully transmitted a data unicast.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_ROUTE_DISCOVERY_INITIATED</name>
				<enum_value>12</enum_value>
				<description>The network layer successfully submitted a new route discovery to the MAC.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_NEIGHBOR_ADDED</name>
				<enum_value>13</enum_value>
				<description>An entry was added to the neighbor table.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_NEIGHBOR_REMOVED</name>
				<enum_value>14</enum_value>
				<description>An entry was removed from the neighbor table.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_NEIGHBOR_STALE</name>
				<enum_value>15</enum_value>
				<description>A neighbor table entry became stale because it had not been heard from.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_JOIN_INDICATION</name>
				<enum_value>16</enum_value>
				<description>A node joined or rejoined to the network via this node.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_CHILD_REMOVED</name>
				<enum_value>17</enum_value>
				<description>An entry was removed from the child table.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_ASH_OVERFLOW_ERROR</name>
				<enum_value>18</enum_value>
				<description>EZSP-UART only. An overflow error occurred in the UART</description>
			</value>
			<value>
				<name>EMBER_COUNTER_ASH_FRAMING_ERROR</name>
				<enum_value>19</enum_value>
				<description>EZSP-UART only. A framing error occurred in the UART</description>
			</value>
			<value>
				<name>EMBER_COUNTER_ASH_OVERRUN_ERROR</name>
				<enum_value>20</enum_value>
				<description>EZSP-UART only. An overrun error occurred in the UART</description>
			</value>
			<value>
				<name>EMBER_COUNTER_NWK_FRAME_COUNTER_FAILURE</name>
				<enum_value>21</enum_value>
				<description>A message was dropped at the network layer because the NWK frame counter was not higher than the last message seen from that source.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_FRAME_COUNTER_FAILURE</name>
				<enum_value>22</enum_value>
				<description>A message was dropped at the APS layer because the APS frame counter was not higher than the last message seen from that source.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_UTILITY</name>
				<enum_value>23</enum_value>
				<description>Utility counter for general debugging use.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_LINK_KEY_NOT_AUTHORIZED</name>
				<enum_value>24</enum_value>
				<description>A message was dropped at the APS layer because it had APS encryption but the key associated with the sender has not been authenticated, and thus the key is not authorized for use in APS data messages.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_NWK_DECRYPTION_FAILURE</name>
				<enum_value>25</enum_value>
				<description>A NWK encrypted message was received but dropped because decryption failed.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_APS_DECRYPTION_FAILURE</name>
				<enum_value>26</enum_value>
				<description>An APS encrypted message was received but dropped because decryption failed.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE</name>
				<enum_value>27</enum_value>
				<description>The number of times we failed to allocate a set of linked packet buffers. This doesn't necessarily mean that the packet buffer count was 0 at the time, but that the number requested was greater than the number free.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_RELAYED_UNICAST</name>
				<enum_value>28</enum_value>
				<description>The number of relayed unicast packets.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED</name>
				<enum_value>29</enum_value>
				<description>The number of times we dropped a packet due to reaching the preset PHY to MAC queue limit (emMaxPhyToMacQueueLength).  The limit will determine how many messages are accepted by the PHY between calls to emberTick(). After that limit is hit, packets will be dropped.  The number of dropped packets will be recorded in this counter. NOTE: For each call to emberCounterHandler() there may be more than 1 packet that was dropped due to the limit reached.  The actual number of packets dropped will be returned in the 'data' parameter passed to that function.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT</name>
				<enum_value>30</enum_value>
				<description>The number of times we dropped a packet due to the packet-validate library checking a packet and rejecting it due to length or other formatting problems.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_TYPE_NWK_RETRY_OVERFLOW</name>
				<enum_value>31</enum_value>
				<description>The number of times the NWK retry queue is full and a new message failed to be added. </description>
			</value>
			<value>
				<name>EMBER_COUNTER_PHY_CCA_FAIL_COUNT</name>
				<enum_value>32</enum_value>
				<description>The number of times the PHY layer was unable to transmit due to a failed CCA</description>
			</value>
			<value>
				<name>EMBER_COUNTER_BROADCAST_TABLE_FULL</name>
				<enum_value>33</enum_value>
				<description>The number of times a NWK broadcast was dropped because the the broadcast table was full.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_LO_PRI_REQUESTED</name>
				<enum_value>34</enum_value>
				<description>The number of low priority packet traffic arbitration requests.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_HI_PRI_REQUESTED</name>
				<enum_value>35</enum_value>
				<description>The number of high priority packet traffic arbitration requests.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_LO_PRI_DENIED</name>
				<enum_value>36</enum_value>
				<description>The number of low priority packet traffic arbitration requests denied.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_HI_PRI_DENIED</name>
				<enum_value>37</enum_value>
				<description>The number of high priority packet traffic arbitration requests denied.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_LO_PRI_TX_ABORTED</name>
				<enum_value>38</enum_value>
				<description>The number of aborted low priority packet traffic arbitration transmissions.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_PTA_HI_PRI_TX_ABORTED</name>
				<enum_value>39</enum_value>
				<description>The number of aborted high priority packet traffic arbitration transmissions.</description>
			</value>
			<value>
				<name>EMBER_COUNTER_TYPE_COUNT</name>
				<enum_value>40</enum_value>
				<description>A placeholder giving the number of Ember counter types.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberNetworkStatus</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_NO_NETWORK</name>
				<enum_value>0</enum_value>
				<description>The node is not associated with a network in any way.</description>
			</value>
			<value>
				<name>EMBER_JOINING_NETWORK</name>
				<enum_value>1</enum_value>
				<description>The node is currently attempting to join a network.</description>
			</value>
			<value>
				<name>EMBER_JOINED_NETWORK</name>
				<enum_value>2</enum_value>
				<description>The node is joined to a network.</description>
			</value>
			<value>
				<name>EMBER_JOINED_NETWORK_NO_PARENT</name>
				<enum_value>3</enum_value>
				<description>The node is an end device joined to a network but its parent is not responding.</description>
			</value>
			<value>
				<name>EMBER_LEAVING_NETWORK</name>
				<enum_value>4</enum_value>
				<description>The node is in the process of leaving its current network.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberMacPassthroughType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_MAC_PASSTHROUGH_NONE</name>
				<enum_value>0x00</enum_value>
				<description>No MAC passthrough messages.</description>
			</value>
			<value>
				<name>EMBER_MAC_PASSTHROUGH_SE_INTERPAN</name>
				<enum_value>0x01</enum_value>
				<description>SE InterPAN messages.</description>
			</value>
			<value>
				<name>EMBER_MAC_PASSTHROUGH_EMBERNET</name>
				<enum_value>0x02</enum_value>
				<description>Legacy EmberNet messages.</description>
			</value>
			<value>
				<name>EMBER_MAC_PASSTHROUGH_EMBERNET_SOURCE</name>
				<enum_value>0x04</enum_value>
				<description>Legacy EmberNet messages filtered by their source address.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberConcentratorType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_LOW_RAM_CONCENTRATOR</name>
				<enum_value>0xFFF8</enum_value>
				<description>A concentrator with insufficient memory to store source routes for the entire network. Route records are sent to the concentrator prior to every inbound APS unicast.</description>
			</value>
			<value>
				<name>EMBER_HIGH_RAM_CONCENTRATOR</name>
				<enum_value>0xFFF9</enum_value>
				<description>A concentrator with sufficient memory to store source routes for the entire network. Remote nodes stop sending route records once the concentrator has successfully received one.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberZigbeeCommandType</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_MAC</name>
				<enum_value>0</enum_value>
				<description>Describes an 802.15.4 MAC layer command. </description>
			</value>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_NWK</name>
				<enum_value>1</enum_value>
				<description>Describes a ZigBee Network layer command.</description>
			</value>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_APS</name>
				<enum_value>2</enum_value>
				<description>Describes a ZigBee Application Support layer command.</description>
			</value>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_ZDO</name>
				<enum_value>3</enum_value>
				<description>Describes a ZigBee Device Object command.</description>
			</value>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_ZCL</name>
				<enum_value>4</enum_value>
				<description>Describes a ZigBee Cluster Library command.</description>
			</value>
			<value>
				<name>EMBER_ZIGBEE_COMMAND_TYPE_BEACON</name>
				<enum_value>5</enum_value>
				<description>Although a beacon is not a MAC command, we have it here for simplicity.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EzspValueId</name>
		<description></description>
		<values>
			<value>
				<name>EZSP_VALUE_TOKEN_STACK_NODE_DATA</name>
				<enum_value>0x00</enum_value>
				<description>The contents of the node data stack token.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MAC_PASSTHROUGH_FLAGS</name>
				<enum_value>0x01</enum_value>
				<description>The types of MAC passthrough messages that the host wishes to receive.</description>
			</value>
			<value>
				<name>EZSP_VALUE_EMBERNET_PASSTHROUGH_SOURCE_ADDRESS</name>
				<enum_value>0x02</enum_value>
				<description>The source address used to filter legacy EmberNet messages when the EMBER_MAC_PASSTHROUGH_EMBERNET_SOURCE flag is set in EZSP_VALUE_MAC_PASSTHROUGH_FLAGS.</description>
			</value>
			<value>
				<name>EZSP_VALUE_FREE_BUFFERS</name>
				<enum_value>0x03</enum_value>
				<description>The number of available message buffers.</description>
			</value>
			<value>
				<name>EZSP_VALUE_UART_SYNCH_CALLBACKS</name>
				<enum_value>0x04</enum_value>
				<description>Selects sending synchronous callbacks in ezsp-uart.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE</name>
				<enum_value>0x05</enum_value>
				<description>The maximum incoming transfer size for the local node.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE</name>
				<enum_value>0x06</enum_value>
				<description>The maximum outgoing transfer size for the local node.</description>
			</value>
			<value>
				<name>EZSP_VALUE_STACK_TOKEN_WRITING</name>
				<enum_value>0x07</enum_value>
				<description>A boolean indicating whether stack tokens are written to persistent storage as they change.</description>
			</value>
			<value>
				<name>EZSP_VALUE_STACK_IS_PERFORMING_REJOIN</name>
				<enum_value>0x08</enum_value>
				<description>A read-only value indicating whether the stack is currently performing a rejoin.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MAC_FILTER_LIST</name>
				<enum_value>0x09</enum_value>
				<description>A list of EmberMacFilterMatchData values.</description>
			</value>
			<value>
				<name>EZSP_VALUE_EXTENDED_SECURITY_BITMASK</name>
				<enum_value>0x0A</enum_value>
				<description>The Ember Extended Security Bitmask.</description>
			</value>
			<value>
				<name>EZSP_VALUE_NODE_SHORT_ID</name>
				<enum_value>0x0B</enum_value>
				<description>The node short ID.</description>
			</value>
			<value>
				<name>EZSP_VALUE_DESCRIPTOR_CAPABILITY</name>
				<enum_value>0x0C</enum_value>
				<description>The descriptor capability of the local node.</description>
			</value>
			<value>
				<name>EZSP_VALUE_STACK_DEVICE_REQUEST_SEQUENCE_NUMBER</name>
				<enum_value>0x0D</enum_value>
				<description>The stack device request sequence number of the local node.</description>
			</value>
			<value>
				<name>EZSP_VALUE_RADIO_HOLD_OFF</name>
				<enum_value>0x0E</enum_value>
				<description>Enable or disable radio hold-off.</description>
			</value>
			<value>
				<name>EZSP_VALUE_ENDPOINT_FLAGS</name>
				<enum_value>0x0F</enum_value>
				<description>The flags field associated with the endpoint data.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MFG_SECURITY_CONFIG</name>
				<enum_value>0x10</enum_value>
				<description>Enable/disable the Mfg security config key settings.</description>
			</value>
			<value>
				<name>EZSP_VALUE_VERSION_INFO</name>
				<enum_value>0x11</enum_value>
				<description>Retrieves the version information from the stack on the NCP.</description>
			</value>
			<value>
				<name>EZSP_VALUE_NEXT_HOST_REJOIN_REASON</name>
				<enum_value>0x12</enum_value>
				<description>This will get/set the rejoin reason noted by the host for a subsequent call to emberFindAndRejoinNetwork(). After a call to emberFindAndRejoinNetwork() the host's rejoin reason will be set to EMBER_REJOIN_REASON_NONE. The NCP will store the rejoin reason used by the call to emberFindAndRejoinNetwork()</description>
			</value>
			<value>
				<name>EZSP_VALUE_LAST_REJOIN_REASON</name>
				<enum_value>0x13</enum_value>
				<description>This is the reason that the last rejoin took place. This value may only be retrieved, not set. The rejoin may have been initiated by the stack (NCP) or the application (host). If a host initiated a rejoin the reason will be set by default to EMBER_REJOIN_DUE_TO_APP_EVENT_1. If the application wishes to denote its own rejoin reasons it can do so by calling ezspSetValue(EMBER_VALUE_HOST_REJOIN_REASON, EMBER_REJOIN_DUE_TO_APP_EVENT_X). X is a number corresponding to one of the app events defined. If the NCP initiated a rejoin it will record this value internally for retrieval by ezspGetValue(EZSP_VALUE_REAL_REJOIN_REASON).</description>
			</value>
			<value>
				<name>EZSP_VALUE_NEXT_ZIGBEE_SEQUENCE_NUMBER</name>
				<enum_value>0x14</enum_value>
				<description>The next ZigBee sequence number.</description>
			</value>
			<value>
				<name>EZSP_VALUE_CCA_THRESHOLD</name>
				<enum_value>0x15</enum_value>
				<description>CCA energy detect threshold for radio.</description>
			</value>
			<value>
				<name>EZSP_VALUE_SET_COUNTER_THRESHOLD</name>
				<enum_value>0x17</enum_value>
				<description>The threshold value for a counter</description>
			</value>
			<value>
				<name>EZSP_VALUE_RESET_COUNTER_THRESHOLDS</name>
				<enum_value>0x18</enum_value>
				<description>Resets all counters thresholds to 0xFF</description>
			</value>
			<value>
				<name>EZSP_VALUE_CLEAR_COUNTERS</name>
				<enum_value>0x19</enum_value>
				<description>Clears all the counters</description>
			</value>
			<value>
				<name>EZSP_VALUE_CERTIFICATE_283K1</name>
				<enum_value>0x1A</enum_value>
				<description>The node's new certificate signed by the CA.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PUBLIC_KEY_283K1</name>
				<enum_value>0x1B</enum_value>
				<description>The Certificate Authority's public key.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PRIVATE_KEY_283K1</name>
				<enum_value>0x1C</enum_value>
				<description>The node's new static private key.</description>
			</value>
			<value>
				<name>EZSP_VALUE_NWK_FRAME_COUNTER</name>
				<enum_value>0x23</enum_value>
				<description>The NWK layer security frame counter value</description>
			</value>
			<value>
				<name>EZSP_VALUE_APS_FRAME_COUNTER</name>
				<enum_value>0x24</enum_value>
				<description>The APS layer security frame counter value</description>
			</value>
			<value>
				<name>EZSP_VALUE_RETRY_DEVICE_TYPE</name>
				<enum_value>0x25</enum_value>
				<description>Sets the device type to use on the next rejoin using device type</description>
			</value>
			<value>
				<name>EZSP_VALUE_ENABLE_R21_BEHAVIOR</name>
				<enum_value>0x29</enum_value>
				<description>Setting this byte enables R21 behavior on the NCP.</description>
			</value>
			<value>
				<name>EZSP_VALUE_ANTENNA_MODE</name>
				<enum_value>0x30</enum_value>
				<description>Configure the antenna mode(0-primary,1-secondary,2-toggle on tx ack fail).</description>
			</value>
			<value>
				<name>EZSP_VALUE_ENABLE_PTA</name>
				<enum_value>0x31</enum_value>
				<description>Enable or disable packet traffic arbitration.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PTA_OPTIONS</name>
				<enum_value>0x32</enum_value>
				<description>Set packet traffic arbitration configuration options.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MFGLIB_OPTIONS</name>
				<enum_value>0x33</enum_value>
				<description>Configure manufacturing library options (0-non-CSMA transmits,1-CSMA transmits).</description>
			</value>
			<value>
				<name>EZSP_VALUE_USE_NEGOTIATED_POWER_BY_LPD</name>
				<enum_value>0x34</enum_value>
				<description>Sets the flag to use either negotiated power by link power delta (LPD) or fixed power value provided by user while forming/joining a network for packet transmissions on subghz interface. This is mainly for testing purposes.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PTA_PWM_OPTIONS</name>
				<enum_value>0x35</enum_value>
				<description>Set packet traffic arbitration PWM options.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PTA_DIRECTIONAL_PRIORITY_PULSE_WIDTH</name>
				<enum_value>0x36</enum_value>
				<description>Set packet traffic arbitration directional priority pulse width in microseconds.</description>
			</value>
			<value>
				<name>EZSP_VALUE_PTA_PHY_SELECT_TIMEOUT</name>
				<enum_value>0x37</enum_value>
				<description>Set packet traffic arbitration phy select timeout(ms).</description>
			</value>
			<value>
				<name>EZSP_VALUE_ANTENNA_RX_MODE</name>
				<enum_value>0x38</enum_value>
				<description>Configure the RX antenna mode: (0-do not switch; 1-primary; 2-secondary; 3-RX antenna diversity).</description>
			</value>
			<value>
				<name>EZSP_VALUE_NWK_KEY_TIMEOUT</name>
				<enum_value>0x39</enum_value>
				<description>Configure the timeout to wait for the network key before failing a join</description>
			</value>
			<value>
				<name>EZSP_VALUE_FORCE_TX_AFTER_FAILED_CCA_ATTEMPTS</name>
				<enum_value>0x3A</enum_value>
				<description>The number of failed CSMA attempts due to failed CCA made by the MAC before continuing transmission with CCA disabled. This is the same as calling the emberForceTxAfterFailedCca(uint8_t csmaAttempts) API. A value of 0 disables the feature.</description>
			</value>
			<value>
				<name>EZSP_VALUE_TRANSIENT_KEY_TIMEOUT_S</name>
				<enum_value>0x3B</enum_value>
				<description>The length of time, in seconds, that a trust center will store a transient link key that a device can use to join its network. A transient key is added with a call to emberAddTransientLinkKey. After the transient key is added, it will be removed once this amount of time has passed. A joining device will not be able to use that key to join until it is added again on the trust center. The default value is 300 seconds (5 minutes).</description>
			</value>
			<value>
				<name>EZSP_VALUE_COULOMB_COUNTER_USAGE</name>
				<enum_value>0x3C</enum_value>
				<description>Cumulative energy usage metric since the last value reset of the coulomb counter plugin. Setting this value will reset the coulomb counter.</description>
			</value>
			<value>
				<name>EZSP_VALUE_MAX_BEACONS_TO_STORE</name>
				<enum_value>0x3D</enum_value>
				<description>When scanning, configure the maximum number of beacons to store in cache. Each beacon consumes one packet buffer in RAM.</description>
			</value>
			<value>
				<name>EZSP_VALUE_END_DEVICE_TIMEOUT_OPTIONS_MASK</name>
				<enum_value>0x3E</enum_value>
				<description>Set the mask to filter out unacceptable child timeout options on a router.</description>
			</value>
			<value>
				<name>EZSP_VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE</name>
				<enum_value>0x3F</enum_value>
				<description>The end device keep-alive mode supported by the parent.</description>
			</value>
			<value>
				<name>EZSP_VALUE_GPIO_RADIO_POWER_MASK</name>
				<enum_value>0x40</enum_value>
				<description>Sets the mask that controls which pins will have their GPIO configuration and output values set to their power-up and power-down values when the NCP powers the radio up and down.</description>
			</value>
			<value>
				<name>EZSP_VALUE_ACTIVE_RADIO_CONFIG</name>
				<enum_value>0x41</enum_value>
				<description>Return the active radio config. Read only. Values are 0: Default, 1: Antenna Diversity, 2: Co-Existence, 3: Antenna diversity and Co-Existence.</description>
			</value>
			<value>
				<name>EZSP_VALUE_NWK_OPEN_DURATION</name>
				<enum_value>0x42</enum_value>
				<description>Return the number of seconds the network will remain open. A return value of 0 indicates that the network is closed. Read only.</description>
			</value>
			<value>
				<name>EZSP_VALUE_TRANSIENT_DEVICE_TIMEOUT</name>
				<enum_value>0x43</enum_value>
				<description>Timeout in milliseconds to store entries in the transient device table. If the devices are not authenticated before the timeout, the entry shall be purged.</description>
			</value>
			<value>
				<name>EZSP_VALUE_KEY_STORAGE_VERSION</name>
				<enum_value>0x44</enum_value>
				<description>Return information about the key storage on an NCP. Returns 0 if keys are in classic key storage, and 1 if they are located in PSA key storage. Read only.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EzspExtendedValueId</name>
		<description>GP proxy table entry status.</description>
		<values>
			<value>
				<name>EZSP_EXTENDED_VALUE_ENDPOINT_FLAGS</name>
				<enum_value>0x00</enum_value>
				<description>The flags field associated with the specified endpoint.</description>
			</value>
			<value>
				<name>EZSP_EXTENDED_VALUE_LAST_LEAVE_REASON</name>
				<enum_value>0x01</enum_value>
				<description>This is the reason for the node to leave the network as well as the device that told it to leave. The leave reason is the 1st byte of the value while the node ID is the 2nd and 3rd byte. If the leave was caused due to an API call rather than an over the air message, the node ID will be EMBER_UNKNOWN_NODE_ID (0xFFFD).</description>
			</value>
			<value>
				<name>EZSP_EXTENDED_VALUE_GET_SOURCE_ROUTE_OVERHEAD</name>
				<enum_value>0x02</enum_value>
				<description>This number of bytes of overhead required in the network frame for source routing to a particular destination.</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EmberGpProxyTableEntryStatus</name>
		<description>GP proxy table entry status.</description>
		<values>
			<value>
				<name>EMBER_GP_PROXY_TABLE_ENTRY_STATUS_ACTIVE</name>
				<enum_value>0x01</enum_value>
				<description>The GP table entry is in use for a Proxy Table Entry.</description>
			</value>
			<value>
				<name>EMBER_GP_PROXY_TABLE_ENTRY_STATUS_UNUSED</name>
				<enum_value>0xFF</enum_value>
				<description>The proxy table entry is not in use.</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EmberGpSinkTableEntryStatus</name>
		<description>GP sink table entry status.</description>
		<values>
			<value>
				<name>EMBER_GP_SINK_TABLE_ENTRY_STATUS_ACTIVE</name>
				<enum_value>0x01</enum_value>
				<description>The GP table entry is in use for a Sink Table Entry.</description>
			</value>
			<value>
				<name>EMBER_GP_SINK_TABLE_ENTRY_STATUS_UNUSED</name>
				<enum_value>0xFF</enum_value>
				<description>The proxy table entry is not in use.</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberGpSecurityLevel</name>
		<description>Options to use when sending a message.</description>
		<values>
			<value>
				<name>EMBER_GP_SECURITY_LEVEL_NONE</name>
				<enum_value>0x00</enum_value>
				<description>None.</description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_LEVEL_RESERVED</name>
				<enum_value>0x01</enum_value>
				<description>reserved</description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_LEVEL_FC_MIC</name>
				<enum_value>0x02</enum_value>
				<description>4 Byte Frame Counter + 4 Byte MIC</description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_LEVEL_FC_MIC_ENCRYPTED</name>
				<enum_value>0x03</enum_value>
				<description>4 Byte Frame Counter + 4 Byte MIC + encryption</description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberGpKeyType</name>
		<description>Options to use when sending a message.</description>
		<values>
			<value>
				<name>EMBER_GP_SECURITY_KEY_NONE</name>
				<enum_value>0x00</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_KEY_NWK</name>
				<enum_value>0x01</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_KEY_GPD_GROUP</name>
				<enum_value>0x02</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_KEY_NWK_DERIVED</name>
				<enum_value>0x03</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_KEY_GPD_OOB</name>
				<enum_value>0x04</enum_value>
				<description></description>
			</value>
			<value>
				<name>EMBER_GP_SECURITY_KEY_GPD_DERIVED</name>
				<enum_value>0x07</enum_value>
				<description></description>
			</value>
		</values>
	</enum>

	<enum>
		<name>EmberLibraryId</name>
		<description>The Ember library identifier.</description>
		<values>
			<value>
				<name>EMBER_ZIGBEE_PRO_LIBRARY</name>
				<enum_value>0x00</enum_value>
				<description>Zigbee Pro</description>
			</value>
			<value>
				<name>EMBER_BINDING_LIBRARY</name>
				<enum_value>0x01</enum_value>
				<description>Binding</description>
			</value>
			<value>
				<name>EMBER_END_DEVICE_BIND_LIBRARY</name>
				<enum_value>0x02</enum_value>
				<description>End Device Bind</description>
			</value>
			<value>
				<name>EMBER_SECURITY_CORE_LIBRARY</name>
				<enum_value>0x03</enum_value>
				<description>Security Core</description>
			</value>
			<value>
				<name>EMBER_SECURITY_LINK_KEYS_LIBRARY</name>
				<enum_value>0x04</enum_value>
				<description>Security Link Keys</description>
			</value>
			<value>
				<name>EMBER_ALARM_LIBRARY</name>
				<enum_value>0x05</enum_value>
				<description>Alarms</description>
			</value>
			<value>
				<name>EMBER_CBKE_LIBRARY</name>
				<enum_value>0x06</enum_value>
				<description>CBKE 163K1</description>
			</value>
			<value>
				<name>EMBER_CBKE_DSA_SIGN_LIBRARY</name>
				<enum_value>0x07</enum_value>
				<description>CBKE DSA Sign</description>
			</value>
			<value>
				<name>EMBER_ECC_LIBRARY</name>
				<enum_value>0x08</enum_value>
				<description>ECC</description>
			</value>
			<value>
				<name>EMBER_CBKE_DSA_VERIFY_LIBRARY</name>
				<enum_value>0x09</enum_value>
				<description>CBKE DSA Verify</description>
			</value>
			<value>
				<name>EMBER_PACKET_VALIDATE_LIBRARY</name>
				<enum_value>0x0A</enum_value>
				<description>Packet Validate</description>
			</value>
			<value>
				<name>EMBER_INSTALL_CODE_LIBRARY</name>
				<enum_value>0x0B</enum_value>
				<description>Install Code</description>
			</value>
			<value>
				<name>EMBER_ZLL_LIBRARY</name>
				<enum_value>0x0C</enum_value>
				<description>ZLL</description>
			</value>
			<value>
				<name>EMBER_CBKE_LIBRARY_283K1</name>
				<enum_value>0x0D</enum_value>
				<description>CBKE 283K1</description>
			</value>
			<value>
				<name>EMBER_ECC_LIBRARY_283K1</name>
				<enum_value>0x0E</enum_value>
				<description>ECC 283K1</description>
			</value>
			<value>
				<name>EMBER_CBKE_CORE_LIBRARY</name>
				<enum_value>0x0F</enum_value>
				<description>CBKE core</description>
			</value>
			<value>
				<name>EMBER_NCP_LIBRARY</name>
				<enum_value>0x10</enum_value>
				<description>NCP</description>
			</value>
			<value>
				<name>EMBER_MULTI_NETWORK_LIBRARY</name>
				<enum_value>0x12</enum_value>
				<description>Multi network</description>
			</value>
			<value>
				<name>EMBER_ENHANCED_BEACON_REQUEST_LIBRARY</name>
				<enum_value>0x13</enum_value>
				<description>Enhanced Beacon Request</description>
			</value>
			<value>
				<name>EMBER_CBKE_283K1_DSA_VERIFY_LIBRARY</name>
				<enum_value>0x14</enum_value>
				<description>CBKE 283K1 DSA Verify</description>
			</value>
		</values>
	</enum>
	
	<enum>
		<name>EmberLibraryStatus</name>
		<description>The presence and status of the Ember library.</description>
		<values>
			<value>
				<name>EMBER_LIBRARY_PRESENT</name>
				<enum_value>0x80</enum_value>
				<description>Library is installed</description>
			</value>
			<value>
				<name>EMBER_LIBRARY_ERROR</name>
				<enum_value>0xFF</enum_value>
				<description>Error</description>
			</value>
			<value>
				<name>EMBER_LIBRARY_IS_STUB</name>
				<enum_value>0x00</enum_value>
				<description>Library is not installed</description>
			</value>
		</values>
	</enum>
	<enum>
		<name>EmberGpApplicationId</name>
		<description>Options to use when sending a message.</description>
		<values>
			<value>
				<name>EMBER_GP_APPLICATION_SOURCE_ID</name>
				<enum_value>0x00</enum_value>
				<description>Source identifier</description>
			</value>
			<value>
				<name>EMBER_GP_APPLICATION_IEEE_ADDRESS</name>
				<enum_value>0x02</enum_value>
				<description>IEEE address</description>
			</value>
		</values>
	</enum>
	<enum>
		<name>EmberAddressConstants</name>
		<description>Constants used in Ember API address and table management</description>
		<values>
			<value>
				<name>EMBER_TABLE_ENTRY_UNUSED_NODE_ID</name>
				<enum_value>0xFFFF</enum_value>
				<description>A distinguished network ID that will never be assigned to any node.</description>
			</value>
			<value>
				<name>EMBER_MULTICAST_NODE_ID</name>
				<enum_value>0xFFFE</enum_value>
				<description>A distinguished network ID that will never be assigned to any node. This value is returned when getting the remote node ID from the binding table and the given binding table index refers to a multicast binding entry.</description>
			</value>
			<value>
				<name>EMBER_UNKNOWN_NODE_ID</name>
				<enum_value>0xFFFD</enum_value>
				<description>A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use but the node ID corresponding to the EUI64 in the table is currently unknown.</description>
			</value>
			<value>
				<name>EMBER_DISCOVERY_ACTIVE_NODE_ID</name>
				<enum_value>0xFFFC</enum_value>
				<description>A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use and network address discovery is underway.</description>
			</value>
		</values>
	</enum>
	<enum>
		<name>EmberConfigTxPowerMode</name>
		<description></description>
		<values>
			<value>
				<name>EMBER_TX_POWER_MODE_DEFAULT</name>
				<enum_value>0x00</enum_value>
				<description>Normal power mode and bi-directional RF transmitter output.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_BOOST</name>
				<enum_value>0x01</enum_value>
				<description>Enable boost power mode. This is a high-performance radio mode which offers increased receive sensitivity and transmit power at the cost of an increase in power consumption.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_ALTERNATE</name>
				<enum_value>0x02</enum_value>
				<description>Enable the alternate transmitter output. This allows for simplified connection to an external power amplifier via the RF_TX_ALT_P and RF_TX_ALT_N pins.</description>
			</value>
			<value>
				<name>EMBER_TX_POWER_MODE_BOOST_AND_ALTERNATE</name>
				<enum_value>0x03</enum_value>
				<description>Enable both boost mode and the alternate transmitter output.</description>
			</value>
		</values>
	</enum>


<!-- Note that this definition is not defined by Silabs, but is added here for convenience -->
	<structure>
		<name>EmberSourceRouteTableEntry</name>
		<description>A source route table entry stores information about the next hop along the route to the destination.</description>
		<parameters>
			<parameter>
				<data_type>EmberNodeId</data_type>
				<name>destination</name>
				<description>The node ID of the destination in that entry.</description>
				<display>hex[4]</display>
			</parameter>
			<parameter>
				<data_type>uint8_t</data_type>
				<name>closerIndex</name>
				<description>The closer node index for this source route table entry.</description>
			</parameter>
		</parameters>
	</structure>

</protocol>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy