Typesafety Thought Police Part 2.
[openssl.git] / crypto / stack / safestack.h
index c3b2dd799dd3bde22fb06e9554d317d924b19f2c..da631581f6eaee64f330e6bf23d68eb68e144cb0 100644 (file)
 
 #include <openssl/stack.h>
 
-#define STACK_OF(type) STACK_##type
+#define STACK_OF(type) struct stack_st_##type
+#define PREDECLARE_STACK_OF(type) STACK_OF(type);
 
 #define DECLARE_STACK_OF(type) \
-typedef struct stack_st_##type \
+STACK_OF(type) \
     { \
     STACK stack; \
-    } STACK_OF(type); \
+    }; \
 STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)); \
 STACK_OF(type) *sk_##type##_new_null(void); \
 void sk_##type##_free(STACK_OF(type) *sk); \