add "public" in port.h