1. added a private header file
2. added port files for FreeBSD