https://stackoverflow.com/questions/15154586/exit-handler-in-c
https://www.tutorialspoint.com/cprogramming/c_error_handling.htm
https://stackoverflow.com/questions/528559/c-c-best-way-to-send-a-number-of-bytes-to-stdout
https://stackoverflow.com/questions/16888339/what-is-the-simplest-way-to-write-to-stdout-in-binary-mode
https://stackoverflow.com/questions/16430108/what-does-it-mean-to-write-to-stdout-in-c
https://stackoverflow.com/questions/41638330/how-to-print-1-byte-with-printf
http://man7.org/linux/man-pages/man2/umask.2.html
https://askubuntu.com/questions/44542/what-is-umask-and-how-does-it-work
https://winscp.net/eng/docs/sftp_codes#code_4
https://winscp.net/eng/docs/sftp_codes
https://www.secureblackbox.com/kb/help/ref_err_sftperrorcodes.html
https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
https://stackoverflow.com/questions/7749134/reading-and-writing-a-buffer-in-binary-file
https://www.google.com/search?q=~umask&
https://www.google.com/search?q=mode+%26+~umask
https://www.google.com/search?q=printf+byte&
https://www.google.com/search?q=c+print+to+stdout
https://www.google.com/search?q=c+write+to+stdout
https://www.google.com/search?q=c+write+byte+to+stdout
https://www.google.com/search?q=c+print+error
https://www.google.com/search?q=exception+handle+in+c+exit
https://www.google.com/search?q=exception+handling+in+c
https://www.google.com/search?q=how+to+write+a+main+c