? iometer/.snprj
? iometer/Announcement.2003mmdd.txt
? iometer/iometer.cleanup.txt
? iometer/iometer.sourcenav.proj
? iometer/nohup.out
? iometer/misc/Homepage/doc/nohup.out
? iometer/src/Makefile-Linux.i386
? iometer/src/Makefile-Solaris.Sparc
? iometer/src/Makefile-Solaris.i386
? iometer/src/dynamo
? iometer/src/nohup.out
Index: iometer/README
===================================================================
RCS file: /cvsroot/iometer/iometer/README,v
retrieving revision 1.5
diff -r1.5 README
163a164,197
>  o IOMTR_OSFAMILY_...
>  
>    This are global defines to identify the Operating System family:
> 
>    IOMTR_OSFAMILY_UNIX      Any UNIX, currently Linux and Solaris
>    IOMTR_OSFAMILY_WINDOWS   Any Windows based Operating System
> 
>    Note: The Operating System family could be autodetected by mapping the
>          given IOMTR_OS_... value. But this implies, that every code- and
> 	 headerfile includes IOCommon.h which is not given at this time.
> 
>  o IOMTR_OS_...
> 
>    This are global defines to identify the Operating System itself: 
>    IOMTR_OS_FREEBSD         FreeBSD, 32 bit *
>    IOMTR_OS_LINUX           Linux, 32 bit   
>    IOMTR_OS_LINUX64         Linux, 64 bit *
>    IOMTR_OS_SOLARIS         Sun Solaris (64 bit)
>    IOMTR_OS_WIN32           Microsoft Windows, 32 bit
>    IOMTR_OS_WIN64           Microsoft Windows, 64 bit
>    
>    * = Not yet implemented / supported.
> 
>  o IOMTR_CPU_...
> 
>    This are global defines to identify the Processor / CPU itself: 
>    IOMTR_CPU_ALPHA          Alpa CPU (Digital->Compaq->HP) *
>    IOMTR_CPU_I386           Intel x86 processors (32 bit)
>    IOMTR_CPU_IA64           Intel Itanium family (64 bit)
>    IOMTR_CPU_MIPS           MIPS CPU (used in SGI machines etc.) *
>    IOMTR_CPU_SPARC          Sun Sparc processor (64 bit)
>    
>    * = Not yet implemented / supported.
>    
Index: iometer/TODO
===================================================================
RCS file: /cvsroot/iometer/iometer/TODO,v
retrieving revision 1.3
diff -r1.3 TODO
25,31c25,27
<  - <All>: Define seperate global defines for
<     - Operating System:
<       LINUX, SOLARIS, WINDOWS
<     - Operating System Platform (can be set based on Operating System):
<       WINTEL (Windows, OS/2), UNIX (AIX, BSD, HP-UX, Linux, Solaris,...)
<     - Processor:
<       IA32, IA64, SPARC, X86-64
---
>  - <All>: Include "IOCommon.h" into all files. As a next step it would be
>    possible to detect OS family and CPU endian type within this file (no
>    longer passing it into - using the Makefile).
Index: iometer/src/Dynamo.dsp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/Dynamo.dsp,v
retrieving revision 1.4
diff -r1.4 Dynamo.dsp
45,46c45,46
< # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
< # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
---
> # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
> # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
70,71c70,71
< # ADD BASE CPP /nologo /MT /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
< # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
---
> # ADD BASE CPP /nologo /MT /W3 /Gm /GX /ZI /Od /D "WIN32" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
> # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
Index: iometer/src/IOAccess.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOAccess.cpp,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 IOAccess.cpp
1,2c1,59
< /*
< Intel Open Source License 
---
> /* ######################################################################### */
> /* ##                                                                     ## */
> /* ##  (IOmeter & Dynamo) / IOAccess.cpp                                  ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Job .......: Implements the Access class.  This class represents   ## */
> /* ##               the current access specification for a Grunt in       ## */
> /* ##               Dynamo. It contains an array of ACCESS structures,    ## */
> /* ##               each of which defines one access spec line.           ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: <none>                                                ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Changes ...: 2003-07-17 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               - Added new header holding the changelog.             ## */
> /* ##                                                                     ## */
> /* ######################################################################### */
4,7d60
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
9,45d61
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOAccess.cpp: Implementation of the Access class.  This class represents
< // the current access specification for a Grunt in Dynamo.  It contains an
< // array of ACCESS structures, each of which defines one access spec line.
< //
< //////////////////////////////////////////////////////////////////////
48,50c64,65
< 
< #ifdef UNIX
< pthread_mutex_t lock_mt;
---
> #if defined(IOMTR_OSFAMILY_UNIX)
>  pthread_mutex_t lock_mt;
51a67
> 
Index: iometer/src/IOAccess.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOAccess.h,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 IOAccess.h
1,48c1,56
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOAccess.h: Interface for the Access class.  This class represents
< // the current access specification for a Grunt in Dynamo.  It contains an
< // array of ACCESS structures, each of which defines one access spec line.
< //
< // This file is used by both Iometer and Dynamo.
< //
< //////////////////////////////////////////////////////////////////////
< 
---
> /* ######################################################################### */
> /* ##                                                                     ## */
> /* ##  (IOmeter & Dynamo) / IOAccess.h                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Job .......: Contins the definition for Dynamo's Access class.     ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: <none>                                                ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Changes ...: 2003-07-17 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               - Added new header holding the changelog.             ## */
> /* ##                                                                     ## */
> /* ######################################################################### */
52,53d59
< #include "IOCommon.h"
< 
55,57c61,64
< #define NOT_POWER_OF_TWO	(DWORDLONG) -1	// a mask is set to this if it cannot be used for
< 											// byte alignment (because the alignment isn't a
< 											// power of two)
---
> #include "IOCommon.h"
> #define NOT_POWER_OF_TWO   (DWORDLONG) -1   // a mask is set to this if it cannot be used for
> 					    // byte alignment (because the alignment isn't a
> 					    // power of two)
Index: iometer/src/IOCommon.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOCommon.h,v
retrieving revision 1.7
diff -r1.7 IOCommon.h
12,13c12,49
< /* ##  Remarks ...: - All Defines, Includes etc. should be moved to this  ## */
< /* ##                 file to cleanup the code.                           ## */
---
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: - All Defines, Includes etc. should be moved to       ## */
> /* ##                 this file to cleanup the code.                      ## */
19c55,60
< /* ##  Changes ...:                                                       ## */
---
> /* ##  Changes ...: 2003-07-13 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Massive cleanup of this file (grouping the          ## */
> /* ##                 different blocks together).                         ## */
> /* ##               - Implemented the IOMTR_[OSFAMILY|OS|CPU]_* global    ## */
> /* ##                 define as well as their integrity checks.           ## */
> /* ##               - Integrated the License Statement into this header.  ## */
38,39c79,80
< /* ##               - Added ULONG_PTR and DWORD_PTR typedef to the Windows## */
< /* ##                 part to get compiled.                               ## */
---
> /* ##               - Added ULONG_PTR and DWORD_PTR typedef to the        ## */
> /* ##                 Windows part to get compiled.                       ## */
50,101d90
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOCommon.h: Product-wide (Iometer & Dynamo) central include file
< // (although, to be perfectly honest, most of the stuff in here is
< // for Dynamo only).
< //
< // If you make any changes to the _Result structures, you need to change 
< // Iometer/Dynamo's version number and make corresponding changes in
< // ByteOrder.cpp.
< //
< // This file is used by both Iometer and Dynamo.
< //
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
105,109d93
< #ifndef UNIX
< #define	VC_EXTRALEAN
< #include <process.h>
< #include <io.h>
< #endif /* !UNIX */
110a95,155
> 
> // Check and map the different global defines
> // for Operating System family, Operating System,
> // CPU and endian type (see README).
> // ----------------------------------------------------------------------------
> // Check Operating System family mapping
> #if ( defined(IOMTR_OSFAMILY_UNIX) && !defined(IOMTR_OSFAMILY_WINDOWS)) || \
>     (!defined(IOMTR_OSFAMILY_UNIX) &&  defined(IOMTR_OSFAMILY_WINDOWS))
>  // nop
> #else    
>  #error ===> ERROR: Check the Operating System to Operating System family mapping!
> #endif
> // ----------------------------------------------------------------------------
> // Check the Operating System mapping
> #if ( defined(IOMTR_OS_LINUX) && !defined(IOMTR_OS_SOLARIS) && !defined(IOMTR_OS_WIN32) && !defined(IOMTR_OS_WIN64)) || \
>     (!defined(IOMTR_OS_LINUX) &&  defined(IOMTR_OS_SOLARIS) && !defined(IOMTR_OS_WIN32) && !defined(IOMTR_OS_WIN64)) || \
>     (!defined(IOMTR_OS_LINUX) && !defined(IOMTR_OS_SOLARIS) &&  defined(IOMTR_OS_WIN32) && !defined(IOMTR_OS_WIN64)) || \
>     (!defined(IOMTR_OS_LINUX) && !defined(IOMTR_OS_SOLARIS) && !defined(IOMTR_OS_WIN32) &&  defined(IOMTR_OS_WIN64))
>  // nop
> #else    
>  #error ===> ERROR: You have to define exactly one IOMTR_OS_* global define!
> #endif
> // ----------------------------------------------------------------------------
> // Check the Processor mapping
> #if ( defined(IOMTR_CPU_I386) && !defined(IOMTR_CPU_IA64) && !defined(IOMTR_CPU_SPARC)) || \
>     (!defined(IOMTR_CPU_I386) &&  defined(IOMTR_CPU_IA64) && !defined(IOMTR_CPU_SPARC)) || \
>     (!defined(IOMTR_CPU_I386) && !defined(IOMTR_CPU_IA64) &&  defined(IOMTR_CPU_SPARC))
>  // nop
> #else    
>  #error ===> ERROR: You have to define exactly one IOMTR_CPU_* global define!
> #endif
> // ----------------------------------------------------------------------------
> // Check Endian type mapping
> #if ( defined(LITTLE_ENDIAN_ARCH) && !defined(BIG_ENDIAN_ARCH)) || \
>     (!defined(LITTLE_ENDIAN_ARCH) &&  defined(BIG_ENDIAN_ARCH))
>  // nop
> #else
>  #error ===> ERROR: Check the Processor to Endian type mapping!
> #endif
> // ----------------------------------------------------------------------------
> 
> 
> 
> // Include the different header files
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_WINDOWS)
>  #define VC_EXTRALEAN
>  #include <process.h>
>  #include <io.h>
>  #include <direct.h>
>  #include <afxwin.h>
>  #include <afxext.h>
>  #include <afxcmn.h>
>  #include <winioctl.h>
>  #include <iomanip>
>  #include <winperf.h>
>  #include <winreg.h>
>  #include <afxmt.h>
> #endif
> // ----------------------------------------------------------------------------
122,142d166
< 
< #ifndef UNIX
< #include <direct.h>
< #include <afxwin.h>
< #include <afxext.h>
< #include <afxcmn.h>
< #include <winioctl.h>
< #include <iomanip>
< #include <winperf.h>
< #include <winreg.h>
< #include <afxmt.h>
< 
< #include <iostream>
< #include <fstream>
< using namespace std;
< 
< typedef unsigned long   ULONG_PTR;
< typedef ULONG_PTR   DWORD_PTR;
< 
< #endif // !UNIX
< 
144,173c168
< 
< #ifndef UNIX
< #if _MSC_VER < 1300
< #include "ostream64.h"
< #endif
< #endif /* !UNIX */
< 
< 
< 
< ///////////////////////////////////////////////////////////////////////////////
< // Win32 || _WIN64 & UNIX common
< ///////////////////////////////////////////////////////////////////////////////
< #include "IOVersion.h"						//version info definitions
< 
< extern void	GetAppFileVersionString(char **ppStrStandard, char **ppStrWithDebug);
< 
< 
< ///////////////////////////////////////////////////////////////////////////////
< // UNIX specific
< ///////////////////////////////////////////////////////////////////////////////
< #ifdef UNIX
< 
< #if defined(__i386) || defined(__arm) || defined (_IA64)
< #define LITTLE_ENDIAN_ARCH
< #elif defined(__sparc)
< #define BIG_ENDIAN_ARCH
< #else
< "ERROR: Unknown Endianness."
< #endif
< 
---
> // ----------------------------------------------------------------------------
177,220c172,178
< 
< #include <unistd.h>
< #include <pthread.h>
< #include <signal.h>
< #include <aio.h>
< #include <netinet/in.h>		//in_addr_t
< 
< //
< // Now define the necessary data types. Ensure that these are available
< // immediately after the standard headers are included.
< //
< 
< #define __int64			long long
< #define __int32			long
< #define __int16			short
< #define __int8			char
< 
< typedef unsigned long long		DWORDLONG;
< typedef long long		_int64;
< // typedef long long		LARGE_INTEGER;
< typedef int				BOOL;
< typedef int				BOOLEAN;
< typedef unsigned long	DWORD;
< typedef void			*HANDLE;
< typedef void			*LPVOID;
< typedef DWORD			*LPDWORD;
< typedef unsigned char	BYTE;
< typedef BYTE			*LPBYTE;
< typedef void			*SOCKET;
< typedef long			LONG;
< typedef unsigned short	WCHAR;
< typedef unsigned short	*LPWSTR;
< typedef const void		*LPCVOID;
< typedef const char		*LPCSTR;
< typedef char			*LPSTR;
< typedef LPCSTR			LPCTSTR;
< typedef int				INT;
< typedef unsigned int	UINT;
< typedef unsigned int	*PUINT;
< 
< //param does not contain a valid internet address
< // (For Win32 || _WIN64, INADDR_NONE is defined as 0xffffffff)
< #ifndef INADDR_NONE
< #define INADDR_NONE             (in_addr_t)-1
---
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #include <unistd.h>
>  #include <pthread.h>
>  #include <signal.h>
>  #include <aio.h>
>  #include <netinet/in.h>   // in_addr_t
221a180,188
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_WINDOWS)
>  #if _MSC_VER < 1300
>  #include "ostream64.h"
>  #endif
> #endif 
> // ----------------------------------------------------------------------------
> #include "IOVersion.h"   // version info definitions
> // ----------------------------------------------------------------------------
223d189
< #ifndef NOMINMAX
225,227d190
< #ifndef max
< #define max(a,b)            (((a) > (b)) ? (a) : (b))
< #endif
229,231c192,234
< #ifndef min
< #define min(a,b)            (((a) < (b)) ? (a) : (b))
< #endif
---
> // Define the different data types
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #define __int64   long long
>  #define __int32   long
>  #define __int16   short
>  #define __int8    char
> 
>  typedef long long	       _int64;
>  //typedef long long	       LARGE_INTEGER; 
>  typedef unsigned long long    DWORDLONG;
>  typedef long		       LONG;
>  typedef unsigned long	       DWORD;
> 
>  typedef int		       INT;
>  typedef int		       BOOL;
>  typedef int		       BOOLEAN;
>  typedef unsigned int	       UINT;
>  typedef unsigned int	      *PUINT;
> 
>  typedef unsigned short	       WCHAR;
>  typedef unsigned short	      *LPWSTR;
> 
>  typedef char		      *LPSTR;
>  typedef unsigned char	       BYTE;
>  typedef const char	      *LPCSTR;
> 
>  typedef void		      *HANDLE;
>  typedef void		      *LPVOID;
>  typedef void		      *SOCKET;
>  typedef const void	      *LPCVOID;
> 
>  typedef DWORD		      *LPDWORD;
>  typedef BYTE		      *LPBYTE;
>  typedef LPCSTR		       LPCTSTR;
> #endif 
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_WINDOWS)
>  typedef unsigned long   ULONG_PTR;
>  typedef ULONG_PTR       DWORD_PTR;
> #endif 
> // ----------------------------------------------------------------------------
233d235
< #endif  /* NOMINMAX */
235,238d236
< typedef struct _LARGE_INTEGER {
< 	long LowPart;
< 	long HighPart;
< } LARGE_INTEGER;
240,247c238,242
< // This LPOVERLAPPED typedef from WINBASE.H
< typedef struct _OVERLAPPED {
<     DWORD   Internal;
<     DWORD   InternalHigh;
<     DWORD   Offset;
<     DWORD   OffsetHigh;
<     HANDLE  hEvent;
< } OVERLAPPED, *LPOVERLAPPED;
---
> // Definition of the defines itself
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
> // Different return values for the Iometer and Dynamo function calls.
> #define IOERROR	-1   // keep negative
248a244,263
> #define RETRY_DELAY   200    // msec. to wait before reattempting an action
> #define LONG_DELAY    3000   // msec. to wait before reattempting an action
> #define IDLE_DELAY    1000   // max msec to wait between calls to CGalileoApp::OnIdle()
> 
> #define KILOBYTE   1024
> #define MEGABYTE   1048576
> 
> #define MAX_NAME	      64
> #define	MAX_CPUS	      32
> #define	MAX_WORKERS	      100
> #define MAX_TARGETS	      512
> #define MAX_NETWORK_NAME      128
> #define MAX_NUM_INTERFACES    32
> #define MAX_WORKER_NAME	      128
> #define MAX_EXCLUDE_FILESYS   128
> 
> #define ALL_MANAGERS	      -16
> #define MANAGER		      -8
> #define ALL_WORKERS	      -4
> #define WORKER		      -2
250,258c265,275
< struct CQ_Element
< {
< 	struct aiocb64	aiocbp;
< 	void			*data;
< 	int				done;
< 	int				error;
< 	int				completion_key;
< 	int				bytes_transferred;
< };
---
> // Definitions for CPU results.
> #define	CPU_RESULTS		     6
> #define CPU_UTILIZATION_RESULTS	     5
> // All CPU utilization results should be listed together.
> #define CPU_TOTAL_UTILIZATION	     0
> #define CPU_USER_UTILIZATION	     1
> #define CPU_PRIVILEGED_UTILIZATION   2
> #define CPU_DPC_UTILIZATION	     3
> #define CPU_IRQ_UTILIZATION   	     4
> // Other CPU counters.
> #define CPU_IRQ			     5
260,267c277,280
< struct IOCQ
< {
< 	CQ_Element		*element_list;
< 	struct aiocb64	**aiocb_list;
< 	int				size;
< 	int				last_freed;
< 	int				position;
< };
---
> // Definitions for network tcp results
> #define TCP_RESULTS           1   // total number of network results
> // List all specific performance results that are desired.
> #define TCP_SEGMENTS_RESENT   0
268a282,289
> // Definitions for network interface results
> #define NI_RESULTS	     3   // total number of network interface results reported
> #define NI_COMBINE_RESULTS   2   // combine some reported results together
> // List all specific performance results that are desired.
> #define NI_PACKETS	     0
> #define NI_OUT_ERRORS	     1
> #define NI_IN_ERRORS	     2
> #define NI_ERRORS	     1   // combine in and out errors together when saving
270,275c291,293
< struct File
< {
< 	int				fd;
< 	int				completion_key;
< 	IOCQ			*iocq;
< };
---
> // Initialization parameters for CArray and related classes.
> #define INITIAL_ARRAY_SIZE   0    // Sets the size of the array.
> #define ARRAY_GROW_STEP	     10   // Sets the amount of memory to allocate when the array is grown.
276a295,298
> // To record performance statistics, two snapshots of specific counters are needed.
> #define FIRST_SNAPSHOT	 0
> #define LAST_SNAPSHOT	 1
> #define MAX_SNAPSHOTS	 2
278,295c300,323
< #define FALSE					0
< #define TRUE					1
< #define INVALID_HANDLE_VALUE	(HANDLE)-1
< #define INVALID_SOCKET			(SOCKET)(~0)
< #define PERF_NO_INSTANCES		-1
< #define SOCKET_ERROR			-1
< #define SD_BOTH					2
< #define INFINITE				(unsigned)~0
< #define ERROR_IO_PENDING		501
< #define WAIT_TIMEOUT			ERROR_IO_PENDING
< #define ERROR_IO_INCOMPLETE		ERROR_IO_PENDING
< 
< #define FILE_ELEMENT					1
< #define CQ_ELEMENT						0
< 
< #define _timeb			timeb
< #define _ftime			ftime
< #define Sleep(x) 		usleep((x) * 1000)
---
> // We keep a Performance object to record results for the whole test and another to record
> // only the results since the last update.
> #define WHOLE_TEST_PERF	   0
> #define LAST_UPDATE_PERF   1
> #define MAX_PERF	   2
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  //param does not contain a valid internet address
>  // (For Win32 || _WIN64, INADDR_NONE is defined as 0xffffffff)
>  #ifndef INADDR_NONE
>   #define INADDR_NONE   (in_addr_t)-1
>  #endif
> 
>  #define FALSE			0
>  #define TRUE			1
>  #define INVALID_HANDLE_VALUE   (HANDLE)-1
>  #define INVALID_SOCKET		(SOCKET)(~0)
>  #define PERF_NO_INSTANCES	-1
>  #define SOCKET_ERROR		-1
>  #define SD_BOTH		2
>  #define INFINITE		(unsigned)~0
>  #define ERROR_IO_PENDING	501
>  #define WAIT_TIMEOUT		ERROR_IO_PENDING
>  #define ERROR_IO_INCOMPLETE	ERROR_IO_PENDING
297,298c325,326
< #ifndef __max
< #define __max(a,b) (((a) < (b)) ? (b) : (a))
---
>  #define FILE_ELEMENT		1
>  #define CQ_ELEMENT		0
299a328,333
> // ----------------------------------------------------------------------------
> #if defined(BIG_ENDIAN_ARCH)
>  #define SEND   1
>  #define RECV   2
> #endif
> // ----------------------------------------------------------------------------
302,366d335
< // Now define some locking macros.
< #if defined(UNIX)
< // we use one global locking mutex
< extern pthread_mutex_t lock_mt;
< 
< #define LOCK													\
< 	if (pthread_mutex_lock(&lock_mt))									\
< 	{															\
< 		cout << "unable to lock" << endl;						\
< 		exit(1);												\
< 	}
< 
< #define UNLOCK													\
< 	if (pthread_mutex_unlock(&lock_mt))									\
< 	{															\
< 		cout << "unable to unlock" << endl;						\
< 		exit(1);												\
< 	}
< #endif // UNIX
< 
< 
< // Protected Macros
< #define InterlockedExchange(a,b)								\
< 	LOCK;														\
< 	*(a) = (b);													\
< 	UNLOCK;
< 
< #define InterlockedDecrement(a)									\
< 	LOCK;														\
< 	--*(a);														\
< 	UNLOCK;
< 
< #define InterlockedIncrement(a)									\
< 	LOCK;														\
< 	++*(a);														\
< 	UNLOCK;
< 
< 
< // Prototypes for the Global functions.
< BOOL SetQueueSize(HANDLE, int);
< HANDLE CreateIoCompletionPort(HANDLE, HANDLE, DWORD, DWORD);
< BOOL GetQueuedCompletionStatus(HANDLE, LPDWORD, LPDWORD, LPOVERLAPPED *, DWORD);
< 
< BOOL ReadFile(HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
< BOOL WriteFile(HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
< 
< HANDLE CreateEvent(void *, BOOL, BOOL, LPCSTR);
< BOOL GetOverlappedResult( HANDLE, LPOVERLAPPED, LPDWORD, BOOL );
< 
< void SetLastError(DWORD);
< DWORD GetLastError(void);
< int WSAGetLastError(void);
< void WSASetLastError(DWORD);
< 
< BOOL CloseHandle(HANDLE, int object_type = 0);
< char *_itoa(int, char *, int);
< DWORD WaitForSingleObject(HANDLE h, DWORD milliSecs);
< 
< #endif	//UNIX
< 
< ///////////////////////////////////////////////////////////////////////////////
< // Win32 || _WIN64 & UNIX common
< ///////////////////////////////////////////////////////////////////////////////
< // Different return values for the Iometer and Dynamo function calls.
< #define IOERROR	-1		// keep negative
367a337,339
> // Define the enumerations, structures etc.
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
369,402c341,347
< 	ReturnError = IOERROR,	// catch all unexpected errors
< 	ReturnSuccess = 0,		// Normal completion
< 	ReturnTimeout,			// Operation timed out
< 	ReturnPending,			// Request has been queued
< 	ReturnAbort,			// Operation aborted
< 	ReturnRetry				// Operation was interrupted and can be retried
< };
< 
< //#if defined (_WIN64)
< //#define	WIN64_COUNTER_WORKAROUND
< //#endif
< 
< #define RETRY_DELAY	200			// msec. to wait before reattempting an action
< #define LONG_DELAY  3000		// msec. to wait before reattempting an action
< #define IDLE_DELAY	1000		// max msec to wait between calls to CGalileoApp::OnIdle()
< 
< #define KILOBYTE	1024
< #define MEGABYTE	1048576
< 
< #define MAX_NAME			64
< #define	MAX_CPUS			32
< #define	MAX_WORKERS			100
< #define MAX_TARGETS			512
< #define MAX_NETWORK_NAME	128
< #define MAX_NUM_INTERFACES	32
< #define MAX_WORKER_NAME		128
< #define MAX_EXCLUDE_FILESYS     128
< 
< #define ALL_MANAGERS		-16
< #define MANAGER				-8
< #define ALL_WORKERS			-4
< #define WORKER				-2
< 
< 
---
> 	ReturnError   = IOERROR,   // catch all unexpected errors
> 	ReturnSuccess = 0,	   // Normal completion
> 	ReturnTimeout,		   // Operation timed out
> 	ReturnPending,		   // Request has been queued
> 	ReturnAbort,		   // Operation aborted
> 	ReturnRetry	   	   // Operation was interrupted and can be retried
> };
405c350
< 	TestIdle,			// before Start_Test() and after Stop_Test()
---
> 	TestIdle,	  // before Start_Test() and after Stop_Test()
407,410c352,355
< 	TestOpening,		// after Start_Test()
< 	TestRampingUp,		// after Begin_IO()
< 	TestRecording,		// after Record_On()
< 	TestRampingDown		// after Record_Off()
---
> 	TestOpening,	  // after Start_Test()
> 	TestRampingUp,	  // after Begin_IO()
> 	TestRecording,	  // after Record_On()
> 	TestRampingDown	  // after Record_Off()
412,413d356
< 
< 
423,459c366,367
< 
< 
< // Definitions for CPU results.
< #define	CPU_RESULTS					6
< #define CPU_UTILIZATION_RESULTS		5
< // All CPU utilization results should be listed together.
< #define CPU_TOTAL_UTILIZATION		0
< #define CPU_USER_UTILIZATION		1
< #define CPU_PRIVILEGED_UTILIZATION	2
< #define CPU_DPC_UTILIZATION			3
< #define CPU_IRQ_UTILIZATION			4
< // Other CPU counters.
< #define CPU_IRQ						5
< 
< // Definitions for network tcp results
< #define TCP_RESULTS					1		// total number of network results
< // List all specific performance results that are desired.
< #define TCP_SEGMENTS_RESENT			0
< 
< // Definitions for network interface results
< #define NI_RESULTS					3		// total number of network interface results reported
< #define NI_COMBINE_RESULTS			2		// combine some reported results together
< // List all specific performance results that are desired.
< #define NI_PACKETS					0
< #define NI_OUT_ERRORS				1
< #define NI_IN_ERRORS				2
< #define NI_ERRORS					1		// combine in and out errors together when saving
< 
< // Initialization parameters for CArray and related classes.
< #define INITIAL_ARRAY_SIZE	0		// Sets the size of the array.
< #define ARRAY_GROW_STEP		10		// Sets the amount of memory to allocate when the array is grown.
< 
< const char NEW_WORKER_COMMAND[] = "start /MIN ";
< const char NEW_WORKER_EXECUTABLE[] = "dynamo";
< 
< 
< struct	Manager_Info
---
> // ----------------------------------------------------------------------------
> struct Manager_Info
461,465c369,373
< 	char	version[MAX_VERSION_LENGTH];
< 	char	names[2][MAX_NETWORK_NAME];
< 	unsigned short port_number;  // used only with TCP/IP.
< 	int		processors;
< 	double		processor_speed;
---
> 	char	       version[MAX_VERSION_LENGTH];
> 	char	       names[2][MAX_NETWORK_NAME];
> 	unsigned short port_number;   // used only with TCP/IP.
> 	int	       processors;
> 	double	       processor_speed;
467,482d374
< 
< 
< 
< // To record performance statistics, two snapshots of specific counters are needed.
< #define FIRST_SNAPSHOT	0
< #define LAST_SNAPSHOT	1
< #define MAX_SNAPSHOTS	2
< 
< // We keep a Performance object to record results for the whole test and another to record
< // only the results since the last update.
< #define WHOLE_TEST_PERF		0
< #define LAST_UPDATE_PERF	1
< #define MAX_PERF			2
< 
< 
< 
486,502c378,394
< 	DWORDLONG		bytes_read;			// Number of bytes transferred.
< 	DWORDLONG		bytes_written;
< 	DWORDLONG		read_count;			// Number of I/Os completed.
< 	DWORDLONG		write_count;
< 	DWORDLONG		transaction_count;	// Number of transactions completed.
< 	DWORDLONG		connection_count;
< 	unsigned int	read_errors;		// Number of errors seen.
< 	unsigned int	write_errors;
< 	DWORDLONG		max_raw_read_latency;	// Application latencies for an I/O to complete, recorded
< 	DWORDLONG		read_latency_sum;		// using the processor counter clock.
< 	DWORDLONG		max_raw_write_latency;
< 	DWORDLONG		write_latency_sum;
< 	DWORDLONG		max_raw_transaction_latency;
< 	DWORDLONG		max_raw_connection_latency;
< 	DWORDLONG		transaction_latency_sum;
< 	DWORDLONG		connection_latency_sum;	// Application latencies for a Connection.
< 	__int64			counter_time;		// Difference between ending and starting counter time stamps.
---
> 	DWORDLONG    bytes_read;   	       // Number of bytes transferred.
> 	DWORDLONG    bytes_written;
> 	DWORDLONG    read_count;	       // Number of I/Os completed.
> 	DWORDLONG    write_count;
> 	DWORDLONG    transaction_count;	       // Number of transactions completed.
> 	DWORDLONG    connection_count;
> 	unsigned int read_errors;	       // Number of errors seen.
> 	unsigned int write_errors;
> 	DWORDLONG    max_raw_read_latency;     // Application latencies for an I/O to complete, recorded
> 	DWORDLONG    read_latency_sum;	       // using the processor counter clock.
> 	DWORDLONG    max_raw_write_latency;
> 	DWORDLONG    write_latency_sum;
> 	DWORDLONG    max_raw_transaction_latency;
> 	DWORDLONG    max_raw_connection_latency;
> 	DWORDLONG    transaction_latency_sum;
> 	DWORDLONG    connection_latency_sum;   // Application latencies for a Connection.
> 	__int64	     counter_time;	       // Difference between ending and starting counter time stamps.
504,506d395
< 
< 
< 
510,512c399,401
< 	int				count;			// Number of targets.
< 	char			pad[4];			// padding
< 	Raw_Result		result[MAX_TARGETS];
---
> 	int	   count;    // Number of targets.
> 	char	   pad[4];   // padding
> 	Raw_Result result[MAX_TARGETS];
514,516d402
< 
< 
< 
520,521c406,407
< 	DWORDLONG		time[MAX_SNAPSHOTS];	// Processor based counters to provide time stamps.
< 	Target_Results	target_results;
---
> 	DWORDLONG      time[MAX_SNAPSHOTS];   // Processor based counters to provide time stamps.
> 	Target_Results target_results;
523,525d408
< 
< 
< 
529,531c412,414
< 	int				count;				// Number of processors.
< 	char			pad[4];				// padding
< 	double			CPU_utilization[MAX_CPUS][CPU_RESULTS];
---
> 	int    count;	 // Number of processors.
> 	char   pad[4];   // padding
> 	double CPU_utilization[MAX_CPUS][CPU_RESULTS];
533,535d415
< 
< 
< 
539,542c419,422
< 	double			tcp_stats[TCP_RESULTS];
< 	int				ni_count;				// Number of NICs.
< 	char			pad[4];					// padding
< 	double			ni_stats[MAX_NUM_INTERFACES][NI_RESULTS];
---
> 	double tcp_stats[TCP_RESULTS];
> 	int    ni_count;   // Number of NICs.
> 	char   pad[4];     // padding
> 	double ni_stats[MAX_NUM_INTERFACES][NI_RESULTS];
544,546d423
< 
< 
< 
550,552c427,429
< 	__int64			time_counter[MAX_SNAPSHOTS];
< 	CPU_Results		cpu_results;
< 	Net_Results		net_results;
---
> 	__int64	    time_counter[MAX_SNAPSHOTS];
> 	CPU_Results cpu_results;
> 	Net_Results net_results;
554,556d430
< 
< 
< 
561,594c435,496
< 	Raw_Result		raw;
< 	double			IOps;
< 	double			read_IOps;
< 	double			write_IOps;
< 	double			MBps;
< 	double			read_MBps;
< 	double			write_MBps;
< 	double			ave_latency;
< 	double			max_latency;
< 	double			ave_read_latency;
< 	double			max_read_latency;
< 	double			ave_write_latency;
< 	double			max_write_latency;
< 	double			transactions_per_second;
< 	double			ave_transaction_latency;
< 	double			max_transaction_latency;
< 	unsigned int	total_errors;
< 	double			CPU_utilization[CPU_RESULTS];
< 	double			CPU_effectiveness;
< 	double			individual_CPU_utilization[MAX_CPUS][CPU_RESULTS];
< 	double			tcp_statistics[TCP_RESULTS];
< 	double			ni_statistics[NI_COMBINE_RESULTS];
< 	double			connections_per_second;
< 	double			ave_connection_latency;
< 	double			max_connection_latency;
< };
< 
< ///////////////////////////////////////////////////////////////////////////////
< // UNIX specific
< ///////////////////////////////////////////////////////////////////////////////
< #ifdef UNIX
< #ifdef __sparc
< extern double processor_speed_to_nsecs;
< #endif
---
> 	Raw_Result   raw;
> 	double	     IOps;
> 	double	     read_IOps;
> 	double	     write_IOps;
> 	double	     MBps;
> 	double	     read_MBps;
> 	double	     write_MBps;
> 	double	     ave_latency;
> 	double	     max_latency;
> 	double	     ave_read_latency;
> 	double	     max_read_latency;
> 	double	     ave_write_latency;
> 	double	     max_write_latency;
> 	double	     transactions_per_second;
> 	double	     ave_transaction_latency;
> 	double	     max_transaction_latency;
> 	unsigned int total_errors;
> 	double	     CPU_utilization[CPU_RESULTS];
> 	double	     CPU_effectiveness;
> 	double	     individual_CPU_utilization[MAX_CPUS][CPU_RESULTS];
> 	double	     tcp_statistics[TCP_RESULTS];
> 	double	     ni_statistics[NI_COMBINE_RESULTS];
> 	double	     connections_per_second;
> 	double	     ave_connection_latency;
> 	double	     max_connection_latency;
> };
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  // This LPOVERLAPPED typedef is from WINBASE.H
>  typedef struct _OVERLAPPED {   
> 	DWORD  Internal;
>        	DWORD  InternalHigh;
> 	DWORD  Offset;
> 	DWORD  OffsetHigh;
> 	HANDLE hEvent;
>  } OVERLAPPED, *LPOVERLAPPED;
>  typedef struct _LARGE_INTEGER {
> 	long LowPart;
> 	long HighPart;
>  } LARGE_INTEGER;
>  struct CQ_Element {
> 	struct  aiocb64 aiocbp;
> 	void   *data;
> 	int	done;
> 	int	error;
> 	int	completion_key;
> 	int	bytes_transferred;
>  };
>  struct IOCQ {
> 	CQ_Element      *element_list;
> 	struct aiocb64 **aiocb_list;
> 	int	         size;
> 	int	         last_freed;
> 	int	         position;
>  };
>  struct File {
> 	int   fd;
> 	int   completion_key;
> 	IOCQ *iocq;
>  };
> #endif 
> // ----------------------------------------------------------------------------
596,605d497
< #ifdef BIG_ENDIAN_ARCH
< inline void rotate(char *ptr, int size);
< template <class T> inline void reorder(T&);
< inline void reorder(CPU_Results&, int);
< inline void reorder(Net_Results&, int);
< inline void reorder(Raw_Result&);
< 
< #define SEND	1
< #define RECV	2
< #endif // BIG_ENDIAN_ARCH
607c499,513
< #endif // UNIX
---
> 
> // Define the global variables
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
> const char NEW_WORKER_COMMAND[]    = "start /MIN ";
> const char NEW_WORKER_EXECUTABLE[] = "dynamo";
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  extern pthread_mutex_t lock_mt;   // we use one global locking mutex
> #endif 
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_CPU_SPARC)
>  extern double processor_speed_to_nsecs;
> #endif
> // ----------------------------------------------------------------------------
610a517,521
> // Define the different function prototypes and macros
> // for global functions - including the Strip() function
> // (both, OS family based and common)
> // ----------------------------------------------------------------------------
> extern void GetAppFileVersionString( char **ppStrStandard, char **ppStrWithDebug );
632a544,614
> // ----------------------------------------------------------------------------
> #if defined(IOMTR_OSFAMILY_UNIX)
>  BOOL    SetQueueSize(HANDLE, int);
>  HANDLE  CreateIoCompletionPort(HANDLE, HANDLE, DWORD, DWORD);
>  BOOL    GetQueuedCompletionStatus(HANDLE, LPDWORD, LPDWORD, LPOVERLAPPED *, DWORD);
> 
>  BOOL    ReadFile(HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
>  BOOL    WriteFile(HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
>  HANDLE  CreateEvent(void *, BOOL, BOOL, LPCSTR);
>  BOOL    GetOverlappedResult( HANDLE, LPOVERLAPPED, LPDWORD, BOOL );
> 
>  void    SetLastError(DWORD);
>  DWORD   GetLastError(void);
>  int     WSAGetLastError(void);
>  void    WSASetLastError(DWORD);
> 
>  BOOL    CloseHandle(HANDLE, int object_type = 0);
>  char   *_itoa(int, char *, int);
>  DWORD   WaitForSingleObject(HANDLE h, DWORD milliSecs);
> 
>  #ifndef NOMINMAX
>   #ifndef max
>    #define max(a,b)             (((a) > (b)) ? (a) : (b))
>   #endif
>   #ifndef min
>    #define min(a,b)             (((a) < (b)) ? (a) : (b))
>   #endif
>  #endif 
>  #ifndef __max
>   #define __max(a,b)            (((a) < (b)) ? (b) : (a))
>  #endif
> 
>  #define _timeb		        timeb
>  #define _ftime			ftime
>  #define Sleep(x) 		usleep((x) * 1000)
> 
>  #define LOCK					    \
> 	 if (pthread_mutex_lock(&lock_mt))          \
> 	 {					    \
> 		cout << "unable to lock" << endl;   \
> 		exit(1);			    \
> 	 }
>  #define UNLOCK					      \
> 	 if (pthread_mutex_unlock(&lock_mt))	      \
> 	 {					      \
> 		cout << "unable to unlock" << endl;   \
> 		exit(1);			      \
> 	 }
> 
>  #define InterlockedExchange(a,b)   \
> 	 LOCK;			    \
> 	 *(a) = (b);		    \
> 	 UNLOCK;
>  #define InterlockedDecrement(a)   \
> 	 LOCK;			   \
> 	 --*(a);		   \
> 	 UNLOCK;
>  #define InterlockedIncrement(a)   \
> 	 LOCK;			   \
> 	 ++*(a);		   \
> 	 UNLOCK;
> #endif 
> // ----------------------------------------------------------------------------
> #if defined(BIG_ENDIAN_ARCH)
>  inline void rotate(char *ptr, int size);
>  template <class T> inline void reorder(T&);
>  inline void reorder(CPU_Results&, int);
>  inline void reorder(Net_Results&, int);
>  inline void reorder(Raw_Result&);
> #endif
> // ----------------------------------------------------------------------------
Index: iometer/src/IOGlobals.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOGlobals.cpp,v
retrieving revision 1.3
diff -r1.3 IOGlobals.cpp
3c3
< /* ##  (IOmeter & Dynamo) / IOGrunt.cpp                                   ## */
---
> /* ##  (IOmeter & Dynamo) / IOGlobals.cpp                                 ## */
10a11,46
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
14c50,54
< /* ##  Changes ...: 2003-04-25 (daniel.scheibli@edelbyte.org)             ## */
---
> /* ##  Changes ...: 2003-07-13 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-04-25 (daniel.scheibli@edelbyte.org)             ## */
22,23d61
< /*
< Intel Open Source License 
25,68d62
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1999-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // This is one of the CENTRAL PROJECT FILES
< // IOCommon.h			- Product-wide (Iometer & Dynamo) central include file
< // IOGlobals.cpp		- Product-wide global function implementation file
< //
< // This file is used by both Iometer and Dynamo.
< //
< //////////////////////////////////////////////////////////////////////
71,72c65,66
< #if defined (_WIN32) || defined (_WIN64)
< #include "stdafx.h"
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include "stdafx.h"
74d67
< 
87,92c80,85
< #if defined (_WIN32) || defined (_WIN64)
< #ifdef _DEBUG
< #define new DEBUG_NEW
< #undef THIS_FILE
< static char THIS_FILE[] = __FILE__;
< #endif
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #ifdef _DEBUG
>   #define new DEBUG_NEW
>   #undef THIS_FILE
>   static char THIS_FILE[] = __FILE__;
>  #endif
128c121
< #ifndef UNIX
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
160c153
< #endif /* !UNIX */
---
> #endif /* IOMTR_OS_WIN32 || IOMTR_OS_WIN64 */
Index: iometer/src/IOGrunt.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOGrunt.cpp,v
retrieving revision 1.5
diff -r1.5 IOGrunt.cpp
10a11,46
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
14c50,54
< /* ##  Changes ...: 2003-05-07 (yakker@aparity.com)                       ## */
---
> /* ##  Changes ...: 2003-07-17 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Implemented the IOMTR_[OSFAMILY|OS|CPU]_* global    ## */
> /* ##                 define as well as their integrity checks.           ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-05-07 (yakker@aparity.com)                       ## */
29,30d68
< /*
< Intel Open Source License 
32,77c70
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOGrunt.cpp: Implementation of the Grunt (worker) class for Dynamo.
< // There is one Grunt for each worker.  This class performs all I/O to
< // the targets and records its own results.  Much of this code is executed
< // by a separate worker thread.  Note, though, that although there is
< // always a Grunt for every worker in Iometer's Topology pane, threads are
< // created only for workers that are active in the current test.
< //
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
---
> 
81a75
> 
82a77
>  //nop
84c79
< #include "IOTargetVI.h"
---
>  #include "IOTargetVI.h"
86,87c81,83
< #ifdef SOLARIS
< #include <thread.h>
---
> 
> #if defined(IOMTR_OS_SOLARIS)
>  #include <thread.h>
89,90c85,86
< #ifdef LINUX
< #include <assert.h>
---
> #if defined(IOMTR_OS_LINUX)
>  #include <assert.h>
92a89
> 
136c133
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
139c136
< #else // UNIX
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
141a139,140
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
200c199,200
< #ifdef NO_DYNAMO_VI
---
> #if defined(NO_DYNAMO_VI)
>  // nop
236c236
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
373c373,374
< #ifdef NO_DYNAMO_VI
---
> #if defined(NO_DYNAMO_VI)
>  // nop
384c385
< #endif // NO_DYNAMO_VI */
---
> #endif // NO_DYNAMO_VI
514c515
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
519c520
< #else // UNIX
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
524a526,527
> #else
>   #warning ===> WARNING: You have to do some coding here to get the port done! 
533c536
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
538c541
< #else // UNIX
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
543a547,548
> #else
>   #warning ===> WARNING: You have to do some coding here to get the port done! 
566,567c571,572
< #ifdef UNIX
<   pthread_t newThread;
---
> #if defined(IOMTR_OSFAMILY_UNIX)
>         pthread_t newThread;
590c595
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
592c597
< #else
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
597a603,604
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
634c641
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
637c644
< #else // UNIX
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
640a648,649
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
650c659
< #if defined(UNIX)
---
> #if defined(IOMTR_OSFAMILY_UNIX)
664c673
< #else // default
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
665a675,676
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
684c695
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OSFAMILY_WINDOWS)
686c697
< #else // UNIX
---
> #elif defined(IOMTR_OSFAMILY_UNIX)
687a699,700
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
1309c1322
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
1329c1342
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
1333c1346
< #else // WIN_NT
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
1334a1348,1349
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
1350,1351c1365,1367
< #ifdef UNIX
< #ifdef SOLARIS
---
> 	{
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #if defined(IOMTR_OS_SOLARIS)
1352a1369,1375
>  #elif defined(IOMTR_OS_LINUX)
>  		sleep(0);
>  #else
>   #warning ===> WARNING: You have to do some coding here to get the port done! 
>  #endif
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
> 		Sleep( 0 );
1354,1357c1377
< 	sleep(0);
< #endif
< #else // WIN_NT is default
< 	Sleep( 0 );
---
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
1358a1379
> 	}
1374c1395
< #if defined(LINUX) || defined(SOLARIS)
---
> 
1378,1379c1399,1404
< #define A 136204069LL			// 3x7x11x13x17x23x   29x4 + 1
< #define B 28500701229LL		// 3x7x11x13x17x23x27x29x31
---
> #if defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
>  #define A 136204069LL		// 3x7x11x13x17x23x   29x4 + 1
>  #define B 28500701229LL	// 3x7x11x13x17x23x27x29x31
> #elif defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #define A 136204069		// 3x7x11x13x17x23x   29x4 + 1
>  #define B 28500701229		// 3x7x11x13x17x23x27x29x31
1381,1382c1406
< #define A 136204069			// 3x7x11x13x17x23x   29x4 + 1
< #define B 28500701229		// 3x7x11x13x17x23x27x29x31
---
>  #warning ===> WARNING: You have to do some coding here to get the port done!
Index: iometer/src/IOManager.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOManager.h,v
retrieving revision 1.3
diff -r1.3 IOManager.h
10a11,46
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
15c51,55
< /* ##  Changes ...: 2003-02-26 (joe@eiler.net)                            ## */
---
> /* ##  Changes ...: 2003-07-14 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-02-26 (joe@eiler.net)                            ## */
23,69d62
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOManager.h: Interface for the Manager class for Dynamo.  
< // This is Dynamo's main class; it manages communication with Iometer,
< // creates and destroys worker threads, starts and stops tests, records
< // system-level results (CPU and network), etc.  
< //
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
73a67
> 
79d72
< void	Wait_for_Prepare( void *grunt_thread_info );
81,91c74,92
< #ifndef UNIX
< // if we are not on UNIX the excluded filesystem stuff doesn't really matter
< #define DEFAULT_EXCLUDE_FILESYS ""
< #else // UNIX
< #ifdef LINUX
< #define DEFAULT_EXCLUDE_FILESYS "proc shm swap devpts"
< #endif // LINUX
< #ifdef SOLARIS
< #define DEFAULT_EXCLUDE_FILESYS "proc specfs config"
< #endif // SOLARIS
< #endif // UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #if defined(IOMTR_OS_LINUX)
>   #define DEFAULT_EXCLUDE_FILESYS   "proc shm swap devpts"
>  #elif defined(IOMTR_OS_SOLARIS)
>   #define DEFAULT_EXCLUDE_FILESYS   "proc specfs config" 
>  #else
>   #warning ===> WARNING: You have to do some coding here to get the port done! 
>  #endif
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
>  // if we are not on UNIX the excluded filesystem stuff doesn't really matter
>  #define DEFAULT_EXCLUDE_FILESYS   ""
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
> 
> 
> 
> void Wait_for_Prepare( void *grunt_thread_info );
> 
103c104
< 	const char* GetVersionString(BOOL fWithDebugIndicator = FALSE);
---
> 	const char* 	GetVersionString(BOOL fWithDebugIndicator = FALSE);
108c109
< 	Port		*prt;					// Communication port to Iometer.
---
> 	Port	       *prt;                   // Communication port to Iometer.
110c111
< 	Grunt*		grunts[MAX_WORKERS];	// I/O workers.
---
> 	Grunt*		grunts[MAX_WORKERS];   // I/O workers.
112,113c113,114
< 	void		*data;					// Buffer for I/O requests.
< 	int			data_size;				// Size of currently allocated data buffer.
---
> 	void	       *data;					// Buffer for I/O requests.
> 	int		data_size;				// Size of currently allocated data buffer.
115,116c116,117
< 	char		manager_name[MAX_WORKER_NAME];	// Name of manager, customizable on command line.
< 	char            exclude_filesys[MAX_EXCLUDE_FILESYS]; // filesystem types to exclude, command line option
---
> 	char		manager_name[MAX_WORKER_NAME];	        // Name of manager, customizable on command line.
> 	char            exclude_filesys[MAX_EXCLUDE_FILESYS];   // filesystem types to exclude, command line option
118c119
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
122c123
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
125,129c126,130
< 	Message			msg;				// Directional messages from Iometer.
< 	Data_Message	data_msg;			// Data messages from Iometer.
< 	int				grunt_count;		// Number of worker threads available.
< 	char		   *m_pVersionString;
< 	char		   *m_pVersionStringWithDebug;
---
> 	Message		msg;	       // Directional messages from Iometer.
> 	Data_Message	data_msg;      // Data messages from Iometer.
> 	int		grunt_count;   // Number of worker threads available.
> 	char	       *m_pVersionString;
> 	char	       *m_pVersionStringWithDebug;
135,136c136,137
< 	Manager_Results	manager_performance[MAX_PERF];	// System performance results.
< 	Performance		perf_data[MAX_PERF];			// System performance information.
---
> 	Manager_Results	manager_performance[MAX_PERF];   // System performance results.
> 	Performance	perf_data[MAX_PERF];		 // System performance information.
151,152c152,153
< 	int			Report_Disks( Target_Spec *disk_spec );
< #ifdef UNIX
---
> 	int		Report_Disks( Target_Spec *disk_spec );
> #if defined(IOMTR_OSFAMILY_UNIX)
160c161
< 	int			Compare_Raw_Disk_Names(char *str1, char *str2);
---
> 	int		Compare_Raw_Disk_Names(char *str1, char *str2);
165a167
> #endif // IOMTR_OSFAMILY_UNIX
167,169c169,170
< #endif // UNIX
< 	int			Report_TCP( Target_Spec *tcp_spec );
< 	int			Report_VIs( Target_Spec *vi_spec );
---
> 	int		Report_TCP( Target_Spec *tcp_spec );
> 	int		Report_VIs( Target_Spec *vi_spec );
177a179
> 
Index: iometer/src/IOManagerLinux.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOManagerLinux.cpp,v
retrieving revision 1.4
diff -r1.4 IOManagerLinux.cpp
11a12,47
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
16c52,56
< /* ##  Changes ...: 2003-03-05 (daniel.scheibli@edelbyte.org)             ## */
---
> /* ##  Changes ...: 2003-07-13 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-03-05 (daniel.scheibli@edelbyte.org)             ## */
28,29c68
< /*
< Intel Open Source License 
---
> #if defined(IOMTR_OS_LINUX)
31,73d69
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< /// ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOManagerLinux.cpp: Implementation of the OS-specific function
< // Manager::Report_Disks() for Linux.  See IOManager.cpp for the remaining
< // functions in Manager.
< // 
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
75d70
< #ifdef LINUX
194c189
< #if _DEBUG
---
> #ifdef _DEBUG
214c209
<   //   22     0 1073741823 hdc
---
> 	//   22     0 1073741823 hdc
282c277,279
< #endif /* LINUX */
---
> 
> 
> #endif // IOMTR_OS_LINUX
Index: iometer/src/IOManagerSolaris.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOManagerSolaris.cpp,v
retrieving revision 1.3
diff -r1.3 IOManagerSolaris.cpp
10a11,46
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
15c51,55
< /* ##  Changes ...: 2003-03-04 (joe@eiler.net)                            ## */
---
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-03-04 (joe@eiler.net)                            ## */
22,23c62
< /*
< Intel Open Source License 
---
> #if defined(IOMTR_OS_SOLARIS)
25,67d63
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< /// ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOManagerSolaris.cpp: Implementation of the OS-specific function
< // Manager::Report_Disks() for Solaris.  See IOManager.cpp for the remaining
< // functions in Manager.
< // 
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
69d64
< #ifdef SOLARIS
252c247
< #if defined(__i386) || defined (_IA64)
---
> #if defined(IOMTR_CPU_I386) || defined(IOMTR_CPU_IA64)
254c249
< #elif defined(__sparc)
---
> #elif defined(IOMTR_CPU_SPARC)
257c252
< 	"ERROR: compiler should not reach here."
---
>  #warning ===> WARNING: You have to do some coding here to get the port done!
260c255
< #if defined(__i386) || defined (_IA64)
---
> #if defined(IOMTR_CPU_I386) || defined(IOMTR_CPU_IA64)
274c269
< #elif defined(__sparc)
---
> #elif defined(IOMTR_CPU_SPARC)
286c281
< 	"ERROR: compiler should not reach here."
---
>  #warning ===> WARNING: You have to do some coding here to get the port done!
335c330
< #if defined (__i386) || defined (_IA64)
---
> #if defined(IOMTR_CPU_I386) || defined(IOMTR_CPU_IA64)
546c541
< #endif  // __i386  || _IA64
---
> #endif  // IOMTR_CPU_I386 || IOMTR_CPU_IA64
1240c1235,1238
< #endif // SOLARIS
---
> 
> 
> 
> #endif // IOMTR_OS_SOLARIS
Index: iometer/src/IOPortTCP.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOPortTCP.cpp,v
retrieving revision 1.6
diff -r1.6 IOPortTCP.cpp
11a12,47
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
16c52,56
< /* ##  Changes ...: 2003-04-26 (daniel.scheibli@edelbyte.org)             ## */
---
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-04-26 (daniel.scheibli@edelbyte.org)             ## */
29,30d68
< /*
< Intel Open Source License 
32,79d69
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOPortTCP.cpp: Implementation of the Port class using TCP/IP sockets.
< //
< // Port objects are used for communication between Dynamo and Iometer.  The 
< // Port class is an abstract (pure virtual) class that defines the interface
< // and includes code common to all implementations.  The class PortTCP
< // provides a socket-based implementation of Port.
< //
< // This file is used by both Iometer and Dynamo.
< //
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
81,82c71,72
< #if defined (_WIN32) || defined (_WIN64)
< #include <afx.h>
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include <afx.h>
83a74
> 
86,87c77,78
< #if defined (_WIN32) || defined (_WIN64)
< #include "mswsock.h"
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include "mswsock.h"
90,93c81,84
< #ifdef LINUX
< #include <sys/time.h>
< #include <sys/types.h>
< #include <unistd.h>
---
> #if defined(IOMTR_OS_LINUX)
>  #include <sys/time.h>
>  #include <sys/types.h>
>  #include <unistd.h>
96a88
> 
106,111c98,103
< #if defined (_WIN32) || defined (_WIN64)
< #ifdef _DEBUG
< #define new DEBUG_NEW
< #undef THIS_FILE
< static char THIS_FILE[] = __FILE__;
< #endif
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #ifdef _DEBUG
>   #define new DEBUG_NEW
>   #undef THIS_FILE
>   static char THIS_FILE[] = __FILE__;
>  #endif
114a107
> 
136c129
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
163c156
< #endif // WIN32 || _WIN64
---
> #endif // IOMTR_OS_WIN32 || IOMTR_OS_WIN64
174c167
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
191c184
< #endif // WIN32 || _WIN64
---
> #endif // IOMTR_OS_WIN32 || IOMTR_OS_WIN64
203c196
< #ifdef LINUX
---
> #if defined(IOMTR_OS_LINUX)
262c255
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
387c380
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
429c422
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
431c424
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
433c426,428
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
> #endif
441c436
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
472c467
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
536c531
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
599c594
< #else /* Not win32 || _WIN64 */
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
606c601,603
< #endif // WIN32 || _WIN64 // (asynch code)
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
> #endif   // (asynch code)
632c629
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
639c636
< #else // !WIN32 || _WIN64
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
644c641,643
< #endif // WIN32 || _WIN64
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
> #endif
674c673
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
679c678
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
685a685,686
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
738c739
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
768c769
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
774a776,777
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
796c799
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
807c810
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
813a817,818
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
893c898
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
918c923
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
924a930,931
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
940c947
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
951c958
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
957a965,966
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
968c977
< #ifdef LINUX
---
> #if defined(IOMTR_OS_LINUX)
969a979,980
> #elif defined(IOMTR_OS_SOLARIS) || defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
> 	DWORD           bytes_available = 0;
971c982
< 	DWORD bytes_available = 0;
---
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
992c1003
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
1045c1056
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
1066c1077
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
1068c1079
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
1069a1081,1082
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
Index: iometer/src/IOPortTCP.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/IOPortTCP.h,v
retrieving revision 1.2
diff -r1.2 IOPortTCP.h
12a13,48
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
17c53,59
< /* ##  Changes ...: 2003-03-01 (daniel.scheibli@edelbyte.org)             ## */
---
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Massive cleanup of this file (grouping the          ## */
> /* ##                 different blocks together).                         ## */
> /* ##               - Implemented the IOMTR_[OSFAMILY|OS|CPU]_* global    ## */
> /* ##                 define as well as their integrity checks.           ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               2003-03-01 (daniel.scheibli@edelbyte.org)             ## */
22,74d63
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // IOPortTCP.h: Interface for an implementation of the Port class using
< // TCP/IP sockets.
< //
< // Port objects are used for communication between Dynamo and Iometer.  The 
< // Port class is an abstract (pure virtual) class that defines the interface
< // and includes code common to all implementations.  The class PortTCP
< // provides a socket-based implementation of Port.  
< //
< // This file is used by both Iometer and Dynamo.
< //
< //////////////////////////////////////////////////////////////////////
< /* ######################################################################### */
< 
76c65
< 	#define PORTTCP_DEFINED
---
> #define PORTTCP_DEFINED
83,89c72,80
< #ifdef UNIX
< #include <sys/socket.h>
< #include <netinet/in.h>
< #include <netdb.h>
< #include <arpa/inet.h>
< #else // WIN_NT
< #include "winsock2.h"
---
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #include <sys/socket.h>
>  #include <netinet/in.h>
>  #include <netdb.h>
>  #include <arpa/inet.h>
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
>  #include "winsock2.h"
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
92,93c83,84
< #ifdef UNIX
< #define SOCKET	int
---
> #if defined(IOMTR_OSFAMILY_UNIX)
>  #define SOCKET	int
123c114
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
126c117
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
128a120,121
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
147c140,142
< #endif
---
> 
> 
> #endif // PORTTCP_DEFINED
Index: iometer/src/Iometer.dsp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/Iometer.dsp,v
retrieving revision 1.4
diff -r1.4 Iometer.dsp
45,46c45,46
< # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
< # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
---
> # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_MBCS" /YX /FD /c
> # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_MBCS" /YX /FD /c
72,73c72,73
< # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
< # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_GALILEO_" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DETAILS" /FR /FD /GZ /c
---
> # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_MBCS" /YX /FD /GZ /c
> # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_GALILEO_" /D "WIN32" /D "_WINDOWS" /D "IOMTR_OSFAMILY_WINDOWS" /D "IOMTR_OS_WIN32" /D "IOMTR_CPU_I386" /D "LITTLE_ENDIAN_ARCH" /D "_MBCS" /D "_DETAILS" /FR /FD /GZ /c
Index: iometer/src/NetTCP.cpp
===================================================================
RCS file: /cvsroot/iometer/iometer/src/NetTCP.cpp,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 NetTCP.cpp
1,2c1,59
< /*
< Intel Open Source License 
---
> /* ######################################################################### */
> /* ##                                                                     ## */
> /* ##  Dynamo / NetTCP.cpp                                                ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Job .......: Implements the NetAsyncTCP class for asynchronous     ## */
> /* ##               TCP/IP sockets for communicating between network      ## */
> /* ##               workers.                                              ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: <none>                                                ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               - Added new header holding the changelog.             ## */
> /* ##                                                                     ## */
> /* ######################################################################### */
4,48d60
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // NetAsyncTCP.cpp: Implementation of the Network class for asynchronous
< // TCP/IP sockets.
< //
< // Network objects are used for connections between network workers
< // in Dynamo (contrast Port, which is used for communication between
< // Dynamo and Iometer).
< //
< //////////////////////////////////////////////////////////////////////
50,51c62,63
< #if defined (_WIN32) || defined (_WIN64)
< #include <afx.h>
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include <afx.h>
55,65c67,77
< #if defined (_WIN32) || defined (_WIN64)
< #include "mswsock.h"
< #else // ! WIN32 || _WIN64
< #include <sys/socket.h>
< #include <netinet/in.h>
< #include <arpa/inet.h>
< #include <netinet/tcp.h>
< 
< #define SD_SEND	 0x01
< #define WSAENOTCONN		ENOTCONN
< #define WSA_IO_PENDING	ERROR_IO_PENDING
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include "mswsock.h"
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
>  #include <sys/socket.h>
>  #include <netinet/in.h>
>  #include <arpa/inet.h>
>  #include <netinet/tcp.h>
> 
>  #define SD_SEND	 0x01
>  #define WSAENOTCONN		ENOTCONN
>  #define WSA_IO_PENDING	ERROR_IO_PENDING
67c79,81
< #define wsprintf sprintf
---
>  #define wsprintf sprintf
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
83c97
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
90c104
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
100c114
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
106c120
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
134c148
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
224c238
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
237c251
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
247c261,262
< 
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
264c279
< #ifdef LINUX
---
> #if defined(IOMTR_OS_LINUX)
266c281
< #else
---
> #elif defined(IOMTR_OS_SOLARIS) || defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
267a283,284
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
269c286,287
< #ifdef UNIX
---
> 
> #if defined(IOMTR_OSFAMILY_UNIX)
278c296
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
280c298
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
281a300,301
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
292c312
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
294c314
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
295a316,317
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
325c347
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
327c349
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
329c351,353
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
334c358
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
336c360
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
338c362,364
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
373c399
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
390c416
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
416,417c442,443
< 	fd_set		sock_set;		// used by select function.
< #ifdef LINUX
---
> 	fd_set	  sock_set;		// used by select function.
> #if defined(IOMTR_OS_LINUX)
418a445,446
> #elif defined(IOMTR_OS_SOLARIS) || defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
> 	int	  addr_len;		// used by accept.
420c448
< 	int			addr_len;		// used by accept.
---
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
422c450,451
< #ifdef UNIX
---
> 
> #if defined(IOMTR_OSFAMILY_UNIX)
435c464
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
441c470
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
443c472,474
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
450c481
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
455c486
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
464c495
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
469c500
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
474c505,507
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
484c517
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
496c529
< #else // !UNIX
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
507c540,542
< #endif // UNIX
---
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done!
> #endif
548c583
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
550c585
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
551a587,588
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
561c598
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
563c600
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
564a602,603
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
565a605
> 
576c616
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
579c619
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
583a624,625
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
584a627
> 
630c673
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
637c680
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
638a682,683
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
685c730
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
692c737
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
693a739,740
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
739c786
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
744c791
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
745a793,794
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
776c825
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
778c827
< #else // UNIX
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
779a829,830
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
792c843
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
794c845
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
796a848,849
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
805c858
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
807c860
< #else
---
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
808a862,863
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
826c881
< #if defined(UNIX) && defined(WORKAROUND_LISTEN_BUG)
---
> #if defined(IOMTR_OSFAMILY_UNIX) && defined(WORKAROUND_LISTEN_BUG)
847c902
< #if (NETWORK_DETAILS || _DEBUG) && !defined(LINUX)
---
> #if (NETWORK_DETAILS || _DEBUG) && !defined(IOMTR_OS_LINUX)
856c911
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
867c922
< #else
---
> #elif defined(IOMTR_OSFAMILY_WINDOWS)
876a932,933
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
882c939
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
921c978
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
Index: iometer/src/NetTCP.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/NetTCP.h,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 NetTCP.h
1,49c1,57
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< // ==========================================================================
< //                Copyright (C) 1997-2000 Intel Corporation
< //                          All rights reserved                               
< //                INTEL CORPORATION PROPRIETARY INFORMATION                   
< //    This software is supplied under the terms of a license agreement or     
< //    nondisclosure agreement with Intel Corporation and may not be copied    
< //    or disclosed except in accordance with the terms of that agreement.     
< // ==========================================================================
< //
< // NetAsyncTCP.h: Interface for an implementation of the Network class for
< // asynchronous TCP/IP sockets.
< //
< // Network objects are used for connections between network workers
< // in Dynamo (contrast Port, which is used for communication between
< // Dynamo and Iometer).
< //
< //////////////////////////////////////////////////////////////////////
< 
---
> /* ######################################################################### */
> /* ##                                                                     ## */
> /* ##  Dynamo / NetTCP.h                                                  ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Job .......: Class definition for the NetAsyncTCP class.           ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: <none>                                                ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               - Added new header holding the changelog.             ## */
> /* ##                                                                     ## */
> /* ######################################################################### */
51,62c59
< 	#define NET_ASYNC_TCP_DEFINED
< 
< #include "Network.h"
< #if defined (_WIN32) || defined (_WIN64)
< #include "winsock2.h"
< #else // UNIX
< #include <sys/time.h>
< #include <unistd.h>
< #include <sys/socket.h>
< #include <netinet/in.h>
< #include <netdb.h>
< #include <arpa/inet.h>
---
> #define NET_ASYNC_TCP_DEFINED
64d60
< #define SOCKADDR_IN sockaddr_in
66c62,77
< typedef struct linger LINGER;
---
> #include "Network.h"
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
>  #include "winsock2.h"
> #elif defined(IOMTR_OS_LINUX) || defined(IOMTR_OS_SOLARIS)
>  #include <sys/time.h>
>  #include <unistd.h>
>  #include <sys/socket.h>
>  #include <netinet/in.h>
>  #include <netdb.h>
>  #include <arpa/inet.h>
> 
>  #define SOCKADDR_IN sockaddr_in
> 
>  typedef struct linger LINGER;
> #else
>  #warning ===> WARNING: You have to do some coding here to get the port done! 
69a81
> 
102c114
< #ifdef UNIX
---
> #if defined(IOMTR_OSFAMILY_UNIX)
111c123
< #endif // UNIX
---
> #endif // IOMTR_OSFAMILY_UNIX
122c134
< #if defined (_WIN32) || defined (_WIN64)
---
> #if defined(IOMTR_OS_WIN32) || defined(IOMTR_OS_WIN64)
128a141,142
> 
> 
Index: iometer/src/vipl.h
===================================================================
RCS file: /cvsroot/iometer/iometer/src/vipl.h,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 vipl.h
1,77c1,57
< /*
< Intel Open Source License 
< 
< Copyright (c) 2001 Intel Corporation 
< All rights reserved. 
< Redistribution and use in source and binary forms, with or without
< modification, are permitted provided that the following conditions are met: 
< 
<    Redistributions of source code must retain the above copyright notice,
<    this list of conditions and the following disclaimer. 
< 
<    Redistributions in binary form must reproduce the above copyright notice,
<    this list of conditions and the following disclaimer in the documentation
<    and/or other materials provided with the distribution. 
< 
<    Neither the name of the Intel Corporation nor the names of its contributors
<    may be used to endorse or promote products derived from this software
<    without specific prior written permission.
<  
< THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
< AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
< IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
< ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE LIABLE
< FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
< DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
< SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
< CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
< OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
< USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
< 
< */
< /*++
< 
< Copyright (c) 1996, 1997 Intel Corp. All Rights Reserved.
< 
< VIRTUAL INTERFACE ARCHITECTURE VIPL.H  
< 
< Copyright (c) - 1998 Intel Corporation
< 
< Intel Corporation hereby grants a non-exclusive license under Intel's
< copyright to copy, modify and distribute this software for any purpose
< and without fee, provided that the above copyright notice and the
< following paragraphs appear on all copies.
< 
< Intel Corporation makes no representation that this source code 
< is correct or is an accurate representation of any standard.
< 
< IN NO EVENT SHALL INTEL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, OR
< SPECULATIVE DAMAGES, (INCLUDING WITHOUT LIMITING THE FORGOING,
< CONSEQUENTIAL, INCIDENTAL AND SPECIAL DAMAGES) INCLUDING, BUT NOT 
< LIMITED TO INFRINGEMENT, LOSS OF USE, BUSINESS INTERRUPTIONS, AND LOSS 
< OF PROFITS, IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE NOTICE OF THE 
< POSSIBILITY OF ANY SUCH DAMAGES.
< 
< INTEL CORPORATION SPECIFICALLY DISCLAIMS ANY WARRANTIES INCLUDING, BUT 
< NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR 
< A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  THE SOFTWARE PROVIDED 
< HEREUNDER IS ON AN "AS IS" BASIS AND INTEL CORPORATION HAS NO 
< OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS OR 
< MODIFICATIONS.
< 
< Module Name: 
< vipl.h
< 
< Abstract:
< 
<   vipl.h contains the complete user interface to the VIPL.
< 
< Revison:
< 
<   060598    Modifications to match Rev 0.95 of
<             the "Intel VI Architecture Implementation Guide"
<   040698    Modifications to match Rev 0.7 of
<             the "Intel VI Architecture Implementation Guide"
< 
< --*/
< 
---
> /* ######################################################################### */
> /* ##                                                                     ## */
> /* ##  Dynamo / vipl.h                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Job .......: Contains the complete user interface to the VIPL.     ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Intel Open Source License                                          ## */
> /* ##                                                                     ## */
> /* ##  Copyright (c) 2001 Intel Corporation                               ## */
> /* ##  All rights reserved.                                               ## */
> /* ##  Redistribution and use in source and binary forms, with or         ## */
> /* ##  without modification, are permitted provided that the following    ## */
> /* ##  conditions are met:                                                ## */
> /* ##                                                                     ## */
> /* ##  Redistributions of source code must retain the above copyright     ## */
> /* ##  notice, this list of conditions and the following disclaimer.      ## */
> /* ##                                                                     ## */
> /* ##  Redistributions in binary form must reproduce the above copyright  ## */
> /* ##  notice, this list of conditions and the following disclaimer in    ## */
> /* ##  the documentation and/or other materials provided with the         ## */
> /* ##  distribution.                                                      ## */
> /* ##                                                                     ## */
> /* ##  Neither the name of the Intel Corporation nor the names of its     ## */
> /* ##  contributors may be used to endorse or promote products derived    ## */
> /* ##  from this software without specific prior written permission.      ## */
> /* ##                                                                     ## */
> /* ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             ## */
> /* ##  CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,      ## */
> /* ##  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           ## */
> /* ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           ## */
> /* ##  DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS  CONTRIBUTORS BE    ## */
> /* ##  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   ## */
> /* ##  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,           ## */
> /* ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,    ## */
> /* ##  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    ## */
> /* ##  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR     ## */
> /* ##  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT    ## */
> /* ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY    ## */
> /* ##  OF SUCH DAMAGE.                                                    ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Remarks ...: <none>                                                ## */
> /* ##                                                                     ## */
> /* ## ------------------------------------------------------------------- ## */
> /* ##                                                                     ## */
> /* ##  Changes ...: 2003-07-18 (daniel.scheibli@edelbyte.org)             ## */
> /* ##               - Moved to the use of the IOMTR_[OSFAMILY|OS|CPU]_*   ## */
> /* ##                 global defines.                                     ## */
> /* ##               - Integrated the License Statement into this header.  ## */
> /* ##               - Added new header holding the changelog.             ## */
> /* ##                                                                     ## */
> /* ######################################################################### */
