typedef const struct __CFString * a1;
In the above typedef declaration says a1 is defined as a pointer to constant structure __CFString.
Here what does "__" mean?
Then I create a new definition as a2, described below.
typedef const struct CFString * a2;
So, how a1 is different from a2?