Expose all of the EC curve name constants
It would be great if there were a clean way to enumerate them rather
than just listing them like this, but I don't know of one.
diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index 03aa47b..a3e4cd0 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -122,13 +122,148 @@
SSL_CB_HANDSHAKE_DONE = _lib.SSL_CB_HANDSHAKE_DONE
+NID_X9_62_c2pnb163v1 = _lib.NID_X9_62_c2pnb163v1
+SN_X9_62_c2pnb163v1 = _ffi.string(_lib.SN_X9_62_c2pnb163v1)
+NID_X9_62_c2pnb163v2 = _lib.NID_X9_62_c2pnb163v2
+SN_X9_62_c2pnb163v2 = _ffi.string(_lib.SN_X9_62_c2pnb163v2)
+NID_X9_62_c2pnb163v3 = _lib.NID_X9_62_c2pnb163v3
+SN_X9_62_c2pnb163v3 = _ffi.string(_lib.SN_X9_62_c2pnb163v3)
+NID_X9_62_c2pnb176v1 = _lib.NID_X9_62_c2pnb176v1
+SN_X9_62_c2pnb176v1 = _ffi.string(_lib.SN_X9_62_c2pnb176v1)
+NID_X9_62_c2tnb191v1 = _lib.NID_X9_62_c2tnb191v1
+SN_X9_62_c2tnb191v1 = _ffi.string(_lib.SN_X9_62_c2tnb191v1)
+NID_X9_62_c2tnb191v2 = _lib.NID_X9_62_c2tnb191v2
+SN_X9_62_c2tnb191v2 = _ffi.string(_lib.SN_X9_62_c2tnb191v2)
+NID_X9_62_c2tnb191v3 = _lib.NID_X9_62_c2tnb191v3
+SN_X9_62_c2tnb191v3 = _ffi.string(_lib.SN_X9_62_c2tnb191v3)
+NID_X9_62_c2onb191v4 = _lib.NID_X9_62_c2onb191v4
+SN_X9_62_c2onb191v4 = _ffi.string(_lib.SN_X9_62_c2onb191v4)
+NID_X9_62_c2onb191v5 = _lib.NID_X9_62_c2onb191v5
+SN_X9_62_c2onb191v5 = _ffi.string(_lib.SN_X9_62_c2onb191v5)
+NID_X9_62_c2pnb208w1 = _lib.NID_X9_62_c2pnb208w1
+SN_X9_62_c2pnb208w1 = _ffi.string(_lib.SN_X9_62_c2pnb208w1)
+NID_X9_62_c2tnb239v1 = _lib.NID_X9_62_c2tnb239v1
+SN_X9_62_c2tnb239v1 = _ffi.string(_lib.SN_X9_62_c2tnb239v1)
+NID_X9_62_c2tnb239v2 = _lib.NID_X9_62_c2tnb239v2
+SN_X9_62_c2tnb239v2 = _ffi.string(_lib.SN_X9_62_c2tnb239v2)
+NID_X9_62_c2tnb239v3 = _lib.NID_X9_62_c2tnb239v3
+SN_X9_62_c2tnb239v3 = _ffi.string(_lib.SN_X9_62_c2tnb239v3)
+NID_X9_62_c2onb239v4 = _lib.NID_X9_62_c2onb239v4
+SN_X9_62_c2onb239v4 = _ffi.string(_lib.SN_X9_62_c2onb239v4)
+NID_X9_62_c2onb239v5 = _lib.NID_X9_62_c2onb239v5
+SN_X9_62_c2onb239v5 = _ffi.string(_lib.SN_X9_62_c2onb239v5)
+NID_X9_62_c2pnb272w1 = _lib.NID_X9_62_c2pnb272w1
+SN_X9_62_c2pnb272w1 = _ffi.string(_lib.SN_X9_62_c2pnb272w1)
+NID_X9_62_c2pnb304w1 = _lib.NID_X9_62_c2pnb304w1
+SN_X9_62_c2pnb304w1 = _ffi.string(_lib.SN_X9_62_c2pnb304w1)
+NID_X9_62_c2tnb359v1 = _lib.NID_X9_62_c2tnb359v1
+SN_X9_62_c2tnb359v1 = _ffi.string(_lib.SN_X9_62_c2tnb359v1)
+NID_X9_62_c2pnb368w1 = _lib.NID_X9_62_c2pnb368w1
+SN_X9_62_c2pnb368w1 = _ffi.string(_lib.SN_X9_62_c2pnb368w1)
+NID_X9_62_c2tnb431r1 = _lib.NID_X9_62_c2tnb431r1
+SN_X9_62_c2tnb431r1 = _ffi.string(_lib.SN_X9_62_c2tnb431r1)
NID_X9_62_prime192v1 = _lib.NID_X9_62_prime192v1
+SN_X9_62_prime192v1 = _ffi.string(_lib.SN_X9_62_prime192v1)
NID_X9_62_prime192v2 = _lib.NID_X9_62_prime192v2
+SN_X9_62_prime192v2 = _ffi.string(_lib.SN_X9_62_prime192v2)
NID_X9_62_prime192v3 = _lib.NID_X9_62_prime192v3
+SN_X9_62_prime192v3 = _ffi.string(_lib.SN_X9_62_prime192v3)
NID_X9_62_prime239v1 = _lib.NID_X9_62_prime239v1
+SN_X9_62_prime239v1 = _ffi.string(_lib.SN_X9_62_prime239v1)
NID_X9_62_prime239v2 = _lib.NID_X9_62_prime239v2
+SN_X9_62_prime239v2 = _ffi.string(_lib.SN_X9_62_prime239v2)
NID_X9_62_prime239v3 = _lib.NID_X9_62_prime239v3
+SN_X9_62_prime239v3 = _ffi.string(_lib.SN_X9_62_prime239v3)
NID_X9_62_prime256v1 = _lib.NID_X9_62_prime256v1
+SN_X9_62_prime256v1 = _ffi.string(_lib.SN_X9_62_prime256v1)
+NID_secp112r1 = _lib.NID_secp112r1
+SN_secp112r1 = _ffi.string(_lib.SN_secp112r1)
+NID_secp112r2 = _lib.NID_secp112r2
+SN_secp112r2 = _ffi.string(_lib.SN_secp112r2)
+NID_secp128r1 = _lib.NID_secp128r1
+SN_secp128r1 = _ffi.string(_lib.SN_secp128r1)
+NID_secp128r2 = _lib.NID_secp128r2
+SN_secp128r2 = _ffi.string(_lib.SN_secp128r2)
+NID_secp160k1 = _lib.NID_secp160k1
+SN_secp160k1 = _ffi.string(_lib.SN_secp160k1)
+NID_secp160r1 = _lib.NID_secp160r1
+SN_secp160r1 = _ffi.string(_lib.SN_secp160r1)
+NID_secp160r2 = _lib.NID_secp160r2
+SN_secp160r2 = _ffi.string(_lib.SN_secp160r2)
+NID_sect163k1 = _lib.NID_sect163k1
+SN_sect163k1 = _ffi.string(_lib.SN_sect163k1)
+NID_sect163r1 = _lib.NID_sect163r1
+SN_sect163r1 = _ffi.string(_lib.SN_sect163r1)
+NID_sect163r2 = _lib.NID_sect163r2
+SN_sect163r2 = _ffi.string(_lib.SN_sect163r2)
+NID_secp192k1 = _lib.NID_secp192k1
+SN_secp192k1 = _ffi.string(_lib.SN_secp192k1)
+NID_secp224k1 = _lib.NID_secp224k1
+SN_secp224k1 = _ffi.string(_lib.SN_secp224k1)
+NID_secp224r1 = _lib.NID_secp224r1
+SN_secp224r1 = _ffi.string(_lib.SN_secp224r1)
+NID_secp256k1 = _lib.NID_secp256k1
+SN_secp256k1 = _ffi.string(_lib.SN_secp256k1)
+NID_secp384r1 = _lib.NID_secp384r1
+SN_secp384r1 = _ffi.string(_lib.SN_secp384r1)
+NID_secp521r1 = _lib.NID_secp521r1
+SN_secp521r1 = _ffi.string(_lib.SN_secp521r1)
+NID_sect113r1 = _lib.NID_sect113r1
+SN_sect113r1 = _ffi.string(_lib.SN_sect113r1)
+NID_sect113r2 = _lib.NID_sect113r2
+SN_sect113r2 = _ffi.string(_lib.SN_sect113r2)
+NID_sect131r1 = _lib.NID_sect131r1
+SN_sect131r1 = _ffi.string(_lib.SN_sect131r1)
+NID_sect131r2 = _lib.NID_sect131r2
+SN_sect131r2 = _ffi.string(_lib.SN_sect131r2)
+NID_sect193r1 = _lib.NID_sect193r1
+SN_sect193r1 = _ffi.string(_lib.SN_sect193r1)
+NID_sect193r2 = _lib.NID_sect193r2
+SN_sect193r2 = _ffi.string(_lib.SN_sect193r2)
+NID_sect233k1 = _lib.NID_sect233k1
+SN_sect233k1 = _ffi.string(_lib.SN_sect233k1)
+NID_sect233r1 = _lib.NID_sect233r1
+SN_sect233r1 = _ffi.string(_lib.SN_sect233r1)
+NID_sect239k1 = _lib.NID_sect239k1
+SN_sect239k1 = _ffi.string(_lib.SN_sect239k1)
+NID_sect283k1 = _lib.NID_sect283k1
+SN_sect283k1 = _ffi.string(_lib.SN_sect283k1)
+NID_sect283r1 = _lib.NID_sect283r1
+SN_sect283r1 = _ffi.string(_lib.SN_sect283r1)
+NID_sect409k1 = _lib.NID_sect409k1
+SN_sect409k1 = _ffi.string(_lib.SN_sect409k1)
+NID_sect409r1 = _lib.NID_sect409r1
+SN_sect409r1 = _ffi.string(_lib.SN_sect409r1)
+NID_sect571k1 = _lib.NID_sect571k1
+SN_sect571k1 = _ffi.string(_lib.SN_sect571k1)
+NID_sect571r1 = _lib.NID_sect571r1
+SN_sect571r1 = _ffi.string(_lib.SN_sect571r1)
+NID_wap_wsg_idm_ecid_wtls1 = _lib.NID_wap_wsg_idm_ecid_wtls1
+SN_wap_wsg_idm_ecid_wtls1 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls1)
+NID_wap_wsg_idm_ecid_wtls3 = _lib.NID_wap_wsg_idm_ecid_wtls3
+SN_wap_wsg_idm_ecid_wtls3 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls3)
+NID_wap_wsg_idm_ecid_wtls4 = _lib.NID_wap_wsg_idm_ecid_wtls4
+SN_wap_wsg_idm_ecid_wtls4 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls4)
+NID_wap_wsg_idm_ecid_wtls5 = _lib.NID_wap_wsg_idm_ecid_wtls5
+SN_wap_wsg_idm_ecid_wtls5 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls5)
+NID_wap_wsg_idm_ecid_wtls6 = _lib.NID_wap_wsg_idm_ecid_wtls6
+SN_wap_wsg_idm_ecid_wtls6 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls6)
+NID_wap_wsg_idm_ecid_wtls7 = _lib.NID_wap_wsg_idm_ecid_wtls7
+SN_wap_wsg_idm_ecid_wtls7 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls7)
+NID_wap_wsg_idm_ecid_wtls8 = _lib.NID_wap_wsg_idm_ecid_wtls8
+SN_wap_wsg_idm_ecid_wtls8 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls8)
+NID_wap_wsg_idm_ecid_wtls9 = _lib.NID_wap_wsg_idm_ecid_wtls9
+SN_wap_wsg_idm_ecid_wtls9 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls9)
+NID_wap_wsg_idm_ecid_wtls10 = _lib.NID_wap_wsg_idm_ecid_wtls10
+SN_wap_wsg_idm_ecid_wtls10 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls10)
+NID_wap_wsg_idm_ecid_wtls11 = _lib.NID_wap_wsg_idm_ecid_wtls11
+SN_wap_wsg_idm_ecid_wtls11 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls11)
+NID_wap_wsg_idm_ecid_wtls12 = _lib.NID_wap_wsg_idm_ecid_wtls12
+SN_wap_wsg_idm_ecid_wtls12 = _ffi.string(_lib.SN_wap_wsg_idm_ecid_wtls12)
+NID_ipsec3 = _lib.NID_ipsec3
+SN_ipsec3 = _ffi.string(_lib.SN_ipsec3)
+NID_ipsec4 = _lib.NID_ipsec4
+SN_ipsec4 = _ffi.string(_lib.SN_ipsec4)
_Cryptography_HAS_EC = _lib.Cryptography_HAS_EC