diff --git a/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewp
index abe74c43..9c06f027 100644
--- a/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell/bm/iar/shell-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell/bm/kds/.cproject
index c90d1a8b..1248161f 100644
--- a/fnet_demos/build/frdmk64f/shell/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewp
index 711baa74..e867c1d7 100644
--- a/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell/freertos/iar/shell-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell/freertos/kds/.cproject b/fnet_demos/build/frdmk64f/shell/freertos/kds/.cproject
index bffe6eaa..4965b0e9 100644
--- a/fnet_demos/build/frdmk64f/shell/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewp
index e97968f7..08d6abe0 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_azure/bm/iar/shell_azure-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_azure/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell_azure/bm/kds/.cproject
index 6d42658f..6d6e4eda 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_azure/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewp
index fd2c59a1..bc46e8f6 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_azure/freertos/iar/shell_azure-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_azure/freertos/kds/.cproject b/fnet_demos/build/frdmk64f/shell_azure/freertos/kds/.cproject
index a242213c..08b6abd2 100644
--- a/fnet_demos/build/frdmk64f/shell_azure/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_azure/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewp
index 15e42d48..173c9be9 100644
--- a/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_bench/bm/iar/shell_bench-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_bench/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell_bench/bm/kds/.cproject
index b05f8e43..b4ef1fe0 100644
--- a/fnet_demos/build/frdmk64f/shell_bench/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_bench/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewp
index c6480097..874f61f3 100644
--- a/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_boot/bm/iar/shell_boot-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_boot/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell_boot/bm/kds/.cproject
index 0a2e58b2..b02b51bf 100644
--- a/fnet_demos/build/frdmk64f/shell_boot/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_boot/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewp
index a6a15e3e..3116f907 100644
--- a/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_boot_app/bm/iar/shell_boot_app-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_boot_app/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell_boot_app/bm/kds/.cproject
index 03813632..140bfdba 100644
--- a/fnet_demos/build/frdmk64f/shell_boot_app/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_boot_app/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewp
index f8e4dcae..743b7ba1 100644
--- a/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_tls/bm/iar/shell_tls-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_tls/bm/kds/.cproject b/fnet_demos/build/frdmk64f/shell_tls/bm/kds/.cproject
index a28d1424..63c2982f 100644
--- a/fnet_demos/build/frdmk64f/shell_tls/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_tls/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewd
index 6b6d33fa..3044bb2f 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -237,7 +245,7 @@
@@ -254,7 +262,7 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -1652,7 +1730,7 @@
@@ -1669,7 +1747,7 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewp
index f0d41690..10927679 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/iar/shell_wifi_gt202-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/kds/.cproject b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/kds/.cproject
index e16a2ad2..0c8863e9 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_wifi_gt202/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewd b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewd
index 6b6d33fa..a0b70116 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewd
+++ b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewp b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewp
index 9a6d37d8..68b62067 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewp
+++ b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/iar/shell_wifi_sx2401-frdmk64f.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
@@ -206,7 +215,7 @@
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/kds/.cproject b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/kds/.cproject
index f91deed1..c055d391 100644
--- a/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk64f/shell_wifi_sx2401/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewp
index aaa10109..7f2d0e68 100644
--- a/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell/bm/iar/shell-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell/bm/kds/.cproject
index 87d67bd4..6a1cd7b4 100644
--- a/fnet_demos/build/frdmk66f/shell/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewp
index 2a6e8a44..cd54ebde 100644
--- a/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell/freertos/iar/shell-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell/freertos/kds/.cproject b/fnet_demos/build/frdmk66f/shell/freertos/kds/.cproject
index 240ea6bc..006702c8 100644
--- a/fnet_demos/build/frdmk66f/shell/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewp
index ea8cb762..71d02d0d 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_azure/bm/iar/shell_azure-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_azure/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell_azure/bm/kds/.cproject
index 20510a9f..95231b63 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_azure/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewp
index 78251bac..693c91d9 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_azure/freertos/iar/shell_azure-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_azure/freertos/kds/.cproject b/fnet_demos/build/frdmk66f/shell_azure/freertos/kds/.cproject
index d79da460..bc69564f 100644
--- a/fnet_demos/build/frdmk66f/shell_azure/freertos/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_azure/freertos/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewp
index e71bd056..4ed74042 100644
--- a/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_bench/bm/iar/shell_bench-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_bench/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell_bench/bm/kds/.cproject
index a0b13b2e..af157e8b 100644
--- a/fnet_demos/build/frdmk66f/shell_bench/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_bench/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewp
index 21bd797e..b6cb7666 100644
--- a/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_boot/bm/iar/shell_boot-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_boot/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell_boot/bm/kds/.cproject
index f390aa22..0285f9ff 100644
--- a/fnet_demos/build/frdmk66f/shell_boot/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_boot/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewp
index 2c0afb7f..76aef409 100644
--- a/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_boot_app/bm/iar/shell_boot_app-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_boot_app/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell_boot_app/bm/kds/.cproject
index 80cba90c..726abae3 100644
--- a/fnet_demos/build/frdmk66f/shell_boot_app/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_boot_app/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewd b/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewd
index 24c80613..d6b8ba6e 100644
--- a/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewd
+++ b/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewp b/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewp
index 23ab0311..0a9cf1ba 100644
--- a/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewp
+++ b/fnet_demos/build/frdmk66f/shell_tls/bm/iar/shell_tls-frdmk66f.ewp
@@ -11,7 +11,7 @@
General
3
- 30
+ 31
1
1
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -678,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+
+
+
+
+
+
@@ -1029,7 +1066,7 @@
General
3
- 30
+ 31
1
0
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1696,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+
+
+
+
+
+
diff --git a/fnet_demos/build/frdmk66f/shell_tls/bm/kds/.cproject b/fnet_demos/build/frdmk66f/shell_tls/bm/kds/.cproject
index 3b802041..3dddc95b 100644
--- a/fnet_demos/build/frdmk66f/shell_tls/bm/kds/.cproject
+++ b/fnet_demos/build/frdmk66f/shell_tls/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewd b/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewd
index 6e22d4b0..3700376c 100644
--- a/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewd
+++ b/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewp b/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewp
index 578d1aa6..e06040cf 100644
--- a/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewp
+++ b/fnet_demos/build/twrk60d100m/shell/bm/iar/shell-twrk60d100m.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
diff --git a/fnet_demos/build/twrk60d100m/shell/bm/kds/.cproject b/fnet_demos/build/twrk60d100m/shell/bm/kds/.cproject
index d5c54768..b1093e24 100644
--- a/fnet_demos/build/twrk60d100m/shell/bm/kds/.cproject
+++ b/fnet_demos/build/twrk60d100m/shell/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewd b/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewd
index 6e22d4b0..3700376c 100644
--- a/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewd
+++ b/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewp b/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewp
index 270358c7..5841f984 100644
--- a/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewp
+++ b/fnet_demos/build/twrk60d100m/shell_bench/bm/iar/shell_bench-twrk60d100m.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
diff --git a/fnet_demos/build/twrk60d100m/shell_bench/bm/kds/.cproject b/fnet_demos/build/twrk60d100m/shell_bench/bm/kds/.cproject
index cddc88fa..43a543be 100644
--- a/fnet_demos/build/twrk60d100m/shell_bench/bm/kds/.cproject
+++ b/fnet_demos/build/twrk60d100m/shell_bench/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewd b/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewd
index 6e22d4b0..3700376c 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewd
+++ b/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewp b/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewp
index ed804401..47a8350b 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewp
+++ b/fnet_demos/build/twrk60d100m/shell_boot/bm/iar/shell_boot-twrk60d100m.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
diff --git a/fnet_demos/build/twrk60d100m/shell_boot/bm/kds/.cproject b/fnet_demos/build/twrk60d100m/shell_boot/bm/kds/.cproject
index c4c49f99..ad50bc6c 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot/bm/kds/.cproject
+++ b/fnet_demos/build/twrk60d100m/shell_boot/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewd b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewd
index 6e22d4b0..3700376c 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewd
+++ b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewd
@@ -11,7 +11,7 @@
C-SPY
2
- 29
+ 32
1
1
-
-
+
+
+
+
@@ -949,6 +957,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 1
+
+
+
+
+
PEMICRO_ID
2
@@ -978,7 +1007,7 @@
STLINK_ID
2
- 4
+ 7
1
1
+
+
@@ -1189,7 +1227,7 @@
XDS100_ID
2
- 6
+ 8
1
1
+
+
+
@@ -1366,18 +1416,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -1398,10 +1472,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
@@ -1426,7 +1496,7 @@
C-SPY
2
- 29
+ 32
1
0
-
-
+
+
+
+
@@ -2364,6 +2442,27 @@
+
+ NULINK_ID
+ 2
+
+ 0
+ 1
+ 0
+
+
+
+
+
PEMICRO_ID
2
@@ -2393,7 +2492,7 @@
STLINK_ID
2
- 4
+ 7
1
0
+
+
@@ -2604,7 +2712,7 @@
XDS100_ID
2
- 6
+ 8
1
0
+
+
+
@@ -2781,18 +2901,42 @@
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin
0
@@ -2813,10 +2957,6 @@
$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin
0
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
diff --git a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewp b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewp
index 6a00f699..d4055425 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewp
+++ b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/iar/shell_boot_app-twrk60d100m.ewp
@@ -11,7 +11,7 @@
General
3
- 29
+ 31
1
1
+
+
ICCARM
2
- 34
+ 36
1
1
+
+
@@ -674,7 +691,7 @@
ILINK
0
- 20
+ 23
1
1
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
@@ -1025,7 +1066,7 @@
General
3
- 29
+ 31
1
0
+
+
ICCARM
2
- 34
+ 36
1
0
+
+
@@ -1688,7 +1746,7 @@
ILINK
0
- 20
+ 23
1
0
+ __ram_vector_table__=1__heap_size__=0xA000__stack_size__=0x4000
+
+
+
+
+
+
diff --git a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/kds/.cproject b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/kds/.cproject
index d6fa585a..155b40a1 100644
--- a/fnet_demos/build/twrk60d100m/shell_boot_app/bm/kds/.cproject
+++ b/fnet_demos/build/twrk60d100m/shell_boot_app/bm/kds/.cproject
@@ -46,10 +46,10 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
@@ -126,10 +126,10 @@
-
+
-
+
@@ -137,7 +137,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
diff --git a/fnet_demos/common/fnet_application/fapp_dns.c b/fnet_demos/common/fnet_application/fapp_dns.c
index ea3922d0..7d9d19d6 100644
--- a/fnet_demos/common/fnet_application/fapp_dns.c
+++ b/fnet_demos/common/fnet_application/fapp_dns.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2008-2018 by Andrey Butok. FNET Community.
+* Copyright 2008-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -37,7 +37,7 @@
/************************************************************************
* Function Prototypes
*************************************************************************/
-static void fapp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie);
+static void fapp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie);
static void fapp_dns_on_ctrlc(fnet_shell_desc_t desc, void *cookie);
static fnet_dns_desc_t fapp_dns_desc = 0; /* DNS service descriptor. */
@@ -45,7 +45,7 @@ static fnet_dns_desc_t fapp_dns_desc = 0; /* DNS service descriptor. */
/************************************************************************
* DESCRIPTION: Event handler callback on resolved IP address.
************************************************************************/
-static void fapp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie)
+static void fapp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie)
{
fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
fnet_shell_desc_t desc = (fnet_shell_desc_t) cookie;
@@ -53,6 +53,8 @@ static void fapp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_lis
fnet_shell_unblock((fnet_shell_desc_t)cookie); /* Unblock the shell. */
+ fnet_shell_println(desc, FAPP_SHELL_INFO_FORMAT_S, "Name", host_name);
+
if(addr_list && addr_list_size)
{
for(i = 0u; i < addr_list_size; i++)
diff --git a/fnet_demos/common/fnet_application/fapp_sntp.c b/fnet_demos/common/fnet_application/fapp_sntp.c
index cf0b38ff..91f53191 100644
--- a/fnet_demos/common/fnet_application/fapp_sntp.c
+++ b/fnet_demos/common/fnet_application/fapp_sntp.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2017-2018 by Andrey Butok. FNET Community.
+* Copyright 2017-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -116,7 +116,7 @@ static void fapp_sntp_on_ctrlc(fnet_shell_desc_t desc, void *cookie)
#define FNET_DNS_RESOLUTION_FAILED "Resolution is FAILED"
#define FNET_DNS_UNKNOWN "DNS server is unknown"
-static void fapp_sntp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie)
+static void fapp_sntp_dns_callback_resolved (const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie)
{
fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
fnet_shell_desc_t desc = (fnet_shell_desc_t) cookie;
@@ -124,6 +124,8 @@ static void fapp_sntp_dns_callback_resolved (const fnet_dns_resolved_addr_t *add
fnet_shell_unblock((fnet_shell_desc_t)cookie); /* Unblock the shell. */
+ fnet_shell_println(desc, FAPP_SHELL_INFO_FORMAT_S, "Name", host_name);
+
if(addr_list && addr_list_size)
{
@@ -192,7 +194,6 @@ void fapp_sntp_cmd( fnet_shell_desc_t desc, fnet_index_t argc, fnet_char_t **arg
{
/* Resolve server name */
struct fnet_dns_params dns_params;
- fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
fnet_dns_desc_t dns_desc;
/* Set DNS client/resolver parameters.*/
@@ -209,8 +210,6 @@ void fapp_sntp_cmd( fnet_shell_desc_t desc, fnet_index_t argc, fnet_char_t **arg
{
fnet_shell_println(desc, FAPP_DELIMITER_STR);
fnet_shell_println(desc, FAPP_SHELL_INFO_FORMAT_S, "Resolving", dns_params.host_name);
- fnet_shell_println(desc, FAPP_SHELL_INFO_FORMAT_S, "DNS Server",
- fnet_inet_ntop(dns_params.dns_server_addr.sa_family, dns_params.dns_server_addr.sa_data, ip_str, sizeof(ip_str)));
fnet_shell_println(desc, FAPP_TOCANCEL_STR);
fnet_shell_println(desc, FAPP_DELIMITER_STR);
diff --git a/fnet_doc/doxygen/fnet_doc.dox b/fnet_doc/doxygen/fnet_doc.dox
index f09bbbdc..d5086109 100644
--- a/fnet_doc/doxygen/fnet_doc.dox
+++ b/fnet_doc/doxygen/fnet_doc.dox
@@ -1,7 +1,7 @@
/**************************************************************************
*
* FNET documentation framework, for Doxygen.
-* Andrey Butok
+* Andrej Butok
*
***************************************************************************/
@@ -65,7 +65,7 @@ preferred way to configure stack features). @n
- PowerPC: MPC5668G, MPC5566, MPC564xBC, MPC5744P, S32R274.
- Kinetis: MK70FN1M, MK60FN1M.
- Supported Compilers:
- - IAR: Embedded Workbench for ARM, v8.22
+ - IAR: Embedded Workbench for ARM, v8.50
- GCC: Kinetis Design Studio, v3.2
- ARM: uVisin v5.24
- Bare-metal TCP/IP stack. No underlying RTOS is required, although it can be used with it. FreeRTOS example is provided.
@@ -277,48 +277,48 @@ The following table summarizes the supported demo applications, platforms and co
MK64FN1M |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
MK66FN2M |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
- |
- IAR8.30.2 KDS3.2 |
+ IAR8.50 KDS3.2 |
MK60DN512 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
- IAR8.30.2 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
+ IAR8.50 KDS3.2 |
- |
- |
- |
LPC54628 |
- IAR8.30.2 |
+ IAR8.50 |
- |
- IAR8.30.2 |
- IAR8.30.2 |
- IAR8.30.2 |
- IAR8.30.2 |
+ IAR8.50 |
+ IAR8.50 |
+ IAR8.50 |
+ IAR8.50 |
MIMXRT1052, MIMXRT1062 |
- IAR8.30.2 |
+ IAR8.50 |
- |
- IAR8.30.2 |
- IAR8.30.2 |
- IAR8.30.2 |
- IAR8.30.2 |
+ IAR8.50 |
+ IAR8.50 |
+ IAR8.50 |
+ IAR8.50 |
@@ -443,7 +443,7 @@ SHELL>
@endverbatim
- There is an additional possibility to start any other service (http, telnet etc.) automatically during power-up by setting the @c FAPP_CFG_STARTUP_SCRIPT parameter to a command line string.
- You may start the mDNS server (if not started already during start-up), which allows the name resolution for hosts on the same local link. It is natively supported by Apple OSs and named "Bonjour".@n
- If HTTP server is enabled, the application registers the "_http._tcp.local" service in mDNS server. So the HTTP server can be discoverable by in MacOS Safari browser using Bonjour.
+ If HTTP server is enabled, the application registers the "_http._tcp.local" service in mDNS server. So the HTTP server can be discoverable in MacOS Safari browser using Bonjour.
@verbatim
SHELL> mdns
************************************************
@@ -2361,10 +2361,21 @@ Press any key to continue . . .
FNET public releases:
+- Version 4.7.0
+ - Fix possible out of bounds read on a received malformed LLMNR, mDNS or IPv6 packet.
+ - Add null termination check for the input-name parameter of the LLMNR, mDNS and DNS services.
+ - Fix possible IPv6 reassembly wrong behavior.
+ - Fix infinite loop, when a DNS request sent to a network interface without an assigned DNS server address.
+ - Add FNET_CFG_DNS_RESOLVED_ADDR_MAX which defines the maximum number of addresses that can be resolved by the DNS-client per one request.
+ - Add a resolved host name parameter to the DNS callback function.
+ - Randomize DNS query ID.
+ - Upgrade projects to IAR v8.50.
+ - Fix Azure IoT example compilation errors for IAR v8.
+
- Version 4.6.4
- Allow DHCP client to continue DHCP server discovering, while Auto-IP is active.
- Add fnet_dhcp_cln_set_response_timeout() to change a DHCP server response time-out.
- - Fixed possible unwanted QCA WiFi connection to an open network, even when WPA pass-phrase is provided.
+ - Fix possible unwanted QCA WiFi connection to an open network, even when WPA pass-phrase is provided.
- Version 4.6.3
- Add HEAD method support for the HTTP server.
diff --git a/fnet_doc/doxygen/fnet_foot.html b/fnet_doc/doxygen/fnet_foot.html
index f475f7fc..0cd0aa52 100644
--- a/fnet_doc/doxygen/fnet_foot.html
+++ b/fnet_doc/doxygen/fnet_foot.html
@@ -1,7 +1,7 @@
- © 2005-2018 by Andrey Butok.
+ © 2005-2020 by Andrej Butok.
http://fnet.sourceforge.net
diff --git a/fnet_doc/doxygen/fnet_gen_doc.in b/fnet_doc/doxygen/fnet_gen_doc.in
index c7c6e47e..e8abc875 100644
--- a/fnet_doc/doxygen/fnet_gen_doc.in
+++ b/fnet_doc/doxygen/fnet_gen_doc.in
@@ -38,7 +38,7 @@ PROJECT_NAME = "Embedded TCP/IP stack"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 4.6.4
+PROJECT_NUMBER = 4.7.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/fnet_doc/doxygen/fnet_gen_doc_chm.in b/fnet_doc/doxygen/fnet_gen_doc_chm.in
index 9f413098..912ab256 100644
--- a/fnet_doc/doxygen/fnet_gen_doc_chm.in
+++ b/fnet_doc/doxygen/fnet_gen_doc_chm.in
@@ -38,7 +38,7 @@ PROJECT_NAME = "Embedded TCP/IP stack"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 4.6.4
+PROJECT_NUMBER = 4.7.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/fnet_doc/fnet_user_manual.chm b/fnet_doc/fnet_user_manual.chm
index 08f11420..651fc321 100644
Binary files a/fnet_doc/fnet_user_manual.chm and b/fnet_doc/fnet_user_manual.chm differ
diff --git a/fnet_stack/fnet.h b/fnet_stack/fnet.h
index ccdc2b54..e35b375c 100644
--- a/fnet_stack/fnet.h
+++ b/fnet_stack/fnet.h
@@ -73,7 +73,7 @@
* string.
* @showinitializer
******************************************************************************/
-#define FNET_VERSION "4.6.4"
+#define FNET_VERSION "4.7.0"
/*! @} */
diff --git a/fnet_stack/port/compiler/fnet_comp.h b/fnet_stack/port/compiler/fnet_comp.h
index db1ffefa..0dcbc365 100644
--- a/fnet_stack/port/compiler/fnet_comp.h
+++ b/fnet_stack/port/compiler/fnet_comp.h
@@ -63,12 +63,14 @@
#if FNET_CFG_COMP_UV
+#if __CC_ARM /* Keil v5*/
/* To use anonimous unions.*/
#pragma anon_unions
+#endif
/* To use _Pragma(), enable C99 Extensions. */
- #define FNET_COMP_PACKED_BEGIN _Pragma("pack(1)")
- #define FNET_COMP_PACKED_END _Pragma("pack(8)")
+ #define FNET_COMP_PACKED_BEGIN _Pragma("pack(1)") //TBD ("pack(push, 1)")
+ #define FNET_COMP_PACKED_END _Pragma("pack(8)") //TBD ("pack(pop)")
#define FNET_COMP_PACKED_VAR __packed
@@ -77,8 +79,8 @@
#endif
#if FNET_CFG_COMP_GNUC
- #define FNET_COMP_PACKED_BEGIN _Pragma("pack(1)")
- #define FNET_COMP_PACKED_END _Pragma("pack(8)")
+ #define FNET_COMP_PACKED_BEGIN _Pragma("pack(push, 1)")
+ #define FNET_COMP_PACKED_END _Pragma("pack(pop)")
/* Inline assembler */
#define FNET_COMP_ASM(x) __asm(x)
diff --git a/fnet_stack/port/cpu/mcf/fnet_mcf51cn128_config.h b/fnet_stack/port/cpu/mcf/fnet_mcf51cn128_config.h
index 949bfdee..4b0d9d14 100644
--- a/fnet_stack/port/cpu/mcf/fnet_mcf51cn128_config.h
+++ b/fnet_stack/port/cpu/mcf/fnet_mcf51cn128_config.h
@@ -3,18 +3,18 @@
* Copyright 2009-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mcf/fnet_mcf52235_config.h b/fnet_stack/port/cpu/mcf/fnet_mcf52235_config.h
index 5ad5121f..264c920e 100644
--- a/fnet_stack/port/cpu/mcf/fnet_mcf52235_config.h
+++ b/fnet_stack/port/cpu/mcf/fnet_mcf52235_config.h
@@ -3,18 +3,18 @@
* Copyright 2005-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mcf/fnet_mcf5235_config.h b/fnet_stack/port/cpu/mcf/fnet_mcf5235_config.h
index bd4bfb8a..9fddce50 100644
--- a/fnet_stack/port/cpu/mcf/fnet_mcf5235_config.h
+++ b/fnet_stack/port/cpu/mcf/fnet_mcf5235_config.h
@@ -3,18 +3,18 @@
* Copyright 2013 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mcf/fnet_mcf5282_config.h b/fnet_stack/port/cpu/mcf/fnet_mcf5282_config.h
index 308ec0d3..be000ccc 100644
--- a/fnet_stack/port/cpu/mcf/fnet_mcf5282_config.h
+++ b/fnet_stack/port/cpu/mcf/fnet_mcf5282_config.h
@@ -3,18 +3,18 @@
* Copyright 2005-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mcf/fnet_mcf54418_config.h b/fnet_stack/port/cpu/mcf/fnet_mcf54418_config.h
index 0e882ef8..8a858417 100644
--- a/fnet_stack/port/cpu/mcf/fnet_mcf54418_config.h
+++ b/fnet_stack/port/cpu/mcf/fnet_mcf54418_config.h
@@ -3,18 +3,18 @@
* Copyright 2012-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mpc/fnet_mpc5566_config.h b/fnet_stack/port/cpu/mpc/fnet_mpc5566_config.h
index 22d84f4d..18e4062a 100644
--- a/fnet_stack/port/cpu/mpc/fnet_mpc5566_config.h
+++ b/fnet_stack/port/cpu/mpc/fnet_mpc5566_config.h
@@ -3,18 +3,18 @@
* Copyright 2016-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mpc/fnet_mpc564xbc_config.h b/fnet_stack/port/cpu/mpc/fnet_mpc564xbc_config.h
index 61647f5e..9acd11f0 100644
--- a/fnet_stack/port/cpu/mpc/fnet_mpc564xbc_config.h
+++ b/fnet_stack/port/cpu/mpc/fnet_mpc564xbc_config.h
@@ -3,18 +3,18 @@
* Copyright 2005-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mpc/fnet_mpc5668g_config.h b/fnet_stack/port/cpu/mpc/fnet_mpc5668g_config.h
index c9d90db7..5ea1b23b 100644
--- a/fnet_stack/port/cpu/mpc/fnet_mpc5668g_config.h
+++ b/fnet_stack/port/cpu/mpc/fnet_mpc5668g_config.h
@@ -3,18 +3,18 @@
* Copyright 2015-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mpc/fnet_mpc5744p_config.h b/fnet_stack/port/cpu/mpc/fnet_mpc5744p_config.h
index 3e15c8c7..77393193 100644
--- a/fnet_stack/port/cpu/mpc/fnet_mpc5744p_config.h
+++ b/fnet_stack/port/cpu/mpc/fnet_mpc5744p_config.h
@@ -3,18 +3,18 @@
* Copyright 2015-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/port/cpu/mpc/fnet_s32r274_config.h b/fnet_stack/port/cpu/mpc/fnet_s32r274_config.h
index feb5a03f..52dc578a 100644
--- a/fnet_stack/port/cpu/mpc/fnet_s32r274_config.h
+++ b/fnet_stack/port/cpu/mpc/fnet_s32r274_config.h
@@ -3,18 +3,18 @@
* Copyright 2016 by Andrey Butok. FNET Community.
*
***************************************************************************
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
+* Licensed under the Apache License, Version 2.0 (the "License"); you may
+* not use this file except in compliance with the License.
+* You may obtain a copy of the License at
*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
*
***************************************************************************
*
diff --git a/fnet_stack/service/azure/fnet_azure_socketio.c b/fnet_stack/service/azure/fnet_azure_socketio.c
index 4b707494..dbd44361 100644
--- a/fnet_stack/service/azure/fnet_azure_socketio.c
+++ b/fnet_stack/service/azure/fnet_azure_socketio.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2018 by Andrey Butok. FNET Community.
+* Copyright 2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -91,7 +91,7 @@ typedef struct
#if FNET_CFG_AZURE_OPEN_BLOCKED
static fnet_ip4_addr_t _fnet_azure_hostbyname(const char *host_name);
#endif
-static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie);
+static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie);
static OPTIONHANDLER_HANDLE socketio_retrieveoptions(CONCRETE_IO_HANDLE socket_io);
@@ -679,9 +679,7 @@ const IO_INTERFACE_DESCRIPTION *socketio_get_interface_description(void)
************************************************************************/
#if FNET_CFG_AZURE_OPEN_BLOCKED /* Blocked version of open */
fnet_bool_t _fnet_azure_dns_is_resolved = FNET_FALSE;
-static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list,
- fnet_size_t addr_list_size,
- void *cookie)
+static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie)
{
#if FNET_CFG_DEBUG_AZURE && FNET_CFG_DEBUG
fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
@@ -704,7 +702,7 @@ static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *add
_fnet_azure_dns_is_resolved = FNET_TRUE;
}
#else
-static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie)
+static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie)
{
#if FNET_CFG_DEBUG_AZURE && FNET_CFG_DEBUG
fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
diff --git a/fnet_stack/service/azure/fnet_azure_tlsio.c b/fnet_stack/service/azure/fnet_azure_tlsio.c
index 932d8a36..1910c556 100644
--- a/fnet_stack/service/azure/fnet_azure_tlsio.c
+++ b/fnet_stack/service/azure/fnet_azure_tlsio.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2018 by Andrey Butok. FNET Community.
+* Copyright 2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -81,7 +81,7 @@ typedef struct
static CONCRETE_IO_HANDLE fnet_azure_tlsio_create(void *io_create_parameters);
static void fnet_azure_tlsio_destroy(CONCRETE_IO_HANDLE tlsio);
static int fnet_azure_tlsio_open(CONCRETE_IO_HANDLE tls_io, ON_IO_OPEN_COMPLETE on_io_open_complete, void *on_io_open_complete_context, ON_BYTES_RECEIVED on_bytes_received, void *on_bytes_received_context, ON_IO_ERROR on_io_error, void *on_io_error_context);
-static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie);
+static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie);
static void fnet_azure_tlsio_mbedtls_dowork(CONCRETE_IO_HANDLE tls_io);
static int fnet_azure_tlsio_setoption(CONCRETE_IO_HANDLE tls_io, const char *optionName, const void *value);
static OPTIONHANDLER_HANDLE fnet_azure_tlsio_retrieveoptions(CONCRETE_IO_HANDLE handle);
@@ -332,7 +332,7 @@ static int fnet_azure_tlsio_open(CONCRETE_IO_HANDLE tls_io, ON_IO_OPEN_COMPLETE
/************************************************************************
* DNS resolver callback
************************************************************************/
-static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie)
+static void _fnet_azure_dns_handler_resolved(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie)
{
#if FNET_CFG_DEBUG_AZURE && FNET_CFG_DEBUG
fnet_char_t ip_str[FNET_IP_ADDR_STR_SIZE_MAX];
diff --git a/fnet_stack/service/dns/fnet_dns.c b/fnet_stack/service/dns/fnet_dns.c
index 57d569df..e96a442d 100644
--- a/fnet_stack/service/dns/fnet_dns.c
+++ b/fnet_stack/service/dns/fnet_dns.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2011-2017 by Andrey Butok. FNET Community.
+* Copyright 2011-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -57,29 +57,7 @@ typedef enum
static void _fnet_dns_poll( void *fnet_dns_if_p );
static fnet_size_t _fnet_dns_add_question( fnet_uint8_t *message, fnet_uint16_t type, const fnet_char_t *host_name);
static fnet_bool_t _fnet_dns_get_server_addr(struct fnet_sockaddr *dns_server_addr );
-
-/************************************************************************
-* DNS-client resolved IPv4 address structure.
-*************************************************************************/
-typedef struct
-{
- fnet_uint32_t ttl;
- fnet_ip4_addr_t ip4_addr; /* Resolved IPv4 address.*/
-}
-fnet_dns_if_resolved_ip4_t;
-
-/************************************************************************
-* DNS-client resolved IPv6 address structure.
-*************************************************************************/
-typedef struct
-{
- fnet_uint32_t ttl;
- fnet_ip6_addr_t ip6_addr; /* Resolved IPv6 address.*/
-}
-fnet_dns_if_resolved_ip6_t;
-
-#define FNET_DNS_RESOLVED_IP4_MAX (FNET_DNS_MESSAGE_SIZE/(sizeof(fnet_dns_if_resolved_ip4_t)+ sizeof(fnet_dns_resolved_addr_t)))
-#define FNET_DNS_RESOLVED_IP6_MAX (FNET_DNS_MESSAGE_SIZE/(sizeof(fnet_dns_if_resolved_ip6_t)+ sizeof(fnet_dns_resolved_addr_t)))
+static fnet_bool_t _fnet_dns_cmp_name(const char *rr_name, const char *name);
/************************************************************************
* DNS-client interface structure.
@@ -92,33 +70,20 @@ typedef struct
fnet_dns_callback_resolved_t callback; /* Callback function. */
void *callback_cookie; /* Callback-handler specific parameter. */
fnet_time_t last_time_ms; /* Last receive time, used for timeout detection. */
+ const fnet_char_t *host_name; /* Host name to resolve (null-terminated string). */
fnet_index_t iteration; /* Current iteration number.*/
- /* Internal buffer used for Message buffer and Resolved addresses.*/
- union
- {
- fnet_uint8_t message[FNET_DNS_MESSAGE_SIZE]; /* Message buffer and Resolved addresses.*/
- struct
- {
- fnet_dns_if_resolved_ip4_t resolved_ip4_addr[FNET_DNS_RESOLVED_IP4_MAX]; /* Resolved IPv4 addresses.*/
- fnet_dns_resolved_addr_t resolved_ip4_addr_sock[FNET_DNS_RESOLVED_IP4_MAX]; /* Used as return buffer for application.*/
- } ip4;
- struct
- {
- fnet_dns_if_resolved_ip6_t resolved_ip6_addr[FNET_DNS_RESOLVED_IP6_MAX]; /* Resolved IPv6 addresses.*/
- fnet_dns_resolved_addr_t resolved_ip6_addr_sock[FNET_DNS_RESOLVED_IP6_MAX]; /* Used as return buffer for application.*/
- } ip6;
- } buffer;
- fnet_index_t addr_number;
- fnet_size_t message_size; /* Size of the message.*/
- fnet_uint16_t id;
- fnet_uint16_t dns_type; /* DNS Resource Record type that is queried.*/
- fnet_address_family_t addr_family;
+ fnet_index_t addr_number;
+ fnet_size_t message_size; /* Size of the message.*/
+ fnet_uint16_t id;
+ fnet_uint16_t dns_type; /* DNS Resource Record type that is queried.*/
+ fnet_address_family_t addr_family;
+ fnet_uint8_t message[FNET_DNS_MESSAGE_SIZE]; /* Message buffer.*/
+ fnet_dns_resolved_addr_t resolved_addr[FNET_CFG_DNS_RESOLVED_ADDR_MAX]; /* Resolved addresses.*/
}
fnet_dns_if_t;
/* DNS-client interface */
static fnet_dns_if_t dns_if_list[FNET_CFG_DNS];
-static fnet_uint16_t dns_id;
/************************************************************************
* DESCRIPTION: Initializes DNS client service and starts the host
@@ -187,21 +152,21 @@ static fnet_size_t _fnet_dns_add_question( fnet_uint8_t *message, fnet_uint16_t
************************************************************************/
fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
{
- const fnet_uint32_t bufsize_option = FNET_DNS_MESSAGE_SIZE;
- fnet_size_t total_length;
- fnet_size_t host_name_length;
- struct fnet_sockaddr remote_addr;
- fnet_dns_header_t *header;
- fnet_dns_if_t *dns_if = FNET_NULL;
- fnet_index_t i;
+ const fnet_uint32_t bufsize_option = FNET_DNS_MESSAGE_SIZE;
+ fnet_size_t total_length;
+ fnet_size_t host_name_length;
+ struct fnet_sockaddr remote_addr;
+ fnet_dns_header_t *header;
+ fnet_dns_if_t *dns_if = FNET_NULL;
+ fnet_index_t i;
fnet_service_mutex_lock();
/* Check input parameters. */
- if((params == 0)
- || (params->callback == 0)
+ if((params == FNET_NULL)
+ || (params->callback == FNET_NULL)
/* Check length of host_name.*/
- || ((host_name_length = fnet_strlen(params->host_name)) == 0U) || (host_name_length >= FNET_DNS_MAME_SIZE))
+ || ((host_name_length = fnet_strnlen(params->host_name, FNET_DNS_NAME_SIZE+1)) == 0U) || (host_name_length > FNET_DNS_NAME_SIZE))
{
FNET_DEBUG_DNS(FNET_DNS_ERR_PARAMS);
goto ERROR;
@@ -242,7 +207,9 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
dns_if->callback = params->callback;
dns_if->callback_cookie = params->cookie;
dns_if->addr_family = params->addr_family;
- dns_if->addr_number = 0u;
+ dns_if->host_name = params->host_name;
+
+ dns_if->id = (fnet_uint16_t)fnet_rand(); /* Randomize query ID.*/
if(params->addr_family == AF_INET)
{
@@ -258,10 +225,6 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
goto ERROR;
}
- dns_if->iteration = 0U; /* Reset iteration counter.*/
- dns_id++; /* Increment global query ID */
- dns_if->id = dns_id; /* Save query ID.*/
-
/* Create socket */
if((dns_if->socket_cln = fnet_socket(remote_addr.sa_family, SOCK_DGRAM, 0u)) == FNET_NULL)
{
@@ -287,7 +250,7 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
}
/* ==== Build message. ==== */
- fnet_memset_zero(dns_if->buffer.message, sizeof(dns_if->buffer.message)); /* Clear buffer.*/
+ /* The message buffer has been cleared before.*/
/* Set header fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
@@ -306,7 +269,7 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
*/
- header = (fnet_dns_header_t *)dns_if->buffer.message;
+ header = (fnet_dns_header_t *)dns_if->message;
header->id = dns_if->id; /* Set ID. */
@@ -316,9 +279,8 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
/* No Answer (ANCOUNT).*/ /* No Authority (NSCOUNT). */ /* No Additional (ARCOUNT). */
-
total_length = sizeof(fnet_dns_header_t);
- total_length += _fnet_dns_add_question( &dns_if->buffer.message[total_length], dns_if->dns_type, params->host_name);
+ total_length += _fnet_dns_add_question( &dns_if->message[total_length], dns_if->dns_type, params->host_name);
dns_if->message_size = total_length;
/* Register DNS service. */
@@ -360,15 +322,6 @@ fnet_dns_desc_t fnet_dns_init( struct fnet_dns_params *params )
* It is present only if @ref FNET_CFG_DNS is set to 1.
*
******************************************************************************/
-/************************************************************************
-* Get any registered DNS Server address.
- * dns_server_addr [in,out] If dns_server_addr->sa_family and/or dns_server_addr->sa_scope_id are set, it is used as a filter to search a DNS sever address.
- * It is filled by registered DNS server IP address.
- *
- * This function returns:
- * - FNET_TRUE if the @c dns_server_addr is filled.
- * - FNET_FALSE if no DNS address is not available.
-*************************************************************************/
static fnet_bool_t _fnet_dns_get_server_addr(struct fnet_sockaddr *dns_server_addr )
{
fnet_bool_t result = FNET_FALSE;
@@ -409,6 +362,10 @@ static fnet_bool_t _fnet_dns_get_server_addr(struct fnet_sockaddr *dns_server_ad
{
netif = fnet_netif_get_by_number(netif_index++);
}
+ else
+ {
+ break; /* Interface was specified, but no DNS server */
+ }
}
}
@@ -431,7 +388,6 @@ static void _fnet_dns_poll( void *fnet_dns_if_p )
fnet_ssize_t received;
fnet_index_t i;
fnet_dns_header_t *header;
- fnet_dns_rr_header_t *rr_header;
fnet_dns_if_t *dns_if = (fnet_dns_if_t *)fnet_dns_if_p;
switch(dns_if->state)
@@ -440,7 +396,7 @@ static void _fnet_dns_poll( void *fnet_dns_if_p )
case FNET_DNS_STATE_TX:
FNET_DEBUG_DNS("Sending query...");
- sent_size = fnet_socket_send(dns_if->socket_cln, dns_if->buffer.message, dns_if->message_size, 0U);
+ sent_size = fnet_socket_send(dns_if->socket_cln, dns_if->message, dns_if->message_size, 0U);
if (sent_size != (fnet_int32_t)dns_if->message_size)
{
@@ -455,69 +411,89 @@ static void _fnet_dns_poll( void *fnet_dns_if_p )
/*---- RX -----------------------------------------------*/
case FNET_DNS_STATE_RX:
/* Receive data */
+ received = fnet_socket_recv(dns_if->socket_cln, dns_if->message, sizeof(dns_if->message), 0U);
- received = fnet_socket_recv(dns_if->socket_cln, dns_if->buffer.message, sizeof(dns_if->buffer.message), 0U);
-
- if(received > 0 )
+ if(received > sizeof(fnet_dns_header_t))
{
- header = (fnet_dns_header_t *)dns_if->buffer.message;
+ header = (fnet_dns_header_t *)dns_if->message;
- if((header->id == dns_if->id) && /* Check the ID.*/
- ((header->flags & FNET_DNS_HEADER_FLAGS_QR) == FNET_DNS_HEADER_FLAGS_QR)) /* Is response.*/
+ if((header->id == dns_if->id) /* Check the ID.*/
+ && ((header->flags & FNET_DNS_HEADER_FLAGS_QR) == FNET_DNS_HEADER_FLAGS_QR) /* Is response.*/
+ && (fnet_htons(header->qdcount) == 1) ) /* Must be only one question */
{
- for (i = (sizeof(fnet_dns_header_t) - 1U); i < (fnet_index_t)received; i++)
+ fnet_char_t rr_name[FNET_DNS_NAME_SIZE];
+ const fnet_uint8_t *ptr = &dns_if->message[sizeof(fnet_dns_header_t)];
+
+ /* Skip Question section */
+ ptr = _fnet_dns_get_rr_name(rr_name, sizeof(rr_name), ptr, dns_if->message, received);
+
+ if(ptr && (_fnet_dns_cmp_name(rr_name, dns_if->host_name) == FNET_TRUE)) /* Check question name */
{
- /* [RFC1035 4.1.4.] In order to reduce the size of messages, the domain system utilizes a
- * compression scheme which eliminates the repetition of domain names in a
- * message. In this scheme, an entire domain name or a list of labels at
- * the end of a domain name is replaced with a pointer to a prior occurance
- * of the same name.
- * The pointer takes the form of a two octet sequence:
- * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- * | 1 1| OFFSET |
- * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- */
- /* => Check for 0xC0. */
- if ((fnet_uint8_t)dns_if->buffer.message[i] == FNET_DNS_NAME_COMPRESSED_MASK) /* look for the beginnig of the response (Question Name == 192 (label compression))*/
- {
- rr_header = (fnet_dns_rr_header_t *)&dns_if->buffer.message[i];
+ ptr += 4; /* Skip question tail (qtype, qclass)*/
+ /* Handle answers */
+ for(i = 0; (i < fnet_htons(header->ancount)) && (ptr < (dns_if->message + received)); i++)
+ {
+ /* Header follows the hostname and the terminating zero */
+ const fnet_dns_rr_header_t *rr_header;
- /* Check Question Type, Class and Resource Data Length. */
- if ( (rr_header->type == dns_if->dns_type) &&
- (rr_header->rr_class == FNET_HTONS(FNET_DNS_HEADER_CLASS_IN)))
+ ptr = _fnet_dns_get_rr_name(rr_name, sizeof(rr_name), ptr, dns_if->message, received); /* Get RR name */
+ if(ptr)
{
- /* Resolved.*/
- if(rr_header->type == FNET_HTONS(FNET_DNS_TYPE_A))
- {
- dns_if->buffer.ip4.resolved_ip4_addr[dns_if->addr_number].ip4_addr = *((fnet_ip4_addr_t *)(&rr_header->rdata));
- dns_if->buffer.ip4.resolved_ip4_addr[dns_if->addr_number].ttl = rr_header->ttl;
- if(dns_if->addr_number >= (FNET_DNS_RESOLVED_IP4_MAX - 1)) /* Check address number limit */
- {
- break;
- }
- }
- else /* AF_INET6 */
+ rr_header = (const fnet_dns_rr_header_t *)ptr;
+
+ if(_fnet_dns_cmp_name(rr_name, dns_if->host_name) == FNET_TRUE)
{
- FNET_IP6_ADDR_COPY( (fnet_ip6_addr_t *)(&rr_header->rdata), &dns_if->buffer.ip6.resolved_ip6_addr[dns_if->addr_number].ip6_addr );
- dns_if->buffer.ip6.resolved_ip6_addr[dns_if->addr_number].ttl = rr_header->ttl;
- if(dns_if->addr_number >= (FNET_DNS_RESOLVED_IP6_MAX - 1)) /* Check address number limit */
+ /* Check Question Type, Class and Resource Data Length. */
+ if ( (rr_header->type == dns_if->dns_type) &&
+ (rr_header->rr_class == FNET_HTONS(FNET_DNS_HEADER_CLASS_IN)))
{
- break;
+ /* Resolved.*/
+ if(rr_header->type == FNET_HTONS(FNET_DNS_TYPE_A))
+ {
+ dns_if->resolved_addr[dns_if->addr_number].resolved_addr.sa_family = AF_INET;
+ ((struct fnet_sockaddr_in *)(&dns_if->resolved_addr[dns_if->addr_number].resolved_addr))->sin_addr.s_addr = *((fnet_ip4_addr_t *)(ptr+sizeof(fnet_dns_rr_header_t)));
+ }
+ else /* AF_INET6 */
+ {
+ dns_if->resolved_addr[dns_if->addr_number].resolved_addr.sa_family = AF_INET6;
+ FNET_IP6_ADDR_COPY((fnet_ip6_addr_t *)(ptr+sizeof(fnet_dns_rr_header_t)), &((struct fnet_sockaddr_in6 *)(&dns_if->resolved_addr[dns_if->addr_number].resolved_addr))->sin6_addr.s6_addr);
+ }
+ dns_if->resolved_addr[dns_if->addr_number].resolved_addr_ttl = rr_header->ttl;
+
+ dns_if->addr_number++;
+ if(dns_if->addr_number >= (FNET_CFG_DNS_RESOLVED_ADDR_MAX)) /* Check address number limit */
+ {
+ break;
+ }
}
+
}
- dns_if->addr_number++;
+
+ ptr += sizeof(fnet_dns_rr_header_t) + fnet_htons(rr_header->rdlength); /* Next answer */
+
+ }
+ else
+ {
+ break;
}
- i += (sizeof(fnet_dns_rr_header_t) + (fnet_index_t)fnet_ntohs(rr_header->rdlength) - 4U - 1U);
}
}
+ else
+ {
+ break; /* Wrong message */
+ }
}
else /* Wrong message.*/
{
break;
}
- dns_if->state = FNET_DNS_STATE_RELEASE; /* Resolved */
+ if(dns_if->addr_number > 0)
+ {
+ dns_if->state = FNET_DNS_STATE_RELEASE; /* Resolved */
+ }
+
}
else /* No data or error. Check timeout */
{
@@ -537,6 +513,7 @@ static void _fnet_dns_poll( void *fnet_dns_if_p )
else
{}
}
+
break;
/*---- RELEASE -------------------------------------------------*/
case FNET_DNS_STATE_RELEASE:
@@ -548,35 +525,10 @@ static void _fnet_dns_poll( void *fnet_dns_if_p )
/* Fill fnet_dns_resolved_addr_t */
if(dns_if->addr_number > 0u)
{
- if(dns_if->addr_family == AF_INET)
- {
- for(i = 0u; i < dns_if->addr_number; i++)
- {
- fnet_memset_zero(&dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr, sizeof(dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr));
-
- dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr.sa_family = AF_INET;
- ((struct fnet_sockaddr_in *)(&dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr))->sin_addr.s_addr = dns_if->buffer.ip4.resolved_ip4_addr[i].ip4_addr;
- dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr_ttl = dns_if->buffer.ip4.resolved_ip4_addr[i].ttl;
- }
- addr_list = dns_if->buffer.ip4.resolved_ip4_addr_sock;
- }
- else if(dns_if->addr_family == AF_INET6)
- {
- for(i = 0u; i < dns_if->addr_number; i++)
- {
- fnet_memset_zero(&dns_if->buffer.ip6.resolved_ip6_addr_sock[i].resolved_addr, sizeof(dns_if->buffer.ip4.resolved_ip4_addr_sock[i].resolved_addr));
-
- dns_if->buffer.ip6.resolved_ip6_addr_sock[i].resolved_addr.sa_family = AF_INET6;
- FNET_IP6_ADDR_COPY(&dns_if->buffer.ip6.resolved_ip6_addr[i].ip6_addr, &((struct fnet_sockaddr_in6 *)(&dns_if->buffer.ip6.resolved_ip6_addr_sock[i].resolved_addr))->sin6_addr.s6_addr);
- dns_if->buffer.ip6.resolved_ip6_addr_sock[i].resolved_addr_ttl = dns_if->buffer.ip6.resolved_ip6_addr[i].ttl;
- }
- addr_list = dns_if->buffer.ip6.resolved_ip6_addr_sock;
- }
- else
- {}
+ addr_list = dns_if->resolved_addr;
}
- dns_if->callback(addr_list, dns_if->addr_number, dns_if->callback_cookie); /* User Callback.*/
+ dns_if->callback(addr_list, dns_if->addr_number, dns_if->host_name, dns_if->callback_cookie); /* User Callback.*/
}
break;
default:
@@ -629,4 +581,178 @@ fnet_bool_t fnet_dns_is_enabled(fnet_dns_desc_t desc)
return result;
}
+/************************************************************************
+* Compare RR name with requested-name. TBD use it for LLMNR
+************************************************************************/
+static fnet_bool_t _fnet_dns_cmp_name(const char *rr_name, const char *name)
+{
+ FNET_ASSERT(rr_name_p != FNET_NULL);
+ FNET_ASSERT(name != FNET_NULL);
+
+ fnet_bool_t result;
+
+ fnet_index_t i = 0;
+ fnet_uint32_t name_length = fnet_strlen(name);
+ fnet_uint32_t rr_name_length = fnet_strlen(rr_name);
+
+ if((name_length != 0) && ((name_length + 1 /* first length byte */) == rr_name_length) )
+ {
+ rr_name++; /* Skip first length byte */
+
+ for(i = 0; i < name_length; i++)
+ {
+ if(name[i] == '.')
+ {
+ continue; /* Skip length byte for rr_name */
+ }
+
+ if(fnet_tolower(rr_name[i]) != fnet_tolower(name[i]))
+ {
+ break; /* Not equal */
+ }
+ }
+ }
+
+ if(i == name_length)
+ {
+ result = FNET_TRUE;
+ }
+ else
+ {
+ result = FNET_FALSE;
+ }
+
+ return result;
+}
+
#endif /* FNET_CFG_DNS */
+
+
+#if FNET_CFG_DNS || FNET_CFG_MDNS
+/************************************************************************
+* Put RR name to rr_name. Returns updated next pointer; 0 if error.
+* If rr_name or rr_name_size are 0, just skip name.
+************************************************************************/
+const fnet_uint8_t *_fnet_dns_get_rr_name(char *rr_name, fnet_uint32_t rr_name_size, const fnet_uint8_t *rr, const fnet_uint8_t *packet, fnet_size_t packet_size)
+{
+ FNET_ASSERT(rr != FNET_NULL);
+ FNET_ASSERT(packet != FNET_NULL);
+
+ const fnet_uint8_t *ptr = rr;
+ fnet_uint8_t length = 1; /* Length octet, must be 0 at the end of processing (null termination), otherwise there is an error. */
+ fnet_uint16_t offset = 0;
+ const fnet_uint8_t *result = ptr;
+#define FNET_DNS_COMPRESSION_LIMIT 4 /* Limits number of compression elements, to avoid potential infinite loop in malformed packets*/
+ fnet_index_t compression_counter = 0;
+
+ do
+ {
+ /* [RFC1035 4.1.4.] In order to reduce the size of messages, the domain system utilizes a
+ * compression scheme which eliminates the repetition of domain names in a
+ * message. In this scheme, an entire domain name or a list of labels at
+ * the end of a domain name is replaced with a pointer to a prior occurance
+ * of the same name.
+ * The pointer takes the form of a two octet sequence:
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * | 1 1| OFFSET |
+ * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ * Check if compression is used: */
+ while((*ptr & FNET_DNS_NAME_COMPRESSED_MASK) == FNET_DNS_NAME_COMPRESSED_MASK)
+ {
+ if(offset == 0) /* Is it first compression?*/
+ {
+ result += 2; /* 2 bytes (compression+length) */
+ }
+
+ offset = (fnet_uint16_t)((*ptr) & ~FNET_DNS_NAME_COMPRESSED_MASK) << 8;
+ offset = offset + *(ptr + 1);
+ if(offset < packet_size) /* Check maximum offset */
+ {
+ ptr = packet + offset;
+ }
+ else
+ {
+ /* Wrong offset */
+ break;
+ }
+
+ if((++compression_counter) > FNET_DNS_COMPRESSION_LIMIT)
+ {
+ break; /* Error */
+ }
+ }
+
+ if((*ptr & FNET_DNS_NAME_COMPRESSED_MASK) != 0) /* Top two bits may be used only by the compression flag.*/
+ {
+ break; /* Error */
+ }
+
+ length = *ptr;
+
+ /* A domain name represented as a sequence of labels, where
+ * each label consists of a length octet followed by that
+ * number of octets. The domain name terminates with the
+ * zero length octet for the null label of the root.*/
+
+ if( rr_name && rr_name_size ) /* Copy to rr_name buffer.*/
+ {
+ if(length < rr_name_size) /* Check maximum rr_name_size */
+ {
+ fnet_memcpy(rr_name, ptr, length + 1);
+
+ rr_name += (length + 1);
+ rr_name_size -= (length + 1);
+ }
+ else
+ {
+ length = 1; /* To avoid corner case when length = 0 (OK)*/
+ break; /* Error */
+ }
+ }
+
+ ptr += (length + 1);
+ if(ptr > result)
+ {
+ result = ptr;
+ }
+ }
+ while(length != 0);
+
+ if(length == 0) /* Check error state and proper null termination of the RR name string. */
+ {
+ return result; /* OK */
+ }
+ else
+ {
+ return NULL; /* Malformed packet. */
+ }
+}
+
+/************************************************************************
+* Print DNS resource record name.
+************************************************************************/
+void _fnet_dns_print_rr_name(const fnet_char_t *prefix, const fnet_char_t *rr_name)
+{
+ fnet_size_t rr_name_legth = fnet_strlen(rr_name);
+ fnet_uint8_t rr_name_length_index = 0;
+ fnet_index_t i;
+
+ fnet_printf("%s", prefix); /* Print prefix*/
+
+ for(i = 0; i < rr_name_legth; i++)
+ {
+ if(i == rr_name_length_index)
+ {
+ fnet_printf("."); /* Instead of name length */
+ rr_name_length_index += rr_name[i] + 1; /* Next name length byte */
+ }
+ else
+ {
+ fnet_printf("%c", rr_name[i]);
+ }
+ }
+
+ fnet_println("");
+}
+
+#endif /* FNET_CFG_DNS || FNET_CFG_MDNS */
diff --git a/fnet_stack/service/dns/fnet_dns.h b/fnet_stack/service/dns/fnet_dns.h
index cce5dea6..a2344ef8 100644
--- a/fnet_stack/service/dns/fnet_dns.h
+++ b/fnet_stack/service/dns/fnet_dns.h
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2011-2018 by Andrey Butok. FNET Community.
+* Copyright 2011-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -62,6 +62,7 @@
* - @ref FNET_CFG_DNS_PORT
* - @ref FNET_CFG_DNS_RETRANSMISSION_MAX
* - @ref FNET_CFG_DNS_RETRANSMISSION_TIMEOUT
+* - @ref FNET_CFG_DNS_RESOLVED_ADDR_MAX
* - @ref FNET_CFG_ND6_RDNSS
* - @ref FNET_CFG_ND6_RDNSS_LIST_SIZE
*
@@ -90,17 +91,18 @@ typedef void *fnet_dns_desc_t;
* @brief Prototype of the DNS-client callback function that is
* called when the DNS client has completed the resolving.
*
- * @param addr_family IP address family.@n
- * It determines the address pointed to by @c addr_list.
* @param addr_list Pointer to the list of addresses or @ref FNET_NULL if the resolving is failed.
- * @param addr_list_size Number of resolved addresses in addr_list.
+ * @param addr_list_size Number of resolved addresses in @c addr_list. Its maximu number is defined by @ref FNET_CFG_DNS_RESOLVED_ADDR_MAX.
+ * @param host_name Pointer to the resolved host name. It's set during
+ * the DNS-client service initialization as part of
+ * @ref fnet_dns_params.
* @param cookie User-application specific parameter. It's set during
* the DNS-client service initialization as part of
* @ref fnet_dns_params.
*
* @see fnet_dns_resolve(), fnet_dns_params
******************************************************************************/
-typedef void(*fnet_dns_callback_resolved_t)(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, void *cookie);
+typedef void(*fnet_dns_callback_resolved_t)(const fnet_dns_resolved_addr_t *addr_list, fnet_size_t addr_list_size, const fnet_char_t *host_name, void *cookie);
/**************************************************************************/ /*!
* @brief Initialization parameters for the @ref fnet_dns_init() function.
diff --git a/fnet_stack/service/dns/fnet_dns_config.h b/fnet_stack/service/dns/fnet_dns_config.h
index 47476ebc..ea600d84 100644
--- a/fnet_stack/service/dns/fnet_dns_config.h
+++ b/fnet_stack/service/dns/fnet_dns_config.h
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2011-2017 by Andrey Butok. FNET Community.
+* Copyright 2011-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -74,7 +74,7 @@
* @n
* The recommended value is @c 1 second.@n
* If the DNS client does not receive any response from a DNS server,
- * it sends new request message.@n
+ * it sends a new request message.@n
* Default value is @b @c 1.
* @showinitializer
******************************************************************************/
@@ -82,6 +82,16 @@
#define FNET_CFG_DNS_RETRANSMISSION_TIMEOUT (1U) /* seconds */
#endif
+/**************************************************************************/ /*!
+ * @def FNET_CFG_DNS_RESOLVED_ADDR_MAX
+ * @brief Maximum number of addresses that can be resolved by the DNS-client
+ * per one request.
+ * @showinitializer
+ ******************************************************************************/
+#ifndef FNET_CFG_DNS_RESOLVED_ADDR_MAX
+ #define FNET_CFG_DNS_RESOLVED_ADDR_MAX (4U)
+#endif
+
/*! @} */
#ifdef FNET_CFG_DNS_MAX
diff --git a/fnet_stack/service/dns/fnet_dns_prv.h b/fnet_stack/service/dns/fnet_dns_prv.h
index 0cb47f70..5211a59c 100644
--- a/fnet_stack/service/dns/fnet_dns_prv.h
+++ b/fnet_stack/service/dns/fnet_dns_prv.h
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2014-2017 by Andrey Butok. FNET Community.
+* Copyright 2014-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -30,7 +30,7 @@
* Definitions
*************************************************************************/
/* Size limits. */
-#define FNET_DNS_MAME_SIZE (255U) /* RFC1035:To simplify implementations, the total length of a domain name (i.e.,
+#define FNET_DNS_NAME_SIZE (255U) /* RFC1035:To simplify implementations, the total length of a domain name (i.e.,
* label octets and label length octets) is restricted to 255 octets or less.*/
#define FNET_DNS_MESSAGE_SIZE (512U) /* Messages carried by UDP are restricted to 512 bytes (not counting the IP
* or UDP headers).
@@ -64,19 +64,16 @@
FNET_COMP_PACKED_BEGIN
typedef struct
{
- fnet_uint16_t id FNET_COMP_PACKED; /* A 16 bit identifier assigned by the program that
+ fnet_uint16_t id FNET_COMP_PACKED; /* An identifier assigned by the program that
* generates any kind of query. This identifier is copied
* the corresponding reply and can be used by the requester
* to match up replies to outstanding queries. */
fnet_uint16_t flags FNET_COMP_PACKED; /* Flags.*/
- fnet_uint16_t qdcount FNET_COMP_PACKED; /* An unsigned 16 bit integer specifying the number of
- * entries in the question section.*/
- fnet_uint16_t ancount FNET_COMP_PACKED; /* An unsigned 16 bit integer specifying the number of
- * resource records in the answer section.*/
- fnet_uint16_t nscount FNET_COMP_PACKED; /* an unsigned 16 bit integer specifying the number of name
- * server resource records in the authority records
- * section.*/
- fnet_uint16_t arcount FNET_COMP_PACKED; /* An unsigned 16 bit integer specifying the number of
+ fnet_uint16_t qdcount FNET_COMP_PACKED; /* Count of questions, specifying the number of entries in the question section.*/
+ fnet_uint16_t ancount FNET_COMP_PACKED; /* Count of answers, specifying the number of resource records in the answer section.*/
+ fnet_uint16_t nscount FNET_COMP_PACKED; /* Authority Record Count, specifying the number of name
+ * server resource records in the authority records section. (“NS” - “name server”).*/
+ fnet_uint16_t arcount FNET_COMP_PACKED; /* Count of additional, specifying the number of
* resource records in the additional records section.*/
} fnet_dns_header_t;
@@ -159,6 +156,17 @@ typedef struct
* If the TYPE is A and the CLASS is IN,
* the RDATA field is a 4 octet ARPA Internet address.*/
+} fnet_dns_rr_c_header_t;
+FNET_COMP_PACKED_END
+
+/* DNS record header */
+FNET_COMP_PACKED_BEGIN
+typedef struct fnet_dns_rr_header_s
+{
+ fnet_uint16_t type FNET_COMP_PACKED; /* RR type */
+ fnet_uint16_t rr_class FNET_COMP_PACKED; /* RR class */
+ fnet_uint32_t ttl FNET_COMP_PACKED; /* time to live (in seconds) */
+ fnet_uint16_t rdlength FNET_COMP_PACKED; /* length of data */
} fnet_dns_rr_header_t;
FNET_COMP_PACKED_END
@@ -172,9 +180,22 @@ FNET_COMP_PACKED_END
* | 1 1| OFFSET |
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
*/
-#define FNET_DNS_NAME_COMPRESSED_MASK (0xC0U) /**< @brief Mark that name is compressed. */
+#define FNET_DNS_NAME_COMPRESSED_MASK (0xC0U) /**< @brief Mark that Domain Name is compressed. */
#define FNET_DNS_NAME_COMPRESSED_INDEX_MASK (0x3FFFU) /**< @brief Index of compressed name. */
+
#define FNET_DNS_HEADER_CLASS_IN (0x01U) /* The Internet.*/
+
+/************************************************************************
+* Extract RR name to rr_name. Returns updated next pointer; 0 if error.
+* If rr_name or rr_name_size are 0, just skip name.
+************************************************************************/
+const fnet_uint8_t *_fnet_dns_get_rr_name(char *rr_name, fnet_uint32_t rr_name_size, const fnet_uint8_t *rr, const fnet_uint8_t *packet, fnet_size_t packet_size);
+
+/************************************************************************
+* Print DNS resource record name.
+************************************************************************/
+void _fnet_dns_print_rr_name(const fnet_char_t *prefix, const fnet_char_t *rr_name);
+
#endif /* _FNET_DNS_PRV_H_*/
diff --git a/fnet_stack/service/http/fnet_http_srv.c b/fnet_stack/service/http/fnet_http_srv.c
index 6bf99f06..f6eb05b3 100644
--- a/fnet_stack/service/http/fnet_http_srv.c
+++ b/fnet_stack/service/http/fnet_http_srv.c
@@ -369,8 +369,9 @@ static void _fnet_http_srv_poll( void *http_if_p )
session->response.status.code = FNET_HTTP_SRV_STATUS_CODE_UNAUTHORIZED;
}
else /* Send Data.*/
- {
#endif
+ {
+
if(session->response.status.code == FNET_HTTP_SRV_STATUS_CODE_NONE) /* If status code is not set.*/
{
session->response.status.code = FNET_HTTP_SRV_STATUS_CODE_OK;
diff --git a/fnet_stack/service/llmnr/fnet_llmnr.c b/fnet_stack/service/llmnr/fnet_llmnr.c
index d456a891..31b66ae4 100644
--- a/fnet_stack/service/llmnr/fnet_llmnr.c
+++ b/fnet_stack/service/llmnr/fnet_llmnr.c
@@ -1,6 +1,6 @@
/**************************************************************************
*
-* Copyright 2014-2017 by Andrey Butok. FNET Community.
+* Copyright 2014-2020 by Andrej Butok. FNET Community.
*
***************************************************************************
*
@@ -252,7 +252,7 @@ fnet_llmnr_desc_t fnet_llmnr_init( fnet_llmnr_params_t *params )
/* Check input paramters. */
if((params == 0) || (params->netif_desc == 0) || (params->host_name == 0)
- || ((host_name_length = fnet_strlen(params->host_name)) == 0u) || (host_name_length >= FNET_DNS_MAME_SIZE))
+ || ((host_name_length = fnet_strnlen(params->host_name, (FNET_DNS_NAME_SIZE+1))) == 0u) || (host_name_length > FNET_DNS_NAME_SIZE))
{
FNET_DEBUG_LLMNR(FNET_LLMNR_ERR_PARAMS);
goto ERROR_1;
@@ -444,10 +444,10 @@ static void _fnet_llmnr_poll( void *fnet_llmnr_if_p )
{
fnet_char_t *req_hostname = (fnet_char_t *)&llmnr_if->message[sizeof(fnet_llmnr_header_t)];
fnet_dns_q_tail_t *q_tail;
- fnet_size_t req_hostname_len = fnet_strlen(req_hostname);
+ fnet_size_t req_hostname_len = fnet_strnlen(req_hostname, (FNET_DNS_NAME_SIZE + 1));
/* Check size */
- if(received >= (fnet_int32_t)(sizeof(fnet_llmnr_header_t) + sizeof(fnet_dns_q_tail_t) + req_hostname_len))
+ if( (req_hostname_len <= FNET_DNS_NAME_SIZE) && (received >= (fnet_int32_t)(sizeof(fnet_llmnr_header_t) + sizeof(fnet_dns_q_tail_t) + req_hostname_len)))
{
FNET_DEBUG_LLMNR("LLMNR: Req name = %s", req_hostname);
@@ -460,7 +460,7 @@ static void _fnet_llmnr_poll( void *fnet_llmnr_if_p )
/* Check Question Class. */
if (q_tail->qclass == FNET_HTONS(FNET_DNS_HEADER_CLASS_IN) )
{
- fnet_dns_rr_header_t *rr_header = (fnet_dns_rr_header_t *)(q_tail + 1);
+ fnet_dns_rr_c_header_t *rr_header = (fnet_dns_rr_c_header_t *)(q_tail + 1);
fnet_size_t send_size = (fnet_size_t)((fnet_char_t *)rr_header - (fnet_char_t *)llmnr_header);
/* Prepare query response.*/
@@ -473,7 +473,7 @@ static void _fnet_llmnr_poll( void *fnet_llmnr_if_p )
rr_header->rdlength = fnet_htons(sizeof(fnet_ip4_addr_t));
rr_header->type = FNET_HTONS(FNET_DNS_TYPE_A);
- send_size += sizeof(fnet_dns_rr_header_t);
+ send_size += sizeof(fnet_dns_rr_c_header_t);
}
else
#endif
@@ -490,7 +490,7 @@ static void _fnet_llmnr_poll( void *fnet_llmnr_if_p )
rr_header->rdlength = fnet_htons(sizeof(fnet_ip6_addr_t));
rr_header->type = FNET_HTONS(FNET_DNS_TYPE_AAAA);
- send_size += sizeof(fnet_dns_rr_header_t) - sizeof(fnet_uint32_t) + sizeof(fnet_ip6_addr_t);
+ send_size += sizeof(fnet_dns_rr_c_header_t) - sizeof(fnet_uint32_t) + sizeof(fnet_ip6_addr_t);
}
else
{
diff --git a/fnet_stack/service/mdns/fnet_mdns.c b/fnet_stack/service/mdns/fnet_mdns.c
index 8ff25726..08e8b89e 100644
--- a/fnet_stack/service/mdns/fnet_mdns.c
+++ b/fnet_stack/service/mdns/fnet_mdns.c
@@ -71,8 +71,6 @@
#define FNET_MDNS_HEADER_CLASS_IN 0x01 /* Internet */
#define FNET_MDNS_HEADER_CACHE_FLUSH 0x8000 /* Cache flush */
-#define FNET_MDNS_DOMAIN_NAME_COMPRESSION 0xC0U /* Domain Name Compression flag */
-
/* MDNS Header Flags.*/
#define FNET_MDNS_HEADER_FLAGS_QR 0x8000
#define FNET_MDNS_HEADER_FLAGS_OPCODE 0x7800
@@ -153,7 +151,7 @@ typedef struct fnet_mdns_service_if_s
const char *service_type; /* Service Type. Null-terminated string. Example _http._tcp*/
fnet_uint16_t service_port; /* Service Port number (in network byte order). */
const fnet_mdns_txt_key_t *(*service_get_txt)(void); /* Call-back function, which returns pointer to the service TXT record (null-terminated).
- * If the service does not provide any TXT record, this parameter must be set to NULL. */
+ * If the service does not provide any TXT record, this parameter must be set to FNET_NULL. */
fnet_uint16_t offset_service_name; /* Pointer to service name. Offset from the start of the DNS message. Used for Domain Name Compression. */
fnet_uint16_t offset_service_type; /* Pointer to service type. Offset from the start of the DNS message. Used for Domain Name Compression. */
fnet_mdns_query_type_t response_type; /* Response type used in mDNS response.*/
@@ -200,19 +198,6 @@ typedef struct fnet_mdns_if
#endif
} fnet_mdns_if_t;
-/* MDNS packet header - count of all records */
-FNET_COMP_PACKED_BEGIN
-typedef struct fnet_mdns_header_s
-{
- fnet_uint16_t ip FNET_COMP_PACKED;
- fnet_uint16_t flags FNET_COMP_PACKED; /* flags */
- fnet_uint16_t qdcount FNET_COMP_PACKED; /* count of questions */
- fnet_uint16_t ancount FNET_COMP_PACKED; /* count of answers */
- fnet_uint16_t nscount FNET_COMP_PACKED; /* Authority Record Count. Number of RR in the Authority section. (“NS” - “name server”). */
- fnet_uint16_t arcount FNET_COMP_PACKED; /* count of additional */
-} fnet_mdns_header_t;
-FNET_COMP_PACKED_END
-
/* MDNS record header */
FNET_COMP_PACKED_BEGIN
typedef struct fnet_mdns_rr_header_s
@@ -275,12 +260,11 @@ static fnet_uint8_t *_fnet_mdns_add_host_name(fnet_mdns_if_t *mdns_if, fnet_uint
static fnet_uint8_t *_fnet_mdns_add_service_name(fnet_mdns_if_t *mdns_if, fnet_uint8_t *buf, fnet_uint32_t buf_size, fnet_mdns_service_if_t *service_if, fnet_bool_t compression);
static fnet_uint8_t *_fnet_mdns_add_service_type_name(fnet_mdns_if_t *mdns_if, fnet_uint8_t *buf, fnet_uint32_t buf_size, fnet_mdns_service_if_t *service_if, fnet_bool_t compression);
static fnet_uint8_t *_fnet_mdns_add_domain_name_compression(fnet_uint8_t *buf, fnet_uint32_t buf_size, fnet_uint16_t name_offset);
-static const fnet_uint8_t *_fnet_mdns_get_rr_name(char *rr_name, fnet_uint32_t rr_name_size, const fnet_uint8_t *rr, const fnet_uint8_t *packet);
static fnet_bool_t _fnet_mdns_cmp_rr_name(const char *rr_name, const char *name_1, const char *name_2);
-static fnet_bool_t _fnet_mdns_is_rr_win(fnet_uint8_t *our_rr, const fnet_uint8_t *ns_ptr, fnet_uint16_t ns_count, fnet_uint8_t *packet);
+static fnet_bool_t _fnet_mdns_is_rr_win(fnet_uint8_t *our_rr, const fnet_uint8_t *ns_ptr, fnet_uint16_t ns_count, fnet_uint8_t *packet, fnet_uint32_t packet_size);
static const fnet_uint8_t *_fnet_mdns_get_ns(fnet_uint8_t *packet, fnet_uint32_t packet_size);
static const fnet_uint8_t *_fnet_mdns_get_an(const fnet_uint8_t *packet, fnet_uint32_t packet_size);
-static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t **rr, const fnet_uint8_t *packet);
+static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t **rr, const fnet_uint8_t *packet, fnet_uint32_t packet_size);
static fnet_mdns_query_type_t _fnet_mdns_get_query_type(fnet_uint16_t type);
static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const fnet_uint8_t *an_ptr, const fnet_uint8_t *packet, fnet_uint32_t packet_size);
static fnet_bool_t _fnet_mdns_is_our_host_name(fnet_mdns_if_t *mdns_if, char *host_name);
@@ -333,7 +317,7 @@ fnet_mdns_desc_t fnet_mdns_init( fnet_mdns_params_t *params )
/* Check input paramters. */
if((params == 0) || (params->netif_desc == 0) || (params->name == 0)
- || ((name_length = fnet_strlen(params->name)) == 0u) || (name_length >= FNET_DNS_MAME_SIZE))
+ || ((name_length = fnet_strnlen(params->name, FNET_DNS_NAME_SIZE+1)) == 0u) || (name_length > FNET_DNS_NAME_SIZE))
{
FNET_DEBUG_MDNS(FNET_MDNS_ERR_PARAMS);
goto ERROR_1;
@@ -503,7 +487,7 @@ fnet_mdns_service_desc_t fnet_mdns_service_register(fnet_mdns_desc_t mdns_desc,
for(i = 0; i < FNET_CFG_MDNS_SERVICE_MAX; i++)
{
/* Find empty service entry.*/
- if(mdns_if->service_if_list[i].service_type == NULL)
+ if(mdns_if->service_if_list[i].service_type == FNET_NULL)
{
mdns_if->service_if_list[i].service_type = service->service_type;
mdns_if->service_if_list[i].service_port = service->service_port;
@@ -539,7 +523,7 @@ void fnet_mdns_service_unregister(fnet_mdns_service_desc_t service_desc)
if(service_if)
{
fnet_service_mutex_lock();
- service_if->service_type = NULL;
+ service_if->service_type = FNET_NULL;
fnet_service_mutex_unlock();
}
}
@@ -980,84 +964,6 @@ static fnet_bool_t _fnet_mdns_cmp_name(const char **rr_name_p, const char *name)
return FNET_TRUE;
}
-/************************************************************************
-* Put RR name to rr_name. Returns updated next pointer; 0 if error.
-* If rr_name or rr_name_size are 0, just skip name.
-************************************************************************/
-static const fnet_uint8_t *_fnet_mdns_get_rr_name(char *rr_name, fnet_uint32_t rr_name_size, const fnet_uint8_t *rr, const fnet_uint8_t *packet)
-{
- FNET_ASSERT(rr != FNET_NULL);
- FNET_ASSERT(packet != FNET_NULL);
-
- const fnet_uint8_t *ptr = rr;
- fnet_uint8_t length = *rr;
- fnet_uint16_t offset = 0;
- const fnet_uint8_t *result = ptr;
-#define FNET_MDNS_COMPRESSION_LIMIT 4 /* Limits number of compression elements, to avoid potential infinite loop in malformed packets*/
- fnet_index_t compression_counter = 0;
-
- while(length != 0)
- {
- /* Check if compression is used */
- while((*ptr & FNET_MDNS_DOMAIN_NAME_COMPRESSION) == FNET_MDNS_DOMAIN_NAME_COMPRESSION)
- {
- if(offset == 0) /* Is it first compression?*/
- {
- result += 2; /* 2 bytes (compression+length) */
- }
-
- offset = (fnet_uint16_t)((*ptr) & ~FNET_MDNS_DOMAIN_NAME_COMPRESSION) << 8;
- offset = offset + *(ptr + 1);
- if(offset < FNET_MDNS_PACKET_SIZE) /* Check maximum offset */
- {
- ptr = packet + offset;
- }
- else
- {
- /* Wrong offset */
- goto ERROR;
- }
-
- if((++compression_counter) > FNET_MDNS_COMPRESSION_LIMIT)
- {
- goto ERROR;
- }
- }
-
- if((*ptr & FNET_MDNS_DOMAIN_NAME_COMPRESSION) != 0) /* Top two bits may be used only by the compression flag.*/
- {
- goto ERROR;
- }
-
- length = *ptr;
-
- if( rr_name && rr_name_size ) /* Copy to rr_name buffer.*/
- {
- if((length + 1) <= rr_name_size) /* Check maximum rr_name_size */
- {
- fnet_memcpy(rr_name, ptr, length + 1);
-
- rr_name += (length + 1);
- rr_name_size -= (length + 1);
- }
- else
- {
- goto ERROR;
- }
- }
-
- ptr += (length + 1);
- if(ptr > result)
- {
- result = ptr;
- }
- }
-
- return result;
-ERROR:
- return NULL;
-}
-
/************************************************************************
* Get query type.
************************************************************************/
@@ -1093,35 +999,6 @@ static fnet_mdns_query_type_t _fnet_mdns_get_query_type(fnet_uint16_t type)
return query_rr_type;
}
-/************************************************************************
-* Print MDNS query name.
-************************************************************************/
-#if FNET_CFG_DEBUG_MDNS && FNET_CFG_DEBUG
-static void _fnet_mdns_print_qe_name(const fnet_char_t *prefix, const fnet_char_t *qe_name)
-{
- fnet_size_t qe_name_legth = fnet_strlen(qe_name);
- fnet_uint8_t name_length_index = 0;
- fnet_index_t i;
-
- fnet_printf("%s", prefix); /* Print prefix*/
-
- for(i = 0; i < qe_name_legth; i++)
- {
- if(i == name_length_index)
- {
- fnet_printf("."); /* Instead of name length */
- name_length_index += qe_name[i] + 1; /* Next name length byte */
- }
- else
- {
- fnet_printf("%c", qe_name[i]);
- }
- }
-
- fnet_println("");
-}
-#endif
-
/************************************************************************
* Receive MDNS query (request) and process it.
************************************************************************/
@@ -1131,15 +1008,15 @@ static const fnet_uint8_t *_fnet_mdns_process_query(fnet_mdns_if_t *mdns_if, fne
FNET_ASSERT(ptr != FNET_NULL);
FNET_ASSERT(packet != FNET_NULL);
- fnet_char_t qe_name[FNET_MDNS_RR_NAME_LEN_MAX];
- fnet_mdns_header_t *mdns_header = (fnet_mdns_header_t *)packet;
- const fnet_mdns_qe_header_t *qe_header;
- fnet_mdns_service_if_t *service = NULL;
+ fnet_char_t qe_name[FNET_MDNS_RR_NAME_LEN_MAX];
+ fnet_dns_header_t *mdns_header = (fnet_dns_header_t *)packet;
+ const fnet_mdns_qe_header_t *qe_header;
+ fnet_mdns_service_if_t *service = FNET_NULL;
- if( packet_size > (sizeof(fnet_mdns_header_t) + sizeof(fnet_mdns_qe_header_t)) )
+ if( packet_size > (sizeof(fnet_dns_header_t) + sizeof(fnet_mdns_qe_header_t)) )
{
/* Get Requested name */
- ptr = _fnet_mdns_get_rr_name(qe_name, sizeof(qe_name), ptr, packet);
+ ptr = _fnet_dns_get_rr_name(qe_name, sizeof(qe_name), ptr, packet, packet_size);
if(ptr)
{
@@ -1161,7 +1038,7 @@ static const fnet_uint8_t *_fnet_mdns_process_query(fnet_mdns_if_t *mdns_if, fne
|| (service = _fnet_mdns_get_service_by_type(mdns_if, qe_name)) ) /* service type in a domain */
{
#if FNET_CFG_DEBUG_MDNS && FNET_CFG_DEBUG
- _fnet_mdns_print_qe_name("MDNS: RX Query for:", qe_name);
+ _fnet_dns_print_rr_name("MDNS: RX Query for:", qe_name);
#endif
if(_fnet_mdns_get_service_by_type(mdns_if, qe_name)) /* Service Type has only PTR record.*/
@@ -1220,7 +1097,7 @@ static const fnet_uint8_t *_fnet_mdns_process_query(fnet_mdns_if_t *mdns_if, fne
|| _fnet_mdns_is_our_service_name(mdns_if, qe_name))
{
#if FNET_CFG_DEBUG_MDNS && FNET_CFG_DEBUG
- _fnet_mdns_print_qe_name("MDNS: RX Probe for:", qe_name);
+ _fnet_dns_print_rr_name("MDNS: RX Probe for:", qe_name);
#endif
/* Simultaneous Probe Tiebreaking */
@@ -1261,7 +1138,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
FNET_ASSERT(packet != FNET_NULL);
fnet_uint8_t our_rr[FNET_MDNS_RR_PROBE_LEN_MAX];
- const fnet_mdns_header_t *mdns_header = (const fnet_mdns_header_t *)packet;
+ const fnet_dns_header_t *mdns_header = (const fnet_dns_header_t *)packet;
fnet_uint16_t an_count = fnet_htons(mdns_header->ancount);
const fnet_uint8_t *ptr = an_ptr;
const fnet_mdns_rr_header_t *rr_header;
@@ -1274,10 +1151,10 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
/* Check all RRs in known answer records.*/
for(i = 0; ptr && (i < an_count) && (ptr < (packet + packet_size)); i++ )
{
- service = NULL;
+ service = FNET_NULL;
- rr_header = (const fnet_mdns_rr_header_t *)_fnet_mdns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet);
- if(rr_header == NULL)
+ rr_header = (const fnet_mdns_rr_header_t *)_fnet_dns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet, packet_size);
+ if(rr_header == FNET_NULL)
{
goto ERROR;
}
@@ -1293,7 +1170,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
service = _fnet_mdns_get_service_by_type(mdns_if, rr_name);
if(service)
{
- if(_fnet_mdns_add_rr_ptr(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_ptr(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
@@ -1307,7 +1184,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
service = _fnet_mdns_get_service_by_name(mdns_if, rr_name);
if(service)
{
- if(_fnet_mdns_add_rr_txt(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_txt(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
@@ -1321,7 +1198,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
service = _fnet_mdns_get_service_by_name(mdns_if, rr_name);
if(service)
{
- if(_fnet_mdns_add_rr_srv(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_srv(mdns_if, our_rr, sizeof(our_rr), service, mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
@@ -1333,7 +1210,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
break;
case FNET_MDNS_QUERY_AAAA:
#if FNET_CFG_IP6
- if(_fnet_mdns_add_rr_aaaa(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_aaaa(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
@@ -1343,7 +1220,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
break;
case FNET_MDNS_QUERY_A:
#if FNET_CFG_IP4
- if(_fnet_mdns_add_rr_a(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_a(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
@@ -1364,7 +1241,7 @@ static void _fnet_mdns_process_duplicate_answer(fnet_mdns_if_t *mdns_if, const f
else
{
/* Check if the same RR in answer section.*/
- if(_fnet_mdns_cmp_rr(our_rr, &ptr, packet) == 0)
+ if(_fnet_mdns_cmp_rr(our_rr, &ptr, packet, packet_size) == 0)
{
/* Remove duplicate answer */
if(service)
@@ -1393,7 +1270,7 @@ static void _fnet_mdns_process_simultaneous_probe(fnet_mdns_if_t *mdns_if, const
FNET_ASSERT(packet != FNET_NULL);
fnet_uint8_t our_rr[FNET_MDNS_RR_PROBE_LEN_MAX];
- fnet_mdns_header_t *mdns_header = (fnet_mdns_header_t *)packet;
+ fnet_dns_header_t *mdns_header = (fnet_dns_header_t *)packet;
fnet_uint16_t ns_count = fnet_htons(mdns_header->nscount);
fnet_bool_t is_win = FNET_FALSE;
@@ -1401,21 +1278,21 @@ static void _fnet_mdns_process_simultaneous_probe(fnet_mdns_if_t *mdns_if, const
#if FNET_CFG_IP4
/* Prepare and Compare Our RR A record */
- if(_fnet_mdns_add_rr_a(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_a(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
- if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet) == FNET_TRUE)
+ if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet, packet_size) == FNET_TRUE)
#endif
{
#if FNET_CFG_IP6
/* Prepare and Compare Our RR AAAA record */
- if(_fnet_mdns_add_rr_aaaa(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_aaaa(mdns_if, our_rr, sizeof(our_rr), mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
- if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet) == FNET_TRUE)
+ if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet, packet_size) == FNET_TRUE)
#endif
{
fnet_uint32_t i;
@@ -1424,15 +1301,15 @@ static void _fnet_mdns_process_simultaneous_probe(fnet_mdns_if_t *mdns_if, const
for(i = 0; i < FNET_CFG_MDNS_SERVICE_MAX; i++)
{
- if(mdns_if->service_if_list[i].service_type != NULL)
+ if(mdns_if->service_if_list[i].service_type != FNET_NULL)
{
/* Prepare and Compare Our RR SRV records */
- if(_fnet_mdns_add_rr_srv(mdns_if, our_rr, sizeof(our_rr), &mdns_if->service_if_list[i], mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == NULL)
+ if(_fnet_mdns_add_rr_srv(mdns_if, our_rr, sizeof(our_rr), &mdns_if->service_if_list[i], mdns_if->rr_ttl, FNET_FALSE, FNET_FALSE) == FNET_NULL)
{
goto ERROR;
}
- if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet) == FNET_TRUE)
+ if(_fnet_mdns_is_rr_win(our_rr, ns_ptr, ns_count, packet, packet_size) == FNET_TRUE)
{
is_win = FNET_TRUE;
}
@@ -1466,26 +1343,26 @@ static const fnet_uint8_t *_fnet_mdns_get_an(const fnet_uint8_t *packet, fnet_ui
{
FNET_ASSERT(packet != FNET_NULL);
- const fnet_mdns_header_t *mdns_header = (const fnet_mdns_header_t *)packet;
+ const fnet_dns_header_t *mdns_header = (const fnet_dns_header_t *)packet;
fnet_uint16_t qd_count; /* Question Count */
fnet_uint16_t an_count; /* Answer Record Count */
- const fnet_uint8_t *result = NULL;
+ const fnet_uint8_t *result = FNET_NULL;
fnet_index_t i;
const fnet_uint8_t *ptr;
- if(packet_size > sizeof(fnet_mdns_header_t))
+ if(packet_size > sizeof(fnet_dns_header_t))
{
qd_count = fnet_htons(mdns_header->qdcount); /* Question Count */
an_count = fnet_htons(mdns_header->ancount); /* Answer Record Count */
/* Skip mDNS header.*/
- ptr = packet + sizeof(fnet_mdns_header_t);
+ ptr = packet + sizeof(fnet_dns_header_t);
/* Skip Questions.*/
for(i = 0; (i < qd_count) && (ptr < (packet + packet_size)); i++)
{
/* Get Requested name */
- ptr = _fnet_mdns_get_rr_name(NULL, 0, ptr, packet);
+ ptr = _fnet_dns_get_rr_name(FNET_NULL, 0, ptr, packet, packet_size);
if(ptr)
{
@@ -1514,28 +1391,28 @@ static const fnet_uint8_t *_fnet_mdns_get_ns(fnet_uint8_t *packet, fnet_uint32_t
{
FNET_ASSERT(packet != FNET_NULL);
- fnet_mdns_header_t *mdns_header = (fnet_mdns_header_t *)packet;
+ fnet_dns_header_t *mdns_header = (fnet_dns_header_t *)packet;
fnet_uint16_t qd_count; /* Question Count */
fnet_uint16_t an_count; /* Answer Record Count */
fnet_uint16_t ns_count; /* Authority Record Count */
- const fnet_uint8_t *result = NULL;
+ const fnet_uint8_t *result = FNET_NULL;
fnet_index_t i;
const fnet_uint8_t *ptr;
- if(packet_size > sizeof(fnet_mdns_header_t))
+ if(packet_size > sizeof(fnet_dns_header_t))
{
qd_count = fnet_htons(mdns_header->qdcount); /* Question Count */
an_count = fnet_htons(mdns_header->ancount); /* Answer Record Count */
ns_count = fnet_htons(mdns_header->nscount); /* Authority Record Count */
/* Skip mDNS header.*/
- ptr = packet + sizeof(fnet_mdns_header_t);
+ ptr = packet + sizeof(fnet_dns_header_t);
/* Skip Questions.*/
for(i = 0; (i < qd_count) && (ptr < (packet + packet_size)); i++)
{
/* Get Requested name */
- ptr = _fnet_mdns_get_rr_name(NULL, 0, ptr, packet);
+ ptr = _fnet_dns_get_rr_name(FNET_NULL, 0, ptr, packet, packet_size);
if(ptr)
{
@@ -1553,7 +1430,7 @@ static const fnet_uint8_t *_fnet_mdns_get_ns(fnet_uint8_t *packet, fnet_uint32_t
const fnet_mdns_rr_header_t *rr_header;
/* Get RR name */
- ptr = _fnet_mdns_get_rr_name(NULL, 0, ptr, packet);
+ ptr = _fnet_dns_get_rr_name(FNET_NULL, 0, ptr, packet, packet_size);
if(ptr)
{
@@ -1582,7 +1459,7 @@ static const fnet_uint8_t *_fnet_mdns_get_ns(fnet_uint8_t *packet, fnet_uint32_t
* 1 = Win
* -1 = Loss
************************************************************************/
-static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t **rr, const fnet_uint8_t *packet)
+static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t **rr, const fnet_uint8_t *packet, fnet_uint32_t packet_size)
{
FNET_ASSERT(our_rr != FNET_NULL);
FNET_ASSERT(rr != FNET_NULL);
@@ -1618,7 +1495,7 @@ static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t *
compared and the lexicographically later data wins.*/
/* Get RR name */
- ptr = _fnet_mdns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet);
+ ptr = _fnet_dns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet, packet_size);
if(ptr)
{
rr_header = (const fnet_mdns_rr_header_t *)ptr;
@@ -1734,7 +1611,7 @@ static fnet_int32_t _fnet_mdns_cmp_rr(fnet_uint8_t *our_rr, const fnet_uint8_t *
/************************************************************************
* Is our RR winner.
************************************************************************/
-static fnet_bool_t _fnet_mdns_is_rr_win(fnet_uint8_t *our_rr, const fnet_uint8_t *ns_ptr, fnet_uint16_t ns_count, fnet_uint8_t *packet)
+static fnet_bool_t _fnet_mdns_is_rr_win(fnet_uint8_t *our_rr, const fnet_uint8_t *ns_ptr, fnet_uint16_t ns_count, fnet_uint8_t *packet, fnet_uint32_t packet_size)
{
FNET_ASSERT(our_rr != FNET_NULL);
FNET_ASSERT(ns_ptr != FNET_NULL);
@@ -1755,7 +1632,7 @@ static fnet_bool_t _fnet_mdns_is_rr_win(fnet_uint8_t *our_rr, const fnet_uint8_t
/* Check all RRs. Find lowest class */
for(i = 0; i < ns_count; i++ )
{
- if(_fnet_mdns_cmp_rr(our_rr, &ptr, packet) >= 0)
+ if(_fnet_mdns_cmp_rr(our_rr, &ptr, packet, packet_size) >= 0)
{
break; /* Win */
}
@@ -1787,10 +1664,10 @@ static const fnet_uint8_t *_fnet_mdns_process_response(fnet_mdns_if_t *mdns_if,
/* Header follows the hostname and the terminating zero */
const fnet_mdns_rr_header_t *rr_header;
- if( packet_size > (sizeof(fnet_mdns_header_t) + sizeof(fnet_mdns_rr_header_t)) ) /* TND make it universal*/
+ if( packet_size > (sizeof(fnet_dns_header_t) + sizeof(fnet_mdns_rr_header_t)) ) /* TBD make it universal*/
{
/* Get RR name */
- ptr = _fnet_mdns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet);
+ ptr = _fnet_dns_get_rr_name(rr_name, sizeof(rr_name), ptr, packet, packet_size);
if(ptr)
{
@@ -1810,7 +1687,7 @@ static const fnet_uint8_t *_fnet_mdns_process_response(fnet_mdns_if_t *mdns_if,
)
{
#if FNET_CFG_DEBUG_MDNS && FNET_CFG_DEBUG
- _fnet_mdns_print_qe_name("MDNS: RX response for:", rr_name);
+ _fnet_dns_print_rr_name("MDNS: RX response for:", rr_name);
#endif
/* RFC: In the case of a host
@@ -1849,7 +1726,7 @@ static const fnet_uint8_t *_fnet_mdns_process_response(fnet_mdns_if_t *mdns_if,
}
else
{
- ptr = NULL;
+ ptr = FNET_NULL;
}
return ptr;
@@ -1863,7 +1740,7 @@ static void _fnet_mdns_recv(fnet_mdns_if_t *mdns_if)
FNET_ASSERT(mdns_if != FNET_NULL);
fnet_ssize_t received;
- fnet_mdns_header_t *mdns_header;
+ fnet_dns_header_t *mdns_header;
fnet_uint32_t cnt = 0;
const fnet_uint8_t *ptr;
fnet_index_t i;
@@ -1877,11 +1754,11 @@ static void _fnet_mdns_recv(fnet_mdns_if_t *mdns_if)
if(received > 0)
{
/* Received MDNS header */
- if(received > sizeof(fnet_mdns_header_t))
+ if(received > sizeof(fnet_dns_header_t))
{
- mdns_header = (fnet_mdns_header_t *)&mdns_if->buffer[0];
+ mdns_header = (fnet_dns_header_t *)&mdns_if->buffer[0];
- char *hostname = (char *)&mdns_if->buffer[sizeof(fnet_mdns_header_t)];
+ char *hostname = (char *)&mdns_if->buffer[sizeof(fnet_dns_header_t)];
/* Query */
if( ((mdns_header->flags & FNET_HTONS(FNET_MDNS_HEADER_FLAGS_QR)) == 0) /* Query.*/
@@ -1909,7 +1786,7 @@ static void _fnet_mdns_recv(fnet_mdns_if_t *mdns_if)
for(i = 0; i < fnet_htons(mdns_header->qdcount); i++)
{
ptr = _fnet_mdns_process_query(mdns_if, mdns_if->remote_address.sa_family, ptr, mdns_if->buffer, received);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
return;
}
@@ -1943,7 +1820,7 @@ static void _fnet_mdns_recv(fnet_mdns_if_t *mdns_if)
for(i = 0; (i < cnt) && (ptr < (mdns_if->buffer + received)); i++)
{
ptr = _fnet_mdns_process_response(mdns_if, ptr, mdns_if->buffer, received);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
break;
}
@@ -1967,7 +1844,7 @@ static fnet_uint8_t *_fnet_mdns_add_domain_name(fnet_uint8_t *buf, fnet_uint32_t
fnet_uint32_t len = 0;
fnet_index_t i;
fnet_index_t p = 0;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(domain_len <= buf_size) /* Check buffer size limit */
{
@@ -2011,14 +1888,14 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
fnet_uint16_t nscount = 0;
fnet_uint16_t qdcount = 0;
fnet_index_t i;
- fnet_mdns_header_t *mdns_header;
+ fnet_dns_header_t *mdns_header;
fnet_uint8_t *buf_end = &mdns_if->buffer[FNET_MDNS_PACKET_SIZE - 1];
fnet_memset(mdns_if->buffer, 0, sizeof(mdns_if->buffer));
- mdns_header = (fnet_mdns_header_t *)&mdns_if->buffer[0];
+ mdns_header = (fnet_dns_header_t *)&mdns_if->buffer[0];
- ptr = (fnet_uint8_t *)mdns_header + sizeof(fnet_mdns_header_t);
+ ptr = (fnet_uint8_t *)mdns_header + sizeof(fnet_dns_header_t);
/* RFC: All probe queries SHOULD be done
using the desired resource record name and class (usually class 1,
@@ -2038,12 +1915,12 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
if(mdns_if->service_if_list[i].service_type)
{
ptr = _fnet_mdns_add_service_name(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
ptr = _fnet_mdns_add_qe_any(ptr, (buf_end - ptr));
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2053,12 +1930,12 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
/* Prepary ANY record with device/host name */
ptr = _fnet_mdns_add_host_name(mdns_if, ptr, (buf_end - ptr), FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
ptr = _fnet_mdns_add_qe_any(ptr, (buf_end - ptr));
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2086,7 +1963,7 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
if(mdns_if->service_if_list[i].service_type)
{
ptr = _fnet_mdns_add_rr_srv(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], mdns_if->rr_ttl, FNET_FALSE, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2097,7 +1974,7 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
#if FNET_CFG_IP4
/* Prepare RR A record */
ptr = _fnet_mdns_add_rr_a(mdns_if, ptr, (buf_end - ptr), mdns_if->rr_ttl, FNET_FALSE, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2107,7 +1984,7 @@ static void _fnet_mdns_send_probe(fnet_mdns_if_t *mdns_if)
#if FNET_CFG_IP6
/* Prepare RR AAAA record */
ptr = _fnet_mdns_add_rr_aaaa(mdns_if, ptr, (buf_end - ptr), mdns_if->rr_ttl, FNET_FALSE, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2222,8 +2099,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
FNET_ASSERT(mdns_if != FNET_NULL);
fnet_uint8_t *ptr;
- fnet_uint32_t send_size = 0;
- fnet_mdns_header_t *mdns_header = (fnet_mdns_header_t *)&mdns_if->buffer[0];
+ fnet_dns_header_t *mdns_header = (fnet_dns_header_t *)&mdns_if->buffer[0];
fnet_uint16_t answer_count = 0;
fnet_uint16_t additional_count = 0;
fnet_bool_t has_srv = FNET_FALSE;
@@ -2234,8 +2110,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
fnet_memset(mdns_if->buffer, 0, sizeof(mdns_if->buffer));
- ptr = (fnet_uint8_t *)mdns_header + sizeof(fnet_mdns_header_t);
- send_size += sizeof(fnet_mdns_header_t);
+ ptr = (fnet_uint8_t *)mdns_header + sizeof(fnet_dns_header_t);
mdns_header->flags |= FNET_HTONS(FNET_MDNS_HEADER_FLAGS_QR | FNET_MDNS_HEADER_FLAGS_C);
@@ -2260,7 +2135,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if((&mdns_if->service_if_list[i])->service_get_txt) /* Check if service has TXT */
{
ptr = _fnet_mdns_add_rr_txt(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2272,7 +2147,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if(mdns_if->service_if_list[i].response_type & FNET_MDNS_QUERY_PTR)
{
ptr = _fnet_mdns_add_rr_ptr(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2285,7 +2160,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if(mdns_if->service_if_list[i].response_type & FNET_MDNS_QUERY_PTR_ENUM)
{
ptr = _fnet_mdns_add_rr_ptr_enum(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2297,7 +2172,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if(mdns_if->service_if_list[i].response_type & FNET_MDNS_QUERY_SRV)
{
ptr = _fnet_mdns_add_rr_srv(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2312,7 +2187,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if(mdns_if->response_type & FNET_MDNS_QUERY_A)
{
ptr = _fnet_mdns_add_rr_a(mdns_if, ptr, (buf_end - ptr), ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2325,7 +2200,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if(mdns_if->response_type & FNET_MDNS_QUERY_AAAA)
{
ptr = _fnet_mdns_add_rr_aaaa(mdns_if, ptr, (buf_end - ptr), ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2350,7 +2225,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if((mdns_if->service_if_list[i].response_type & FNET_MDNS_QUERY_SRV) == 0)
{
ptr = _fnet_mdns_add_rr_srv(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2362,7 +2237,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
if((&mdns_if->service_if_list[i])->service_get_txt) /* Check if service has TXT */
{
ptr = _fnet_mdns_add_rr_txt(mdns_if, ptr, (buf_end - ptr), &mdns_if->service_if_list[i], ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2383,7 +2258,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
{
/* Prepare RR A record */
ptr = _fnet_mdns_add_rr_a(mdns_if, ptr, (buf_end - ptr), ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2395,7 +2270,7 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
{
/* Prepare RR AAAA record */
ptr = _fnet_mdns_add_rr_aaaa(mdns_if, ptr, (buf_end - ptr), ttl, flush, FNET_TRUE);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2408,6 +2283,8 @@ static void _fnet_mdns_send_response(fnet_mdns_if_t *mdns_if, fnet_uint32_t ttl)
* Question Section. */
if(answer_count) /* Check if any answer for sending*/
{
+ fnet_uint32_t send_size;
+
/* Answers */
mdns_header->ancount = FNET_HTONS(answer_count);
/* Additional */
@@ -2466,7 +2343,7 @@ static fnet_uint8_t *_fnet_mdns_add_rr_header(fnet_uint8_t *buf, fnet_uint32_t b
fnet_uint8_t *ptr = buf;
fnet_mdns_rr_header_t *mdns_rr_header = (fnet_mdns_rr_header_t *)buf;
fnet_uint16_t rr_class = FNET_MDNS_HEADER_CLASS_IN; /* RFC: generally only DNS class 1 ("Internet") is used */
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(sizeof(fnet_mdns_rr_header_t) <= buf_size)
{
@@ -2503,7 +2380,7 @@ fnet_uint8_t *_fnet_mdns_add_rr_txt(fnet_mdns_if_t *mdns_if, fnet_uint8_t *buf,
/* RR Name */
/* Add service name */
ptr = _fnet_mdns_add_service_name(mdns_if, ptr, (buf + buf_size) - ptr, service_if, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2559,11 +2436,11 @@ static fnet_uint8_t *_fnet_mdns_add_rr_ptr(fnet_mdns_if_t *mdns_if, fnet_uint8_t
fnet_uint8_t *rr_header_ptr;
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
/* Add service type */
ptr = _fnet_mdns_add_service_type_name(mdns_if, ptr, (buf + buf_size) - ptr, service_if, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2576,7 +2453,7 @@ static fnet_uint8_t *_fnet_mdns_add_rr_ptr(fnet_mdns_if_t *mdns_if, fnet_uint8_t
/* Add PTR data */
ptr = _fnet_mdns_add_service_name(mdns_if, ptr, (buf + buf_size) - ptr, service_if, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2615,7 +2492,7 @@ static fnet_uint8_t *_fnet_mdns_add_rr_ptr_enum(fnet_mdns_if_t *mdns_if, fnet_ui
/* Add PTR data */
ptr = _fnet_mdns_add_service_type_name(mdns_if, ptr, (buf + buf_size) - ptr, service_if, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2638,14 +2515,14 @@ static fnet_uint8_t *_fnet_mdns_add_rr_srv(fnet_mdns_if_t *mdns_if, fnet_uint8_t
FNET_ASSERT(mdns_if != FNET_NULL);
FNET_ASSERT(buf != FNET_NULL);
- fnet_mdns_rr_data_srv_t data;
- fnet_uint8_t *rr_header_ptr;
- fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_mdns_rr_data_srv_t data;
+ fnet_uint8_t *rr_header_ptr;
+ fnet_uint8_t *ptr = buf;
+ fnet_uint8_t *result = FNET_NULL;
/* Add service name */
ptr = _fnet_mdns_add_service_name(mdns_if, ptr, (buf + buf_size) - ptr, service_if, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2663,7 +2540,7 @@ static fnet_uint8_t *_fnet_mdns_add_rr_srv(fnet_mdns_if_t *mdns_if, fnet_uint8_t
ptr += sizeof(data);
ptr = _fnet_mdns_add_host_name(mdns_if, ptr, (buf + buf_size) - ptr, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2689,19 +2566,19 @@ static fnet_uint8_t *_fnet_mdns_add_rr_a(fnet_mdns_if_t *mdns_if, fnet_uint8_t *
fnet_ip4_addr_t my_addr;
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
my_addr = fnet_netif_get_ip4_addr(mdns_if->netif);
ptr = _fnet_mdns_add_host_name(mdns_if, ptr, (buf + buf_size) - ptr, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
/* Prepare RR A record */
ptr = _fnet_mdns_add_rr_header(ptr, (buf + buf_size) - ptr, FNET_MDNS_RR_A, flush, ttl, sizeof(my_addr));
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2735,14 +2612,14 @@ static fnet_uint8_t *_fnet_mdns_add_rr_aaaa(fnet_mdns_if_t *mdns_if, fnet_uint8_
fnet_netif_get_ip6_addr (mdns_if->netif, 0u, &addr_info); /* Just get 1st address.*/
ptr = _fnet_mdns_add_host_name(mdns_if, ptr, (buf + buf_size) - ptr, compression);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
/* Prepare RR AAAA record */
ptr = _fnet_mdns_add_rr_header(ptr, (buf + buf_size) - ptr, FNET_MDNS_RR_AAAA, flush, ttl, sizeof(addr_info.address));
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2769,7 +2646,7 @@ static fnet_uint8_t *_fnet_mdns_add_qe_any(fnet_uint8_t *buf, fnet_uint32_t buf_
fnet_mdns_qe_header_t *qe_header;
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(buf_size > sizeof(fnet_mdns_qe_header_t))
{
@@ -2792,11 +2669,11 @@ static fnet_uint8_t *_fnet_mdns_add_domain_name_compression(fnet_uint8_t *buf, f
FNET_ASSERT(buf != FNET_NULL);
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(buf_size > 2)
{
- *ptr = FNET_MDNS_DOMAIN_NAME_COMPRESSION | ((name_offset & 0x3F00) >> 8);
+ *ptr = FNET_DNS_NAME_COMPRESSED_MASK | ((name_offset & 0x3F00) >> 8);
ptr++;
*ptr = name_offset & 0xFF;
ptr++;
@@ -2816,13 +2693,13 @@ static fnet_uint8_t *_fnet_mdns_add_host_name(fnet_mdns_if_t *mdns_if, fnet_uint
FNET_ASSERT(buf != FNET_NULL);
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(mdns_if->offset_host_name && compression)
{
/* Use Domain Name Compression */
ptr = _fnet_mdns_add_domain_name_compression(ptr, (buf + buf_size) - ptr, mdns_if->offset_host_name);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2841,12 +2718,12 @@ static fnet_uint8_t *_fnet_mdns_add_host_name(fnet_mdns_if_t *mdns_if, fnet_uint
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, mdns_if->host_name);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, FNET_MDNS_DOMAIN_NAME);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2873,13 +2750,13 @@ static fnet_uint8_t *_fnet_mdns_add_service_name(fnet_mdns_if_t *mdns_if, fnet_u
fnet_uint16_t offset;
fnet_uint8_t *ptr = buf;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(service_if->offset_service_name && compression)
{
/* Use Domain Name Compression */
ptr = _fnet_mdns_add_domain_name_compression(ptr, (buf + buf_size) - ptr, service_if->offset_service_name);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2897,7 +2774,7 @@ static fnet_uint8_t *_fnet_mdns_add_service_name(fnet_mdns_if_t *mdns_if, fnet_u
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, mdns_if->service_name);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2913,12 +2790,12 @@ static fnet_uint8_t *_fnet_mdns_add_service_name(fnet_mdns_if_t *mdns_if, fnet_u
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, service_if->service_type);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, FNET_MDNS_DOMAIN_NAME);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2945,13 +2822,13 @@ static fnet_uint8_t *_fnet_mdns_add_service_type_name(fnet_mdns_if_t *mdns_if, f
fnet_uint8_t *ptr = buf;
fnet_uint16_t offset;
- fnet_uint8_t *result = NULL;
+ fnet_uint8_t *result = FNET_NULL;
if(service_if->offset_service_type && compression)
{
/* Use Domain Name Compression */
ptr = _fnet_mdns_add_domain_name_compression(ptr, (buf + buf_size) - ptr, service_if->offset_service_type);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -2969,12 +2846,12 @@ static fnet_uint8_t *_fnet_mdns_add_service_type_name(fnet_mdns_if_t *mdns_if, f
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, service_if->service_type);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
ptr = _fnet_mdns_add_domain_name(ptr, (buf + buf_size) - ptr, FNET_MDNS_DOMAIN_NAME);
- if(ptr == NULL)
+ if(ptr == FNET_NULL)
{
goto ERROR;
}
@@ -3019,11 +2896,11 @@ static fnet_mdns_service_if_t *_fnet_mdns_get_service_by_name(fnet_mdns_if_t *md
FNET_ASSERT(mdns_if != FNET_NULL);
fnet_index_t i;
- fnet_mdns_service_if_t *result = NULL;
+ fnet_mdns_service_if_t *result = FNET_NULL;
for(i = 0; i < FNET_CFG_MDNS_SERVICE_MAX; i++)
{
- if(mdns_if->service_if_list[i].service_type != NULL)
+ if(mdns_if->service_if_list[i].service_type != FNET_NULL)
{
if(_fnet_mdns_cmp_rr_name(service_name, mdns_if->service_name, mdns_if->service_if_list[i].service_type) == FNET_TRUE)
{
@@ -3044,11 +2921,11 @@ static fnet_mdns_service_if_t *_fnet_mdns_get_service_by_type(fnet_mdns_if_t *md
FNET_ASSERT(mdns_if != FNET_NULL);
fnet_index_t i;
- fnet_mdns_service_if_t *result = NULL;
+ fnet_mdns_service_if_t *result = FNET_NULL;
for(i = 0; i < FNET_CFG_MDNS_SERVICE_MAX; i++)
{
- if(mdns_if->service_if_list[i].service_type != NULL)
+ if(mdns_if->service_if_list[i].service_type != FNET_NULL)
{
if(_fnet_mdns_cmp_rr_name(service_type, "", mdns_if->service_if_list[i].service_type) == FNET_TRUE)
{
diff --git a/fnet_stack/service/shell/fnet_shell.c b/fnet_stack/service/shell/fnet_shell.c
index 81874053..d57700f5 100644
--- a/fnet_stack/service/shell/fnet_shell.c
+++ b/fnet_stack/service/shell/fnet_shell.c
@@ -200,7 +200,7 @@ static void _fnet_shell_poll( void *shell_if_p )
if(argc)
{
- const fnet_shell_command_t *cur_command = fnet_shell_get_command_by_name(shell_if, argv[0]);
+ const fnet_shell_command_t *cur_command = fnet_shell_get_command_by_name(shell_if, argv[0]); //TBD NULL if no command found //DM
if(cur_command)
{
@@ -228,13 +228,13 @@ static void _fnet_shell_poll( void *shell_if_p )
{
fnet_shell_println((fnet_shell_desc_t)shell_if_p, FNET_SHELL_ERR_SYNTAX, argv[0]);
}
- }
- if(cur_command->name == 0)
- {
- fnet_shell_println((fnet_shell_desc_t)shell_if_p, FNET_SHELL_ERR_CMD, argv[0]);
- }
+ if(cur_command->name == 0) //TBD if no commmand found //DM
+ {
+ fnet_shell_println((fnet_shell_desc_t)shell_if_p, FNET_SHELL_ERR_CMD, argv[0]);
+ }
+ }
}
if(shell_if->block_index)
diff --git a/fnet_stack/stack/fnet_arp.c b/fnet_stack/stack/fnet_arp.c
index b71d5a52..15e84857 100644
--- a/fnet_stack/stack/fnet_arp.c
+++ b/fnet_stack/stack/fnet_arp.c
@@ -330,7 +330,7 @@ void _fnet_arp_resolve(fnet_netif_t *netif, fnet_ip4_addr_t ipaddr, fnet_netbuf_
if (entry->hold)
{
_fnet_netbuf_free_chain(entry->hold);
- entry->hold = NULL;
+ entry->hold = FNET_NULL;
}
entry->hold = nb;
diff --git a/fnet_stack/stack/fnet_eth.c b/fnet_stack/stack/fnet_eth.c
index b41f9ebc..93d12038 100644
--- a/fnet_stack/stack/fnet_eth.c
+++ b/fnet_stack/stack/fnet_eth.c
@@ -565,7 +565,7 @@ void _fnet_eth_output_ip6(fnet_netif_t *netif, const fnet_ip6_addr_t *src_ip_add
FNET_IP6_ADDR_COPY(src_ip_addr, &neighbor->solicitation_src_ip_addr); /* Save src address for later usage.*/
/* AR: Transmitting a Neighbor Solicitation message targeted at the neighbor.*/
- _fnet_nd6_neighbor_solicitation_send(netif, src_ip_addr, FNET_NULL /* NULL for AR */, dest_ip_addr);
+ _fnet_nd6_neighbor_solicitation_send(netif, src_ip_addr, FNET_NULL /* FNET_NULL for AR */, dest_ip_addr);
}
/* Destination is OFF local-link.*/
else
@@ -594,7 +594,7 @@ void _fnet_eth_output_ip6(fnet_netif_t *netif, const fnet_ip6_addr_t *src_ip_add
neighbor->solicitation_send_counter = 0u;
FNET_IP6_ADDR_COPY(src_ip_addr, &neighbor->solicitation_src_ip_addr); /* Save src address for later usage.*/
/* AR: Transmitting a Neighbor Solicitation message targeted at the neighbor.*/
- _fnet_nd6_neighbor_solicitation_send(netif, src_ip_addr, FNET_NULL /* NULL for AR */, dest_ip_addr);
+ _fnet_nd6_neighbor_solicitation_send(netif, src_ip_addr, FNET_NULL /* FNET_NULL for AR */, dest_ip_addr);
}
if(neighbor->state == FNET_ND6_NEIGHBOR_STATE_INCOMPLETE)
diff --git a/fnet_stack/stack/fnet_ip6.c b/fnet_stack/stack/fnet_ip6.c
index 75b9c0c1..96fb271c 100644
--- a/fnet_stack/stack/fnet_ip6.c
+++ b/fnet_stack/stack/fnet_ip6.c
@@ -321,6 +321,14 @@ static fnet_ip6_ext_header_handler_result_t _fnet_ip6_ext_header_handler_options
FNET_COMP_UNUSED_ARG(src_ip);
+ /* Check for a valid length. */
+ if(length > (nb->length - 2u))
+ { /* Malformed option header */
+ _fnet_netbuf_free_chain(nb);
+ _fnet_netbuf_free_chain(ip6_nb);
+ return FNET_IP6_EXT_HEADER_HANDLER_RESULT_EXIT;
+ }
+
offset = 0u;
while(offset < length)
{
@@ -1644,7 +1652,7 @@ static fnet_netbuf_t *_fnet_ip6_reassembly(fnet_netif_t *netif, fnet_netbuf_t **
/* Trims or discards icoming fragments.*/
if(frag_ptr != frag_list_ptr->frag_ptr)
{
- if((i = (fnet_size_t)(frag_ptr->prev->offset + frag_ptr->prev->total_length - cur_frag_ptr->prev->offset)) != 0u)
+ if((i = (fnet_size_t)(frag_ptr->prev->offset + frag_ptr->prev->total_length - cur_frag_ptr->offset)) != 0u)
{
if(i > cur_frag_ptr->total_length)
{
diff --git a/fnet_stack/stack/fnet_nd6.c b/fnet_stack/stack/fnet_nd6.c
index 567ad1f9..f0e4b560 100644
--- a/fnet_stack/stack/fnet_nd6.c
+++ b/fnet_stack/stack/fnet_nd6.c
@@ -164,7 +164,7 @@ static void _fnet_nd6_timer( fnet_uint32_t cookie )
/************************************************************************
* DESCRIPTION: Get entry from Neighbor cache that corresponds ip_addr.
-* It returns NULL if no entry is found.
+* It returns FNET_NULL if no entry is found.
*************************************************************************/
fnet_nd6_neighbor_entry_t *_fnet_nd6_neighbor_cache_get(struct fnet_netif *netif, const fnet_ip6_addr_t *ip_addr)
{
@@ -318,7 +318,7 @@ static void _fnet_nd6_neighbor_cache_timer(fnet_netif_t *netif)
neighbor_entry->state_time_ms = fnet_timer_get_ms();
/* AR: Transmitting a Neighbor Solicitation message targeted at the neighbor.*/
- _fnet_nd6_neighbor_solicitation_send(netif, src_addr, FNET_NULL /* NULL for AR */, dest_addr);
+ _fnet_nd6_neighbor_solicitation_send(netif, src_addr, FNET_NULL /* FNET_NULL for AR */, dest_addr);
}
}
break;
@@ -571,7 +571,7 @@ static fnet_bool_t _fnet_nd6_is_firsthop_router(fnet_netif_t *netif, fnet_ip6_ad
/************************************************************************
* DESCRIPTION: Get entry from Prefix List that corresponds to "prefix".
-* It returns NULL if no entry is found.
+* It returns FNET_NULL if no entry is found.
*************************************************************************/
static fnet_nd6_prefix_entry_t *_fnet_nd6_prefix_list_get(struct fnet_netif *netif, fnet_ip6_addr_t *prefix)
{
@@ -815,7 +815,7 @@ fnet_bool_t _fnet_nd6_addr_is_onlink(struct fnet_netif *netif, const fnet_ip6_ad
* of a target node while also providing their own link-layer address to
* the target.
*************************************************************************/
-void _fnet_nd6_neighbor_solicitation_send(struct fnet_netif *netif /*MUST*/, const fnet_ip6_addr_t *ipsrc /* NULL for, DAD */, const fnet_ip6_addr_t *ipdest /*set for NUD, NULL for DAD & AR */, const fnet_ip6_addr_t *target_addr)
+void _fnet_nd6_neighbor_solicitation_send(struct fnet_netif *netif /*MUST*/, const fnet_ip6_addr_t *ipsrc /* FNET_NULL for, DAD */, const fnet_ip6_addr_t *ipdest /*set for NUD, FNET_NULL for DAD & AR */, const fnet_ip6_addr_t *target_addr)
{
fnet_size_t ns_packet_size;
fnet_netbuf_t *ns_nb;
diff --git a/fnet_stack/stack/fnet_nd6.h b/fnet_stack/stack/fnet_nd6.h
index 7dac60d0..13e55584 100644
--- a/fnet_stack/stack/fnet_nd6.h
+++ b/fnet_stack/stack/fnet_nd6.h
@@ -707,7 +707,7 @@ void _fnet_nd6_neighbor_cache_del(struct fnet_netif *netif, fnet_nd6_neighbor_en
fnet_nd6_neighbor_entry_t *_fnet_nd6_neighbor_cache_add(struct fnet_netif *netif, const fnet_ip6_addr_t *ip_addr, fnet_netif_ll_addr_t ll_addr, fnet_nd6_neighbor_state_t state);
void _fnet_nd6_neighbor_enqueue_waiting_netbuf(fnet_nd6_neighbor_entry_t *neighbor_entry, fnet_netbuf_t *waiting_netbuf);
fnet_nd6_neighbor_entry_t *_fnet_nd6_default_router_get(struct fnet_netif *netif);
-void _fnet_nd6_neighbor_solicitation_send(struct fnet_netif *netif, const fnet_ip6_addr_t *ipsrc /* NULL for, DAD */, const fnet_ip6_addr_t *ipdest /*set for NUD, NULL for DAD & AR */, const fnet_ip6_addr_t *target_addr);
+void _fnet_nd6_neighbor_solicitation_send(struct fnet_netif *netif, const fnet_ip6_addr_t *ipsrc /* FNET_NULL for, DAD */, const fnet_ip6_addr_t *ipdest /*set for NUD, FNET_NULL for DAD & AR */, const fnet_ip6_addr_t *target_addr);
void _fnet_nd6_neighbor_solicitation_receive(struct fnet_netif *netif, fnet_ip6_addr_t *src_ip, fnet_ip6_addr_t *dest_ip, fnet_netbuf_t *nb, fnet_netbuf_t *ip6_nb);
void _fnet_nd6_neighbor_advertisement_receive(struct fnet_netif *netif, fnet_ip6_addr_t *src_ip, fnet_ip6_addr_t *dest_ip, fnet_netbuf_t *nb, fnet_netbuf_t *ip6_nb);
void _fnet_nd6_router_advertisement_receive(struct fnet_netif *netif, fnet_ip6_addr_t *src_ip, fnet_ip6_addr_t *dest_ip, fnet_netbuf_t *nb, fnet_netbuf_t *ip6_nb);
diff --git a/fnet_stack/stack/fnet_netif.c b/fnet_stack/stack/fnet_netif.c
index 95465bbc..fce33204 100644
--- a/fnet_stack/stack/fnet_netif.c
+++ b/fnet_stack/stack/fnet_netif.c
@@ -129,7 +129,7 @@ fnet_netif_desc_t fnet_netif_get_by_name( const fnet_char_t *name )
/************************************************************************
* DESCRIPTION: This function returns pointer to id-th interafce according
* its index (from zero).
-* It returns NULL if id-th interface is not available.
+* It returns FNET_NULL if id-th interface is not available.
*************************************************************************/
fnet_netif_desc_t fnet_netif_get_by_number( fnet_index_t n )
{
@@ -542,6 +542,9 @@ void _fnet_netif_set_ip4_addr(fnet_netif_t *netif, fnet_ip4_addr_t ipaddr, fnet_
netif->ip4_addr.subnetbroadcast = netif->ip4_addr.address | (~netif->ip4_addr.subnetmask); /* subnet broadcast address*/
}
+ /* Seed pseudo-random generator */
+ fnet_srand((fnet_uint32_t)ipaddr);
+
if(netif->netif_api->netif_change_addr_notify)
{
netif->netif_api->netif_change_addr_notify(netif);
diff --git a/fnet_stack/stack/fnet_stack.c b/fnet_stack/stack/fnet_stack.c
index 23c1526b..54aa6d2f 100644
--- a/fnet_stack/stack/fnet_stack.c
+++ b/fnet_stack/stack/fnet_stack.c
@@ -104,7 +104,7 @@ void fnet_release(void)
_fnet_stack_mutex_release();
#if FNET_CFG_MULTITHREADING
- _fnet_mutex_api = NULL;
+ _fnet_mutex_api = FNET_NULL;
#endif
}
diff --git a/fnet_stack/stack/fnet_stdlib.c b/fnet_stack/stack/fnet_stdlib.c
index 443cf279..f551c812 100644
--- a/fnet_stack/stack/fnet_stdlib.c
+++ b/fnet_stack/stack/fnet_stdlib.c
@@ -306,7 +306,6 @@ fnet_size_t fnet_strnlen (const fnet_char_t *str, fnet_size_t max_len)
return len;
}
-
/************************************************************************
* DESCRIPTION:
*************************************************************************/
@@ -387,7 +386,7 @@ void fnet_strlcpy( fnet_char_t *dest, const fnet_char_t *src, fnet_size_t n )
/************************************************************************
* DESCRIPTION: The function fnet_strrchr() returns a pointer to the last
-* occurrence of chr in str, or NULL if no match is found.
+* occurrence of chr in str, or FNET_NULL if no match is found.
*************************************************************************/
fnet_char_t *fnet_strrchr(const fnet_char_t *str, fnet_char_t chr )
{
diff --git a/fnet_stack/stack/fnet_timer.h b/fnet_stack/stack/fnet_timer.h
index f0e186f5..c76c42d1 100644
--- a/fnet_stack/stack/fnet_timer.h
+++ b/fnet_stack/stack/fnet_timer.h
@@ -137,7 +137,7 @@ void fnet_time_set(time_t sec);
*
* @brief Get time since the Epoch (00:00:00 UTC, January 1, 1970).
*
- * @param [out] sec If the pointer is not NULL, it will get the time since the Epoch (00:00:00 UTC, January 1, 1970), in seconds.
+ * @param [out] sec If the pointer is not FNET_NULL, it will get the time since the Epoch (00:00:00 UTC, January 1, 1970), in seconds.
*
* @return This function returns time since the Epoch, in seconds.
*
diff --git a/readme.txt b/readme.txt
index 0d8014da..e052e5df 100644
--- a/readme.txt
+++ b/readme.txt
@@ -17,7 +17,7 @@ The stack provides following protocols and services:
- QCA4002 (GT202-GC3013-FRDM4-KIT board).
- QCA4004 (SX-ULPAN-2401-SHIELD board).
- Supported Compilers:
- - IAR: Embedded Workbench for ARM, version 8.22
+ - IAR: Embedded Workbench for ARM, version 8.50
- GCC: Kinetis Design Studio, version 3.2
- Bare-metal TCP/IP stack. No underlying RTOS is required, although it can be used with it. FreeRTOS example is provided.
- Certified logos for:
diff --git a/third_party/azure_iot-1.2.8/c-utility/inc/azure_c_shared_utility/crt_abstractions.h b/third_party/azure_iot-1.2.8/c-utility/inc/azure_c_shared_utility/crt_abstractions.h
index 930da4a9..1b1a113a 100644
--- a/third_party/azure_iot-1.2.8/c-utility/inc/azure_c_shared_utility/crt_abstractions.h
+++ b/third_party/azure_iot-1.2.8/c-utility/inc/azure_c_shared_utility/crt_abstractions.h
@@ -35,7 +35,6 @@ typedef bool _Bool;
#endif
#endif // QUARKGALILEO
-#ifndef _WIN32_WCE
#define HAS_STDBOOL
#ifdef __cplusplus
/*because C++ doesn't do anything about _Bool... */
@@ -43,32 +42,15 @@ typedef bool _Bool;
#else // __cplusplus
#include
#endif // __cplusplus
-#else // _WIN32_WCE
-/* WINCE does not support bool as C datatype */
-#define __bool_true_false_are_defined 1
-
-#define HAS_STDBOOL
-
-#define _Bool bool
-
-#ifdef __cplusplus
-#define _CSTDBOOL_
-#else // __cplusplus
-typedef unsigned char bool;
-
-#define false 0
-#define true 1
-#endif // __cplusplus
-#endif // _WIN32_WCE
#else // _MSC_VER
#if defined __STDC_VERSION__
-#if ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L))
+#if ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L)|| (__STDC_VERSION__ == 201710L))
/*C99 compiler or C11*/
#define HAS_STDBOOL
#include
-#endif // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L))
+#endif // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L)|| (__STDC_VERSION__ == 201710L))
#endif // __STDC_VERSION__
#endif // _MSC_VER
@@ -130,12 +112,12 @@ MOCKABLE_FUNCTION(, int, size_tToString, char*, destination, size_t, destination
#define ISNAN _isnan
#else // _MSC_VER
#if defined __STDC_VERSION__
-#if ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L))
+#if ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L) || (__STDC_VERSION__ == 201710L))
/*C99 compiler or C11*/
#define ISNAN isnan
-#else // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L))
+#else // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L) || (__STDC_VERSION__ == 201710L))
#error update this file to contain the latest C standard.
-#endif // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L))
+#endif // ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L) || (__STDC_VERSION__ == 201710L))
#else // __STDC_VERSION__
#ifdef __cplusplus
/*C++ defines isnan... in C11*/
diff --git a/third_party/azure_iot-1.2.8/c-utility/src/crt_abstractions.c b/third_party/azure_iot-1.2.8/c-utility/src/crt_abstractions.c
index 1a937c0e..95f47260 100644
--- a/third_party/azure_iot-1.2.8/c-utility/src/crt_abstractions.c
+++ b/third_party/azure_iot-1.2.8/c-utility/src/crt_abstractions.c
@@ -239,7 +239,7 @@ int sprintf_s(char* dst, size_t dstSizeInBytes, const char* format, ...)
/*not Microsoft compiler... */
#if defined (__STDC_VERSION__) || (__cplusplus)
#if ( \
- ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L)) || \
+ ((__STDC_VERSION__ == 199901L) || (__STDC_VERSION__ == 201000L) || (__STDC_VERSION__ == 201112L) || (__STDC_VERSION__ == 201710L)) || \
(defined __cplusplus) \
)
/*C99 compiler*/
diff --git a/third_party/qca-3.3.5/port/drivers/lpspi_edma_freertos/wifi_spi.c b/third_party/qca-3.3.5/port/drivers/lpspi_edma_freertos/wifi_spi.c
index 92baf084..6af594c3 100644
--- a/third_party/qca-3.3.5/port/drivers/lpspi_edma_freertos/wifi_spi.c
+++ b/third_party/qca-3.3.5/port/drivers/lpspi_edma_freertos/wifi_spi.c
@@ -133,12 +133,12 @@ static A_STATUS WIFIDRVS_SPI_InitIRQMode(WIFIDRVS_SPI_config_t *config)
static A_STATUS WIFIDRVS_SPI_InitDMAMode(WIFIDRVS_SPI_config_t *config)
{
DMAMUX_Init(config->dma_mode.dmamux_base);
- if ((config->dma_mode.dma_rx_chnl >= 0) && (config->dma_mode.dmamux_rx_req >= 0))
+ if ((config->dma_mode.dma_rx_chnl >= 0) /*&& (config->dma_mode.dmamux_rx_req >= 0)*/) //AB
{
DMAMUX_SetSource(config->dma_mode.dmamux_base, config->dma_mode.dma_rx_chnl, config->dma_mode.dmamux_rx_req);
DMAMUX_EnableChannel(config->dma_mode.dmamux_base, config->dma_mode.dma_rx_chnl);
}
- if ((config->dma_mode.dma_tx_chnl >= 0) && (config->dma_mode.dmamux_tx_req >= 0))
+ if ((config->dma_mode.dma_tx_chnl >= 0) /*&& (config->dma_mode.dmamux_tx_req >= 0)*/) //AB
{
DMAMUX_SetSource(config->dma_mode.dmamux_base, config->dma_mode.dma_tx_chnl, config->dma_mode.dmamux_tx_req);
DMAMUX_EnableChannel(config->dma_mode.dmamux_base, config->dma_mode.dma_tx_chnl);