diff --git a/cryptography/hazmat/backends/openssl/ssl.py b/cryptography/hazmat/backends/openssl/ssl.py
index 7a1219b..071ec50 100644
--- a/cryptography/hazmat/backends/openssl/ssl.py
+++ b/cryptography/hazmat/backends/openssl/ssl.py
@@ -110,6 +110,8 @@
 typedef ... SSL_METHOD;
 typedef ... SSL_CTX;
 
+typedef ... Cryptography_STACK_OF_X509;
+
 typedef struct {
     int master_key_length;
     unsigned char master_key[...];
@@ -158,11 +160,13 @@
 int SSL_read(SSL *, void *, int);
 X509 *SSL_get_peer_certificate(const SSL *);
 
-/* OpenSSL defines these with STACK_OF(...) instead stack_st_... of but the
- * STACK_OF macro does not play well with cffi.
+/*
+ * OpenSSL defines these with STACK_OF(...) but the STACK_OF macro does not
+ * play well with cffi.
  */
-struct stack_st_X509 *SSL_get_peer_cert_chain(const SSL *);
-struct stack_st_X509_NAME *SSL_get_client_CA_list(const SSL *s);
+
+Cryptography_STACK_OF_X509 *SSL_get_peer_cert_chain(const SSL *);
+// Cryptography_STACK_OF_X509_NAME *SSL_get_client_CA_list(const SSL *);
 
 int SSL_get_error(const SSL *, int);
 int SSL_do_handshake(SSL *);
@@ -193,9 +197,10 @@
 X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);
 int SSL_CTX_add_client_CA(SSL_CTX *, X509 *);
 
-/* See comment above about STACK_OF(...) vs stack_st_...
+/*
+ * See comment above about STACK_OF(...) vs stack_st_...
  */
-void SSL_CTX_set_client_CA_list(SSL_CTX *, struct stack_st_X509_NAME *);
+// void SSL_CTX_set_client_CA_list(SSL_CTX *, Cryptography_STACK_OF_X509_NAME *);
 
 
 /*  X509_STORE_CTX */
@@ -298,6 +303,11 @@
 static const long Cryptography_HAS_OP_NO_COMPRESSION = 0;
 const long SSL_OP_NO_COMPRESSION = 0;
 #endif
+
+/*
+ * Get some simpler definitions for some types used by later prototypes.
+ */
+typedef STACK_OF(X509) Cryptography_STACK_OF_X509;
 """
 
 CONDITIONAL_NAMES = {
