diff -cr src.orig/Makefile.am src/Makefile.am
*** src.orig/Makefile.am	Sat Jun 13 22:04:50 2009
--- src/Makefile.am	Sat Jun 13 22:05:16 2009
***************
*** 54,57 ****
--- 54,61 ----
  rpcemu_SOURCES += rpc-macosx.c gui.c
  endif
  
+ if OS_OPENBSD
+ rpcemu_SOURCES += rpc-linux.c gui.c
+ endif
+ 
  EXTRA_DIST = acorn.rc rpcemu.ico makefile.dj rpc-dos.c
diff -cr src.orig/Makefile.in src/Makefile.in
*** src.orig/configure.ac	Sat Jun 13 22:04:50 2009
--- src/configure.ac	Sat Jun 13 21:20:58 2009
***************
*** 66,71 ****
--- 66,76 ----
    	    AC_MSG_RESULT([Mac OS X])
              AC_DEFINE(RPCEMU_MACOSX, [], [OS is Mac OS X])
  	    ;;
+     *openbsd*)
+ 	    OS="openbsd"
+ 	    AC_MSG_RESULT(OpenBSD)
+             AC_DEFINE(RPCEMU_OPENBSD, [], [OS is OpenBSD])
+ 	    ;;
      *)
  	    AC_MSG_ERROR([Unsupported host system.])
  	    ;;
***************
*** 74,79 ****
--- 79,85 ----
  AM_CONDITIONAL(OS_WIN, test "$OS" = "win")
  AM_CONDITIONAL(OS_LINUX, test "$OS" = "linux")
  AM_CONDITIONAL(OS_MACOSX, test "$OS" = "macosx")
+ AM_CONDITIONAL(OS_OPENBSD, test "$OS" = "openbsd")
  AM_CONDITIONAL(CPU_X86_64, test "$CPU" = "x86_64")
  AM_CONDITIONAL(CPU_I386, test "$CPU" = "i386")
  
diff -cr src.orig/hostfs.c src/hostfs.c
*** src.orig/hostfs.c	Sat Jun 13 22:04:50 2009
--- src/hostfs.c	Sat Jun 13 15:59:19 2009
***************
*** 16,22 ****
  #else
  #include <unistd.h>
  #endif
! #if defined __unix || defined __MACH__
  #include <utime.h>
  #else
  #include <sys/utime.h>
--- 16,22 ----
  #else
  #include <unistd.h>
  #endif
! #if defined __unix || defined __MACH__ || defined __OpenBSD__
  #include <utime.h>
  #else
  #include <sys/utime.h>
diff -cr src.orig/rpc-linux.c src/rpc-linux.c
*** src.orig/rpc-linux.c	Sat Jun 13 22:04:50 2009
--- src/rpc-linux.c	Sat Jun 13 21:47:07 2009
***************
*** 240,246 ****
--- 240,248 ----
          if (startrpcemu())
             return -1;
  
+ #ifndef __OpenBSD__	// temporally disabled
          initnetwork();
+ #endif
  
          install_int_ex(domips,MSEC_TO_TIMER(1000));
          install_int_ex(vblupdate,BPS_TO_TIMER(refresh));
diff -cr src.orig/rpcemu.h src/rpcemu.h
*** src.orig/rpcemu.h	Sat Jun 13 22:04:50 2009
--- src/rpcemu.h	Sat Jun 13 19:30:03 2009
***************
*** 52,58 ****
  #define off64_t off_t
  #endif
  
! #if defined _BIG_ENDIAN || defined __BIG_ENDIAN__
  	#define _RPCEMU_BIG_ENDIAN
  #endif
  
--- 52,71 ----
  #define off64_t off_t
  #endif
  
! #ifdef __OpenBSD__
! #define __unix
! 
! #define fseeko64(_a, _b, _c) fseeko(_a, _b, _c)
! #define fopen64(_a, _b) fopen(_a, _b)
! #define off64_t off_t
! 
! /* OpenBSD defines _BIG_ENDIAN in <sys/endian.h> */
! #if _BYTE_ORDER == _BIG_ENDIAN
! 	#define _RPCEMU_BIG_ENDIAN
! #endif
! #endif
! 
! #if !defined __OpenBSD__ && (defined _BIG_ENDIAN || defined __BIG_ENDIAN__)
  	#define _RPCEMU_BIG_ENDIAN
  #endif
  
