sorry I missed this message.
Referring to

        typedef int8_t    int8;
        typedef int16_t   int16;
        typedef int32_t   int32;
        typedef int64_t   int64;

        typedef u_int8_t   u_int8;
        typedef u_int16_t  u_int16;
        typedef u_int32_t  u_int32;
        typedef u_int64_t  u_int64;

why don't just use uint64_t instead of u_int64 u_int64_t and so on?