Use boost::uint64_t instead of unsigned long