__BEGIN_DECLS stuff for BSD