From b5d671776c6ee22d7253aed8e97054785b80e44b Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 21 Feb 2007 21:55:16 +0000 Subject: [PATCH] Progress toward clean SDCC compilation git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@18 42af7a65-404d-4744-a932-0658087f49c3 --- Documentation/NuttxUserGuide.html | 63 ++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/Documentation/NuttxUserGuide.html b/Documentation/NuttxUserGuide.html index 213f75d751..8396651c66 100644 --- a/Documentation/NuttxUserGuide.html +++ b/Documentation/NuttxUserGuide.html @@ -1806,7 +1806,7 @@ initialization time). Function Prototype:
     #include <wdog.h>
-    STATUS wd_delete (WDOG_ID wdId);
+    STATUS wd_delete (WDOG_ID wdog);
 

@@ -1816,7 +1816,7 @@ has been started.

Input Parameters:

@@ -1834,7 +1834,7 @@ it. POSIX Compatibility: This is a NON-POSIX interface. VxWorks provides the following comparable interface:
-    STATUS wdDelete (WDOG_ID wdId);
+    STATUS wdDelete (WDOG_ID wdog);
 

@@ -1850,8 +1850,8 @@ before de-allocating it (i.e., never returns ERROR). Function Prototype:

     #include <wdog.h>
-    STATUS wd_start( WDOG_ID wdId, int delay, wdentry_t wdentry,
-                     int parm1, int parm2, int parm3, int parm4 );
+    STATUS wd_start( WDOG_ID wdog, int delay, wdentry_t wdentry,
+                     intt argc, ....);
 

@@ -1867,15 +1867,16 @@ was called. Watchdog timers execute only once.

To replace either the timeout delay or the function to be executed, -call wd_start again with the same wdId; only the most recent +call wd_start again with the same wdog; only the most recent wd_start() on a given watchdog ID has any effect.

Input Parameters:

@@ -1892,14 +1893,15 @@ restrictions. POSIX Compatibility: This is a NON-POSIX interface. VxWorks provides the following comparable interface:

-    STATUS wdStart (WDOG_ID wdId, int delay, FUNCPTR wdentry, int parameter);
+    STATUS wdStart (WDOG_ID wdog, int delay, FUNCPTR wdentry, int parameter);
 

Differences from the VxWorks interface include:

2.6.4 wd_cancel

@@ -1908,7 +1910,7 @@ to wdentry; VxWorks supports only a single parameter. Function Prototype:
     #include <wdog.h>
-    STATUS wd_cancel (WDOG_ID wdId);
+    STATUS wd_cancel (WDOG_ID wdog);
 

@@ -1918,7 +1920,7 @@ level.

Input Parameters:

@@ -1933,7 +1935,7 @@ level. POSIX Compatibility: This is a NON-POSIX interface. VxWorks provides the following comparable interface:

-    STATUS wdCancel (WDOG_ID wdId);
+    STATUS wdCancel (WDOG_ID wdog);
 

@@ -4073,6 +4075,39 @@ notify a task when a message is available on a queue. int sigev_notify; }; + +

3.4.9 Watchdog Data Types

+ +

+ When a watchdog expires, the callback function with this + type is called: +

+
+    typedef void (*wdentry_t)(int argc, ...);
+
+

+ Where argc is the number of uint32 type arguments that follow. +

+ The arguments are passed as uint32 values. + For systems where the sizeof(pointer) < sizeof(uint32), the + following union defines the alignment of the pointer within the + uint32. For example, the SDCC MCS51 general pointer is + 24-bits, but uint32 is 32-bits (of course). +

+
+    union wdparm_u
+    {
+      void   *pvarg;
+      uint32 *dwarg;
+    };
+    typedef union wdparm_u wdparm_t;
+
+

+ For most 32-bit systems, pointers and uint32 are the same size + For systems where sizeof(pointer) > sizeof(uint32), we will + have to do some redesign. +

+

4.0 Known Problems