\brief Determine the availability of the entity that this cursor refers to
on any platforms for which availability information is known.
\param cursor The cursor to query.
\param always_deprecated If non-NULL, will be set to indicate whether the
entity is deprecated on all platforms.
\param deprecated_message If non-NULL, will be set to the message text
provided along with the unconditional deprecation of this entity. The client
is responsible for deallocating this string.
\param always_unavailable If non-NULL, will be set to indicate whether the
entity is unavailable on all platforms.
\param unavailable_message If non-NULL, will be set to the message text
provided along with the unconditional unavailability of this entity. The
client is responsible for deallocating this string.
\param availability If non-NULL, an array of CXPlatformAvailability instances
that will be populated with platform availability information, up to either
the number of platforms for which availability information is available (as
returned by this function) or \c availability_size, whichever is smaller.
\param availability_size The number of elements available in the
\c availability array.
\returns The number of platforms (N) for which availability information is
available (which is unrelated to \c availability_size).
Note that the client is responsible for calling
\c clang_disposeCXPlatformAvailability to free each of the
platform-availability structures returned. There are
\c min(N, availability_size) such structures.
\brief Determine the availability of the entity that this cursor refers to on any platforms for which availability information is known.
\param cursor The cursor to query.
\param always_deprecated If non-NULL, will be set to indicate whether the entity is deprecated on all platforms.
\param deprecated_message If non-NULL, will be set to the message text provided along with the unconditional deprecation of this entity. The client is responsible for deallocating this string.
\param always_unavailable If non-NULL, will be set to indicate whether the entity is unavailable on all platforms.
\param unavailable_message If non-NULL, will be set to the message text provided along with the unconditional unavailability of this entity. The client is responsible for deallocating this string.
\param availability If non-NULL, an array of CXPlatformAvailability instances that will be populated with platform availability information, up to either the number of platforms for which availability information is available (as returned by this function) or \c availability_size, whichever is smaller.
\param availability_size The number of elements available in the \c availability array.
\returns The number of platforms (N) for which availability information is available (which is unrelated to \c availability_size).
Note that the client is responsible for calling \c clang_disposeCXPlatformAvailability to free each of the platform-availability structures returned. There are \c min(N, availability_size) such structures.