Archived

Adam Pioterek 400a385341 minor fixes 2 years ago
.gitignore 7a666d22f0 gitignore bak 2 years ago
LICENSE 965d71c593 license 2 years ago
README.md b003e6dfdf description of source file in README 2 years ago
args.c 7e2332ee93 args: add maxpwr 2 years ago
args.h 7e2332ee93 args: add maxpwr 2 years ago
log.c 3e59814187 logger 2 years ago
log.h 3e59814187 logger 2 years ago
main.c 068d7b642a daemon & log 2 years ago
makefile 3179a2be40 makefile: clean 2 years ago
monitor.c 400a385341 minor fixes 2 years ago
monitor.h 068d7b642a daemon & log 2 years ago
netlink.c 400a385341 minor fixes 2 years ago
netlink.h 400a385341 minor fixes 2 years ago
setter.c b49bbc8677 setter calculates new pwr 2 years ago
setter.h b49bbc8677 setter calculates new pwr 2 years ago

README.md

Kratos

Projekt realizujący temat „Narzędzie sterujące mocą sygnału karty bezprzewodowej”.

Program wykorzystujący gniazda netlink do monitorowania sygnału sieci Wi-Fi i korygowania na tej podstawie mocy karty sieciowej.

pliki źródłowe

  • main.c: główny plik programu --- deleguje pracę (tj. zleca interpretację argumentów programu oraz rozpoczyna monitorowanie siły sygnału Wi-Fi);
  • args.c, args.h: są odpowiedzialne za interpretację argumentów programu;
  • netlink.c, netlink.h: zawierają definicje struktur służących do komunikacji przez gniazda netlink oraz przechowujących informacje o interfejsie sieciowym, a także funkcje inicjujące i kończące komunikację;
  • monitor.c, monitor.h: zawiera kod monitorujący cyklicznie siłę sygnału Wi-Fi oraz przekazujący informację o zmianie do funkcji wykonawczej;
  • setter.c, setter.h: zawiera kod reagujący na zmianę siłę sygnału Wi-Fi --- tj. wysyłający przez gniazdo netlink komendę zmiany mocy karty Wi-Fi;
  • log.c, log.h: zawierają funkcje służące do logowania zdarzeń.

kompilacja

Do kompilacji wymagana jest biblioteka libnl3, a dokładnie jej dwie części: libnl oraz libnl-genl

Aby skompilować program należy wykonać:

make

lub

gcc -o kratos *.c -lnl-3 -lnl-genl-3 -I/usr/include/libnl3

Ścieżka /usr/include/libnl3/ zawiera pliki nagłówkowe biblioteki libnl3 w dystrybucji Parabola GNU/Linux-libre (oraz innych pochodnych od dystrybucji Arch Linux) tj. zawiera katalog netlink. Ta ścieżka może być inna w innych dystrybucjach.

uruchomienie

Program musi być uruchomiony z prawami użytkownika root.

./kratos INTERFEJS

Opcje oraz pomoc dot. uruchomienia: ./kratos --help