Use addr_t for portability