/* dbench version 2 Copyright (C) Andrew Tridgell 1999 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "config.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_SYS_VFS_H #include #endif #ifdef HAVE_SYS_STATVFS_H #include #endif #include #ifdef HAVE_SYS_MOUNT_H #include #endif #include #include #include #ifdef HAVE_STDINT_H #include #endif #include #include #include #if HAVE_ATTR_XATTR_H #include #elif HAVE_SYS_XATTR_H #include #elif HAVE_SYS_ATTRIBUTES_H #include #endif #ifdef HAVE_SYS_EXTATTR_H #include #endif #ifdef HAVE_SYS_UIO_H #include #endif #ifndef MSG_WAITALL #define MSG_WAITALL 0x100 #endif #define PRINT_FREQ 1 #ifndef MIN #define MIN(x,y) ((x)<(y)?(x):(y)) #endif #define TCP_PORT 7003 #define TCP_OPTIONS "TCP_NODELAY SO_REUSEADDR" #define BOOL int #define True 1 #define False 0 #define uint32 unsigned struct child_struct { int id; int nprocs; int status; int failed; int line; int done; int cleanup; const char *directory; double bytes; double bytes_done_warmup; }; /* CreateDisposition field. */ #define FILE_SUPERSEDE 0 #define FILE_OPEN 1 #define FILE_CREATE 2 #define FILE_OPEN_IF 3 #define FILE_OVERWRITE 4 #define FILE_OVERWRITE_IF 5 /* CreateOptions field. */ #define FILE_DIRECTORY_FILE 0x0001 #define FILE_WRITE_THROUGH 0x0002 #define FILE_SEQUENTIAL_ONLY 0x0004 #define FILE_NON_DIRECTORY_FILE 0x0040 #define FILE_NO_EA_KNOWLEDGE 0x0200 #define FILE_EIGHT_DOT_THREE_ONLY 0x0400 #define FILE_RANDOM_ACCESS 0x0800 #define FILE_DELETE_ON_CLOSE 0x1000 #ifndef O_DIRECTORY #define O_DIRECTORY 0200000 #endif #include "proto.h"