diff options
Diffstat (limited to 'sysspec.h')
-rw-r--r-- | sysspec.h | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/sysspec.h b/sysspec.h new file mode 100644 index 0000000..ba57a96 --- /dev/null +++ b/sysspec.h @@ -0,0 +1,168 @@ +/* +** sysspec.h +** Header file for sysspec.c +** BYTEmark (tm) +** BYTE's Native Mode Benchmarks +** Rick Grehan, BYTE Magazine +** +** Creation: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ + +/* +** Standard includes +*/ +#include <stdlib.h> +#include <stdio.h> +#include <time.h> +#include <string.h> + +#include "nmglobal.h" + +#if !defined(MAC) && !defined(OSX) +#include <malloc.h> +#endif + + +/* +** System-specific includes +*/ + +#ifdef DOS16MEM +#include "dos.h" +#endif + +/* #include "time.h" +#include "io.h" +#include "fcntl.h" +#include "sys\stat.h" */ +/* Removed for MSVC++ +#include "alloc.h" +*/ + +/* +** MAC Time Manager routines (from Code Warrior) +*/ +#ifdef MACTIMEMGR +#include <memory.h> +#include <lowmem.h> +#include <Types.h> +#include <Timer.h> +extern struct TMTask myTMTask; +extern long MacHSTdelay,MacHSTohead; +#endif + +/* +** Windows 3.1 timer defines +*/ +#ifdef WIN31TIMER +#include <windows.h> +#include <toolhelp.h> +TIMERINFO win31tinfo; +HANDLE hThlp; +FARPROC lpfn; +#endif + +/************** +** EXTERNALS ** +**************/ +extern ulong mem_array[2][MEM_ARRAY_SIZE]; +extern int mem_array_ents; +extern int global_align; + +/**************************** +** FUNCTION PROTOTYPES ** +****************************/ + +farvoid *AllocateMemory(unsigned long nbytes, + int *errorcode); + +void FreeMemory(farvoid *mempointer, + int *errorcode); + +void MoveMemory( farvoid *destination, + farvoid *source, + unsigned long nbytes); + +#ifdef DOS16MEM +void FarDOSmemmove(farvoid *destination, + farvoid *source, + unsigned long nbytes); +#endif + +void InitMemArray(void); + +int AddMemArray(ulong true_addr, ulong adj_addr); + +int RemoveMemArray(ulong adj_addr,ulong *true_addr); + +void ReportError(char *context, int errorcode); + +void ErrorExit(); + +void CreateFile(char *filename, + int *errorcode); + +#ifdef DOS16 +int bmOpenFile(char *fname, + int *errorcode); + +void CloseFile(int fhandle, + int *errorcode); + +void readfile(int fhandle, + unsigned long offset, + unsigned long nbytes, + void *buffer, + int *errorcode); + +void writefile(int fhandle, + unsigned long offset, + unsigned long nbytes, + void *buffer, + int *errorcode); +#endif + +#ifdef LINUX +FILE *bmOpenFile(char *fname, + int *errorcode); + +void CloseFile(FILE *fhandle, + int *errorcode); + +void readfile(FILE *fhandle, + unsigned long offset, + unsigned long nbytes, + void *buffer, + int *errorcode); + +void writefile(FILE *fhandle, + unsigned long offset, + unsigned long nbytes, + void *buffer, + int *errorcode); + +#endif + +unsigned long StartStopwatch(); + +unsigned long StopStopwatch(unsigned long startticks); + +unsigned long TicksToSecs(unsigned long tickamount); + +double TicksToFracSecs(unsigned long tickamount); + |