Можешь пояснить, как эти две вещи сочетаются? Если тебе нужны готовые функции, они будут в составе библиотеки. А если нет сторонних библиотек (или ты пишешь свою), откуда возьмутся готовые функции?
ну допустим ты не знаешь про htonl и пишешь в поле получателя 0x7f000001 (127.0.0.1). Если такое провернуть на x86 например, то пакет получит какой-нибудь 1.0.0.127.