diff --git a/openssl-sys/src/bio.rs b/openssl-sys/src/bio.rs
index c9b9ee2710dfea3fee0fea41c3db49acc95f2d75..cfd25fb62b277fe7bfbe7c73e5e94280f2ece5bb 100644
--- a/openssl-sys/src/bio.rs
+++ b/openssl-sys/src/bio.rs
@@ -68,7 +68,6 @@ extern "C" {
 
 #[allow(clashing_extern_declarations)]
 extern "C" {
-    // FIXME should wrap in Option
     #[cfg(any(ossl110, libressl273))]
     #[link_name = "BIO_meth_set_write"]
     pub fn BIO_meth_set_write__fixed_rust(
diff --git a/openssl-sys/src/ec.rs b/openssl-sys/src/ec.rs
index 7c2f67c345617f95d6c9567277eb8acac515fedc..c01d6f22af6950dea349f2c9f59dfddd3434ecdd 100644
--- a/openssl-sys/src/ec.rs
+++ b/openssl-sys/src/ec.rs
@@ -4,3 +4,13 @@ use std::ptr;
 use *;
 
 pub const OPENSSL_EC_NAMED_CURVE: c_int = 1;
+
+#[cfg(ossl300)]
+pub unsafe fn EVP_EC_gen(curve: *const c_char) -> *mut EVP_PKEY {
+    EVP_PKEY_Q_keygen(
+        ptr::null_mut(),
+        ptr::null_mut(),
+        "EC\0".as_ptr().cast(),
+        curve,
+    )
+}
diff --git a/openssl-sys/src/handwritten/ec.rs b/openssl-sys/src/handwritten/ec.rs
index 47c800b67847073727c2ca5b1bfa1185892b0bdb..0470ef404b8a42e04169b33f1e2170f31f71ca61 100644
--- a/openssl-sys/src/handwritten/ec.rs
+++ b/openssl-sys/src/handwritten/ec.rs
@@ -238,13 +238,3 @@ extern "C" {
 
     pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, out: *mut *mut c_uchar) -> c_int;
 }
-
-#[cfg(ossl300)]
-pub unsafe fn EVP_EC_gen(curve: *const c_char) -> *mut EVP_PKEY {
-    EVP_PKEY_Q_keygen(
-        ptr::null_mut(),
-        ptr::null_mut(),
-        "EC\0".as_ptr().cast(),
-        curve,
-    )
-}
diff --git a/openssl-sys/src/types.rs b/openssl-sys/src/types.rs
index c19e66f1e97019ea120701a3991a165b1d1d26ab..dbf11291afc9cfa60a94d13a0bb4a4442a1c20e6 100644
--- a/openssl-sys/src/types.rs
+++ b/openssl-sys/src/types.rs
@@ -1,3 +1,6 @@
+use libc::*;
+use *;
+
 cfg_if! {
     if #[cfg(any(ossl110, libressl280))] {
         pub enum EVP_PKEY {}