$NetBSD$

--- afio.c.orig	2005-01-19 11:49:18.000000000 -0500
+++ afio.c
@@ -210,8 +210,11 @@ extern char *sys_errlist[];
 #endif
 
 #ifndef	major
-#ifdef sun
+#if defined(sun) || defined(__INTERIX)
 #include <sys/mkdev.h>
+# if !defined(makedev) && defined(mkdev)
+#  define makedev(a,b) mkdev((a),(b))
+# endif
 #else
 #include <sys/sysmacros.h>
 #endif
@@ -4354,12 +4357,16 @@ fswrite (fd, buf, len)
 STATIC char *
 syserr ()
 {
+#ifdef __INTERIX
+  return strerror(errno);
+#else
   static char msg[40];
 
   if (errno > 0 && errno < sys_nerr)
     return ((char *) sys_errlist[errno]);
   VOID sprintf (msg, "Unknown error (errno %d)", errno);
   return (msg);
+#endif
 }
 
 /*
