Looking at the declarations of nxsig_timeout and wdentry_t:

static void nxsig_timeout(int argc, wdparm_t itcb)
typedef CODE void (*wdentry_t)(int argc, uint32_t arg1, ...);

A sidenote:  You must be looking at a very old code base.  The current type for wdentry_t is:

   133 typedef CODE void (*wdentry_t)(int argc, wdparm_t arg1, ...);

That was changed in 2015:

   commit 3adcae8ffbf247f1038bbb3b8281ea811799031e
   Author: Gregory Nutt <gn...@nuttx.org>
   Date:   Mon May 18 08:53:42 2015 -0600

        Update the type passed to watchdog timer handlers. Using
   uint32_t is a problem for 64-bit machines.

   ...

     /* This is the form of the function that is called when the
      * watchdog function expires.  Up to four parameters may be passed.
      */

   -typedef CODE void (*wdentry_t)(int argc, uint32_t arg1, ...);
   +typedef CODE void (*wdentry_t)(int argc, wdparm_t arg1, ...);

But it is only the variable number of arguments vs. the fixed number of arguments that concerns you.

Greg


Reply via email to