Simple differences - missing types and defines Types, such as int32_t, socklen_t, etc. Preprocessor symbols, e.g. IPTOS_THROUGHPUT, STDIN_FILENO Solution: Provide your own replacements Be careful when defining things like PATH_MAX You can introduce buffer overflows if you get it wrong If you need to set it, then you have to provide functions that honour your limits