Rede inteira assinada e conversão de host

Eu gostaria de converter umint32_t da ordem de bytes do host à ordem de bytes da rede e vice-versa. Eu sei sobre ohtonl() função e suas variantes, mas isso exige números inteiros não assinados. Existe uma função de biblioteca padrão que pode fazer o mesmo com números inteiros assinados ou eu tenho que implementá-la eu mesmo? E se eu tiver que implementá-lo, como devo fazê-lo?

Estou procurando uma rotina que funcione no Linux e Mac OS X.

questionAnswers(3)

yourAnswerToTheQuestion