Use #pragma once instead of header guards
Put header file function declarations inside extern "C" blocks if needed
Do not document detailed error values in bcrypt_gensalt (overkill)
Warn about timing attacks in the example code