Select one of the symbols to view example projects that use it.
 
Outline
...
...
...
#define NX_USER_H
...
#define NX_ENABLE_INTERFACE_CAPABILITY
...
...
...
...
...
#define NX_DISABLE_IPV6
...
...
#define NX_TCP_MAX_OUT_OF_ORDER_PACKETS
#define NX_TCP_ACK_EVERY_N_PACKETS
...
...
...
...
...
...
...
...
...
...
#define NX_DNS_MAX_RETRIES
...
#define NX_SECURE_ENABLE
#define NXD_MQTT_REQUIRE_TLS
...
...
...
...
...
...
...
...
Files
loading (1/6)...
SourceVuSTM32 Libraries and SamplesNx_MQTT_ClientNetXDuo/App/nx_user.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/**************************************************************************/ /* */ /* Copyright (c) Microsoft Corporation. All rights reserved. */ /* */ /* This software is licensed under the Microsoft Software License */ /* Terms for Microsoft Azure RTOS. Full text of the license can be */ /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */ /* and in the root directory of this software. */ /* */... /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /** */ /** NetX Component */ /** */ /** User Specific */ /** */... /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /* */ /* PORT SPECIFIC C INFORMATION RELEASE */ /* */ /* nx_user.h PORTABLE C */ /* 6.0 */ /* */ /* AUTHOR */ /* */ /* Yuxin Zhou, Microsoft Corporation */ /* */ /* DESCRIPTION */ /* */ /* This file contains user defines for configuring NetX in specific */ /* ways. This file will have an effect only if the application and */ /* NetX library are built with NX_INCLUDE_USER_DEFINE_FILE defined. */ /* Note that all the defines in this file may also be made on the */ /* command line when building NetX library and application objects. */ /* */ /* RELEASE HISTORY */ /* */ /* DATE NAME DESCRIPTION */ /* */ /* 05-19-2020 Yuxin Zhou Initial Version 6.0 */ /* */... /**************************************************************************/ #ifndef NX_USER_H #define NX_USER_H /* Define various build options for the NetX Duo port. The application should either make changes here by commenting or un-commenting the conditional compilation defined OR supply the defines though the compiler's equivalent of the -D option. *//* ... */ /* Override various options with default values already assigned in nx_api.h or nx_port.h. Please also refer to nx_port.h for descriptions on each of these options. *//* ... */ /*****************************************************************************/ /************** Configuration options for NetXDuo Core ***********************/ /*****************************************************************************/ /* NX_MAX_PHYSICAL_INTERFACES defines the number physical network interfaces present to NetX Duo IP layer. Physical interface does not include loopback interface. By default there is at least one physical interface in the system. *//* ... */ /* #define NX_MAX_PHYSICAL_INTERFACES 1 *//* ... */ /* If defined, the link driver is able to specify extra capability, such as checksum offloading features. *//* ... */ #define NX_ENABLE_INTERFACE_CAPABILITY /* NX_PHYSICAL_HEADER Specifies the size in bytes of the physical header of the frame. *//* ... */ /* #define NX_PHYSICAL_HEADER 16 *//* ... */ /* NX_PHYSICAL_TRAILER specifies the size in bytes of the physical packet trailer and is typically used to reserve storage for things like Ethernet CRCs, etc. *//* ... */ /* Define the max string length. The default value is 1024. */ /* #define NX_PHYSICAL_TRAILER 4 *//* ... */ /* Defined, this option bypasses the basic NetX error checking. This define is typically used after the application is fully debugged. *//* ... */ /* #define NX_DISABLE_ERROR_CHECKING *//* ... */ /* Defined, this option enables deferred driver packet handling. This allows the driver to place a raw packet on the IP instance and have the driver's real processing routine called from the NetX internal IP helper thread. *//* ... */ /* #define NX_DRIVER_DEFERRED_PROCESSING *//* ... */ /* Defined, the source address of incoming packet is checked. The default is disabled. *//* ... */ /* #define NX_ENABLE_SOURCE_ADDRESS_CHECK *//* ... */ /* Defined, ASSERT is disabled. The default is enabled. */ /* #define NX_DISABLE_ASSERT *//* ... */ /* Defined, ASSERT is disabled. The default is enabled. */ /* #define NX_ASSERT_FAIL for (;;) {tx_thread_sleep(NX_WAIT_FOREVER); } *//* ... */ /* Define the max string length. The default value is 1024. */ /* #define NX_MAX_STRING_LENGTH 1024 *//* ... */ /* Defined, enables the optional debug packet dumping available in the RAM Ethernet network driver. *//* ... */ /* #define NX_DEBUG_PACKET *//* ... */ /* Defined, enables the optional print debug information available from the RAM Ethernet network driver. *//* ... */ /* #define NX_DEBUG *//* ... */ /* Defined, the extended notify support is enabled. This feature adds additional callback/notify services to NetX Duo API for notifying the application of socket events, such as TCP connection and disconnect completion. These extended notify functions are mainly used by the BSD wrapper. The default is this feature is disabled. *//* ... */ /* #define NX_ENABLE_EXTENDED_NOTIFY_SUPPORT *//* ... */ /* Defined, NetX Duo is built with NAT process. By default this option is not defined. *//* ... */ /* #define NX_NAT_ENABLE *//* ... */ /* Defined, allows the stack to use two packet pools, one with large payload size and one with smaller payload size. By default this option is not enabled. *//* ... */ /* #define NX_ENABLE_DUAL_PACKET_POOL *//* ... */ ... /*****************************************************************************/ /***************** Configuration options for Packet **************************/ /*****************************************************************************/ /* Defined, packet header and payload are aligned automatically by the value. The default value is sizeof(ULONG). *//* ... */ /* #define NX_PACKET_ALIGNMENT sizeof(ULONG) *//* ... */ /* Defined, packet debug information is enabled. */ /* #define NX_ENABLE_PACKET_DEBUG_INFO *//* ... */ /* If defined, the packet chain feature is removed. */ /* #define NX_DISABLE_PACKET_CHAIN *//* ... */ /* Defined, disables packet pool information gathering. */ /* #define NX_DISABLE_PACKET_INFO *//* ... */ /* Defined, enables NetX Duo packet pool low watermark feature. Application sets low watermark value. On receiving TCP packets, if the packet pool low watermark is reached, NetX Duo silently discards the packet by releasing it, preventing the packet pool from starvation. By default this feature is not enabled. *//* ... */ /* #define NX_ENABLE_LOW_WATERMARK *//* ... */ ... /*****************************************************************************/ /************* Configuration options for Neighbor Cache **********************/ /*****************************************************************************/ /* Define the length of time, in milliseconds, between re-transmitting Neighbor Solicitation (NS) packets. *//* ... */ /* #define NX_RETRANS_TIMER 1000 *//* ... */ /* Defined, this option disables Duplicate Address Detection (DAD) during IPv6 address assignment. Addresses are set either by manual configuration or through Stateless Address Auto Configuration. *//* ... */ /* #define NX_DISABLE_IPV6_DAD *//* ... */ /* Defined, this option prevents NetX Duo from removing stale (old) cache table entries whose timeout has not expired so are otherwise still valid) to make room for new entries when the table is full. Static and router entries are not purged. *//* ... */ /* #define NX_DISABLE_IPV6_PURGE_UNUSED_CACHE_ENTRIES *//* ... */ /* Specifies the number of Neighbor Solicitation messages to be sent before NetX Duo marks an interface address as valid. If NX_DISABLE_IPV6_DAD is defined (DAD disabled), setting this option has no effect. Alternatively, a value of zero (0) turns off DAD but leaves the DAD functionality in NetX Duo. Defined in nx_api.h, the default value is 3. *//* ... */ /* #define NX_IPV6_DAD_TRANSMITS 3 *//* ... */ /* Specifies the number of entries in the IPv6 Neighbor Cache table. Defined in nx_nd_cache.h, the default value is 16. *//* ... */ /* #define NX_IPV6_NEIGHBOR_CACHE_SIZE 16 *//* ... */ /* Specifies the delay in seconds before the first solicitation is sent out for a cache entry in the STALE state. Defined in nx_nd_cache.h, the default value is 5. *//* ... */ /* #define NX_DELAY_FIRST_PROBE_TIME 5 *//* ... */ /* Specifies the number of Neighbor Solicitation messages NetX Duo transmits as part of the IPv6 Neighbor Discovery protocol when mapping between IPv6 address and MAC address is required. Defined in nx_nd_cache.h, the default value is 3. *//* ... */ /* #define NX_MAX_MULTICAST_SOLICIT 3 *//* ... */ /* Specifies the number of Neighbor Solicitation messages NetX Duo transmits to determine a specific neighbor's reachability. Defined in nx_nd_cache.h, the default value is 3. *//* ... */ /* #define NX_MAX_UNICAST_SOLICIT 3 *//* ... */ /* This defines specifies the maximum number of packets that can be queued while waiting for a Neighbor Discovery to resolve an IPv6 address. The default value is 4. *//* ... */ /* #define NX_ND_MAX_QUEUE_DEPTH 4 *//* ... */ /* Specifies the time out in seconds for a cache entry to exist in the REACHABLE state with no packets received from the cache destination IPv6 address. Defined in nx_nd_cache.h, the default value is 30. *//* ... */ /* #define NX_REACHABLE_TIME 30 *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for IP **************************/ /*****************************************************************************/ /* Defined, this option disables NetX Duo support on the 127.0.0.1 loopback interface. 127.0.0.1 loopback interface is enabled by default. Uncomment out the follow code to disable the loopback interface. *//* ... */ /* #define NX_DISABLE_LOOPBACK_INTERFACE *//* ... */ /* Defined, this option disables the addition size checking on received packets. */ /* #define NX_DISABLE_RX_SIZE_CHECKING *//* ... */ /* The symbol "NX_IP_PERIODIC_RATE" specifies the number of ThreadX timer ticks in one second. The value should be derived from TX_TIMER_TICKS_PER_SECOND, which is defined in ThreadX port. If TX_TIMER_TICKS_PER_SECOND is not defined, NX_IP_PERIODIC_RATE defaults to 100 ticks per second. *//* ... */ /* #ifdef TX_TIMER_TICKS_PER_SECOND #define NX_IP_PERIODIC_RATE TX_TIMER_TICKS_PER_SECOND #else #define NX_IP_PERIODIC_RATE 100 #endif *//* ... */ /* Defined, NX_ENABLE_IP_RAW_PACKET_FILTER allows an application to install a filter for incoming raw packets. This feature is disabled by default. *//* ... */ /* #define NX_ENABLE_IP_RAW_PACKET_FILTER *//* ... */ /* This define specifies the maximum number of RAW packets can be queued for receive. The default value is 20. *//* ... */ /* #define NX_IP_RAW_MAX_QUEUE_DEPTH 20 *//* ... */ /* Defined, this option enables IP static routing feature. By default IP static routing feature is not compiled in. *//* ... */ /* #define NX_ENABLE_IP_STATIC_ROUTING *//* ... */ /* This define specifies the maximum time of IP reassembly. The default value is 60. By default this option is not defined. *//* ... */ /* #define NX_IP_MAX_REASSEMBLY_TIME 60 *//* ... */ /* Symbol that controls maximum time allowed to reassemble IPv4 fragment. Note the value defined in NX_IP_MAX_REASSEMBLY_TIME overwrites this value. The default value is 15. *//* ... */ /* #define NX_IPV4_MAX_REASSEMBLY_TIME 15 *//* ... */ /* This define specifies the maximum time of IPv6 reassembly. The default value is 60. Note that if NX_IP_MAX_REASSEMBLY_TIME is defined, this option is automatically defined as 60. By default this option is not defined. *//* ... */ /* #define NX_IPV6_MAX_REASSEMBLY_TIME 60 *//* ... */ /* Defined, this option disables checksum logic on received IP packets. This is useful if the link-layer has reliable checksum or CRC logic. *//* ... */ /* #define NX_DISABLE_IP_RX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on transmitted IP packets. */ /* #define NX_DISABLE_IP_TX_CHECKSUM *//* ... */ /* Defined, IP information gathering is disabled. */ /* #define NX_DISABLE_IP_INFO *//* ... */ /* This define IP fast timer rate. The default value is 10. */ /* #define NX_IP_FAST_TIMER_RATE 10 *//* ... */ /* Define the amount of time to sleep in nx_ip_(interface_)status_check. The default value is 1. *//* ... */ /* #define NX_IP_STATUS_CHECK_WAIT_TIME 1 *//* ... */ /* Defined, IP packet filter is enabled. */ /* #define NX_ENABLE_IP_PACKET_FILTER *//* ... */ /* Defined, disables both IPv4 and IPv6 fragmentation and reassembly logic. */ /* #define NX_DISABLE_FRAGMENTATION *//* ... */ /* Defined, this option process IP fragmentation immediately. */ /* #define NX_FRAGMENT_IMMEDIATE_ASSEMBLY *//* ... */ ... /*****************************************************************************/ /******************** Configuration options for IPV 4 ************************/ /*****************************************************************************/ /* Defined, disables IPv4 functionality. This option can be used to build NetX Duo to support IPv6 only. By default this option is not defined. *//* ... */ /* #define NX_DISABLE_IPV4 *//* ... */ ... /*****************************************************************************/ /******************** Configuration options for IPV 6 ************************/ /*****************************************************************************/ /* Disables IPv6 functionality when the NetX Duo library is built. For applications that do not need IPv6, this avoids pulling in code and additional storage space needed to support IPv6. *//* ... */ #define NX_DISABLE_IPV6 /* Defined, enable IPV6 features. */ /* #define FEATURE_NX_IPV6 *//* ... */ /* Specifies the number of entries in the IPv6 address pool. During interface configuration, NetX Duo uses IPv6 entries from the pool. It is defaulted to (NX_MAX_PHYSICAL_INTERFACES * 3) to allow each interface to have at least one link local address and two global addresses. Note that all interfaces share the IPv6 address pool. *//* ... */ /* #ifdef NX_MAX_PHYSICAL_INTERFACES #define NX_MAX_IPV6_ADDRESSES (NX_MAX_PHYSICAL_INTERFACES * 3) #endif *//* ... */ /* If defined, application is able to control whether or not to perform IPv6 stateless address auto-configuration with nxd_ipv6_stateless_address_autoconfig_enable() or nxd_ipv6_stateless_address_autoconfig_disable() service. If defined, the system starts with IPv6 stateless address auto-configuration enabled. This feature is disabled by default. *//* ... */ /* #define NX_IPV6_STATELESS_AUTOCONFIG_CONTROL *//* ... */ /* If enabled, application is able to install a callback function to get notified when an interface IPv6 address is changed. By default this feature is disabled. *//* ... */ /* #define NX_ENABLE_IPV6_ADDRESS_CHANGE_NOTIFY *//* ... */ /* This define enables simple IPv6 multicast group join/leave function. By default the IPv6 multicast join/leave function is not enabled. *//* ... */ /* #define NX_ENABLE_IPV6_MULTICAST *//* ... */ /* Defined, Minimum Path MTU Discovery feature is enabled. */ /* #define NX_ENABLE_IPV6_PATH_MTU_DISCOVERY *//* ... */ /* Define wait interval in seconds to reset the path MTU for a destination table entry after decreasing it in response to a packet too big error message. RFC 1981 Section 5.4 states the minimum time to wait is 5 minutes and recommends 10 minutes. *//* ... */ /* #define NX_PATH_MTU_INCREASE_WAIT_INTERVAL 600 *//* ... */ /* Specifies the number of entries in the IPv6 destination table. This stores information about next hop addresses for IPv6 addresses. Defined in nx_api.h, the default value is 8. *//* ... */ /* #define NX_IPV6_DESTINATION_TABLE_SIZE 8 *//* ... */ /* Specifies the size of the prefix table. Prefix information is obtained from router advertisements and is part of the IPv6 address configuration. Defined in nx_api.h, the default value is 8. *//* ... */ /* #define NX_IPV6_PREFIX_LIST_TABLE_SIZE 8 *//* ... */ /* Specifies the number of entries in the IPv6 routing table. At least one entry is needed for the default router. Defined in nx_api.h, the default value is 8. *//* ... */ /* #define NX_IPV6_DEFAULT_ROUTER_TABLE_SIZE 8 *//* ... */ ... /*****************************************************************************/ /******************** Configuration options for ICMP *************************/ /*****************************************************************************/ /* Defined, NetX Duo does not send ICMPv4 Error Messages in response to error conditions such as improperly formatted IPv4 header. By default this option is not defined. *//* ... */ /* #define NX_DISABLE_ICMPV4_ERROR_MESSAGE *//* ... */ /* Defined, this option disables checksum logic on received ICMPv4 or ICMPv6 packets. Note that if NX_DISABLE_ICMP_RX_CHECKSUM is defined, NX_DISABLE_ICMPV4_RX_CHECKSUM and NX_DISABLE_ICMPV6_RX_CHECKSUM are automatically defined. *//* ... */ /* #define NX_DISABLE_ICMP_RX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on received ICMPv4 packets. Note that if NX_DISABLE_ICMP_RX_CHECKSUM is defined, this option is automatically defined. By default this option is not defined. *//* ... */ /* #define NX_DISABLE_ICMPV4_RX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on received ICMPv6 packets. Note that if NX_DISABLE_ICMP_RX_CHECKSUM is defined, this option is automatically defined. By default this option is not defined. *//* ... */ /* #define NX_DISABLE_ICMPV6_RX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on transmitted ICMPv4 or ICMPv6 packets. Note that if NX_DISABLE_ICMP_TX_CHECKSUM is defined, NX_DISABLE_ICMPV4_TX_CHECKSUM and NX_DISABLE_ICMPV6_TX_CHECKSUM are automatically defined. *//* ... */ /* #define NX_DISABLE_ICMP_TX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on transmitted ICMPv4 packets. Note that if NX_DISABLE_ICMP_TX_CHECKSUM is defined, this option is automatically defined. By default this option is not defined.*//* ... */ /* #define NX_DISABLE_ICMPV4_TX_CHECKSUM *//* ... */ /* Defined, this option disables checksum logic on transmitted ICMPv6 packets. Note that if NX_DISABLE_ICMP_TX_CHECKSUM is defined, this option is automatically defined. By default this option is not defined.*//* ... */ /* #define NX_DISABLE_ICMPV6_TX_CHECKSUM *//* ... */ /* Defined, ICMP information gathering is disabled. */ /* #define NX_DISABLE_ICMP_INFO *//* ... */ /* Defined, the destination address of ICMP packet is checked. The default is disabled. An ICMP Echo Request destined to an IP broadcast or IP multicast address will be silently discarded. *//* ... */ /* #define NX_ENABLE_ICMP_ADDRESS_CHECK *//* ... */ /* Defined, disables NetX Duo from sending an ICMPv6 error message in response to a problem packet (e.g., improperly formatted header or packet header type is deprecated) received from another host. *//* ... */ /* #define NX_DISABLE_ICMPV6_ERROR_MESSAGE *//* ... */ /* Defined, disables ICMPv6 redirect packet processing. NetX Duo by default processes redirect messages and updates the destination table with next hop IP address information. *//* ... */ /* #define NX_DISABLE_ICMPV6_REDIRECT_PROCESS *//* ... */ /* Defined, disables NetX Duo from processing information received in IPv6 router advertisement packets. *//* ... */ /* #define NX_DISABLE_ICMPV6_ROUTER_ADVERTISEMENT_PROCESS *//* ... */ /* Defined, disables NetX Duo from sending IPv6 router solicitation messages at regular intervals to the router. *//* ... */ /* #define NX_DISABLE_ICMPV6_ROUTER_SOLICITATION *//* ... */ /* Define the max number of router solicitations a host sends until a router response is received. If no response is received, the host concludes no router is present. The default value is 3. *//* ... */ /* #define NX_ICMPV6_MAX_RTR_SOLICITATIONS 3 *//* ... */ /* Specifies the interval between two router solicitation messages. The default value is 4. *//* ... */ /* #define NX_ICMPV6_RTR_SOLICITATION_INTERVAL 4 *//* ... */ /* Specifies the maximum delay for the initial router solicitation in seconds. */ /* #define NX_ICMPV6_RTR_SOLICITATION_DELAY 1 *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for TCP *************************/ /*****************************************************************************/ /* Specifies how the number of system ticks (NX_IP_PERIODIC_RATE) is divided to calculate the timer rate for the TCP delayed ACK processing. The default value is 5, which represents 200ms, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_ACK_TIMER_RATE 5 *//* ... */ /* Specifies how the number of NetX Duo internal ticks (NX_IP_PERIODIC_RATE) is divided to calculate the fast TCP timer rate. The fast TCP timer is used to drive the various TCP timers, including the delayed ACK timer. The default value is 10, which represents 100ms assuming the ThreadX timer is running at 10ms. This value is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_FAST_TIMER_RATE 10 *//* ... */ /* Specifies how the number of system ticks (NX_IP_PERIODIC_RATE) is divided to calculate the timer rate for the TCP transmit retry processing. The default value is 1, which represents 1 second, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_TRANSMIT_TIMER_RATE 1 *//* ... */ /* Specifies the number of seconds of inactivity before the keepalive timer activates. The default value is 7200, which represents 2 hours, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_KEEPALIVE_INITIAL 7200 *//* ... */ /* Specifies the number of seconds between retries of the keepalive timer assuming the other side of the connection is not responding. The default value is 75, which represents 75 seconds between retries, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_KEEPALIVE_RETRY 75 *//* ... */ /* Symbol that defines the maximum number of out-of-order TCP packets can be kept in the TCP socket receive queue. This symbol can be used to limit the number of packets queued in the TCP receive socket, preventing the packet pool from being starved. By default this symbol is not defined, thus there is no limit on the number of out of order packets being queued in the TCP socket. *//* ... */ #define NX_TCP_MAX_OUT_OF_ORDER_PACKETS 8 /* Defined, enables the optional TCP keepalive timer. The default settings is not enabled. *//* ... */ /* #define NX_ENABLE_TCP_KEEPALIVE *//* ... */ /* Defined, enables the optional TCP immediate ACK response processing. Defining this symbol is equivalent to defining NX_TCP_ACK_EVERY_N_PACKETS to be 1. *//* ... */ /* #define NX_TCP_IMMEDIATE_ACK *//* ... */ /* Specifies the number of TCP packets to receive before sending an ACK. Note if NX_TCP_IMMEDIATE_ACK is enabled but NX_TCP_ACK_EVERY_N_PACKETS is not, this value is automatically set to 1 for backward compatibility. *//* ... */ /* #define NX_TCP_ACK_EVERY_N_PACKETS 2 *//* ... */ /* Automatically define NX_TCP_ACK_EVERY_N_PACKETS to 1 if NX_TCP_IMMEDIATE_ACK is defined. This is needed for backward compatibility. *//* ... */ #if (defined(NX_TCP_IMMEDIATE_ACK) && !defined(NX_TCP_ACK_EVERY_N_PACKETS)) #define NX_TCP_ACK_EVERY_N_PACKETS 1 #endif /* Specifies how many data transmit retries are allowed before the connection is deemed broken. The default value is 10, which represents 10 retries, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_MAXIMUM_RETRIES 10 *//* ... */ /* Specifies the maximum depth of the TCP transmit queue before TCP send requests are suspended or rejected. The default value is 20, which means that a maximum of 20 packets can be in the transmit queue at any given time. Note packets stay in the transmit queue until an ACK that covers some or all of the packet data is received from the other side of the connection. This constant is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_MAXIMUM_TX_QUEUE 20 *//* ... */ /* Specifies how the retransmit timeout period changes between retries. If this value is 0, the initial retransmit timeout is the same as subsequent retransmit timeouts. If this value is 1, each successive retransmit is twice as long. If this value is 2, each subsequent retransmit timeout is four times as long. The default value is 0 and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_RETRY_SHIFT 0x0 *//* ... */ /* Specifies how many keepalive retries are allowed before the connection is deemed broken. The default value is 10, which represents 10 retries, and is defined in nx_tcp.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_TCP_KEEPALIVE_RETRIES 10 *//* ... */ /* Enables the window scaling option for TCP applications. If defined, window scaling option is negotiated during TCP connection phase, and the application is able to specify a window size larger than 64K. The default setting is not enabled (not defined). *//* ... */ /* #define NX_ENABLE_TCP_WINDOW_SCALING *//* ... */ /* Defined, disables the reset processing during disconnect when the timeout value supplied is specified as NX_NO_WAIT. *//* ... */ /* #define NX_DISABLE_RESET_DISCONNECT *//* ... */ /* Defined, enables the verification of minimum peer MSS before accepting a TCP connection. To use this feature, the symbol NX_ENABLE_TCP_MSS_MINIMUM must be defined. By default, this option is not enabled. *//* ... */ /* #define NX_ENABLE_TCP_MSS_CHECK *//* ... */ /* Defined, allows the application to install a callback function that is invoked when the TCP transmit queue depth is no longer at maximum value. This callback serves as an indication that the TCP socket is ready to transmit more data. By default this option is not enabled. *//* ... */ /* #define NX_ENABLE_TCP_QUEUE_DEPTH_UPDATE_NOTIFY *//* ... */ /* Defined, disables checksum logic on received TCP packets. This is only useful in situations in which the link-layer has reliable checksum or CRC processing, or the interface driver is able to verify the TCP checksum in hardware, and the application does not use IPsec. *//* ... */ /* #define NX_DISABLE_TCP_RX_CHECKSUM *//* ... */ /* Defined, disables checksum logic for sending TCP packets. This is only useful in situations in which the receiving network node has received TCP checksum logic disabled or the underlying network driver is capable of generating the TCP checksum, and the application does not use IPsec. *//* ... */ /* #define NX_DISABLE_TCP_TX_CHECKSUM *//* ... */ /* Defined, disables TCP information gathering. */ /* #define NX_DISABLE_TCP_INFO *//* ... */ /* Number of seconds for maximum segment lifetime, the default is 2 minutes (120s) *//* ... */ /* #define NX_TCP_MAXIMUM_SEGMENT_LIFETIME 120 *//* ... */ /* Specifies the maximum number of server listen requests. The default value is 10 and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_MAX_LISTEN_REQUESTS 10 *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for UDP *************************/ /*****************************************************************************/ /* Defined, disables the UDP checksum computation on incoming UDP packets. This is useful if the network interface driver is able to verify UDP header checksum in hardware, and the application does not enable IPsec or IP fragmentation logic. *//* ... */ /* #define NX_DISABLE_UDP_RX_CHECKSUM *//* ... */ /* Defined, disables the UDP checksum computation on outgoing UDP packets. This is useful if the network interface driver is able to compute UDP header checksum and insert the value in the IP head before transmitting the data, and the application does not enable IPsec or IP fragmentation logic. *//* ... */ /* #define NX_DISABLE_UDP_TX_CHECKSUM *//* ... */ /* Defined, disables UDP information gathering. */ /* #define NX_DISABLE_UDP_INFO *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for IGMP ************************/ /*****************************************************************************/ /* Defined, disables IGMP information gathering. */ /* #define NX_DISABLE_IGMP_INFO *//* ... */ /* Defined, disables IGMPv2 support, and NetX Duo supports IGMPv1 only. By default this option is not set and is defined in nx_api.h. *//* ... */ /* #define NX_DISABLE_IGMPV2 *//* ... */ /* Specifies the maximum number of multicast groups that can be joined. The default value is 7 and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_MAX_MULTICAST_GROUPS 7 *//* ... */ ... /*****************************************************************************/ /******************* Configuration options for ARP/RARP **********************/ /*****************************************************************************/ /* Defined, allows NetX Duo to defend its IP address by sending an ARP response. *//* ... */ /* #define NX_ARP_DEFEND_BY_REPLY *//* ... */ /* Specifies the number of seconds ARP entries remain valid. The default value of zero disables expiration or aging of ARP entries and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_ARP_EXPIRATION_RATE 0 *//* ... */ /* Specifies the number of seconds between ARP retries. The default value is 10, which represents 10 seconds, and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_ARP_UPDATE_RATE 10 *//* ... */ /* Specifies the maximum number of ARP retries made without an ARP response. The default value is 18 and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included. *//* ... */ /* #define NX_ARP_MAXIMUM_RETRIES 18 *//* ... */ /* Specifies the maximum number of packets that can be queued while waiting for an ARP response. The default value is 4 and is defined in nx_api.h. *//* ... */ /* #define NX_ARP_MAX_QUEUE_DEPTH 4 *//* ... */ /* Defines the interval, in seconds, the ARP module sends out the next defend packet in response to an incoming ARP message that indicates an address in conflict. *//* ... */ /* #define NX_ARP_DEFEND_INTERVAL 10 *//* ... */ /* Defined, disables entering ARP request information in the ARP cache. */ /* #define NX_DISABLE_ARP_AUTO_ENTRY *//* ... */ /* Defined, allows ARP to invoke a callback notify function on detecting the MAC address is updated. *//* ... */ /* #define NX_ENABLE_ARP_MAC_CHANGE_NOTIFICATION *//* ... */ /* Defined, disables ARP information gathering. */ /* #define NX_DISABLE_ARP_INFO *//* ... */ /* Defined, disables RARP information gathering. */ /* #define NX_DISABLE_RARP_INFO *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for DHCP ************************/ /*****************************************************************************/ /* Type of service required for the DHCP UDP requests. By default, this value is defined as NX_IP_NORMAL to indicate normal IP packet service. *//* ... */ /* #define NX_DHCP_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* Fragment enable for DHCP UDP requests. By default, this value is NX_DONT_FRAGMENT to disable DHCP UDP fragmenting. *//* ... */ /* #define NX_DHCP_FRAGMENT_OPTION NX_DONT_FRAGMENT *//* ... */ /* Specifies the number of routers this packet can pass before it is discarded. The default value is set to 0x80. *//* ... */ /* #define NX_DHCP_TIME_TO_LIVE 0x80 *//* ... */ /* Specifies the number of maximum depth of receive queue. The default value is set to 4. *//* ... */ /* #define NX_DHCP_QUEUE_DEPTH 4 *//* ... */ ... /*****************************************************************************/ /****************** Configuration options for DHCP Client ********************/ /*****************************************************************************/ /* Defined, this option enables the BOOTP protocol instead of DHCP. By default this option is disabled. *//* ... */ /* #define NX_DHCP_ENABLE_BOOTP *//* ... */ /* If defined, this enables the DHCP Client to save its current DHCP Client license 'state' including time remaining on the lease, and restore this state between DHCP Client application reboots. The default value is disabled. *//* ... */ /* #define NX_DHCP_CLIENT_RESTORE_STATE *//* ... */ /* If set, the DHCP Client will not create its own packet pool. The host application must use the nx_dhcp_packet_pool_set service to set the DHCP Client packet pool. The default value is disabled. *//* ... */ /* #define NX_DHCP_CLIENT_USER_CREATE_PACKET_POOL *//* ... */ /* Defined, this enables the DHCP Client to send an ARP probe after IP address assignment to verify the assigned DHCP address is not owned by another host. By default, this option is disabled. *//* ... */ /* #define NX_DHCP_CLIENT_SEND_ARP_PROBE *//* ... */ /* Defines the length of time the DHCP Client waits for a response after sending an ARP probe. The default value is one second (1 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_DHCP_ARP_PROBE_WAIT (1 * NX_IP_PERIODIC_RATE) *//* ... */ /* Defines the minimum variation in the interval between sending ARP probes. The value is defaulted to 1 second. *//* ... */ /* #define NX_DHCP_ARP_PROBE_MIN (1 * NX_IP_PERIODIC_RATE) *//* ... */ /* Defines the maximum variation in the interval between sending ARP probes. The value is defaulted to 2 seconds. *//* ... */ /* #define NX_DHCP_ARP_PROBE_MAX (2 * NX_IP_PERIODIC_RATE) *//* ... */ /* Defines the number of ARP probes sent for determining if the IP address assigned by the DHCP server is already in use. The value is defaulted to 3 probes. *//* ... */ /* #define NX_DHCP_ARP_PROBE_NUM 3 *//* ... */ /* Defines the length of time the DHCP Client waits to restart DHCP if the IP address assigned to the DHCP Client is already in use. The value is defaulted to 10 seconds. *//* ... */ /* #define NX_DHCP_RESTART_WAIT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the maximum number of interface records to save to the DHCP Client instance. A DHCP Client interface record is a record of the DHCP Client running on a specific interface. The default value is set as physical interfaces count (NX_MAX_PHYSICAL_INTERFACES). *//* ... */ /* #define NX_DHCP_CLIENT_MAX_RECORDS (NX_MAX_PHYSICAL_INTERFACES) *//* ... */ /* Defined, this enables the DHCP Client to send maximum DHCP message size option. By default, this option is disabled. *//* ... */ /* #define NX_DHCP_CLIENT_SEND_MAX_DHCP_MESSAGE_OPTION *//* ... */ /* Defined, this enables the DHCP Client to check the input host name in the nx_dhcp_create call for invalid characters or length. By default, this option is disabled. *//* ... */ /* #define NX_DHCP_CLIENT_ENABLE_HOST_NAME_CHECK *//* ... */ /* Priority of the DHCP thread. By default, this value specifies that the DHCP thread runs at priority 3. *//* ... */ /* #define NX_DHCP_THREAD_PRIORITY 3 *//* ... */ /* Size of the DHCP thread stack. By default, the size is 4096 bytes. */ /* #define NX_DHCP_THREAD_STACK_SIZE (4096) *//* ... */ /* Interval in seconds when the DHCP Client timer expiration function executes. This function updates all the timeouts in the DHCP process e.g. if messages should be retransmitted or DHCP Client state changed. By default, this value is 1 second. *//* ... */ /* #define NX_DHCP_TIME_INTERVAL (1 * NX_IP_PERIODIC_RATE) *//* ... */ /* Size of DHCP options buffer. By default, this value is 312 bytes. */ /* #define NX_DHCP_OPTIONS_BUFFER_SIZE 312 *//* ... */ /* Specifies the size in bytes of the DHCP Client packet payload. The default value is NX_DHCP_MINIMUM_IP_DATAGRAM + physical header size. The physical header size in a wireline network is usually the Ethernet frame size. *//* ... */ /* #define NX_DHCP_PACKET_PAYLOAD (NX_DHCP_MINIMUM_IP_DATAGRAM + NX_PHYSICAL_HEADER) *//* ... */ /* Specifies the size of the DHCP Client packet pool. The default value is (5 *NX_DHCP_PACKET_PAYLOAD) which will provide four packets plus room for internal packet pool overhead. *//* ... */ /* #define NX_DHCP_PACKET_POOL_SIZE (5 * NX_DHCP_PACKET_PAYLOAD) *//* ... */ /* Specifies the minimum wait option for receiving a DHCP Server reply to client message before retransmitting the message. The default value is the RFC 2131 recommended 4 seconds. *//* ... */ /* #define NX_DHCP_MIN_RETRANS_TIMEOUT (4 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the maximum wait option for receiving a DHCP Server reply to client message before retransmitting the message. The default value is 64 seconds. *//* ... */ /* #define NX_DHCP_MAX_RETRANS_TIMEOUT (64 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies minimum wait option for receiving a DHCP Server message and sending a renewal request after the DHCP Client is bound to an IP address. The default value is 60 seconds. However, the DHCP Client uses the Renew and Rebind expiration times from the DHCP server message before defaulting to the minimum renew timeout. *//* ... */ /* #define NX_DHCP_MIN_RENEW_TIMEOUT (60 * NX_IP_PERIODIC_RATE) *//* ... */ ... /*****************************************************************************/ /****************** Configuration options for DHCP Server ********************/ /*****************************************************************************/ /* This option specifies the priority of the DHCP Server thread. By default, this value specifies that the DHCP thread runs at priority 2. *//* ... */ /* #define NX_DHCP_SERVER_THREAD_PRIORITY 2 *//* ... */ /* Specifies the timeout in timer ticks for the NetX DHCP Server to wait for allocate a packet from its packet pool. The default value is set to NX_IP_PERIODIC_RATE. *//* ... */ /* #define NX_DHCP_PACKET_ALLOCATE_TIMEOUT NX_IP_PERIODIC_RATE *//* ... */ /* This is the subnet mask the DHCP Client should be configured with. The default value is set to 0xFFFFFF00. *//* ... */ /* #define NX_DHCP_SUBNET_MASK 0xFFFFFF00UL *//* ... */ /* This is timeout period in timer ticks for the DHCP Server fast timer to check on session time remaining and handle sessions that have timed out. *//* ... */ /* #define NX_DHCP_FAST_PERIODIC_TIME_INTERVAL 10 *//* ... */ /* This is timeout period in timer ticks for the DHCP Server slow timer to check on IP address lease time remaining and handle lease that have timed out. *//* ... */ /* #define NX_DHCP_SLOW_PERIODIC_TIME_INTERVAL 1000 *//* ... */ /* This is IP Address lease time in seconds assigned to the DHCP Client, and the basis for computing the renewal and rebind times also assigned to the Client. The default value is set to (10 * NX_DHCP_SLOW_PERIODIC_TIME_INTERVAL). *//* ... */ /* #define NX_DHCP_DEFAULT_LEASE_TIME (10 * NX_DHCP_SLOW_PERIODIC_TIME_INTERVAL) *//* ... */ /* This is size of the DHCP Server array for holding available IP addresses for assigning to the Client. The default value is 20. *//* ... */ /* #define NX_DHCP_IP_ADDRESS_MAX_LIST_SIZE 20 *//* ... */ /* This is size of the DHCP Server array for holding Client records. The default value is 50. *//* ... */ /* #define NX_DHCP_CLIENT_RECORD_TABLE_SIZE 50 *//* ... */ /* This is size of the array in the DHCP Client instance for holding the all the requested options in the parameter request list in the current session. The default value is 12. *//* ... */ /* #define NX_DHCP_CLIENT_OPTIONS_MAX 12 *//* ... */ /* This is size of the buffer for holding the Server host name. The default value is 32. *//* ... */ /* #define NX_DHCP_SERVER_HOSTNAME_MAX 32 *//* ... */ /* This is size of the buffer for holding the Client host name in the current DHCP Server Client session. The default value is 32. *//* ... */ /* #define NX_DHCP_CLIENT_HOSTNAME_MAX 32 *//* ... */ ... /*****************************************************************************/ /****************** Configuration options for DHCP IPV6 **********************/ /*****************************************************************************/ /* Time interval in seconds at which the session timer updates the length of time the Client has been in session communicating with the Server. By default, this value is 1. *//* ... */ /* #define NX_DHCPV6_SESSION_TIMER_INTERVAL 1 *//* ... */ /* Time out in seconds for allocating a packet from the Client packet pool. The default value is 3 seconds. *//* ... */ /* #define NX_DHCPV6_PACKET_TIME_OUT (3 * NX_DHCPV6_TICKS_PER_SECOND) *//* ... */ /* This defines the type of service for UDP packet transmission from the DHCPv6 Client socket. The default value is NX_IP_NORMAL. *//* ... */ /* #define NX_DHCPV6_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* The number of times a Client packet is forwarded by a network router before the packet is discarded. The default value is 0x80. *//* ... */ /* #define NX_DHCPV6_TIME_TO_LIVE 0x80 *//* ... */ /* Specifies the number of packets to keep in the Client UDP socket receive queue before NetX Duo discards packets. The default value is 5. *//* ... */ /* #define NX_DHCPV6_QUEUE_DEPTH 5 *//* ... */ ... /*****************************************************************************/ /*************** Configuration options for DHCP Client IPV6 ******************/ /*****************************************************************************/ /* Priority of the Client thread. By default, this value specifies that the Client thread runs at priority 2. *//* ... */ /* #define NX_DHCPV6_THREAD_PRIORITY 2 *//* ... */ /* Time out option for obtaining an exclusive lock on a DHCPv6 Client mutex. The default value is TX_WAIT_FOREVER. *//* ... */ /* #define NX_DHCPV6_MUTEX_WAIT TX_WAIT_FOREVER *//* ... */ /* Ratio of ticks to seconds. This is processor dependent. The default value is 100. *//* ... */ /* #define NX_DHCPV6_TICKS_PER_SECOND (NX_IP_PERIODIC_RATE) *//* ... */ /* Time interval in seconds at which the IP lifetime timer updates the length of time the current IP address has been assigned to the Client. By default, this value is 1. *//* ... */ /* #define NX_DHCPV6_IP_LIFETIME_TIMER_INTERVAL 1 *//* ... */ /* The maximum number of IA addresses that can be added to the Client record. The default value is 1. *//* ... */ /* #define NX_DHCPV6_MAX_IA_ADDRESS 1 *//* ... */ /* Number of DNS servers to store to the client record. The default value is 2. *//* ... */ /* #define NX_DHCPV6_NUM_DNS_SERVERS 2 *//* ... */ /* Number of time servers to store to the client record. The default value is 1. *//* ... */ /* #define NX_DHCPV6_NUM_TIME_SERVERS 1 *//* ... */ /* Size of the buffer in the Client record to hold the client's network domain name. The default value is 32. *//* ... */ /* #define NX_DHCPV6_DOMAIN_NAME_BUFFER_SIZE 32 *//* ... */ /* Size of the buffer in the Client record to hold the Client's time zone. The default value is 16. *//* ... */ /* #define NX_DHCPV6_TIME_ZONE_BUFFER_SIZE 16 *//* ... */ /* Size of the buffer in the Client record to hold the option status message in a Server reply. The default value is 100 bytes. *//* ... */ /* #define NX_DHCPV6_MAX_MESSAGE_SIZE 100 *//* ... */ ... /*****************************************************************************/ /*************** Configuration options for DHCP Server IPV6 ******************/ /*****************************************************************************/ /* This defines the size of the DHCPv6 thread stack. By default, the size is 4096 bytes which is more than enough for most NetX Duo applications. *//* ... */ /* #define NX_DHCPV6_SERVER_THREAD_STACK_SIZE 4096 *//* ... */ /* This defines the DHCPv6 Server thread priority. This should be lower than the DHCPv6 Server's IP thread task priority. The default value is 2. *//* ... */ /* #define NX_DHCPV6_SERVER_THREAD_PRIORITY 2 *//* ... */ /* Timer interval in seconds when the lease timer entry function is called by the ThreadX scheduler. The entry function sets a flag for the DHCPv6 Server to increment all Clients' accrued time on their lease by the timer interval. By default, this value is 60. *//* ... */ /* #define NX_DHCPV6_IP_LEASE_TIMER_INTERVAL (60) *//* ... */ /* Create a Server DUID with a vendor assigned ID. Note the DUID type must be set NX_DHCPV6_DUID_TYPE_VENDOR_ASSIGNED. *//* ... */ /* #define NX_DHCPV6_SERVER_DUID_VENDOR_ASSIGNED_ID "abcdeffghijklmnopqrstuvwxyz" *//* ... */ /* Sets the upper limit on the Vendor assigned ID. The default value is 48. */ /* #define NX_DHCPV6_SERVER_DUID_VENDOR_ASSIGNED_LENGTH 48 *//* ... */ /* Sets the enterprise type of the DUID to private vendor type. */ /* #define NX_DHCPV6_SERVER_DUID_VENDOR_PRIVATE_ID 0x12345678 *//* ... */ /* This defines the wait option for the Server nx_udp_socket_receive call. This is perfunctory since the socket has a receive notify callback from NetX Duo, so the packet is already enqueued when the DHCPv6 server calls the receive function. The default value is 1 second (1 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_DHCPV6_PACKET_WAIT_OPTION NX_IP_PERIODIC_RATE *//* ... */ /* This defines the Server DUID type which the Server includes in all messages to Clients. The default value is link layer plus time (NX_DHCPV6_SERVER_DUID_TYPE_LINK_TIME). *//* ... */ /* #define NX_DHCPV6_SERVER_DUID_TYPE NX_DHCPV6_DUID_TYPE_LINK_TIME *//* ... */ /* This defines the preference option value between 0 and 255, where the higher the value the higher the preference, in the DHCPv6 option of the same name. This tells the Client what preference to place on this Server's offer where multiple DHCPv6 Servers are available to assign IP addresses. A value of 255 instructs the Client to choose this server. A value of zero indicates the Client is free to choose. The default value is zero. *//* ... */ /* #define NX_DHCPV6_PREFERENCE_VALUE 0 *//* ... */ /* This defines the maximum number of option requests in a Client request that can be saved to a Client record. The default value is 6. *//* ... */ /* #define NX_DHCPV6_MAX_OPTION_REQUEST_OPTIONS 6 *//* ... */ /* The time in seconds assigned by the Server on a Client address lease for when the Client should begin renewing its IP address. The default value is 2000 seconds. *//* ... */ /* #define NX_DHCPV6_DEFAULT_T1_TIME (2000) *//* ... */ /* The time in seconds assigned by the Server on a Client address lease for when the Client should begin rebinding its IP address assuming its attempt to renew failed. The default value is 3000 seconds. *//* ... */ /* #define NX_DHCPV6_DEFAULT_T2_TIME (3000) *//* ... */ /* This defines the time in seconds assigned bythe Server for when an assigned Client IP address lease is deprecated. The default value is 2 NX_DHCPV6_DEFAULT_T1_TIME. *//* ... */ /* #define NX_DHCPV6_DEFAULT_PREFERRED_TIME (2 * NX_DHCPV6_DEFAULT_T1_TIME) *//* ... */ /* This defines the time expiration in seconds assigned by the Server on an assigned Client IP address lease. After this time expires, the Client IP address is invalid. The default value is 2 NX_DHCPV6_DEFAULT_PREFERRED_TIME. *//* ... */ /* #define NX_DHCPV6_DEFAULT_VALID_TIME (2 * NX_DHCPV6_DEFAULT_PREFERRED_TIME) *//* ... */ /* Defines the maximum size of the Server message in status option message field. The default value is 100 bytes. *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_MAX 100 *//* ... */ /* Defines the size of the Server's IP lease table (e.g. the max number of IPv6 address available to lease that can be stored). By default, this value is 100. *//* ... */ /* #define NX_DHCPV6_MAX_LEASES 100 *//* ... */ /* Defines the size of the Server's Client record table (e.g. max number of Clients that can be stored). This value should be less than or equal to the value NX_DHCPV6_MAX_LEASES.By default, this value is 120. *//* ... */ /* #define NX_DHCPV6_MAX_CLIENTS 120 *//* ... */ /* This defines the packet payload of the Server packet pool packets. The default value is 500 bytes. *//* ... */ /* #define NX_DHCPV6_PACKET_SIZE 500 *//* ... */ /* Defines the Server packet pool size for packets the Server will allocate to send DHCPv6 messages out. The default value is (10 * NX_DHCPV6_PACKET_SIZE) *//* ... */ /* #define NX_DHCPV6_PACKET_POOL_SIZE (10 * NX_DHCPV6_PACKET_SIZE) *//* ... */ /* This defines the Server socket fragmentation option. The default value is NX_DONT_FRAGMENT. *//* ... */ /* #define NX_DHCPV6_FRAGMENT_OPTION NX_DONT_FRAGMENT *//* ... */ /* Define the session time out in seconds. This is the timer for how long the server has not received a client response. The default value is set to 20. *//* ... */ /* #define NX_DHCPV6_SESSION_TIMEOUT (20) *//* ... */ /* This defines the status option message for : NX_DHCPV6_STATUS_MESSAGE_SUCCESS. The default value is "IA OPTION GRANTED". *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_SUCCESS "IA OPTION GRANTED" *//* ... */ /* This defines the status option message for : NX_DHCPV6_STATUS_MESSAGE_NO_ADDRS_AVAILABLE. The default value is "IA OPTION NOT GRANTED-NO ADDRESSES AVAILABLE". *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_NO_ADDRS_AVAILABLE "IA OPTION NOT GRANTED-NO ADDRESSES AVAILABLE" *//* ... */ /* This defines the status option message for : NX_DHCPV6_STATUS_MESSAGE_NO_BINDING. The default value is "IA OPTION NOT GRANTED-INVALID CLIENT REQUEST". *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_NO_BINDING "IA OPTION NOT GRANTED-INVALID CLIENT REQUEST" *//* ... */ /* This defines the status option message for : NX_DHCPV6_STATUS_MESSAGE_NOT_ON_LINK. The default value is "IA OPTION NOT GRANTED-INVALID CLIENT REQUEST". *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_NOT_ON_LINK "IA OPTION NOT GRANTED-CLIENT NOT ON LINK" *//* ... */ /* This defines the status option message for : NX_DHCPV6_STATUS_MESSAGE_USE_MULTICAST. The default value is "IA OPTION NOT GRANTED-CLIENT MUST USE MULTICAST". *//* ... */ /* #define NX_DHCPV6_STATUS_MESSAGE_USE_MULTICAST "IA OPTION NOT GRANTED-CLIENT MUST USE MULTICAST" *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for DNS *************************/ /*****************************************************************************/ /* Type of service required for the DNS UDP requests. By default, this value is defined as NX_IP_NORMAL for normal IP packet service. *//* ... */ /* #define NX_DNS_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* Specifies the maximum number of routers a packet can pass before it is discarded. The default value is 0x80. *//* ... */ /* #define NX_DNS_TIME_TO_LIVE 0x80 *//* ... */ /* Sets the socket property to allow or disallow fragmentation of outgoing packets. The default value is NX_DONT_FRAGMENT. *//* ... */ /* #define NX_DNS_FRAGMENT_OPTION NX_DONT_FRAGMENT *//* ... */ /* Sets the maximum number of packets to store on the socket receive queue. The default value is 5. *//* ... */ /* #define NX_DNS_QUEUE_DEPTH 5 *//* ... */ /* Specifies the maximum number of DNS Servers in the Client server list. The default value is 5. *//* ... */ /* #define NX_DNS_MAX_SERVERS 5 *//* ... */ /* Specifies the maximum number of DNS Servers in the Client server list. The default value is 5. *//* ... */ /* #define NX_DNS_MESSAGE_MAX 512 *//* ... */ /* If not defined, the size of the Client packet payload which includes the Ethernet, IP (or IPv6), and UDP headers plus the maximum DNS message size specified by NX_DNS_MESSAGE_MAX. Regardless if defined, the packet payload is the 4-byte aligned and stored in NX_DNS_PACKET_PAYLOAD. The default value is (NX_UDP_PACKET + NX_DNS_MESSAGE_MAX). *//* ... */ /* #define NX_DNS_PACKET_PAYLOAD_UNALIGNED (NX_UDP_PACKET + NX_DNS_MESSAGE_MAX) *//* ... */ /* Size of the Client packet pool for sending DNS queries if NX_DNS_CLIENT_USER_CREATE_PACKET_POOL is not defined. The default value is large enough for 16 packets of payload size defined by NX_DNS_PACKET_PAYLOAD, and is 4-byte aligned. The default value is (16 * (NX_DNS_PACKET_PAYLOAD + sizeof(NX_PACKET))). *//* ... */ /* #define NX_DNS_PACKET_POOL_SIZE (16 * (NX_DNS_PACKET_PAYLOAD + sizeof(NX_PACKET))) *//* ... */ /* The maximum number of times the DNS Client will query the current DNS server before trying another server or aborting the DNS query. The default value is 3. *//* ... */ #define NX_DNS_MAX_RETRIES 10 /* If defined and the Client IPv4 gateway address is non zero, the DNS Client sets the IPv4 gateway as the Client's primary DNS server. The default value is disabled. *//* ... */ /* #define NX_DNS_IP_GATEWAY_AND_DNS_SERVER *//* ... */ /* This enables the DNS Client to let the application create and set the DNS Client packet pool. By default this option is disabled, and the DNS Client creates its own packet pool in nx_dns_create. *//* ... */ /* #define NX_DNS_CLIENT_USER_CREATE_PACKET_POOL *//* ... */ /* This enables the DNS Client to clear old DNS messages off the receive queue before sending a new query. Removing these packets from previous DNS queries prevents the DNS Client socket queue from overflowing and dropping valid packets. *//* ... */ /* #define NX_DNS_CLIENT_CLEAR_QUEUE *//* ... */ /* This enables the DNS Client to query on additional DNS record types in (e.g. CNAME, NS, MX, SOA, SRV and TXT). *//* ... */ /* #define NX_DNS_ENABLE_EXTENDED_RR_TYPES *//* ... */ /* This enables the DNS Client to store the answer records into DNS cache. */ /* #define NX_DNS_CACHE_ENABLE *//* ... */ /* This sets the timeout option for allocating a packet from the DNS client packet pool. The default value is 1 second (1*NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_DNS_PACKET_ALLOCATE_TIMEOUT NX_IP_PERIODIC_RATE *//* ... */ /* The maximum retransmission timeout on a DNS query to a specific DNS server. The default value is 64 seconds (64 * NX_IP_PERIODIC_RATE) *//* ... */ /* #define NX_DNS_MAX_RETRANS_TIMEOUT (64 * NX_IP_PERIODIC_RATE) *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for MQTT ************************/ /*****************************************************************************/ /* Defined, MQTT Client is built with TLS support. Defining this symbol requires NetX Secure TLS module to be installed. NX_SECURE_ENABLE is not enabled by default. *//* ... */ #define NX_SECURE_ENABLE /* Defined, application must use TLS to connect to MQTT broker. This feature requires NX_SECURE_ENABLE defined. By default, this symbol is not defined. *//* ... */ #define NXD_MQTT_REQUIRE_TLS /* Defines the MQTT timer rate, in ThreadX timer ticks. This timer is used to keep track of the time since last MQTT control message was sent, and sends out an MQTT PINGREQ message before the keep-alive time expires. This timer is activated if the client connects to the broker with a keep-alive timer value set. The default value is TX_TIMER_TICKS_PER_SECOND, which is a one-second timer. The default value is TX_TIMER_TICKS_PER_SECOND. *//* ... */ /* #define NXD_MQTT_KEEPALIVE_TIMER_RATE (NX_IP_PERIODIC_RATE) *//* ... */ /* Defines the MQTT timer rate, in ThreadX timer ticks. This timer is used to keep track of the time since last MQTT control message was sent, and sends out an MQTT PINGREQ message before the keep-alive time expires. This timer is activated if the client connects to the broker with a keep-alive timer value set. The default value is TX_TIMER_TICKS_PER_SECOND, which is a one-second timer. *//* ... */ /* #define NXD_MQTT_PING_TIMEOUT_DELAY (NX_IP_PERIODIC_RATE) *//* ... */ /* Defines the time out in the TCP socket disconnect call when disconnecting from the MQTT server in timer ticks. The default value is NX_WAIT_FOREVER. *//* ... */ /* #define NXD_MQTT_SOCKET_TIMEOUT NX_WAIT_FOREVER *//* ... */ /* Defined, enable MQTT over cloud option. */ /* #define NXD_MQTT_CLOUD_ENABLE *//* ... */ /* Define memcpy function used internal. */ /* #define NXD_MQTT_SECURE_MEMCPY memcpy *//* ... */ /* Define memcmp function used internal. */ /* #define NXD_MQTT_SECURE_MEMCMP memcmp *//* ... */ /* Define memset function used internal. */ /* #define NXD_MQTT_SECURE_MEMSET memset *//* ... */ /* Define memmove function used internal. */ /* #define NXD_MQTT_SECURE_MEMMOVE memmove *//* ... */ /* Define the default TCP socket window size. */ /* #define NXD_MQTT_CLIENT_SOCKET_WINDOW_SIZE 8192 *//* ... */ /* Define the default MQTT Thread time slice. */ /* #define NXD_MQTT_CLIENT_THREAD_TIME_SLICE 2 *//* ... */ ... /*****************************************************************************/ /********************* Configuration options for HTTP ************************/ /*****************************************************************************/ /* Defined, this option provides a stub for FileX dependencies. The HTTP Client will function without any change if this option is defined. The HTTP Server will need to either be modified or the user will have to create a handful of FileX services in order to function properly. *//* ... */ /* #define NX_HTTP_NO_FILEX *//* ... */ /* Type of service required for the HTTP TCP requests. By default, this value is defined as NX_IP_NORMAL to indicate normal IP packet service. *//* ... */ /* #define NX_HTTP_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* Fragment enable for HTTP TCP requests. By default, this value is NX_DONT_FRAGMENT to disable HTTP TCP fragmenting. *//* ... */ /* #define NX_HTTP_FRAGMENT_OPTION NX_DONT_FRAGMENT *//* ... */ /* Specifies the number of bytes allowed in a client supplied resource name. The default value is set to 40. *//* ... */ /* #define NX_HTTP_MAX_RESOURCE 40 *//* ... */ /* Specifies the number of bytes allowed in a client supplied username. The default value is set to 20. *//* ... */ /* #define NX_HTTP_MAX_NAME 20 *//* ... */ /* Specifies the number of bytes allowed in a client supplied password. The default value is set to 20. *//* ... */ /* #define NX_HTTP_MAX_PASSWORD 20 *//* ... */ ... /*****************************************************************************/ /***************** Configuration options for HTTP Client *********************/ /*****************************************************************************/ /* Specifies the minimum size of the packets in the pool specified at Client creation. The minimum size is needed to ensure the complete HTTP header can be contained in one packet. The default value is set to 600. *//* ... */ /* #define NX_HTTP_CLIENT_MIN_PACKET_SIZE 600 *//* ... */ ... /*****************************************************************************/ /***************** Configuration options for HTTP Server *********************/ /*****************************************************************************/ /* Specifies the number of ThreadX ticks that internal services will suspend for. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_HTTP_SERVER_TIMEOUT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* The number of timer ticks the Server thread is allowed to run before yielding to threads of the same priority. The default value is 2. *//* ... */ /* #define NX_HTTP_SERVER_THREAD_TIME_SLICE 2 *//* ... */ /* Specifies the maximum size of the HTTP header field. The default value is 256. */ /* #define NX_HTTP_MAX_HEADER_FIELD 256 *//* ... */ /* If defined, enables HTTP Server to support multipart HTTP requests. */ /* #define NX_HTTP_MULTIPART_ENABLE *//* ... */ /* Specifies the number of connections that can be queued for the HTTP Server. The default value is set to 5. *//* ... */ /* #define NX_HTTP_SERVER_MAX_PENDING 5 *//* ... */ /* This specifies the maximum number of packets that can be enqueued on the Server socket retransmission queue. If the number of packets enqueued reaches this number, no more packets can be sent until one or more enqueued packets are released. The default value is set to 20. *//* ... */ /* #define NX_HTTP_SERVER_TRANSMIT_QUEUE_DEPTH 20 *//* ... */ /* Specifies the minimum size of the packets in the pool specified at Server creation. The minimum size is needed to ensure the complete HTTP header can be contained in one packet. The default value is set to 600. *//* ... */ /* #define NX_HTTP_SERVER_MIN_PACKET_SIZE 600 *//* ... */ /* Set the Server socket retransmission timeout in seconds. The default value is set to 2. *//* ... */ /* #define NX_HTTP_SERVER_RETRY_SECONDS 2 *//* ... */ /* This value is used to set the next retransmission timeout. The current timeout is multiplied by the number of retransmissions thus far, shifted by the value of the socket timeout shift. The default value is set to 1 for doubling the timeout. *//* ... */ /* #define NX_HTTP_SERVER_RETRY_SHIFT 1 *//* ... */ /* This sets the maximum number of retransmissions on Server socket. The default value is set to 10. *//* ... */ /* #define NX_HTTP_SERVER_RETRY_MAX 10 *//* ... */ /* The priority of the HTTP Server thread. By default, this value is defined as 16 to specify priority 16. *//* ... */ /* #define NX_HTTP_SERVER_PRIORITY 16 *//* ... */ /* Server socket window size. By default, this value is 2048 bytes */ /* #define NX_HTTP_SERVER_WINDOW_SIZE 2048 *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_server_socket_accept calls. The default value is set to (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_HTTP_SERVER_TIMEOUT_ACCEPT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_receive calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_HTTP_SERVER_TIMEOUT_RECEIVE (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_send calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_HTTP_SERVER_TIMEOUT_SEND (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_disconnect calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_HTTP_SERVER_TIMEOUT_DISCONNECT (10 * NX_IP_PERIODIC_RATE) *//* ... */ ... /*****************************************************************************/ /***************** Configuration options for AUTO_IP *************************/ /*****************************************************************************/ /* This option enables printing a debugging trace using printf.*/ /* #define NX_AUTO_IP_DEBUG *//* ... */ /* The number of seconds to wait before sending first probe. By default, this value is defined as 1.*//* ... */ /* #define NX_AUTO_IP_PROBE_WAIT 1 *//* ... */ /* The number of ARP probes to send. By default, this value is defined as 3.*//* ... */ /* #define NX_AUTO_IP_PROBE_NUM 3 *//* ... */ /* The minimum number of seconds to wait between sending probes. By default, this value is defined as 1.*//* ... */ /* #define NX_AUTO_IP_PROBE_MIN 1 *//* ... */ /* The maximum number of seconds to wait between sending probes. By default, this value is defined as 2.*//* ... */ /* #define NX_AUTO_IP_PROBE_MAX 2 *//* ... */ /* The number of AutoIP conflicts before increasing processing delays. By default, this value is defined as 10.*//* ... */ /* #define NX_AUTO_IP_MAX_CONFLICTS 10 *//* ... */ /* The number of seconds to extend the wait period when the total number of conflicts is exceeded. By default, this value is defined as 60.*//* ... */ /* #define NX_AUTO_IP_RATE_LIMIT_INTERVAL 60 *//* ... */ /* The number of seconds to wait before sending announcement. By default, this value is defined as 2.*//* ... */ /* #define NX_AUTO_IP_ANNOUNCE_WAIT 2 *//* ... */ /* The number of ARP announces to send. By default, this value is defined as 2.*//* ... */ /* #define NX_AUTO_IP_ANNOUNCE_NUM 2 *//* ... */ /* The number of seconds to wait between sending announces. By default, this value is defined as 2.*//* ... */ /* #define NX_AUTO_IP_ANNOUNCE_INTERVAL 2 *//* ... */ /* The number of seconds to wait between defense announces. By default, this value is defined as 10.*//* ... */ /* #define NX_AUTO_IP_DEFEND_INTERVAL 10 *//* ... */ ... /*****************************************************************************/ /************** Configuration options for mDNS *******************************/ /*****************************************************************************/ /* Disables the mDNS/DNS-SD server functionality. Without the server functionality, the mDNS/DNS-SD module does not announce services provided by local host, nor does it respond to mDNS enquiries. This symbol is not defined by default.*//* ... */ /* #define NX_MDNS_DISABLE_SERVER *//* ... */ /* Maximum IPv6 addresses count of host. The default value is 2.*/ /* #define NX_MDNS_IPV6_ADDRESS_COUNT 2 *//* ... */ /* Maximum string size for host name. The default value is 64. Does not include the NULL terminator.*//* ... */ /* #define NX_MDNS_HOST_NAME_MAX 64 *//* ... */ /* Maximum string size for service name. The default value is 64. Does not include the NULL terminator.*//* ... */ /* #define NX_MDNS_SERVICE_NAME_MAX 64 *//* ... */ /* Maximum string size for domain name. The default value is 16. Does not include the NULL terminator.*//* ... */ /* #define NX_MDNS_DOMAIN_NAME_MAX 16 *//* ... */ /* Maximum conflict count for host name or service name. The default value is 8.*//* ... */ /* #define NX_MDNS_CONFLICT_COUNT 8 *//* ... */ /* Define UDP socket create options.*/ /* #define NX_MDNS_UDP_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* TTL value for resource records with host name, in second. The default value is 120 for 120s.*//* ... */ /* #define NX_MDNS_RR_TTL_HOST 120 *//* ... */ /* TTL value for other resource records, in second. The default value is 4500 for 75 minutes.*//* ... */ /* #define NX_MDNS_RR_TTL_OTHER 4500 *//* ... */ /* The time interval, in ticks, between mDNS probing messages. The default value is 25 ticks for 250ms.*//* ... */ /* #define NX_MDNS_PROBING_TIMER_COUNT 25 *//* ... */ /* The time interval, in ticks, between mDNS announcement messages. The default value is 25 ticks for 250ms.*//* ... */ /* #define NX_MDNS_ANNOUNCING_TIMER_COUNT 25 *//* ... */ /* The time interval, in ticks, between repeated "goodbye" messages. The default value is 25 ticks for 250ms.*//* ... */ /* #define NX_MDNS_GOODBYE_TIMER_COUNT 25 *//* ... */ /* The minimum time interval, in ticks, between two queries. The default value is 100 ticks for 1 second.*//* ... */ /* #define NX_MDNS_QUERY_MIN_TIMER_COUNT (NX_IP_PERIODIC_RATE) *//* ... */ /* The maximum time interval, in ticks, between two queries. The default value is 360000 for 60 seconds.*//* ... */ /* #define NX_MDNS_QUERY_MAX_TIMER_COUNT (3600 * NX_IP_PERIODIC_RATE) *//* ... */ /* The minimum delay for sending first query, in ticks. The default value is 2 ticks for 20ms.*//* ... */ /* #define NX_MDNS_QUERY_DELAY_MIN 2 *//* ... */ /* The delay range for sending first query, in ticks. The default value is 10 ticks for 100ms.*//* ... */ /* #define NX_MDNS_QUERY_DELAY_RANGE 10 *//* ... */ /* The time interval, in ticks, in responding to a query to ensure an interval of at least 1s since the last time the record was multicast. The default value is 100 ticks (NX_IP_PERIODIC_RATE).*//* ... */ /* #define NX_MDNS_RESPONSE_INTERVAL NX_IP_PERIODIC_RATE *//* ... */ /* The delay, in ticks, in responding to a query to a service that is unique to the local network. The default value is 1 tick for 10ms.*//* ... */ /* #define NX_MDNS_RESPONSE_UNIQUE_DELAY 1 *//* ... */ /* The minimum delay, in ticks, in responding to a query to a shared resource. The default value is 2 ticks for 20ms.*//* ... */ /* #define NX_MDNS_RESPONSE_SHARED_DELAY_MIN 2 *//* ... */ /* The delay range, in ticks, in responding to a query to a shared resource. The default value is 10 ticks for 100ms.*//* ... */ /* #define NX_MDNS_RESPONSE_SHARED_DELAY_RANGE 10 *//* ... */ /* The minimum delay, in ticks, in responding to a query with TC bit. The default value is 40 ticks for 400ms.*//* ... */ /* #define NX_MDNS_RESPONSE_TC_DELAY_MIN 40 *//* ... */ /* The delay range, in ticks, in responding to a query with TC bit. The default value is 10 ticks for 100ms.*//* ... */ /* #define NX_MDNS_RESPONSE_TC_DELAY_RANGE 10 *//* ... */ /* When sending out mDNS responses, the packet contains responses that otherwise would be sent within this timer counter range. The timer count range is expressed in ticks. The default value is 12 for 120ms.This value allows a response to include messages that would be sent within the next 120ms range if each tick is 10ms.*//* ... */ /* #define NX_MDNS_TIMER_COUNT_RANGE 12 *//* ... */ /* The number of retransmitted probing messages. The default value is 3.*/ /* #define NX_MDNS_PROBING_RETRANSMIT_COUNT 3 *//* ... */ /* The number of retransmitted "goodbye" messages. The default value is 1.*/ /* #define NX_MDNS_GOODBYE_RETRANSMIT_COUNT 1 *//* ... */ /* The number of queries that no multicast response, then the host may take this as an indication that the record may no longer be valid. The default value is 2.*//* ... */ /* #define NX_MDNS_POOF_MIN_COUNT 2 *//* ... */ /* Define the Passive Observation Of Failures timer count, 10 seconds in spec (10 * NX_IP_PERIODIC_RATE).*//* ... */ /* #define NX_MDNS_POOF_TIMER_COUNT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* The delay for deleting a resource record when the TTL of this record is zero, in ticks, The default value is 100 ticks for 1 second (NX_IP_PERIODIC_RATE).*//* ... */ /* #define NX_MDNS_RR_DELETE_DELAY_TIMER_COUNT (NX_IP_PERIODIC_RATE) *//* ... */ ... /*****************************************************************************/ /******************** Configuration options for PPP **************************/ /*****************************************************************************/ /* If defined, PPP can transmit packet over Ethernet.*/ /* #define NX_PPP_PPPOE_ENABLE *//* ... */ /* If defined, internal PPP information gathering is disabled.*/ /* #define NX_PPP_DISABLE_INFO *//* ... */ /* If defined, internal PPP debug log is enabled.*/ /* #define NX_PPP_DEBUG_LOG_ENABLE *//* ... */ /* If defined, internal PPP debug log printf to stdio is enabled. This is only valid if the debug log is also enabled.*//* ... */ /* #define NX_PPP_DEBUG_LOG_PRINT_ENABLE *//* ... */ /* If defined, internal PPP CHAP logic is removed, including the MD5 digest logic.*/ /* #define NX_PPP_DISABLE_CHAP *//* ... */ /* If defined, internal PPP PAP logic is removed.*/ /* #define NX_PPP_DISABLE_PAP *//* ... */ /* If defined, the primary DNS Server Option is disabled in the IPCP response. By default this option is not defined.*//* ... */ /* #define NX_PPP_DNS_OPTION_DISABLE *//* ... */ /* This specifies how many times the PPP host will request a DNS Server address from the peer in the IPCP state. This has no effect if NX_PPP_DNS_OPTION_DISABLE is defined. The default value is 2.*//* ... */ /* #define NX_PPP_DNS_ADDRESS_MAX_RETRIES 2 *//* ... */ /* Time-slice option for PPP threads. By default, this value is TX_NO_TIME_SLICE. This define can be set by the application prior to inclusion of nx_ppp.h.By default, it is TX_NO_TIME_SLICE.*//* ... */ /* #define NX_PPP_THREAD_TIME_SLICE TX_NO_TIME_SLICE *//* ... */ /* Specifies the Maximum Receive Unit (MRU) for PPP. By default, this value is 1,500 bytes (the minimum value). This define can be set by the application prior to inclusion of nx_ppp.h.*//* ... */ /* #define NX_PPP_MRU 1480 *//* ... */ /* Specifies the Maximum Receive Unit (MRU) for PPP. By default, this value is 1,500 bytes (the minimum value). This define can be set by the application prior to inclusion of nx_ppp.h.*//* ... */ /* #define NX_PPP_MINIMUM_MRU 1480 *//* ... */ /* Specifies the size of the receive character serial buffer. By default, this value is 3,000 bytes. This define can be set by the application prior to inclusion of nx_ppp.h. By default, it is NX_PPP_MRU*2.*//* ... */ /* #define NX_PPP_SERIAL_BUFFER_SIZE 2960 *//* ... */ /* Specifies the size of "name" strings used in authentication. The default value is set to 32bytes, but can be redefined prior to inclusion of *nx_ppp.h.*//* ... */ /* #define NX_PPP_NAME_SIZE 32 *//* ... */ /* Specifies the size of "password" strings used in authentication. The default value is set to 32bytes, but can be redefined prior to inclusion of *nx_ppp.h.*//* ... */ /* #define NX_PPP_PASSWORD_SIZE 32 *//* ... */ /* Specifies the size of "value" strings used in CHAP authentication. The default value is set to 32bytes, but can be redefined prior to inclusion of nx_ppp.h.*//* ... */ /* #define NX_PPP_VALUE_SIZE 32 *//* ... */ /* Specifies the size of "hashed value" strings used in CHAP authentication. The default value is set to 16 bytes, but can be redefined prior to inclusion of nx_ppp.h.*//* ... */ /* #define NX_PPP_HASHED_VALUE_SIZE 16 *//* ... */ /* This defines the period rate (in timer ticks) that the PPP thread task is woken to check for PPP events. The default value is 1*NX_IP_PERIODIC_RATE (100 ticks).*//* ... */ /* #define NX_PPP_BASE_TIMEOUT (NX_IP_PERIODIC_RATE * 1) *//* ... */ /* This defines the wait option (in timer ticks) for allocating packets to transmit data as well as buffer PPP serial data into packets to send to the IP layer. The default value is 4*NX_IP_PERIODIC_RATE (400 ticks).*//* ... */ /* #define NX_PPP_TIMEOUT (NX_IP_PERIODIC_RATE * 4) *//* ... */ /* This defines the number of times the PPP thread task times out waiting to receive the next character in a PPP message stream. Thereafter, PPP releases the packet and begins waiting to receive the next PPP message. The default value is 4. *//* ... */ /* #define NX_PPP_RECEIVE_TIMEOUTS 4 *//* ... */ /* This defines the wait option (in seconds) for the PPP task to receive a response to a PPP protocol request message. The default value is 4 seconds. *//* ... */ /* #define NX_PPP_PROTOCOL_TIMEOUT 4 *//* ... */ /* Size of debug log (number of entries in the debug log). On reaching the last entry, the debug capture wraps to the first entry and overwrites any data previously captured. The default value is 50. *//* ... */ /* #define NX_PPP_DEBUG_LOG_SIZE 50 *//* ... */ /* Maximum amount of data captured from a received packet payload and saved to debug output. The default value is 50.*//* ... */ /* #define NX_PPP_DEBUG_FRAME_SIZE 50 *//* ... */ /* This defines the max number of retries if the PPP times out before sending another LCP configure request message. When this number is reached the PPP handshake is aborted and the link status is down. The default value is 20. *//* ... */ /* #define NX_PPP_MAX_LCP_PROTOCOL_RETRIES 20 *//* ... */ /* This defines the max number of retries if the PPP times out before sending another PAP authentication request message. When this number is reached the PPP handshake is aborted and the link status is down. The default value is 20.*//* ... */ /* #define NX_PPP_MAX_PAP_PROTOCOL_RETRIES 20 *//* ... */ /* This defines the max number of retries if the PPP times out before sending another CHAP challenge message. When this number is reached the PPP handshake is aborted and the link status is down. The default value is 20.*//* ... */ /* #define NX_PPP_MAX_CHAP_PROTOCOL_RETRIES 20 *//* ... */ /* Define the packet header.*/ /* #define NX_PPP_PACKET 22 *//* ... */ /* Define the minimum PPP packet payload, the PPP commands (LCP, PAP, CHAP, IPCP) should be in one packet. The default value is (NX_PPP_PACKET + 128).*//* ... */ /* #define NX_PPP_MIN_PACKET_PAYLOAD (NX_PPP_PACKET + 128) *//* ... */ ... /*****************************************************************************/ /******************** Configuration options for SNTP *************************/ /*****************************************************************************/ /* This option sets the size of the Client thread stack. The default NetX Duo SNTP Client size is 2048. *//* ... */ /* #define NX_SNTP_CLIENT_THREAD_STACK_SIZE 2048 *//* ... */ /* This option sets the time slice of the scheduler allows for Client thread execution. The default NetX Duo SNTP Client size is TX_NO_TIME_SLICE. *//* ... */ /* #define NX_SNTP_CLIENT_THREAD_TIME_SLICE TX_NO_TIME_SLICE *//* ... */ /* This option sets the Client thread priority. The NetX Duo SNTP Client default value is 2. *//* ... */ /* #define NX_SNTP_CLIENT_THREAD_PRIORITY 2 *//* ... */ /* This option sets the sets the level of priority at which the Client thread allows preemption. The default NetX Duo SNTP Client value is set to NX_SNTP_CLIENT_ THREAD_PRIORITY. *//* ... */ /* #define NX_SNTP_CLIENT_PREEMPTION_THRESHOLD NX_SNTP_CLIENT_THREAD_PRIORITY *//* ... */ /* This option sets the UDP socket name. The NetX Duo SNTP Client UDP socket name default is "SNTP Client socket". *//* ... */ /* #define NX_SNTP_CLIENT_UDP_SOCKET_NAME "SNTP Client socket" *//* ... */ /* This sets the port which the Client socket is bound to. The default NetX Duo SNTP Client port is 123. *//* ... */ /* #define NX_SNTP_CLIENT_UDP_PORT 123 *//* ... */ /* This is port which the Client sends SNTP messages to the SNTP Server on. The default NetX SNTP Server port is 123. *//* ... */ /* #define NX_SNTP_SERVER_UDP_PORT 123 *//* ... */ /* Specifies the number of routers a Client packet can pass before it is discarded. The default NetX Duo SNTP Client is set to 0x80 (NX_IP_TIME_TO_LIVE). *//* ... */ /* #define NX_SNTP_CLIENT_TIME_TO_LIVE NX_IP_TIME_TO_LIVE *//* ... */ /* Maximum number of UDP packets (datagrams) that can be queued in the NetX Duo SNTP Client socket. Additional packets received mean the oldest packets are released. The default NetX Duo SNTP Client is set to 5. *//* ... */ /* #define NX_SNTP_CLIENT_MAX_QUEUE_DEPTH 5 *//* ... */ /* Time out for NetX Duo packet allocation. The default NetX Duo SNTP Client packet timeout is 1 second. *//* ... */ /* #define NX_SNTP_CLIENT_PACKET_TIMEOUT (1 * NX_IP_PERIODIC_RATE) *//* ... */ /* SNTP version used by the Client The NetX Duo SNTP Client API was based on Version 4. The default value is 3. *//* ... */ /* #define NX_SNTP_CLIENT_NTP_VERSION 3 *//* ... */ /* Oldest SNTP version the Client will be able to work with. The NetX Duo SNTP Client default is Version 3. *//* ... */ /* #define NX_SNTP_CLIENT_MIN_NTP_VERSION 3 *//* ... */ /* The lowest level (highest numeric stratum level) SNTP Server stratum the Client will accept. The NetX Duo SNTP Client default is 2. *//* ... */ /* #define NX_SNTP_CLIENT_MIN_SERVER_STRATUM 2 *//* ... */ /* The minimum time adjustment in milliseconds the Client will make to its local clock time. Time adjustments below this will be ignored. The NetX Duo SNTP Client default is 10. *//* ... */ /* #define NX_SNTP_CLIENT_MIN_TIME_ADJUSTMENT 10 *//* ... */ /* The maximum time adjustment in milliseconds the Client will make to its local clock time. For time adjustments above this amount, the local clock adjustment is limited to the maximum time adjustment. The NetX Duo SNTP Client default is 180000 (3 minutes). *//* ... */ /* #define NX_SNTP_CLIENT_MAX_TIME_ADJUSTMENT 180000 *//* ... */ /* This enables the maximum time adjustment to be waived when the Client receives the first update from its time server. Thereafter, the maximum time adjustment is enforced. The intention is to get the Client in synch with the server clock as soon as possible. The NetX Duo SNTP Client default is NX_TRUE. *//* ... */ /* #define NX_SNTP_CLIENT_IGNORE_MAX_ADJUST_STARTUP NX_TRUE *//* ... */ /* This determines if the SNTP Client in unicast mode should send its first SNTP request with the current SNTP server after a random wait interval. It is used in cases where significant numbers of SNTP Clients are starting up simultaneously to limit traffic congestion on the SNTP Server. The default value is NX_FALSE. *//* ... */ /* #define NX_SNTP_CLIENT_RANDOMIZE_ON_STARTUP NX_FALSE *//* ... */ /* Maximum allowable amount of time (seconds) elapsed without a valid time update received by the SNTP Client. The SNTP Client will continue in operation but the SNTP Server status is set to NX_FALSE. The default value is 7200. *//* ... */ /* #define NX_SNTP_CLIENT_MAX_TIME_LAPSE 7200 *//* ... */ /* The interval (seconds) at which the SNTP Client timer updates the SNTP Client time remaining since the last valid update received, and the unicast Client updates the poll interval time remaining before sending the next SNTP update request. The default value is 1. *//* ... */ /* #define NX_SNTP_UPDATE_TIMEOUT_INTERVAL 1 *//* ... */ /* The time interval during which the SNTP Client task sleeps. This allows the application API calls to be executed by the SNTP Client. The default value is 1 timer tick. *//* ... */ /* #define NX_SNTP_CLIENT_SLEEP_INTERVAL 1 *//* ... */ /* The starting poll interval (seconds) on which the Client sends a unicast request to its SNTP server. The NetX Duo SNTP Client default is 3600. *//* ... */ /* #define NX_SNTP_CLIENT_UNICAST_POLL_INTERVAL 3600 *//* ... */ /* The factor by which the current Client unicast poll interval is increased. When the Client fails to receive a server time update, or receiving indications from the server that it is temporarily unavailable (e.g. not synchronized yet) for time update service, it will increase the current poll interval by this rate up to but not exceeding NX_SNTP_CLIENT_MAX_TIME_LAPSE. The default is 2. *//* ... */ /* #define NX_SNTP_CLIENT_EXP_BACKOFF_RATE 2 *//* ... */ /* This option if enabled requires that the SNTP Client calculate round trip time of SNTP messages when applying Server updates to the local clock. The default value is NX_FALSE (disabled). *//* ... */ /* #define NX_SNTP_CLIENT_RTT_REQUIRED NX_FALSE *//* ... */ /* The maximum server clock dispersion (microseconds), which is a measure of server clock precision, the Client will accept. To disable this requirement, set the maximum root dispersion to 0x0. The NetX Duo SNTP Client default is set to 50000. *//* ... */ /* #define NX_SNTP_CLIENT_MAX_ROOT_DISPERSION 50000 *//* ... */ /* The limit on the number of consecutive invalid updates received from the Client server in either broadcast or unicast mode. When this limit is reached, the Client sets the current SNTP Server status to invalid (NX_FALSE) although it will continue to try to receive updates from the Server. The NetX Duo SNTP Client default is 3. *//* ... */ /* #define NX_SNTP_CLIENT_INVALID_UPDATE_LIMIT 3 *//* ... */ /* To display date in year/month/date format, set this value to equal or less than current year (need not be same year as in NTP time being evaluated). The default value is 2015. *//* ... */ /* #define NX_SNTP_CURRENT_YEAR 2015 *//* ... */ /* This is the number of seconds into the first NTP Epoch on the master NTP clock. It is defined as 0xBA368E80. To disable display of NTP seconds into date and time, set to zero. *//* ... */ /* #define NTP_SECONDS_AT_01011999 0xBA368E80 *//* ... */ ... /*****************************************************************************/ /****************** Configuration options for WEB HTTP ***********************/ /*****************************************************************************/ /* Type of service required for the HTTPS TCP requests. By default, this value is defined as NX_IP_NORMAL to indicate normal IP packet service. *//* ... */ /* #define NX_WEB_HTTP_TYPE_OF_SERVICE NX_IP_NORMAL *//* ... */ /* Fragment enable for HTTP TCP requests. By default, this value is NX_DONT_FRAGMENT to disable HTTP TCP fragmenting. *//* ... */ /* #define NX_WEB_HTTP_FRAGMENT_OPTION NX_DONT_FRAGMENT *//* ... */ /* Specifies the number of routers this packet can pass before it is discarded. The default value is set to 0x80. *//* ... */ /* #define NX_WEB_HTTP_TIME_TO_LIVE 0x80 *//* ... */ /* Specifies the number of bytes allowed in a client supplied resource name. The default value is set to 40. *//* ... */ /* #define NX_WEB_HTTP_MAX_RESOURCE 40 *//* ... */ /* Specifies the number of bytes allowed in a client supplied username. The default value is set to 20. *//* ... */ /* #define NX_WEB_HTTP_MAX_NAME 20 *//* ... */ /* Specifies the number of bytes allowed in a client supplied password. The default value is set to 20. *//* ... */ /* #define NX_WEB_HTTP_MAX_PASSWORD 20 *//* ... */ /* If defined, this macro enables TLS and HTTPS. Leave undefined to free up resources if only plain-text HTTP is desired. By default, this macro is not defined. *//* ... */ /* #define NX_WEB_HTTPS_ENABLE *//* ... */ /* If defined, authentication using the MD5 digest is enabled on the HTTPS Server. By default it is not defined. *//* ... */ /* #define NX_WEB_HTTP_DIGEST_ENABLE *//* ... */ /* Specifies the maximum size of the HTTP header field. The default value is 256. *//* ... */ /* #define NX_WEB_HTTP_MAX_HEADER_FIELD 256 *//* ... */ /* Defined, this option provides a stub for FileX dependencies. The HTTPS Client will function without any change if this option is defined. The HTTPS Server will need to either be modified or the user will have to create a handful of FileX services in order to function properly. *//* ... */ /* #define NX_WEB_HTTP_NO_FILEX *//* ... */ /* The priority of the HTTPS Server thread. By default, this value is defined as 4 to specify priority 4. *//* ... */ /* #define NX_WEB_HTTP_SERVER_PRIORITY 4 *//* ... */ /* Server socket window size. By default, this value is 8192. */ /* #define NX_WEB_HTTP_SERVER_WINDOW_SIZE 8192 *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_server_socket_accept() calls. The default value is set to (1 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_WEB_HTTP_SERVER_TIMEOUT_ACCEPT (1 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_receive() calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_WEB_HTTP_SERVER_TIMEOUT_RECEIVE (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_send() calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_WEB_HTTP_SERVER_TIMEOUT_SEND (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for in internal nx_tcp_socket_disconnect() calls. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_WEB_HTTP_SERVER_TIMEOUT_DISCONNECT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of ThreadX ticks that internal services will suspend for. The default value is set to 10 seconds (10 * NX_IP_PERIODIC_RATE). *//* ... */ /* #define NX_WEB_HTTP_SERVER_TIMEOUT (10 * NX_IP_PERIODIC_RATE) *//* ... */ /* Specifies the number of simultaneous sessions for an HTTP or HTTPS Server. A TCP socket and a TLS session (if HTTPS is enabled) are allocated for each session. The default value is set to 2. *//* ... */ /* #define NX_WEB_HTTP_SERVER_SESSION_MAX 2 *//* ... */ /* Specifies the number of connections that can be queued for the HTTPS Server. The default value is set to twice the maximum number of server sessions ((NX_WEB_HTTP_SERVER_SESSION_MAX << 1). *//* ... */ /* #define NX_WEB_HTTP_SERVER_MAX_PENDING (NX_WEB_HTTP_SERVER_SESSION_MAX << 1) *//* ... */ /* The number of timer ticks the Server thread is allowed to run before yielding to threads of the same priority. The default value is 2. *//* ... */ /* #define NX_WEB_HTTP_SERVER_THREAD_TIME_SLICE 2 *//* ... */ /* Specifies the minimum size of the packets in the pool specified at server creation. The minimum size is needed to ensure the complete HTTP header can be contained in one packet. The default value is set to 600. *//* ... */ /* #define NX_WEB_HTTP_SERVER_MIN_PACKET_SIZE 600 *//* ... */ /* Set the Server socket retransmission timeout in seconds. The default value is set to 2.*//* ... */ /* #define NX_WEB_HTTP_SERVER_RETRY_SECONDS 2 *//* ... */ /* This specifies the maximum number of packets that can be enqueued on the Server socket retransmission queue. If the number of packets enqueued reaches this number, no more packets can be sent until one or more enqueued packets are released. *//* ... */ /* #define NX_WEB_HTTP_SERVER_TRANSMIT_QUEUE_DEPTH 20 *//* ... */ /* This value is used to set the next retransmission timeout. The current timeout is multiplied by the number of retransmissions thus far, shifted by the value of the socket timeout shift. *//* ... */ /* #define NX_WEB_HTTP_SERVER_RETRY_SHIFT 1 *//* ... */ /* If defined, enables HTTPS Server to support multipart HTTP requests. */ /* #define NX_WEB_HTTP_MULTIPART_ENABLE *//* ... */ /* This sets the maximum number of retransmissions on Server socket. The default value is set to 10. *//* ... */ /* #define NX_WEB_HTTP_SERVER_RETRY_MAX 10 *//* ... */ ... /* ... */#endif /* NX_USER_H */
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.