Home | History | Annotate | Download | only in disktest
      1 /*
      2  * Disktest
      3  * Copyright (c) International Business Machines Corp., 2001
      4  *
      5  *
      6  * This program is free software; you can redistribute it and/or modify
      7  * it under the terms of the GNU General Public License as published by
      8  * the Free Software Foundation; either version 2 of the License, or
      9  * (at your option) any later version.
     10  *
     11  * This program is distributed in the hope that it will be useful,
     12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14  * GNU General Public License for more details.
     15  *
     16  * You should have received a copy of the GNU General Public License
     17  * along with this program; if not, write to the Free Software
     18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     19  *
     20  *  Please send e-mail to yardleyb (at) us.ibm.com if you have
     21  *  questions or comments.
     22  *
     23  *
     24  * $Id: defs.h,v 1.5 2008/02/14 08:22:22 subrata_modak Exp $
     25  * $Log: defs.h,v $
     26  * Revision 1.5  2008/02/14 08:22:22  subrata_modak
     27  * Disktest application update to version 1.4.2, by, Brent Yardley <yardleyb (at) us.ibm.com>
     28  *
     29  * Revision 1.5  2006/04/21 23:10:43  yardleyb
     30  * Major updates for v1_3_3 of disktest.  View README for details.
     31  *
     32  * Revision 1.4  2005/10/12 23:13:35  yardleyb
     33  * Updates to code to support new function in disktest version 1.3.x.
     34  * Actual changes are recorded in the README
     35  *
     36  * Revision 1.3  2002/03/30 01:32:14  yardleyb
     37  * Major Changes:
     38  *
     39  * Added Dumping routines for
     40  * data miscompares,
     41  *
     42  * Updated performance output
     43  * based on command line.  Gave
     44  * one decimal in MB/s output.
     45  *
     46  * Rewrote -pL IO routine to show
     47  * correct stats.  Now show pass count
     48  * when using -C.
     49  *
     50  * Minor Changes:
     51  *
     52  * Code cleanup to remove the plethera
     53  * if #ifdef for windows/unix functional
     54  * differences.
     55  *
     56  * Revision 1.2  2002/02/21 19:37:34  yardleyb
     57  * Added license and header info
     58  *
     59  * Revision 1.1  2001/12/04 18:52:33  yardleyb
     60  * Checkin of new source files and removal
     61  * of outdated source
     62  *
     63  */
     64 #ifndef _DEFS_H
     65 #define _DEFS_H 1
     66 
     67 #include "sys/types.h"
     68 
     69 #ifdef WINDOWS
     70 #include <windows.h>
     71 #define ALLOC(size) HeapAlloc(GetProcessHeap(), 0, size)
     72 #define RESIZE(mem, size) HeapReAlloc(GetProcessHeap(), 0, mem, size)
     73 #define FREE(mem) HeapFree(GetProcessHeap(), 0, mem)
     74 #define GETPID()	_getpid()
     75 #define GETLASTERROR() GetLastError()
     76 #define INVALID_FD(fd) (fd == INVALID_HANDLE_VALUE)
     77 
     78 typedef __int64 OFF_T;
     79 typedef int pid_t;
     80 
     81 #else
     82 #include <stdlib.h>
     83 #define ALLOC(size) malloc(size)
     84 #define RESIZE(mem, size) realloc(mem, size)
     85 #define FREE(mem) free(mem)
     86 
     87 #define GETPID()	getpid()
     88 #define GETLASTERROR() errno
     89 #define INVALID_FD(fd) (fd == -1)
     90 
     91 #define TRUE 1
     92 #define FALSE 0
     93 
     94 typedef int BOOL;
     95 typedef void * HANDLE;
     96 
     97 /* typedef off_t OFF_T; */
     98 typedef long long int OFF_T;
     99 
    100 #endif /* WINDOWS */
    101 
    102 typedef enum op {
    103 	WRITER,READER,NONE,RETRY
    104 } op_t;
    105 
    106 typedef struct action {
    107 	op_t    oper;
    108 	unsigned long trsiz;
    109 	OFF_T   lba;
    110 } action_t;
    111 
    112 #endif /* _DEFS_H */
    113 
    114 
    115