[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