home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / mdisk.lzh / MDisk.H < prev    next >
C/C++ Source or Header  |  1993-12-02  |  2KB  |  76 lines

  1. #ifndef __MDISK_H__
  2.   #define __MDISK_H__
  3.  
  4.   #define  INCL_NOPMAPI
  5.   #define  INCL_DOS
  6.   #include <os2.h>
  7.  
  8.   #define  CPU                0
  9.   #define  DISK1              0
  10.   #define  DISK2              1
  11.  
  12.   /* from iostone.c */
  13.   #define  BFLUSH_FILE_SIZE (512L*1024L)   /*size of files used to flush buffers*/
  14.   #define  NBFLUSH_FILES    8              /*number of files used to flush buffers*/
  15.   #define  NBLOCKSIZES      9              /*number of different block sizes*/
  16.   #define  SEED             34710373L      /*random number generator seed*/
  17.   #define  CONST            500000L        /*iostone normalization constant*/
  18.   #define  ITER             4              /*number of iterations of the code*/
  19.   #define  BUFFERSIZE       (16L*1024L)    /*size of temporary buffer*/
  20.   #define  NSETS            4              /*number of sets of files*/
  21.   #define  SET_SIZE         99             /*number of files in each set*/
  22.   #define  FNAMELEN         8              /*maximum file name length*/
  23.  
  24.   struct _CpuThdVars
  25.     {
  26.       TID   tid;
  27.       HEV   hevReady,
  28.             hevDone;
  29.       ULONG ulCount;
  30.       INT   iExitCode;
  31.     };
  32.   typedef struct _CpuThdVars CTV, *PCTV;
  33.  
  34.   struct _DskThdVars
  35.     {
  36.       ULONG ulTask;
  37.       TID   tid;
  38.       HEV   hevReady,
  39.             hevDone;
  40.       CHAR  szDrive[ 8 ];
  41.       CHAR  szDir[ 16 ];
  42.       ULONG ulCount;
  43.       INT   iExitCode;
  44.  
  45.       /* globals from IOStone */
  46.       CHAR  tmp[ FNAMELEN ];                    /*a temporary string*/
  47.       CHAR  *files[ NSETS ][ SET_SIZE ];        /*array of file names*/
  48.       CHAR  *buf_flush_files[ NBFLUSH_FILES ];  /*array of names of files to*/
  49.                                                   /*flush system buffers*/
  50.       CHAR  buffer[ BUFFERSIZE ];               /*a temporary buffer*/
  51.  
  52.       LONG  nbytes;                         /*number of bytes transfered*/
  53.       INT   fd;                             /*file descriptor*/
  54.       LONG  bsize[ NBLOCKSIZES ];           /*array for different block sizes*/
  55.       INT   bfreq[ NBLOCKSIZES ];           /*number of accesses for each block*/
  56.     };
  57.   typedef struct _DskThdVars DTV, *PDTV;
  58.  
  59.   /* threads */
  60.   VOID APIENTRY ThdDskPerf( ULONG ulTask );
  61.   VOID APIENTRY ThdCpuPerf( ULONG ulTask );
  62.  
  63.   /* function prototypes */
  64.   void init( PDTV pDisk );
  65.   void removefiles( PDTV pDisk );
  66.  
  67.   /* global vars */
  68.   extern HEV                hevGo;
  69.  
  70. #endif  /* __MDISK_H__ */
  71.  
  72.  
  73.  
  74.  
  75.  
  76.