Windows App Updates (#1431)

* Initial new API helpers

* Finish up API helper

* Update App to use new API helpers

* More cleanup and added support for preferred router ID

* Clean up state change handlers

* Add logging

* Some more clean up and redesign

* Added small readme for Windows App.
This commit is contained in:
Nick Banks
2017-03-07 10:29:30 -08:00
committed by Jonathan Hui
parent 8054fd2f32
commit 974421da98
16 changed files with 1300 additions and 392 deletions
+98 -93
View File
@@ -115,7 +115,7 @@ typedef enum _OTLWF_NOTIF_TYPE
uint32_t ChannelMask;
uint8_t EnergyListLength;
uint8_t EnergyList[MAX_ENERGY_REPORT_LENGTH];
} CommissionerEnergyReportPayload;
// Payload for OTLWF_NOTIF_COMMISSIONER_PANID_QUERY
@@ -168,298 +168,298 @@ typedef enum _OTLWF_NOTIF_TYPE
OTLWF_CTL_CODE(101, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aUp
#define IOCTL_OTLWF_OT_THREAD \
OTLWF_CTL_CODE(102, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aStarted
#define IOCTL_OTLWF_OT_ACTIVE_SCAN \
OTLWF_CTL_CODE(103, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aScanChannels
// uint16_t - aScanDuration
#define IOCTL_OTLWF_OT_DISCOVER \
OTLWF_CTL_CODE(104, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aScanChannels
// uint16_t - aScanDuration
// uint16_t - aPanid
#define IOCTL_OTLWF_OT_CHANNEL \
OTLWF_CTL_CODE(105, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aChannel
#define IOCTL_OTLWF_OT_CHILD_TIMEOUT \
OTLWF_CTL_CODE(106, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aTimeout
#define IOCTL_OTLWF_OT_EXTENDED_ADDRESS \
OTLWF_CTL_CODE(107, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtendedAddress
#define IOCTL_OTLWF_OT_EXTENDED_PANID \
OTLWF_CTL_CODE(108, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtendedPanId - aExtendedPanId
#define IOCTL_OTLWF_OT_LEADER_RLOC \
OTLWF_CTL_CODE(109, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otIp6Address - aLeaderRloc
#define IOCTL_OTLWF_OT_LINK_MODE \
OTLWF_CTL_CODE(110, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otLinkModeConfig - aConfig
#define IOCTL_OTLWF_OT_MASTER_KEY \
OTLWF_CTL_CODE(111, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otMasterKey - aKey
// uint8_t - aKeyLength
#define IOCTL_OTLWF_OT_MESH_LOCAL_EID \
OTLWF_CTL_CODE(112, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otIp6Address - aMeshLocalEid
#define IOCTL_OTLWF_OT_MESH_LOCAL_PREFIX \
OTLWF_CTL_CODE(113, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otMeshLocalPrefix - aPrefix
#define IOCTL_OTLWF_OT_NETWORK_DATA_LEADER \
OTLWF_CTL_CODE(114, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t[] - aData
#define IOCTL_OTLWF_OT_NETWORK_DATA_LOCAL \
OTLWF_CTL_CODE(115, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t[] - aData
#define IOCTL_OTLWF_OT_NETWORK_NAME \
OTLWF_CTL_CODE(116, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otNetworkName - aNetworkName
#define IOCTL_OTLWF_OT_PAN_ID \
OTLWF_CTL_CODE(117, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otPanId - aPanId
#define IOCTL_OTLWF_OT_ROUTER_ROLL_ENABLED \
OTLWF_CTL_CODE(118, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aEnabled
#define IOCTL_OTLWF_OT_SHORT_ADDRESS \
OTLWF_CTL_CODE(119, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otShortAddress - aShortAddress
/* NOT USED
#define IOCTL_OTLWF_OT_UNICAST_ADDRESSES \
OTLWF_CTL_CODE(120, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otNetifAddress[] - aAddresses
*/
#define IOCTL_OTLWF_OT_ACTIVE_DATASET \
OTLWF_CTL_CODE(121, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otOperationalDataset - aDataset
#define IOCTL_OTLWF_OT_PENDING_DATASET \
OTLWF_CTL_CODE(122, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otOperationalDataset - aDataset
#define IOCTL_OTLWF_OT_LOCAL_LEADER_WEIGHT \
OTLWF_CTL_CODE(123, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aWeight
#define IOCTL_OTLWF_OT_ADD_BORDER_ROUTER \
OTLWF_CTL_CODE(124, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otBorderRouterConfig - aConfig
#define IOCTL_OTLWF_OT_REMOVE_BORDER_ROUTER \
OTLWF_CTL_CODE(125, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otIp6Prefix - aPrefix
#define IOCTL_OTLWF_OT_ADD_EXTERNAL_ROUTE \
OTLWF_CTL_CODE(126, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExternalRouteConfig - aConfig
#define IOCTL_OTLWF_OT_REMOVE_EXTERNAL_ROUTE \
OTLWF_CTL_CODE(127, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otIp6Prefix - aPrefix
#define IOCTL_OTLWF_OT_SEND_SERVER_DATA \
OTLWF_CTL_CODE(128, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_CONTEXT_ID_REUSE_DELAY \
OTLWF_CTL_CODE(129, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aDelay
#define IOCTL_OTLWF_OT_KEY_SEQUENCE_COUNTER \
OTLWF_CTL_CODE(130, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aKeySequenceCounter
#define IOCTL_OTLWF_OT_NETWORK_ID_TIMEOUT \
OTLWF_CTL_CODE(131, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aTimeout
#define IOCTL_OTLWF_OT_ROUTER_UPGRADE_THRESHOLD \
OTLWF_CTL_CODE(132, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aThreshold
#define IOCTL_OTLWF_OT_RELEASE_ROUTER_ID \
OTLWF_CTL_CODE(133, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aRouterId
#define IOCTL_OTLWF_OT_MAC_WHITELIST_ENABLED \
OTLWF_CTL_CODE(134, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aEnabled
#define IOCTL_OTLWF_OT_ADD_MAC_WHITELIST \
OTLWF_CTL_CODE(135, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
// int8_t - aRssi (optional)
#define IOCTL_OTLWF_OT_REMOVE_MAC_WHITELIST \
OTLWF_CTL_CODE(136, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
#define IOCTL_OTLWF_OT_MAC_WHITELIST_ENTRY \
OTLWF_CTL_CODE(137, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIndex (input)
// otMacWhitelistEntry - aEntry (output)
#define IOCTL_OTLWF_OT_CLEAR_MAC_WHITELIST \
OTLWF_CTL_CODE(138, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_DEVICE_ROLE \
OTLWF_CTL_CODE(139, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otDeviceRole - aRole
// otMleAttachFilter - aFilter (only for kDeviceRoleChild)
#define IOCTL_OTLWF_OT_CHILD_INFO_BY_ID \
OTLWF_CTL_CODE(140, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint16_t - aChildId (input)
// otChildInfo - aChildInfo (output)
#define IOCTL_OTLWF_OT_CHILD_INFO_BY_INDEX \
OTLWF_CTL_CODE(141, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aChildIndex (input)
// otChildInfo - aChildInfo (output)
#define IOCTL_OTLWF_OT_EID_CACHE_ENTRY \
OTLWF_CTL_CODE(142, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIndex (input)
// otEidCacheEntry - aEntry (output)
#define IOCTL_OTLWF_OT_LEADER_DATA \
OTLWF_CTL_CODE(143, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otLeaderData - aLeaderData
#define IOCTL_OTLWF_OT_LEADER_ROUTER_ID \
OTLWF_CTL_CODE(144, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aRouterID
#define IOCTL_OTLWF_OT_LEADER_WEIGHT \
OTLWF_CTL_CODE(145, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aWeight
#define IOCTL_OTLWF_OT_NETWORK_DATA_VERSION \
OTLWF_CTL_CODE(146, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aVersion
#define IOCTL_OTLWF_OT_PARTITION_ID \
OTLWF_CTL_CODE(147, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint32_t - aPartition
#define IOCTL_OTLWF_OT_RLOC16 \
OTLWF_CTL_CODE(148, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint16_t - aRloc16
#define IOCTL_OTLWF_OT_ROUTER_ID_SEQUENCE \
OTLWF_CTL_CODE(149, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIdSequence
#define IOCTL_OTLWF_OT_ROUTER_INFO \
OTLWF_CTL_CODE(150, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint16_t - aRouterId (input)
// otRouterInfo - aRouterInfo (output)
#define IOCTL_OTLWF_OT_STABLE_NETWORK_DATA_VERSION \
OTLWF_CTL_CODE(151, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aVersion
#define IOCTL_OTLWF_OT_MAC_BLACKLIST_ENABLED \
OTLWF_CTL_CODE(152, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aEnabled
#define IOCTL_OTLWF_OT_ADD_MAC_BLACKLIST \
OTLWF_CTL_CODE(153, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
#define IOCTL_OTLWF_OT_REMOVE_MAC_BLACKLIST \
OTLWF_CTL_CODE(154, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
#define IOCTL_OTLWF_OT_MAC_BLACKLIST_ENTRY \
OTLWF_CTL_CODE(155, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIndex (input)
// otMacBlacklistEntry - aEntry (output)
#define IOCTL_OTLWF_OT_CLEAR_MAC_BLACKLIST \
OTLWF_CTL_CODE(156, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_MAX_TRANSMIT_POWER \
OTLWF_CTL_CODE(157, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// int8_t - aPower
#define IOCTL_OTLWF_OT_NEXT_ON_MESH_PREFIX \
OTLWF_CTL_CODE(158, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
@@ -467,37 +467,37 @@ typedef enum _OTLWF_NOTIF_TYPE
// uint8_t - aIterator (input)
// uint8_t - aNewIterator (output)
// otBorderRouterConfig - aConfig (output)
#define IOCTL_OTLWF_OT_POLL_PERIOD \
OTLWF_CTL_CODE(159, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aPollPeriod
#define IOCTL_OTLWF_OT_LOCAL_LEADER_PARTITION_ID \
OTLWF_CTL_CODE(160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aPartitionId
#define IOCTL_OTLWF_OT_ASSIGN_LINK_QUALITY \
OTLWF_CTL_CODE(161, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr (input)
// uint8_t - aLinkQuality (input or output)
#define IOCTL_OTLWF_OT_PLATFORM_RESET \
OTLWF_CTL_CODE(162, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_PARENT_INFO \
OTLWF_CTL_CODE(163, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otRouterInfo - aParentInfo
#define IOCTL_OTLWF_OT_SINGLETON \
OTLWF_CTL_CODE(164, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aSingleton
#define IOCTL_OTLWF_OT_MAC_COUNTERS \
OTLWF_CTL_CODE(165, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
@@ -507,11 +507,11 @@ typedef enum _OTLWF_NOTIF_TYPE
OTLWF_CTL_CODE(166, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aMaxChildren
#define IOCTL_OTLWF_OT_COMMISIONER_START \
OTLWF_CTL_CODE(167, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_COMMISIONER_STOP \
OTLWF_CTL_CODE(168, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
@@ -531,38 +531,38 @@ typedef struct otCommissionConfig
char VendorSwVersion[OPENTHREAD_VENDOR_SW_VERSION_MAX_LENGTH + 1];
char VendorData[OPENTHREAD_VENDOR_DATA_MAX_LENGTH + 1];
} otCommissionConfig;
#define IOCTL_OTLWF_OT_JOINER_START \
OTLWF_CTL_CODE(169, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otCommissionConfig - aConfig
#define IOCTL_OTLWF_OT_JOINER_STOP \
OTLWF_CTL_CODE(170, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_FACTORY_EUI64 \
OTLWF_CTL_CODE(171, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otExtAddress - aEui64
#define IOCTL_OTLWF_OT_HASH_MAC_ADDRESS \
OTLWF_CTL_CODE(172, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// otExtAddress - aEui64
#define IOCTL_OTLWF_OT_ROUTER_DOWNGRADE_THRESHOLD \
OTLWF_CTL_CODE(173, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aThreshold
#define IOCTL_OTLWF_OT_COMMISSIONER_PANID_QUERY \
OTLWF_CTL_CODE(174, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint16_t - aPanId
// uint32_t - aChannekMask
// otIp6Address - aAddress
#define IOCTL_OTLWF_OT_COMMISSIONER_ENERGY_SCAN \
OTLWF_CTL_CODE(175, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
@@ -571,49 +571,49 @@ typedef struct otCommissionConfig
// uint16_t - aPeriod
// uint16_t - aScanDuration
// otIp6Address - aAddress
#define IOCTL_OTLWF_OT_ROUTER_SELECTION_JITTER \
OTLWF_CTL_CODE(176, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aRouterJitter
#define IOCTL_OTLWF_OT_JOINER_UDP_PORT \
OTLWF_CTL_CODE(177, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint16_t - aJoinerUdpPort
#define IOCTL_OTLWF_OT_SEND_DIAGNOSTIC_GET \
OTLWF_CTL_CODE(178, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otIp6Address - aDestination
// uint8_t - aCount
// uint8_t[aCount] - aTlvTypes
#define IOCTL_OTLWF_OT_SEND_DIAGNOSTIC_RESET \
OTLWF_CTL_CODE(179, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otIp6Address - aDestination
// uint8_t - aCount
// uint8_t[aCount] - aTlvTypes
#define IOCTL_OTLWF_OT_COMMISIONER_ADD_JOINER \
OTLWF_CTL_CODE(180, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aExtAddressValid
// otExtAddress - aExtAddress (optional)
// char[OPENTHREAD_PSK_MAX_LENGTH + 1] - aPSKd
#define IOCTL_OTLWF_OT_COMMISIONER_REMOVE_JOINER \
OTLWF_CTL_CODE(181, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aExtAddressValid
// otExtAddress - aExtAddress (optional)
#define IOCTL_OTLWF_OT_COMMISIONER_PROVISIONING_URL \
OTLWF_CTL_CODE(182, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// char[OPENTHREAD_PROV_URL_MAX_LENGTH + 1] - aProvisioningUrl (optional)
#define IOCTL_OTLWF_OT_COMMISIONER_ANNOUNCE_BEGIN \
OTLWF_CTL_CODE(183, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
@@ -621,70 +621,75 @@ typedef struct otCommissionConfig
// uint8_t - aCount
// uint16_t - aPeriod
// otIp6Address - aAddress
#define IOCTL_OTLWF_OT_ENERGY_SCAN \
OTLWF_CTL_CODE(184, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aScanChannels
// uint16_t - aScanDuration
#define IOCTL_OTLWF_OT_SEND_ACTIVE_GET \
OTLWF_CTL_CODE(185, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aLength
// uint8_t[aLength] - aTlvTypes
// otIp6Address - aAddress (optional)
#define IOCTL_OTLWF_OT_SEND_ACTIVE_SET \
OTLWF_CTL_CODE(186, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otOperationalDataset - aDataset
// uint8_t - aLength
// uint8_t[aLength] - aTlvTypes
#define IOCTL_OTLWF_OT_SEND_PENDING_GET \
OTLWF_CTL_CODE(187, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aLength
// uint8_t[aLength] - aTlvTypes
// otIp6Address - aAddress (optional)
#define IOCTL_OTLWF_OT_SEND_PENDING_SET \
OTLWF_CTL_CODE(188, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otOperationalDataset - aDataset
// uint8_t - aLength
// uint8_t[aLength] - aTlvTypes
#define IOCTL_OTLWF_OT_SEND_MGMT_COMMISSIONER_GET \
OTLWF_CTL_CODE(189, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aLength
// uint8_t[aLength] - aTlvs
#define IOCTL_OTLWF_OT_SEND_MGMT_COMMISSIONER_SET \
OTLWF_CTL_CODE(190, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otOperationalDataset - aDataset
// uint8_t - aLength
// uint8_t[aLength] - aTlvs
#define IOCTL_OTLWF_OT_KEY_SWITCH_GUARDTIME \
OTLWF_CTL_CODE(191, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint32_t - aKeySwitchGuardTime
#define IOCTL_OTLWF_OT_FACTORY_RESET \
OTLWF_CTL_CODE(192, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
#define IOCTL_OTLWF_OT_THREAD_AUTO_START \
OTLWF_CTL_CODE(193, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// BOOLEAN - aAutoStart
#define IOCTL_OTLWF_OT_PREFERRED_ROUTER_ID \
OTLWF_CTL_CODE(194, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// uint8_t - aRouterId
// OpenThread function IOCTL codes
#define MIN_OTLWF_IOCTL_FUNC_CODE 100
#define MAX_OTLWF_IOCTL_FUNC_CODE 193
#define MAX_OTLWF_IOCTL_FUNC_CODE 194
#endif //__OTLWFIOCTL_H__