|
26 | 26 | /* APPLICATION INTERFACE DEFINITION RELEASE */
|
27 | 27 | /* */
|
28 | 28 | /* ux_api.h PORTABLE C */
|
29 |
| -/* 6.0 */ |
| 29 | +/* 6.0.1 */ |
30 | 30 | /* AUTHOR */
|
31 | 31 | /* */
|
32 | 32 | /* Chaoqiong Xiao, Microsoft Corporation */
|
|
44 | 44 | /* DATE NAME DESCRIPTION */
|
45 | 45 | /* */
|
46 | 46 | /* 05-19-2020 Chaoqiong Xiao Initial Version 6.0 */
|
| 47 | +/* 06-30-2020 Chaoqiong Xiao Modified comment(s), and */ |
| 48 | +/* updated product constants, */ |
| 49 | +/* avoided div 0 in overflow */ |
| 50 | +/* checking macro, */ |
| 51 | +/* resulting in version 6.0.1 */ |
47 | 52 | /* */
|
48 | 53 | /**************************************************************************/
|
49 | 54 |
|
@@ -128,6 +133,12 @@ typedef signed char SCHAR;
|
128 | 133 | #define UX_HOST_HNP_POLLING_THREAD_STACK UX_THREAD_STACK_SIZE
|
129 | 134 | #endif
|
130 | 135 |
|
| 136 | +/* Define basic constants for the USBX Stack. */ |
| 137 | +#define AZURE_RTOS_USBX |
| 138 | +#define USBX_MAJOR_VERSION 6 |
| 139 | +#define USBX_MINOR_VERSION 0 |
| 140 | +#define USBX_PATCH_VERSION 1 |
| 141 | + |
131 | 142 | /* Macros for concatenating tokens, where UX_CONCATn concatenates n tokens. */
|
132 | 143 |
|
133 | 144 | #define UX_CONCAT_BASE(x,y) x ## y
|
@@ -155,9 +166,9 @@ typedef signed char SCHAR;
|
155 | 166 | #define UX_UNDERFLOW_CHECK_MINUS(a, b) ((a) < (b))
|
156 | 167 |
|
157 | 168 | /* Overflow check optimized in case multiplying a 2nd factor of const. */
|
158 |
| -#define UX_OVERFLOW_CHECK_MULC_ULONG(v, c) ((v) > 0xFFFFFFFFul / (c)) |
159 |
| -#define UX_OVERFLOW_CHECK_MULC_USHORT(v, c) ((v) > 0xFFFFul / (c)) |
160 |
| -#define UX_OVERFLOW_CHECK_MULC_UCHAR(v, c) ((v) > 0xFFul / (c)) |
| 169 | +#define UX_OVERFLOW_CHECK_MULC_ULONG(v, c) (((c) != 0) && ((v) > 0xFFFFFFFFul / (c))) |
| 170 | +#define UX_OVERFLOW_CHECK_MULC_USHORT(v, c) (((c) != 0) && ((v) > 0xFFFFul / (c))) |
| 171 | +#define UX_OVERFLOW_CHECK_MULC_UCHAR(v, c) (((c) != 0) && ((v) > 0xFFul / (c))) |
161 | 172 |
|
162 | 173 | /* Overflow check optimized in case multiplying factors of variables and division instruction unavailable. */
|
163 | 174 | #define UX_OVERFLOW_CHECK_MULV_ULONG(v, v1) ((v) * (v1) < UX_MIN(v, v1))
|
|
0 commit comments