+ //\r
+ // Note that: RFC 1350 does not mention block counter roll-over, \r
+ // but several TFTP hosts implement the roll-over be able to accept \r
+ // transfers of unlimited size. There is no consensus, however, whether \r
+ // the counter should wrap around to zero or to one. Many implementations \r
+ // wrap to zero, because this is the simplest to implement. Here we choose \r
+ // this solution.\r
+ //\r
+ *TotalBlock = Num;\r
+ \r
+ if (Range->Round > 0) {\r
+ *TotalBlock += Range->Bound + MultU64x32 (Range->Round -1, (UINT32)(Range->Bound + 1)) + 1;\r
+ }\r
+\r
+ if (Range->Start > Range->Bound) {\r
+ Range->Start = 0;\r
+ Range->Round ++;\r
+ }\r
+\r