[pso] NR_open
Lucian Cojocar
cojocar at rosedu.org
Tue Mar 15 00:09:24 EET 2011
On 03/14/2011 11:47 PM, Cristea Liviu wrote:
> Salut,
>
> In cursul 2 avem un exemplu de interceptare de open().
> Acolo se foloseste un NR_open, dar eu nu pot compila cu asa ceva, ca nu
> stie unde se afla constanta ( nu se afla in linux/kernel.h sau
> linux/init.h sau altele asemenea )
> A gasit cineva unde este declarat? Voiam sa vad si eu un prim exemplu ca
> merge.
>
Este vorba despre __NR_open, numărul apelului de sistem open.
Headerul în care este definit este:
* unul dependent de arhitectură, numărul syscallului este dependent de
arhitectură,
* este utilizat și în user-space, (pentru a compila libc de exemplu [1]).
Având cele două informații putem căuta:
""
find arch/x86/include/ -name *.h -exec grep -H NR_open {} \;
""
Fișierele găsite vor fi asm/unistd_{32,64}.h, care sunt incluse automat
(în funcție de (sub)arhitectură) de către unistd.h.
Deci răspunsul este <asm/unistd.h>
P.S. define-ul este __NR_open.
Lucian
[1]http://www.mjmwired.net/kernel/Documentation/make/headers_install.txt
More information about the pso
mailing list