diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,4 @@
+## 0.2.0.10 (2018-03-??)
+
+ * Fixed a link error that manifested when the C compiler uses C99 by
+   default ([#17](https://github.com/jystic/network-info/issues/17)).
diff --git a/cbits/common.inc b/cbits/common.inc
new file mode 100644
--- /dev/null
+++ b/cbits/common.inc
@@ -0,0 +1,7 @@
+/* See https://github.com/jystic/network-info/issues/17 */
+
+extern inline void ipv4copy(ipv4 *dst, struct sockaddr *addr);
+extern inline void ipv6copy(ipv6 *dst, struct sockaddr *addr);
+extern inline int wcsempty(const wchar_t *str);
+extern inline void wszcopy(wchar_t *dst, const wchar_t *src, size_t dst_size);
+extern inline void mbswszcopy(wchar_t *dst, const char *src, size_t dst_size);
diff --git a/cbits/network-unix.c b/cbits/network-unix.c
--- a/cbits/network-unix.c
+++ b/cbits/network-unix.c
@@ -158,3 +158,5 @@
     freeifaddrs(ifaddr);
     return count_interfaces(ns, max_ns);
 }
+
+#include "common.inc"
diff --git a/cbits/network-windows.c b/cbits/network-windows.c
--- a/cbits/network-windows.c
+++ b/cbits/network-windows.c
@@ -65,3 +65,5 @@
     free(adapters);
     return i;
 }
+
+#include "common.inc"
diff --git a/network-info.cabal b/network-info.cabal
--- a/network-info.cabal
+++ b/network-info.cabal
@@ -1,5 +1,5 @@
 name:           network-info
-version:        0.2.0.9
+version:        0.2.0.10
 synopsis:       Access the local computer's basic network configuration
 
 description:    This library provides simple read-only access to the
@@ -21,15 +21,18 @@
 category:       Network
 build-type:     Simple
 cabal-version:  >= 1.6
+tested-with:    GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1
 
 extra-source-files:
   cbits/common.h,
+  cbits/common.inc,
   cbits/network.h,
   test/src/Main.hs,
   test/network-info-test.cabal,
   test/run-tests.bat,
   test/run-tests.sh,
-  README.mkd
+  README.mkd,
+  CHANGELOG.md
 
 source-repository head
   type:     git
@@ -38,7 +41,7 @@
 Library
   hs-source-dirs: src
   include-dirs: cbits
-  cc-options: -Wall
+  cc-options: -Wall -std=c99
 
   exposed-modules: Network.Info
 
diff --git a/test/network-info-test.cabal b/test/network-info-test.cabal
--- a/test/network-info-test.cabal
+++ b/test/network-info-test.cabal
@@ -2,6 +2,7 @@
 version:        0.1
 build-type:     Simple
 cabal-version:  >= 1.6
+tested-with:    GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1
 
 Executable network-info-test
   hs-source-dirs: ../src src
