Как понять код или программирование, написанное для linux, подключающего системные вызовы?
Я нашел материалы о том, как выполняется подключение системного вызова, но выполненное Программирование мне не понятно, например:
include<ASM / cacheflush.h> #IFDEF KERN_2_6_24 #include LT& ASM / semaphore.h> INT set_page_rw (long unsigned integer _addr) { Structure page * Pico; Pgprot_t PROT; PG = virt_to_page(_addr); Prot.pgprot = VM_READ | VM_WRITE; Return change_page_attr(PG,1,PROT); }INT set_page_ro (long unsigned integer _addr) { Structure page * Pico; Pgprot_t PROT; PG = virt_to_page(_addr); Prot.pgprot = VM_READ; Return change_page_attr(PG,1,PROT); }#Other #includes LT& Linux/semaphore.h> INT set_page_rw (long unsigned integer _addr) {
...прием
большинство из этих функций или что-то еще непонятно для меня, так как я очень новичок в этом, может ли кто-нибудь указать мне, какие шаги я должен предпринять, чтобы понять это программно.
Что я уже пробовал:
пытался разобраться в программах системных вызовов hook, но новичок в этом, поэтому не до конца понимает, что делают функции..