Many (most?) of the function declarations in the CPython header files
are annotated with the PyAPI_FUNC declaration.
Similarly for data declarations and PyAPI_DATA
What do they mean, exactly? From the name I would expect that they are a
way of declaring a function or datum to be part of the API, but their
usage seems to be more to do with linkage.
The reason I am asking is that the new dictionary implementation
declares a few functions used to communicate between dictobject.c,
typeobject.c and ceval.c which cannot be static functions, but are not
intended to be part of the API.