[Click] #include <unistd.h> header in kernel ?
ndritsos
ndritsos at gmail.com
Mon Aug 26 00:41:49 EDT 2013
hello ,
iam trying to port code from openssl , especially
at this time i need the function Rand_poll()
https://github.com/openssl/openssl/blob/master/crypto/rand/rand_unix.c
lines 237 - 420
The function Rand_poll use
1)getpid()
2)close(..)
3)open(...)
4getuid()
and all this functions are defined on unistd.h !
any idea someone how i can run this code on kernel level?
On 08/26/2013 02:23 AM, Cliff Frey wrote:
> You cannot use unistd.h (or any other standard userlevel headers) in
> the kernel. Whatever you are trying to do must be done in a different
> way. Specifically you cannot use getpid().
>
> What do you want/need getpid for?
>
> Cliff
>
>
> On Sun, Aug 25, 2013 at 1:35 PM, ndritsos <ndritsos at gmail.com
> <mailto:ndritsos at gmail.com>> wrote:
>
> Hello everyone ,
>
> i have created an element that uses the library unistd.h, and in the
> user level it works fine .
> Now i'm working in kernel level , and it doesn't work.
>
> in kernel level i have imported :
>
> #include <linux/unistd.h>
>
> and i have this compile time error:
> ---
> In file included from
> /home/dritsos/click/linuxmodule/../elements/local/ndritso.cc:23:0:
> /home/dritsos/click/include/click-linuxmodule/include2/linux/unistd.h:5:3:
> error: #error "missing #include <click/cxxprotect.h>"
> In file included from
> /home/dritsos/click/include/click-linuxmodule/include2/linux/unistd.h:12:0,
> from
> /home/dritsos/click/linuxmodule/../elements/local/ndritso.cc:23:
> /home/dritsos/click/include/click-linuxmodule/include0/asm/unistd.h:4:3:
> error: #error "missing #include <click/cxxprotect.h>"
> In file included from
> /home/dritsos/click/include/click-linuxmodule/include0/asm/unistd.h:8:0,
> from
> /home/dritsos/click/include/click-linuxmodule/include2/linux/unistd.h:12,
> from /home/dritsos/click/linuxmodule/../elements/local/ndritso.cc:23:
> /home/dritsos/click/include/click-linuxmodule/include0/asm/unistd_32.h:5:3:
> error: #error "missing #include <click/cxxprotect.h>"
> /home/dritsos/click/linuxmodule/../elements/local/ndritso.cc: In
> member
> function 'virtual int NdritsoElement::initialize(ErrorHandler*)':
> /home/dritsos/click/linuxmodule/../elements/local/ndritso.cc:59:8:
> error: 'getpid' was not declared in this scope
> make[3]: *** [/home/dritsos/click/linuxmodule/ndritso.o] Error 1
> make[2]: *** [_module_/home/dritsos/click/linuxmodule] Error 2
> make[2]: Leaving directory `/usr/src/linux-headers-3.0.0-12-generic'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/dritsos/click/linuxmodule'
> make: *** [install-linuxmodule] Error 2
>
>
> ---
>
>
> Any idea how i can fix this error??
>
> thanks in advance
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu <mailto:click at amsterdam.lcs.mit.edu>
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
>
More information about the click
mailing list