Merge pull request #738 from alex/non-opaque-curve

Try to make this not-opaque. Might not work on CentOS
diff --git a/cryptography/hazmat/bindings/openssl/ec.py b/cryptography/hazmat/bindings/openssl/ec.py
index 22de56d..4a42960 100644
--- a/cryptography/hazmat/bindings/openssl/ec.py
+++ b/cryptography/hazmat/bindings/openssl/ec.py
@@ -23,7 +23,10 @@
 static const int Cryptography_HAS_EC;
 
 typedef ... EC_KEY;
-typedef ... EC_builtin_curve;
+typedef struct {
+    int nid;
+    const char *comment;
+} EC_builtin_curve;
 
 static const int NID_X9_62_c2pnb163v1;
 static const int NID_X9_62_c2pnb163v2;
@@ -179,24 +182,21 @@
 
 size_t EC_get_builtin_curves(EC_builtin_curve *, size_t);
 
-int Cryptography_EC_builtin_curve_get_nid(EC_builtin_curve *);
 """
 
 CUSTOMIZATIONS = """
 #ifdef OPENSSL_NO_EC
 static const long Cryptography_HAS_EC = 0;
 typedef void EC_KEY;
-typedef void EC_builtin_curve;
+typedef struct {
+    int nid;
+    const char *comment;
+} EC_builtin_curve;
 EC_KEY* (*EC_KEY_new_by_curve_name)(int) = NULL;
 void (*EC_KEY_free)(EC_KEY *) = NULL;
 size_t (*EC_get_builtin_curves)(EC_builtin_curve *, size_t) = NULL;
-int (*Cryptography_EC_builtin_curve_get_nid)(EC_builtin_curve *) = NULL;
 #else
 static const long Cryptography_HAS_EC = 1;
-
-int Cryptography_EC_builtin_curve_get_nid(EC_builtin_curve *c) {
-    return c->nid;
-}
 #endif
 """
 
@@ -205,7 +205,5 @@
         "EC_KEY_new_by_curve_name",
         "EC_KEY_free",
         "EC_get_builtin_curves",
-
-        "Cryptography_EC_builtin_curve_get_nid",
     ],
 }