Probably a stupid question but I'll try my hand at nonetheless.
I wrote part of my thesis and based part of my 3rd year's college project on a tool that utilizes other wireless cracking programs, the tool was written in Python. It was basically a GUI wrapper around non GUI applications(Pyrit,CowPatty and the Aircrack-ng suite). It also had a series of other pertinent features.
I'm quite ashamed to admit, I do not know the underlying details of how these tools were actually written at the lowest level, and when I mean lowest level I specifically mean, how does the program (such as aircrack-ng) communicate with the wireless adapter or any network interface for that matter or in other words how does the program get details from the adapter such as wireless signal strength, number of packets it has received etc. The Aircrack-ng suite is mainly used on Linux but as far as I know it also has been ported to Windows.
Does Aircrack-ng call some Linux API functions (or Windows) in order to get this information?