Split BA macros into declaration part and definition part so that a
BA_* type can be used in multiple source code files as MODULE_SCOPE.