1 There are two kind of things, the essentials and the optionals.
4 - Implement a way to bypass the IP stack and send packets directly.
5 - Sort and beauty the code, maybe rewritting in C++.
8 - Compile it and test it in MS Windows platforms(work in progress).