diff --git a/src/unix/solarish/illumos.rs b/src/unix/solarish/illumos.rs
index b52a5f08954b1932aa0b25c4790d833a5be61ea9..433aa4d3a62773eb9008eae49597475521817c53 100644
--- a/src/unix/solarish/illumos.rs
+++ b/src/unix/solarish/illumos.rs
@@ -22,6 +22,10 @@ pub const EFD_SEMAPHORE: ::c_int = 0x1;
 pub const EFD_NONBLOCK: ::c_int = 0x800;
 pub const EFD_CLOEXEC: ::c_int = 0x80000;
 
+pub const TCP_KEEPIDLE: ::c_int = 34;
+pub const TCP_KEEPCNT: ::c_int = 35;
+pub const TCP_KEEPINTVL: ::c_int = 36;
+
 extern "C" {
     pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int;
 
diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs
index 21048bce75d92e0d30a07bd1d640081030eab086..695c7ebf04b748ae569e35d28cd1322d5693fe63 100644
--- a/src/unix/solarish/mod.rs
+++ b/src/unix/solarish/mod.rs
@@ -1386,7 +1386,7 @@ pub const IPV6_JOIN_GROUP: ::c_int = 9;
 pub const IPV6_LEAVE_GROUP: ::c_int = 10;
 
 pub const TCP_NODELAY: ::c_int = 1;
-pub const TCP_KEEPIDLE: ::c_int = 34;
+
 pub const SOL_SOCKET: ::c_int = 0xffff;
 pub const SO_DEBUG: ::c_int = 0x01;
 pub const SO_ACCEPTCONN: ::c_int = 0x0002;
diff --git a/src/unix/solarish/solaris.rs b/src/unix/solarish/solaris.rs
index 469efbc65478a8449a39323795a610e21bba150c..a07bc88a4991b85906875c7183dcce92b726ea6d 100644
--- a/src/unix/solarish/solaris.rs
+++ b/src/unix/solarish/solaris.rs
@@ -32,6 +32,10 @@ pub const PORT_SOURCE_SIGNAL: ::c_int = 9;
 pub const AF_LOCAL: ::c_int = 0;
 pub const AF_FILE: ::c_int = 0;
 
+pub const TCP_KEEPIDLE: ::c_int = 0x1d;
+pub const TCP_KEEPCNT: ::c_int = 0x1e;
+pub const TCP_KEEPINTVL: ::c_int = 0x1f;
+
 extern "C" {
     pub fn fexecve(
         fd: ::c_int,