Я выше написал про fread/fwrite. Никто же не думает о слое с
секторами. И пользователи (программисты) socket'ов не думают как
там PHY работает и какие регистры там нужны. И о socket-ах тоже не
все хотят думать, т.к. есть классы-обёртки в том же Boost.Asio.