#ifndef _OBJC_PROTOCOL_H_
#define _OBJC_PROTOCOL_H_
-#include <objc/Object.h>
+#if !__OBJC__
+
+// typedef Protocol is here:
+#include <objc/runtime.h>
+
+
+#elif __OBJC2__
+
+#include <objc/NSObject.h>
+
+// All methods of class Protocol are unavailable.
+// Use the functions in objc/runtime.h instead.
-/* Warning: All of these methods will disappear in 64-bit. */
+__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0)
+@interface Protocol : NSObject
+@end
+
+
+#else
+#include <objc/Object.h>
+
+__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0)
@interface Protocol : Object
{
@private
/* Looking up information specific to a protocol */
-- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
-- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
+- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel
+ __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5, __IPHONE_2_0,__IPHONE_2_0);
+- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel
+ __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5, __IPHONE_2_0,__IPHONE_2_0);
@end
+#endif
+
#endif /* _OBJC_PROTOCOL_H_ */