From 438e4eae22e8a6de9fc4eebd5fa860f06a45b258 Mon Sep 17 00:00:00 2001 From: Royce Mitchell III Date: Thu, 23 Sep 2004 03:02:29 +0000 Subject: [PATCH] oskittcp can now be built with vs6 svn path=/trunk/; revision=10990 --- reactos/apps/tests/oskittcp/.cvsignore | 9 + reactos/apps/tests/oskittcp/tcptest.cpp | 21 +- reactos/apps/tests/oskittcp/tcptest.dsp | 434 ++++++++++++++++++ reactos/apps/tests/oskittcp/tcptest.dsw | 29 ++ .../include/freebsd/net/include/arpa/inet.h | 4 + .../include/freebsd/src/sys/machine/cpufunc.h | 53 +-- .../include/freebsd/src/sys/machine/endian.h | 22 + .../include/freebsd/src/sys/machine/limits.h | 2 + .../include/freebsd/src/sys/machine/spl.h | 10 +- .../include/freebsd/src/sys/machine/stdarg.h | 6 + .../include/freebsd/src/sys/machine/types.h | 5 + .../oskittcp/include/freebsd/src/sys/net/if.h | 25 +- .../include/freebsd/src/sys/netinet/in.h | 7 + .../include/freebsd/src/sys/netinet/tcp.h | 2 + .../include/freebsd/src/sys/sys/cdefs.h | 4 + .../include/freebsd/src/sys/sys/errno.h | 12 + .../include/freebsd/src/sys/sys/kernel.h | 8 + .../include/freebsd/src/sys/sys/libkern.h | 6 + .../include/freebsd/src/sys/sys/malloc.h | 3 + .../include/freebsd/src/sys/sys/mbuf.h | 3 + .../include/freebsd/src/sys/sys/param.h | 1 + .../include/freebsd/src/sys/sys/socket.h | 20 + .../include/freebsd/src/sys/sys/stat.h | 2 + .../include/freebsd/src/sys/sys/systm.h | 15 +- .../include/freebsd/src/sys/sys/time.h | 5 +- .../include/freebsd/src/sys/sys/types.h | 19 + .../drivers/lib/oskittcp/include/oskitdebug.h | 5 +- .../lib/oskittcp/include/oskitfreebsd.h | 21 +- .../drivers/lib/oskittcp/include/oskittcp.h | 12 +- reactos/drivers/lib/oskittcp/makefile | 4 +- reactos/drivers/lib/oskittcp/notes.txt | 4 + .../drivers/lib/oskittcp/oskittcp/defaults.c | 6 +- reactos/drivers/lib/oskittcp/oskittcp/in.c | 2 +- .../drivers/lib/oskittcp/oskittcp/in_pcb.c | 4 +- .../drivers/lib/oskittcp/oskittcp/interface.c | 10 +- .../drivers/lib/oskittcp/oskittcp/ip_output.c | 2 +- .../lib/oskittcp/oskittcp/kern_clock.c | 6 +- reactos/drivers/lib/oskittcp/oskittcp/sleep.c | 2 +- .../drivers/lib/oskittcp/oskittcp/tcp_debug.c | 8 + .../lib/oskittcp/oskittcp/tcp_output.c | 14 +- .../drivers/lib/oskittcp/oskittcp/uipc_mbuf.c | 8 +- .../lib/oskittcp/oskittcp/uipc_socket.c | 2 + 42 files changed, 759 insertions(+), 78 deletions(-) create mode 100644 reactos/apps/tests/oskittcp/.cvsignore create mode 100644 reactos/apps/tests/oskittcp/tcptest.dsp create mode 100644 reactos/apps/tests/oskittcp/tcptest.dsw diff --git a/reactos/apps/tests/oskittcp/.cvsignore b/reactos/apps/tests/oskittcp/.cvsignore new file mode 100644 index 00000000000..379433caa8d --- /dev/null +++ b/reactos/apps/tests/oskittcp/.cvsignore @@ -0,0 +1,9 @@ +*.d +*.exe +*.map +*.ncb +*.opt +*.plg +*.sym +Debug +Release \ No newline at end of file diff --git a/reactos/apps/tests/oskittcp/tcptest.cpp b/reactos/apps/tests/oskittcp/tcptest.cpp index 0ca6538e497..8760ef9b73e 100644 --- a/reactos/apps/tests/oskittcp/tcptest.cpp +++ b/reactos/apps/tests/oskittcp/tcptest.cpp @@ -1,15 +1,22 @@ +#ifdef _MSC_VER +#pragma warning ( disable : 4786 ) +#endif//_MSC_VER + #include #include #include +#include extern "C" { typedef unsigned short u_short; #include #include #include +#ifndef _MSC_VER #include +#endif//_MSC_VER }; -char hwaddr[6] = { 0x08, 0x00, 0x20, 0x0b, 0xb7, 0xbb }; +unsigned char hwaddr[6] = { 0x08, 0x00, 0x20, 0x0b, 0xb7, 0xbb }; #undef malloc #undef free @@ -25,12 +32,20 @@ typedef struct _CONNECTION_ENDPOINT { OSK_UINT State; } CONNECTION_ENDPOINT, *PCONNECTION_ENDPOINT; +extern "C" int is_stack_ptr ( const void* p ) +{ + MEMORY_BASIC_INFORMATION mbi1, mbi2; + VirtualQuery ( p, &mbi1, sizeof(mbi1) ); + VirtualQuery ( _alloca(1), &mbi2, sizeof(mbi2) ); + return mbi1.AllocationBase == mbi2.AllocationBase; +} + int TCPSocketState(void *ClientData, void *WhichSocket, void *WhichConnection, OSK_UINT NewState ) { PCONNECTION_ENDPOINT Connection = (PCONNECTION_ENDPOINT)WhichConnection; - PLIST_ENTRY Entry; + //PLIST_ENTRY Entry; TI_DbgPrint(MID_TRACE,("Called: NewState %x\n", NewState)); @@ -218,7 +233,7 @@ int main( int argc, char **argv ) { if( datagram[0] == 'C' && datagram[1] == 'M' && datagram[2] == 'D' && datagram[3] == ' ' ) { - int theport, bytes, recvret, off, bytin; + int theport, bytes, /*recvret,*/ off, bytin; struct sockaddr_in nam; std::string faddr, word; std::istringstream diff --git a/reactos/apps/tests/oskittcp/tcptest.dsp b/reactos/apps/tests/oskittcp/tcptest.dsp new file mode 100644 index 00000000000..91af9e49713 --- /dev/null +++ b/reactos/apps/tests/oskittcp/tcptest.dsp @@ -0,0 +1,434 @@ +# Microsoft Developer Studio Project File - Name="tcptest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=tcptest - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "tcptest.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "tcptest.mak" CFG="tcptest - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "tcptest - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "tcptest - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "tcptest - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "tcptest - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../drivers/lib/oskittcp/include" /I "vc6" /I "../../../drivers\lib\oskittcp\include\freebsd\src\sys" /I "../../../drivers\lib\oskittcp\include\freebsd\dev\include" /I "../../../drivers\lib\oskittcp\include\freebsd\net\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "KERNEL" /D __REACTOS__=1 /D "FREEZAP" /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "tcptest - Win32 Release" +# Name "tcptest - Win32 Debug" +# Begin Group "tcptest" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\tcptest.cpp + +!IF "$(CFG)" == "tcptest - Win32 Release" + +!ELSEIF "$(CFG)" == "tcptest - Win32 Debug" + +# SUBTRACT CPP /D "KERNEL" + +!ENDIF + +# End Source File +# End Group +# Begin Group "oskittcp" + +# PROP Default_Filter "" +# Begin Group "src" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\defaults.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_cksum.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_pcb.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_proto.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\in_rmx.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\inet_ntoa.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\interface.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_input.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\ip_output.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_clock.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\kern_subr.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\param.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\radix.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\random.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_cb.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_ip.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\raw_usrreq.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\route.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\rtsock.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\scanc.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\sleep.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_debug.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_input.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_output.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_subr.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_timer.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\tcp_usrreq.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_domain.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_mbuf.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\oskittcp\uipc_socket2.c +# End Source File +# End Group +# Begin Group "include" + +# PROP Default_Filter "" +# Begin Group "freebsd" + +# PROP Default_Filter "" +# Begin Group "src No. 1" + +# PROP Default_Filter "" +# Begin Group "sys" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\buf.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\callout.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\cdefs.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\domain.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\errno.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\fcntl.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\file.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filedesc.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\filio.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioccom.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ioctl.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\kernel.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\libkern.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\malloc.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\mbuf.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\param.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\proc.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\protosw.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\queue.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resource.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\resourcevar.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\rtprio.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\select.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signal.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\signalvar.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socket.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\socketvar.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sockio.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\stat.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\sysctl.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslimits.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\syslog.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\systm.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\time.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ttycom.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\types.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\ucred.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\uio.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\freebsd\src\sys\sys\unistd.h +# End Source File +# End Group +# End Group +# End Group +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\memtrack.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitdebug.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\oskiterrno.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\oskitfreebsd.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittcp.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\drivers\lib\oskittcp\include\oskittypes.h +# End Source File +# End Group +# End Group +# End Target +# End Project diff --git a/reactos/apps/tests/oskittcp/tcptest.dsw b/reactos/apps/tests/oskittcp/tcptest.dsw new file mode 100644 index 00000000000..a00140eb137 --- /dev/null +++ b/reactos/apps/tests/oskittcp/tcptest.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "tcptest"=.\tcptest.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/net/include/arpa/inet.h b/reactos/drivers/lib/oskittcp/include/freebsd/net/include/arpa/inet.h index 014277cb4c1..4fea33645b6 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/net/include/arpa/inet.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/net/include/arpa/inet.h @@ -41,13 +41,17 @@ #include __BEGIN_DECLS +#ifndef _WINSOCKAPI_ unsigned long inet_addr __P((const char *)); +#endif//_WINSOCKAPI_ int inet_aton __P((const char *, struct in_addr *)); unsigned long inet_lnaof __P((struct in_addr)); struct in_addr inet_makeaddr __P((u_long , u_long)); unsigned long inet_netof __P((struct in_addr)); unsigned long inet_network __P((const char *)); +#ifndef _WINSOCKAPI_ char *inet_ntoa __P((struct in_addr)); +#endif//_WINSOCKAPI_ __END_DECLS #endif /* !_INET_H_ */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h index 8ccb08fff28..fb9e645ce4d 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/cpufunc.h @@ -303,6 +303,31 @@ write_eflags(u_long ef) __asm __volatile("pushl %0; popfl" : : "r" (ef)); } +#else /* !__GNUC__ */ + +int bdb __P((void)); +void disable_intr __P((void)); +void enable_intr __P((void)); +u_char inb __P((u_int port)); +u_long inl __P((u_int port)); +void insb __P((u_int port, void *addr, size_t cnt)); +void insl __P((u_int port, void *addr, size_t cnt)); +void insw __P((u_int port, void *addr, size_t cnt)); +u_short inw __P((u_int port)); +u_int loadandclear __P((u_int *addr)); +void outb __P((u_int port, u_char data)); +void outl __P((u_int port, u_long data)); +void outsb __P((u_int port, void *addr, size_t cnt)); +void outsl __P((u_int port, void *addr, size_t cnt)); +void outsw __P((u_int port, void *addr, size_t cnt)); +void outw __P((u_int port, u_short data)); +void pmap_update __P((void)); +u_long read_eflags __P((void)); +u_long rcr2 __P((void)); +void write_eflags __P((u_long ef)); + +#endif /* __GNUC__ */ + /* * XXX queue stuff belongs elsewhere. */ @@ -333,34 +358,6 @@ remque(void *a) element->qh_rlink = 0; } -#else /* !__GNUC__ */ - -int bdb __P((void)); -void disable_intr __P((void)); -void enable_intr __P((void)); -u_char inb __P((u_int port)); -u_long inl __P((u_int port)); -void insb __P((u_int port, void *addr, size_t cnt)); -void insl __P((u_int port, void *addr, size_t cnt)); -void insw __P((u_int port, void *addr, size_t cnt)); -u_short inw __P((u_int port)); -u_int loadandclear __P((u_int *addr)); -void outb __P((u_int port, u_char data)); -void outl __P((u_int port, u_long data)); -void outsb __P((u_int port, void *addr, size_t cnt)); -void outsl __P((u_int port, void *addr, size_t cnt)); -void outsw __P((u_int port, void *addr, size_t cnt)); -void outw __P((u_int port, u_short data)); -void pmap_update __P((void)); -u_long read_eflags __P((void)); -u_long rcr2 __P((void)); -void write_eflags __P((u_long ef)); - -void insque __P((void *a, void *b)); -void remque __P((void *a)); - -#endif /* __GNUC__ */ - /* * XXX the following declarations document garbage in support.s. * gcc hasn't needed _divsi* for years. diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/endian.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/endian.h index c804477311e..bf687d22af2 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/endian.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/endian.h @@ -56,6 +56,27 @@ #include #endif +#ifdef _MSC_VER +static inline unsigned long __byte_swap_long ( unsigned long i ) +{ + char dst[4]; + char* src = (char*)&i; + dst[0] = src[3]; + dst[1] = src[2]; + dst[2] = src[1]; + dst[3] = src[0]; + return *(unsigned long*)&dst[0]; +} + +static inline unsigned short __byte_swap_word ( unsigned short i ) +{ + char dst[2]; + char* src = (char*)&i; + dst[0] = src[1]; + dst[1] = src[0]; + return *(unsigned short*)&dst[0]; +} +#else/*_MSC_VER*/ #define __word_swap_long(x) \ ({ register u_long __X = (x); \ __asm ("rorl $16, %1" \ @@ -89,6 +110,7 @@ __extension__ ({ register u_short __X = (x); \ : "0" (__X)); \ __X; }) #endif /* __GNUC__ >= 2 */ +#endif /* _MSC_VER */ /* * Macros for network/external number representation conversion. diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/limits.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/limits.h index f90ed760fcc..7d2beb7534c 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/limits.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/limits.h @@ -54,7 +54,9 @@ #define SCHAR_MAX 127 /* min value for a signed char */ #define SCHAR_MIN (-128) /* max value for a signed char */ +#ifndef _MSC_VER #define UCHAR_MAX 255 /* max value for an unsigned char */ +#endif//_MSC_VER #ifndef __REACTOS__ #define CHAR_MAX 127 /* max value for a char */ #define CHAR_MIN (-128) /* min value for a char */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/spl.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/spl.h index 578a36e5b9a..e6205b0e165 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/spl.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/spl.h @@ -172,7 +172,15 @@ extern unsigned tty_imask; /* group of interrupts masked with spltty() */ #define schedsofttty() (*(unsigned *)&idelayed |= SWI_TTY_PENDING) -#ifdef __GNUC__ +#ifdef _MSC_VER + +static int splhigh() { return 0; } +static int splimp() { return 0; } +static int splnet() { return 0; } +static int splx() { return 0; } +static int splclock() { return 0; } + +#elif defined(__GNUC__) void splz __P((void)); diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h index 64014667714..47ef34cee2d 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/stdarg.h @@ -36,6 +36,10 @@ #ifndef _STDARG_H_ #define _STDARG_H_ +#ifdef _MSC_VER +#include +#else + typedef char *va_list; #ifdef __GNUC__ @@ -60,4 +64,6 @@ typedef char *va_list; #define va_end(ap) +#endif + #endif /* !_STDARG_H_ */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/types.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/types.h index dcbb29c08fe..2e89ab66200 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/types.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/machine/types.h @@ -59,7 +59,12 @@ typedef short int16_t; typedef unsigned short u_int16_t; typedef int int32_t; typedef unsigned int u_int32_t; +#ifdef _MSC_VER +typedef __int64 int64_t; +typedef unsigned __int64 u_int64_t; +#else typedef long long int64_t; typedef unsigned long long u_int64_t; +#endif #endif /* _MACHTYPES_H_ */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/net/if.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/net/if.h index fcf6dad121f..39e524d15d8 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/net/if.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/net/if.h @@ -88,16 +88,6 @@ struct ether_header; * (Would like to call this struct ``if'', but C isn't PL/1.) */ -struct ifnet { - char *if_name; /* name, e.g. ``en'' or ``lo'' */ - struct ifnet *if_next; /* all struct ifnets are chained */ - struct ifaddr *if_addrlist; /* linked list of addresses per if */ - int if_pcount; /* number of promiscuous listeners */ - caddr_t if_bpf; /* packet filter structure */ - u_short if_index; /* numeric abbreviation for this if */ - short if_unit; /* sub-unit for lower level driver */ - short if_timer; /* time 'til if_watchdog called */ - short if_flags; /* up/down, broadcast, etc. */ struct if_data { /* generic interface information */ u_char ifi_type; /* ethernet, tokenring, etc */ @@ -120,7 +110,20 @@ struct ifnet { u_long ifi_iqdrops; /* dropped on input, this interface */ u_long ifi_noproto; /* destined for unsupported protocol */ struct timeval ifi_lastchange;/* time of last administrative change */ - } if_data; + }; + + +struct ifnet { + char *if_name; /* name, e.g. ``en'' or ``lo'' */ + struct ifnet *if_next; /* all struct ifnets are chained */ + struct ifaddr *if_addrlist; /* linked list of addresses per if */ + int if_pcount; /* number of promiscuous listeners */ + caddr_t if_bpf; /* packet filter structure */ + u_short if_index; /* numeric abbreviation for this if */ + short if_unit; /* sub-unit for lower level driver */ + short if_timer; /* time 'til if_watchdog called */ + short if_flags; /* up/down, broadcast, etc. */ + struct if_data if_data; /* procedure handles */ void (*if_init) /* init routine */ __P((int)); diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/in.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/in.h index 39fe9675ff8..34e0b842316 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/in.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/in.h @@ -76,9 +76,11 @@ /* * Internet address (a structure for historical reasons) */ +#ifndef _WINSOCKAPI_ struct in_addr { u_long s_addr; }; +#endif//_WINSOCKAPI_ /* * Definitions of bits in internet address integers. @@ -126,6 +128,9 @@ struct in_addr { /* * Socket address, internet style. */ +#ifdef _WINSOCKAPI_ +#define sockaddr_in bsd_sockaddr_in +#endif struct sockaddr_in { u_char sin_len; u_char sin_family; @@ -255,7 +260,9 @@ int in_cksum __P((struct mbuf *, int)); int in_localaddr __P((struct in_addr)); u_long in_netof __P((struct in_addr)); void in_socktrim __P((struct sockaddr_in *)); +#ifndef _WINSOCKAPI_ char *inet_ntoa __P((struct in_addr)); /* in libkern */ +#endif//_WINSOCKAPI_ #endif #endif diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h index d8af2c684da..5b31bda2979 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/netinet/tcp.h @@ -113,7 +113,9 @@ struct tcphdr { /* * User-settable options (used with setsockopt). */ +#ifndef _WINSOCKAPI_ #define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ +#endif/*_WINSOCKAPI_*/ #define TCP_MAXSEG 0x02 /* set maximum segment size */ #define TCP_NOPUSH 0x04 /* don't push last block of write */ #define TCP_NOOPT 0x08 /* don't use TCP options */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h index 99d44c71415..3072090c296 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/cdefs.h @@ -98,6 +98,10 @@ #endif /* !NO_ANSI_KEYWORDS */ #endif /* !(__STDC__ || __cplusplus) */ +#ifdef _MSC_VER +# undef __CONCAT +# define __CONCAT(x,y) x ## y +#endif/*_MSC_VER*/ /* * GCC1 and some versions of GCC2 declare dead (non-returning) and * pure (no side effects) functions using "volatile" and "const"; diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/errno.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/errno.h index 0fd2fd754eb..de7ee230ab9 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/errno.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/errno.h @@ -55,8 +55,10 @@ extern int errno; /* global error number */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file descriptor */ #define ECHILD 10 /* No child processes */ +#ifndef EDEADLK #define EDEADLK 11 /* Resource deadlock avoided */ /* 11 was EAGAIN */ +#endif//EDEADLK #define ENOMEM 12 /* Cannot allocate memory */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ @@ -88,7 +90,9 @@ extern int errno; /* global error number */ #define ERANGE 34 /* Result too large */ /* non-blocking and interrupt i/o */ +#ifndef EAGAIN #define EAGAIN 35 /* Resource temporarily unavailable */ +#endif//EAGAIN #ifndef _POSIX_SOURCE #define EWOULDBLOCK EAGAIN /* Operation would block */ #define EINPROGRESS 36 /* Operation now in progress */ @@ -124,14 +128,18 @@ extern int errno; /* global error number */ #define ELOOP 62 /* Too many levels of symbolic links */ #endif /* _POSIX_SOURCE */ +#ifndef ENAMETOOLONG #define ENAMETOOLONG 63 /* File name too long */ +#endif//ENAMETOOLONG /* should be rearranged */ #ifndef _POSIX_SOURCE #define EHOSTDOWN 64 /* Host is down */ #define EHOSTUNREACH 65 /* No route to host */ #endif /* _POSIX_SOURCE */ +#ifndef ENOTEMPTY #define ENOTEMPTY 66 /* Directory not empty */ +#endif//ENOTEMPTY /* quotas & mush */ #ifndef _POSIX_SOURCE @@ -149,8 +157,12 @@ extern int errno; /* global error number */ #define EPROCUNAVAIL 76 /* Bad procedure for program */ #endif /* _POSIX_SOURCE */ +#ifndef ENOLCK #define ENOLCK 77 /* No locks available */ +#endif//ENOLCK +#ifndef ENOSYS #define ENOSYS 78 /* Function not implemented */ +#endif//ENOSYS #ifndef _POSIX_SOURCE #define EFTYPE 79 /* Inappropriate file type or format */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h index 530fd7f5e12..2d42aee9f5c 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/kernel.h @@ -56,7 +56,11 @@ extern char kernelname[MAXPATHLEN]; extern volatile struct timeval mono_time; extern struct timeval boottime; extern struct timeval runtime; +#ifdef _MSC_VER /* TODO FIXME - need a library-specific macro for this one */ +extern volatile struct timeval kern_time; +#else/*_MSC_VER*/ extern volatile struct timeval time; +#endif/*_MSC_VER*/ extern struct timezone tz; /* XXX */ extern int tick; /* usec per tick (1000000 / hz) */ @@ -76,8 +80,12 @@ extern long timedelta; * ld/ld.h. Since their calculation requires arithmetic, we * can't name them symbolically (e.g., 23 is N_SETT | N_EXT). */ +#ifdef _MSC_VER +#define MAKE_SET(set, sym, type) +#else #define MAKE_SET(set, sym, type) \ asm(".stabs \"_" #set "\", " #type ", 0, 0, _" #sym) +#endif #define TEXT_SET(set, sym) MAKE_SET(set, sym, 23) #define DATA_SET(set, sym) MAKE_SET(set, sym, 25) #define BSS_SET(set, sym) MAKE_SET(set, sym, 27) diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h index e31b51605f1..b1e66e273ff 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/libkern.h @@ -39,6 +39,12 @@ static __inline int imax(int a, int b) { return (a > b ? a : b); } static __inline int imin(int a, int b) { return (a < b ? a : b); } static __inline long lmax(long a, long b) { return (a > b ? a : b); } static __inline long lmin(long a, long b) { return (a < b ? a : b); } +#ifdef max +#undef max +#endif//max +#ifdef min +#undef min +#endif//min static __inline u_int max(u_int a, u_int b) { return (a > b ? a : b); } static __inline u_int min(u_int a, u_int b) { return (a < b ? a : b); } static __inline quad_t qmax(quad_t a, quad_t b) { return (a > b ? a : b); } diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h index d21a9193939..8a44caa1226 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/malloc.h @@ -328,6 +328,9 @@ extern struct kmembuckets bucket[]; #ifndef __REACTOS__ extern void *malloc __P((unsigned long size, ...)); extern void free __P((void *addr, ...)); +#else +#define malloc fbsd_malloc +#define free fbsd_free #endif #endif /* KERNEL */ #endif /* !_SYS_MALLOC_H_ */ diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h index ddc7ae7029a..801704e56f6 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/mbuf.h @@ -365,6 +365,7 @@ union mcluster { } \ (n) = (m)->m_next; \ FREE((m), mbtypes[(m)->m_type]); \ + m = NULL; \ } #else /* notyet */ #ifdef OSKIT @@ -376,6 +377,7 @@ union mcluster { } \ (nn) = (m)->m_next; \ FREE((m), mbtypes[(m)->m_type]); \ + m = NULL; \ } #else /* !OSKIT */ #define MFREE(m, nn) \ @@ -386,6 +388,7 @@ union mcluster { } \ (nn) = (m)->m_next; \ FREE((m), mbtypes[(m)->m_type]); \ + m = NULL; \ } #endif /* OSKIT */ #endif diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/param.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/param.h index 99f983d0189..c56fd8bf8e5 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/param.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/param.h @@ -218,6 +218,7 @@ * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age', * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024. */ +#undef FSHIFT #define FSHIFT 11 /* bits to right of fixed binary point */ #define FSCALE (1< #include -#define log(x,...) OS_DbgPrint(x,(__VA_ARGS__)) + +int __cdecl vprintf(const char *, va_list); + +static inline int log ( int blah, const char* fmt, ... ) +{ + va_list arg; + int i; + va_start(arg, fmt); +#ifndef __NTDRIVER__ + i = vprintf ( fmt, arg ); +#endif + va_end(arg); + return i; +} #endif void uprintf __P((const char *, ...)); int sprintf __P((char *buf, const char *, ...)); diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/time.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/time.h index dc28aa72865..891f6ad5a3f 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/time.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/time.h @@ -40,11 +40,12 @@ * Structure returned by gettimeofday(2) system call, * and used in other calls. */ +#ifndef _WINSOCKAPI_ struct timeval { long tv_sec; /* seconds */ long tv_usec; /* and microseconds */ }; - +#endif//_WINSOCKAPI_ /* * Structure defined by POSIX.4 to be like a timeval. */ @@ -77,10 +78,12 @@ struct timezone { /* Operations on timevals. */ #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) +#ifndef _MSC_VER #define timercmp(tvp, uvp, cmp) \ (((tvp)->tv_sec == (uvp)->tv_sec) ? \ ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ ((tvp)->tv_sec cmp (uvp)->tv_sec)) +#endif /* * Names of the interval timers, and structure diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/types.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/types.h index dbcacb42530..e99d820fb47 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/types.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/types.h @@ -54,19 +54,33 @@ typedef unsigned long u_long; typedef unsigned short ushort; /* Sys V compatibility */ typedef unsigned int uint; /* Sys V compatibility */ +#ifdef _MSC_VER +typedef unsigned __int64 u_quad_t; /* quads */ +typedef __int64 quad_t; +#else typedef unsigned long long u_quad_t; /* quads */ typedef long long quad_t; +#endif/*_MSC_VER*/ typedef quad_t * qaddr_t; typedef char * caddr_t; /* core address */ typedef long daddr_t; /* disk address */ +#ifndef _DEV_T_DEFINED +#define _DEV_T_DEFINED typedef unsigned long dev_t; /* device number */ +#endif//_DEV_T_DEFINED typedef unsigned long fixpt_t; /* fixed point number */ typedef unsigned long gid_t; /* group id */ +#ifndef _INO_T_DEFINED +#define _INO_T_DEFINED typedef unsigned long ino_t; /* inode number */ +#endif//_INO_T_DEFINED typedef unsigned short mode_t; /* permissions */ typedef unsigned short nlink_t; /* link count */ +#ifndef _OFF_T_DEFINED +#define _OFF_T_DEFINED typedef quad_t off_t; /* file offset */ +#endif//_OFF_T_DEFINED typedef long pid_t; /* process id */ typedef long segsz_t; /* segment size */ typedef long swblk_t; /* swap offset */ @@ -99,11 +113,13 @@ __END_DECLS #include #ifdef _BSD_CLOCK_T_ +#define _CLOCK_T_DEFINED typedef _BSD_CLOCK_T_ clock_t; #undef _BSD_CLOCK_T_ #endif #ifdef _BSD_SIZE_T_ +#define _SIZE_T_DEFINED typedef _BSD_SIZE_T_ size_t; #undef _BSD_SIZE_T_ #endif @@ -114,6 +130,7 @@ typedef _BSD_SSIZE_T_ ssize_t; #endif #ifdef _BSD_TIME_T_ +#define _TIME_T_DEFINED typedef _BSD_TIME_T_ time_t; #undef _BSD_TIME_T_ #endif @@ -138,6 +155,7 @@ typedef long fd_mask; #define howmany(x, y) (((x)+((y)-1))/(y)) #endif +#ifndef _MSC_VER typedef struct fd_set { fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; } fd_set; @@ -147,6 +165,7 @@ typedef struct fd_set { #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) #define FD_COPY(f, t) bcopy(f, t, sizeof(*(f))) #define FD_ZERO(p) bzero(p, sizeof(*(p))) +#endif/*_MSC_VER*/ #if defined(__STDC__) && defined(KERNEL) /* diff --git a/reactos/drivers/lib/oskittcp/include/oskitdebug.h b/reactos/drivers/lib/oskittcp/include/oskitdebug.h index c263b4b8575..c753fb4c13c 100644 --- a/reactos/drivers/lib/oskittcp/include/oskitdebug.h +++ b/reactos/drivers/lib/oskittcp/include/oskitdebug.h @@ -33,7 +33,9 @@ #define OSK_DEBUG_CPOINT 0x00800000 #define OSK_DEBUG_ULTRA 0xFFFFFFFF +#ifndef _MSC_VER #include +#endif/*_MSC_VER*/ #include #ifdef DBG @@ -85,8 +87,9 @@ extern OSK_UINT OskitDebugTraceLevel; #endif /* DBG */ - +#ifndef _MSC_VER #define assert(x) ASSERT(x) +#endif//_MSC_VER #define assert_irql(x) ASSERT_IRQL(x) #endif /* __OSKITDEBUG_H */ diff --git a/reactos/drivers/lib/oskittcp/include/oskitfreebsd.h b/reactos/drivers/lib/oskittcp/include/oskitfreebsd.h index bc2cd4025f4..ad349dd9ef7 100644 --- a/reactos/drivers/lib/oskittcp/include/oskitfreebsd.h +++ b/reactos/drivers/lib/oskittcp/include/oskitfreebsd.h @@ -3,12 +3,31 @@ extern void oskittcp_die(const char *file, int line); +#ifdef _MSC_VER +#define DbgPrint printf +#define DbgVPrint vprintf +#else//_MSC_VER #define printf DbgPrint +#endif//_MSC_VER #define ovbcopy(x,y,z) bcopy(x,y,z) +void *memset( void *dest, int c, size_t count ); #define bzero(x,y) memset(x,0,y) #define bcopy(src,dst,n) memcpy(dst,src,n) +#ifdef _MSC_VER +static inline void panic ( const char* fmt, ... ) +{ + va_list arg; + va_start(arg, fmt); + DbgPrint ( "oskit PANIC: " ); + DbgVPrint ( fmt, arg ); + va_end(arg); + // TODO FIXME - print stack trace... + oskittcp_die("",-1); +} +#else//_MSC_VER #define panic(...) do { DbgPrint(__VA_ARGS__); \ - oskittcp_die(__FILE__,__LINE__); } while(0) + oskittcp_die(__FILE__,__LINE__); } while(0) +#endif//_MSC_VER #define kmem_malloc(x,y,z) malloc(y) #endif//_OSKITFREEBSD_H diff --git a/reactos/drivers/lib/oskittcp/include/oskittcp.h b/reactos/drivers/lib/oskittcp/include/oskittcp.h index 19425bf0f84..df90e5dcc15 100644 --- a/reactos/drivers/lib/oskittcp/include/oskittcp.h +++ b/reactos/drivers/lib/oskittcp/include/oskittcp.h @@ -1,7 +1,9 @@ #ifndef OSKITTCP_H #define OSKITTCP_H +#ifndef _MSC_VER #include +#endif/*_MSC_VER*/ #ifdef KERNEL #include #include @@ -142,8 +144,14 @@ void OskitTCPGetAddress( void *socket, #undef errno -#define malloc(x,...) fbsd_malloc(x,__FILE__,__LINE__) -#define free(x,...) fbsd_free(x,__FILE__,__LINE__) +void *fbsd_malloc( unsigned int bytes, ... ); +void fbsd_free( void *data, ... ); +#if 0 +#define malloc(x) fbsd_malloc(x,__FILE__,__LINE__) +#define free(x) fbsd_free(x,__FILE__,__LINE__) +#endif +#define kern_malloc(x,y,z) kern_malloc_needs_definition(x,y,z) +#define kern_free(x,y,z) kern_free_needs_definition(x,w,z) /* Error codes */ #include diff --git a/reactos/drivers/lib/oskittcp/makefile b/reactos/drivers/lib/oskittcp/makefile index 86292675047..8fc48b28e7c 100644 --- a/reactos/drivers/lib/oskittcp/makefile +++ b/reactos/drivers/lib/oskittcp/makefile @@ -1,6 +1,6 @@ -# $Id: makefile,v 1.4 2004/08/29 20:04:42 arty Exp $ +# $Id: makefile,v 1.5 2004/09/23 03:02:29 royce Exp $ PATH_TO_TOP = ../../.. @@ -11,7 +11,7 @@ TARGET_TYPE = library TARGET_NAME = oskittcp #-DMEMTRACK -TARGET_CFLAGS = -g -D__REACTOS__=1 -DKERNEL -Iinclude/freebsd -Iinclude/freebsd/sys/include -Iinclude/freebsd/src/sys -Iinclude/freebsd/dev/include -Iinclude/freebsd/net/include -Iinclude -I$(PATH_TO_TOP)/w32api/include -I$(PATH_TO_TOP)/include +TARGET_CFLAGS = -g -D__REACTOS__=1 -D__NTDRIVER__ -DKERNEL -Iinclude/freebsd -Iinclude/freebsd/sys/include -Iinclude/freebsd/src/sys -Iinclude/freebsd/dev/include -Iinclude/freebsd/net/include -Iinclude -I$(PATH_TO_TOP)/w32api/include -I$(PATH_TO_TOP)/include # require os code to explicitly request A/W version of structs/functions TARGET_CFLAGS += -D_DISABLE_TIDENTS diff --git a/reactos/drivers/lib/oskittcp/notes.txt b/reactos/drivers/lib/oskittcp/notes.txt index a16277929cc..b7b2ef6ee22 100644 --- a/reactos/drivers/lib/oskittcp/notes.txt +++ b/reactos/drivers/lib/oskittcp/notes.txt @@ -26,3 +26,7 @@ documented parts of bsd. A wierd thing about sbappend is that it seems to want to see an M_EOR flag at the end of the so->so_rcv->sb_mb chain. When it gets there it should append the input chain. +=== NOTES FROM WORKING WITH ROYCE3 === + +tcp_output: between line 511 and 614 m is initialized. Where i was printing +it it didn't have data yet. diff --git a/reactos/drivers/lib/oskittcp/oskittcp/defaults.c b/reactos/drivers/lib/oskittcp/oskittcp/defaults.c index 747ad2c7711..df2353a6bb6 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/defaults.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/defaults.c @@ -47,7 +47,7 @@ struct proc * pfind(pid_t pid) { printf("%s called, pid=%d, returning x%p\n", - __FUNCTION__, (int)pid, (void*)&proc0); + "pfind", (int)pid, (void*)&proc0); return &proc0; } @@ -57,7 +57,7 @@ pfind(pid_t pid) void psignal (struct proc *p, int sig) { - printf("%s called, proc=x%p sig=%d\n", __FUNCTION__, p, sig); + printf("%s called, proc=x%p sig=%d\n", "psignal", p, sig); } /* @@ -66,7 +66,7 @@ psignal (struct proc *p, int sig) void gsignal (int pgid, int sig) { - printf("%s called, pgid=%d sig=%d\n", __FUNCTION__, pgid, sig); + printf("%s called, pgid=%d sig=%d\n", "gsignal", pgid, sig); } /* ---------------------------------------------------------------------- */ diff --git a/reactos/drivers/lib/oskittcp/oskittcp/in.c b/reactos/drivers/lib/oskittcp/oskittcp/in.c index c2a2965bce2..16bfc64c093 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/in.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/in.c @@ -56,7 +56,7 @@ * This structure is used to keep track of in_multi chains which belong to * deleted interface addresses. */ -static LIST_HEAD(, multi_kludge) in_mk; /* XXX BSS initialization */ +static LIST_HEAD(in_mk_type, multi_kludge) in_mk; /* XXX BSS initialization */ struct multi_kludge { LIST_ENTRY(multi_kludge) mk_entry; diff --git a/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c b/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c index 4307890be8e..d5443145834 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c @@ -93,10 +93,10 @@ in_pcbbind(inp, nam) u_short lport = 0; int wild = 0, reuseport = (so->so_options & SO_REUSEPORT); int error; - + OS_DbgPrint(OSK_MID_TRACE,("Called\n")); - OskitDumpBuffer( nam->m_data, nam->m_len ); + if( nam ) OskitDumpBuffer( nam->m_data, nam->m_len ); #ifndef __REACTOS__ if (in_ifaddr == 0) { diff --git a/reactos/drivers/lib/oskittcp/oskittcp/interface.c b/reactos/drivers/lib/oskittcp/oskittcp/interface.c index 434ab09ac58..dd0a9404c29 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/interface.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/interface.c @@ -27,17 +27,15 @@ unsigned net_imask; unsigned volatile ipending; struct timeval boottime; -void *fbsd_malloc( unsigned int bytes, const char *file, int line, ... ) { +void *fbsd_malloc( unsigned int bytes, ... ) { if( !OtcpEvent.TCPMalloc ) panic("no malloc"); return OtcpEvent.TCPMalloc - ( OtcpEvent.ClientData, - (OSK_UINT)bytes, (OSK_PCHAR)file, (OSK_UINT)line ); + ( OtcpEvent.ClientData, (OSK_UINT)bytes, "*", 0 ); } -void fbsd_free( void *data, const char *file, int line, ... ) { +void fbsd_free( void *data, ... ) { if( !OtcpEvent.TCPFree ) panic("no free"); - OtcpEvent.TCPFree( OtcpEvent.ClientData, - data, (OSK_PCHAR)file, (OSK_UINT)line ); + OtcpEvent.TCPFree( OtcpEvent.ClientData, data, "*", 0 ); } void InitOskitTCP() { diff --git a/reactos/drivers/lib/oskittcp/oskittcp/ip_output.c b/reactos/drivers/lib/oskittcp/oskittcp/ip_output.c index 587d305ba47..3a491656af3 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/ip_output.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/ip_output.c @@ -880,7 +880,7 @@ ip_setmoptions(optname, imop, m) * allocate one and initialize to default values. */ imo = (struct ip_moptions*)malloc(sizeof(*imo), M_IPMOPTS, - M_WAITOK); + M_WAITOK); if (imo == NULL) return (ENOBUFS); diff --git a/reactos/drivers/lib/oskittcp/oskittcp/kern_clock.c b/reactos/drivers/lib/oskittcp/oskittcp/kern_clock.c index 02c70ca96e1..5a54dcf9016 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/kern_clock.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/kern_clock.c @@ -136,7 +136,7 @@ long tk_rawcc; } int ticks; -volatile struct timeval time; +volatile struct timeval kern_time; volatile struct timeval mono_time; /* @@ -280,8 +280,8 @@ hzto(tv) * 10ms ticks is 248 days. */ s = splclock(); - sec = tv->tv_sec - time.tv_sec; - usec = tv->tv_usec - time.tv_usec; + sec = tv->tv_sec - kern_time.tv_sec; + usec = tv->tv_usec - kern_time.tv_usec; splx(s); if (usec < 0) { sec--; diff --git a/reactos/drivers/lib/oskittcp/oskittcp/sleep.c b/reactos/drivers/lib/oskittcp/oskittcp/sleep.c index 35efb719a8a..7a34a44a591 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/sleep.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/sleep.c @@ -78,7 +78,7 @@ void clock_init() { timeout_init(); /* inittodr(0); // what does this do? */ - boottime = time; + /* boottime = kern_time; */ /* Start a clock we can use for timeouts */ } diff --git a/reactos/drivers/lib/oskittcp/oskittcp/tcp_debug.c b/reactos/drivers/lib/oskittcp/oskittcp/tcp_debug.c index 5d48032a9a1..c08d1f527a2 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/tcp_debug.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/tcp_debug.c @@ -66,6 +66,10 @@ #include #include +#ifdef _MSC_VER +unsigned long __stdcall GetTickCount(); +#endif//_MSC_VER + #ifdef TCPDEBUG int tcpconsdebug = 0; #endif @@ -85,7 +89,11 @@ tcp_trace(act, ostate, tp, ti, req) if (tcp_debx == TCP_NDEBUG) tcp_debx = 0; +#ifdef _MSC_VER + td->td_time = GetTickCount(); +#else td->td_time = iptime(); +#endif td->td_act = act; td->td_ostate = ostate; td->td_tcb = (caddr_t)tp; diff --git a/reactos/drivers/lib/oskittcp/oskittcp/tcp_output.c b/reactos/drivers/lib/oskittcp/oskittcp/tcp_output.c index e4df92c8d38..c328fc23116 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/tcp_output.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/tcp_output.c @@ -497,18 +497,17 @@ send: } m->m_data += max_linkhdr; m->m_len = hdrlen; + /* m is not initialized here ... see below up to line + * in_cksum to see how it gets there */ if (len <= MHLEN - hdrlen - max_linkhdr) { - OS_DbgPrint(OSK_MID_TRACE,("Preparing %d bytes to send\n", - len)); - OskitDumpBuffer(mtod(m, caddr_t), len); m_copydata(so->so_snd.sb_mb, off, (int) len, mtod(m, caddr_t) + hdrlen); m->m_len += len; } else { m->m_next = m_copy(so->so_snd.sb_mb, off, (int) len); - OS_DbgPrint(OSK_MID_TRACE,("Preparing %d bytes to send\n", - len)); - OskitDumpBuffer(mtod(m, caddr_t), len); + // the buffer is allocated, but not filled with the tcp + // header yet, so dumping it here yields garbage... + //OskitDumpBuffer(mtod(m, caddr_t), len); if (m->m_next == 0) { (void) m_free(m); error = ENOBUFS; @@ -543,6 +542,9 @@ send: m->m_len = hdrlen; } m->m_pkthdr.rcvif = (struct ifnet *)0; + + /* This pulls the data ptr from m and start initting it... + * before this point, m is empty. */ ti = mtod(m, struct tcpiphdr *); if (tp->t_template == 0) panic("tcp_output"); diff --git a/reactos/drivers/lib/oskittcp/oskittcp/uipc_mbuf.c b/reactos/drivers/lib/oskittcp/oskittcp/uipc_mbuf.c index 586ab084202..8a389c700e1 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/uipc_mbuf.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/uipc_mbuf.c @@ -352,8 +352,12 @@ m_copym(m, off0, len, wait) n->m_data = m->m_data + off; #ifdef OSKIT oskit_bufio_addref(m->m_ext.ext_bufio); +#else +#ifdef __REACTOS__ + m->m_data = malloc(m->m_len); #else mclrefcnt[mtocl(m->m_ext.ext_buf)]++; +#endif #endif /* OSKIT */ n->m_ext = m->m_ext; n->m_flags |= M_EXT; @@ -402,11 +406,7 @@ m_copydata(m, off, len, cp) if (m == 0) panic("m_copydata"); count = min(m->m_len - off, len); -#ifdef __REACTOS__ - memcpy(cp, mtod(m, caddr_t) + off, count); -#else bcopy(mtod(m, caddr_t) + off, cp, count); -#endif OS_DbgPrint(OSK_MID_TRACE,("buf %x, len %d\n", m, count)); OskitDumpBuffer(m->m_data, count); len -= count; diff --git a/reactos/drivers/lib/oskittcp/oskittcp/uipc_socket.c b/reactos/drivers/lib/oskittcp/oskittcp/uipc_socket.c index 155c29e50ad..6c301c992f1 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/uipc_socket.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/uipc_socket.c @@ -33,7 +33,9 @@ * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 */ +#ifndef _MSC_VER #include +#endif/*_MSC_VER*/ #include #include #include -- 2.17.1