So, extending my earlier classification, we would have something like:
PyAPI_FUNC(int) PyFoo(void) : Public, stable API function
PyAPI_FUNC(int) _PyFoo(void) : Public, unstable API function
extern int _PyFoo(void) : Private function (not visible to dynamically linked libraries)
PyPRIVATE_FUNC(int) _PyFoo(void) : Private function (temporarily visible to dynamically linked libraries)