char *
write_in_addr(char *buf, struct in_addr value)
{
- return write_int32(buf, value.s_addr);
+ return write_int32(buf, ntohl(value.s_addr));
}
char *
write_in6_addr(char *buf, struct in6_addr value)
{
- buf = write_int32(buf, value.s6_addr32[0]);
- buf = write_int32(buf, value.s6_addr32[1]);
- buf = write_int32(buf, value.s6_addr32[2]);
- return write_int32(buf, value.s6_addr32[3]);
+ buf = write_int32(buf, ntohl(value.s6_addr32[3]));
+ buf = write_int32(buf, ntohl(value.s6_addr32[2]));
+ buf = write_int32(buf, ntohl(value.s6_addr32[1]));
+ return write_int32(buf, ntohl(value.s6_addr32[0]));
}
#ifndef RTR_PRIMITIVE_WRITER_H_
#define RTR_PRIMITIVE_WRITER_H_
-#include <netinet/ip.h>
+#include <netinet/in.h>
__BEGIN_DECLS
-char * write_int8(char *, u_int8_t);
-char * write_int16(char *, u_int16_t);
-char * write_int32(char *, u_int32_t);
-char * write_in_addr(char *, struct in_addr);
-char * write_in6_addr(char *, struct in6_addr);
+char *write_int8(char *, u_int8_t);
+char *write_int16(char *, u_int16_t);
+char *write_int32(char *, u_int32_t);
+char *write_in_addr(char *, struct in_addr);
+char *write_in6_addr(char *, struct in6_addr);
__END_DECLS
#endif /* RTR_PRIMITIVE_WRITER_H_ */