Windows version still needs work, look at win32 api