diff --git a/SheepShaver/Makefile b/SheepShaver/Makefile index 44dd20f0..2a2c305f 100644 --- a/SheepShaver/Makefile +++ b/SheepShaver/Makefile @@ -55,6 +55,7 @@ links: BeOS/serial_beos.cpp BeOS/sys_beos.cpp BeOS/timer_beos.cpp \ BeOS/xpram_beos.cpp BeOS/SheepDriver BeOS/SheepNet \ Unix/audio_oss_esd.cpp Unix/extfs_unix.cpp Unix/serial_unix.cpp \ + Unix/sshpty.h Unix/sshpty.c Unix/strlcpy.h Unix/strlcpy.c \ Unix/sys_unix.cpp Unix/timer_unix.cpp Unix/xpram_unix.cpp \ Unix/Linux/scsi_linux.cpp Unix/Linux/NetDriver'; \ PREFIX="`pwd`/"; case $(B2_TOPDIR) in /*) PREFIX="";; esac; \ diff --git a/SheepShaver/src/Unix/Makefile.in b/SheepShaver/src/Unix/Makefile.in index 8463a90c..c304afb2 100644 --- a/SheepShaver/src/Unix/Makefile.in +++ b/SheepShaver/src/Unix/Makefile.in @@ -31,7 +31,8 @@ SRCS = main_unix.cpp ../prefs.cpp ../prefs_items.cpp prefs_unix.cpp sys_unix.cpp ../adb.cpp clip_unix.cpp ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp \ Linux/scsi_linux.cpp ../video.cpp video_x.cpp ../audio.cpp audio_oss_esd.cpp ../ether.cpp \ Linux/ether_linux.cpp ../serial.cpp serial_unix.cpp ../extfs.cpp extfs_unix.cpp \ - about_window_unix.cpp ../user_strings.cpp user_strings_unix.cpp $(SYSSRCS) + about_window_unix.cpp ../user_strings.cpp user_strings_unix.cpp \ + sshpty.c strlcpy.c $(SYSSRCS) APP = SheepShaver ## Rules diff --git a/SheepShaver/src/Unix/configure.in b/SheepShaver/src/Unix/configure.in index 78f4a717..fcdf0e04 100644 --- a/SheepShaver/src/Unix/configure.in +++ b/SheepShaver/src/Unix/configure.in @@ -150,6 +150,7 @@ AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(long long, 8) +AC_CHECK_SIZEOF(void *, 4) AC_TYPE_OFF_T AC_CHECK_TYPE(loff_t, off_t) AC_TYPE_SIZE_T diff --git a/SheepShaver/src/Unix/sysdeps.h b/SheepShaver/src/Unix/sysdeps.h index ca3afe36..c1d10fac 100644 --- a/SheepShaver/src/Unix/sysdeps.h +++ b/SheepShaver/src/Unix/sysdeps.h @@ -92,12 +92,25 @@ typedef long int32; #if SIZEOF_LONG == 8 typedef unsigned long uint64; typedef long int64; +#define VAL64(a) (a ## l) +#define UVAL64(a) (a ## ul) #elif SIZEOF_LONG_LONG == 8 typedef unsigned long long uint64; typedef long long int64; +#define VAL64(a) (a ## LL) +#define UVAL64(a) (a ## uLL) #else #error "No 8 byte type, you lose." #endif +#if SIZEOF_VOID_P == 4 +typedef uint32 uintptr; +typedef int32 intptr; +#elif SIZEOF_VOID_P == 8 +typedef uint64 uintptr; +typedef int64 intptr; +#else +#error "Unsupported size of pointer" +#endif // Time data type for Time Manager emulation #ifdef HAVE_CLOCK_GETTIME @@ -127,13 +140,19 @@ typedef struct rgb_color { #define CallMacOS6(type, tvect, arg1, arg2, arg3, arg4, arg5, arg6) call_macos6((uint32)tvect, (uint32)arg1, (uint32)arg2, (uint32)arg3, (uint32)arg4, (uint32)arg5, (uint32)arg6) #define CallMacOS7(type, tvect, arg1, arg2, arg3, arg4, arg5, arg6, arg7) call_macos7((uint32)tvect, (uint32)arg1, (uint32)arg2, (uint32)arg3, (uint32)arg4, (uint32)arg5, (uint32)arg6, (uint32)arg7) -extern "C" uint32 call_macos(uint32 tvect); -extern "C" uint32 call_macos1(uint32 tvect, uint32 arg1); -extern "C" uint32 call_macos2(uint32 tvect, uint32 arg1, uint32 arg2); -extern "C" uint32 call_macos3(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3); -extern "C" uint32 call_macos4(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4); -extern "C" uint32 call_macos5(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5); -extern "C" uint32 call_macos6(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5, uint32 arg6); -extern "C" uint32 call_macos7(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5, uint32 arg6, uint32 arg7); +#ifdef __cplusplus +extern "C" { +#endif +extern uint32 call_macos(uint32 tvect); +extern uint32 call_macos1(uint32 tvect, uint32 arg1); +extern uint32 call_macos2(uint32 tvect, uint32 arg1, uint32 arg2); +extern uint32 call_macos3(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3); +extern uint32 call_macos4(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4); +extern uint32 call_macos5(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5); +extern uint32 call_macos6(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5, uint32 arg6); +extern uint32 call_macos7(uint32 tvect, uint32 arg1, uint32 arg2, uint32 arg3, uint32 arg4, uint32 arg5, uint32 arg6, uint32 arg7); +#ifdef __cplusplus +} +#endif #endif