How to call execve() form a function under linux2.4.x/drivers/char/?

Hi all,

I am writing a driver for GPIO device, gpio_int.c, and I put it under / linux-2.4.x/drivers/char. I need to call execve() in a function, v_hwrb_timer_handler() in gpio_int.c:

void v_hwrb_timer_handler() { ... execve(path, argv, argc); ... }

When I make it, I get the result:

drivers/char/char.o(.text+0xe9c4): In function `v_hwrb_timer_handler': : undefined reference to `execve' make[1]: *** [linux] Error 1 make[1]: Leaving directory `/home/uClinux-dist/linux-2.4.x' make: *** [linux] Error 1

Can anyone present ideas for it?



Reply to
Loading thread data ...

On Fri, 13 Jul 2007 00:43:22 -0700, Ken rearanged some electrons and created:

You may need to include .

Reply to
david m

execve() is not supported inside the kernel. It is only available in user space.

Read this:

formatting link



Reply to
Wolfgang Mües

Thank you for your advices, this problem has been solved by add a macro before #KERNEL_CALL #include



Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.