diff --git a/Documentation/NuttxUserGuide.html b/Documentation/NuttxUserGuide.html index 8eecc9052b2..26079b5752e 100644 --- a/Documentation/NuttxUserGuide.html +++ b/Documentation/NuttxUserGuide.html @@ -9743,25 +9743,25 @@ notify a task when a message is available on a queue.
Where argc is the number of uint32_t type arguments that follow.
- The arguments are passed as uint32_t values. - For systems where the sizeof(pointer) < sizeof(uint32_t), the - following union defines the alignment of the pointer within the - uint32_t. For example, the SDCC MCS51 general pointer is - 24-bits, but uint32_t is 32-bits (of course). - -
- union wdparm_u
- {
- void *pvarg;
- uint32_t *dwarg;
- };
- typedef union wdparm_u wdparm_t;
-
- For most 32-bit systems, pointers and uint32_t are the same size
- For systems where sizeof(pointer) > sizeof(uint32_t), we will
- have to do some redesign.
+ The arguments are passed as wdparm_t values. For systems where the sizeof(pointer) < sizeof(uint32_t), the following union defines the alignment of the pointer within the uint32_t. For example, the SDCC MCS51 general pointer is 24-bits, but uint32_t is 32-bits (of course).
sizeof(pointer) <= sizeof(uintptr_t) by definitions.
+
+
+union wdparm_u
+{
+ FAR void *pvarg; /* The size one generic point */
+ uint32_t dwarg; /* Big enough for a 32-bit value in any case */
+ uintptr_t uiarg; /* sizeof(uintptr_t) >= sizeof(pointer) */
+};
+
+#if UINTPTR_MAX >= UINT32_MAX
+typedef uintptr_t wdparm_t;
+#else
+typedef uint32_t wdpartm_t;
+#endif
+