globals.c revision 77e42cafa8942eba6e7706c9d9c25a04ec7cdda5
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@us.ibm.com if you have 21* questions or comments. 22* 23* Project Website: TBD 24* 25* $Id: globals.c,v 1.5 2008/02/14 08:22:23 subrata_modak Exp $ 26* 27*/ 28 29#ifdef WINDOWS 30#include <windows.h> 31#else 32#include <sys/types.h> 33#include <unistd.h> 34#include <pthread.h> 35#endif 36#include <time.h> 37#include <string.h> 38 39#include "defs.h" 40#include "globals.h" 41#include "main.h" 42#include "threading.h" 43#include "sfunc.h" 44 45/* Globals */ 46unsigned int gbl_dbg_lvl; /* the global debugging level */ 47unsigned long glb_flags; /* global flags GLB_FLG_xxx */ 48time_t global_start_time; /* global start time */ 49unsigned short glb_run = 1; /* global run flag */ 50 51void init_gbl_data(test_env_t *env) 52{ 53 env->kids = 0; 54 env->shared_mem = NULL; 55 env->data_buffer = NULL; 56 env->bmp_siz = 0; 57 env->pThreads = NULL; 58 env->bContinue = TRUE; 59 env->pass_count = 0; 60 env->start_time = time(NULL); /* overall start time of test */ 61 env->end_time = 0; /* overall end time of test */ 62 memset(&env->global_stats, 0, sizeof(stats_t)); 63 memset(&env->cycle_stats, 0, sizeof(stats_t)); 64} 65 66#ifdef WINDOWS 67/* 68void PrintLastSystemError(unsigned long ulErrorNum) 69{ 70 LPVOID lpMsgBuf; 71 FormatMessage( 72 FORMAT_MESSAGE_ALLOCATE_BUFFER | 73 FORMAT_MESSAGE_FROM_SYSTEM | 74 FORMAT_MESSAGE_IGNORE_INSERTS, 75 NULL, 76 ulErrorNum, 77 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language 78 (LPTSTR) &lpMsgBuf, 79 0, 80 NULL 81 ); 82 pMsg(INFO,"%s",lpMsgBuf); 83 LocalFree(lpMsgBuf); 84} 85*/ 86 87void GetSystemErrorString(unsigned long ulErrorNum, void *buffer) 88{ 89 /* Use Default language */ 90 FormatMessage( 91 FORMAT_MESSAGE_FROM_SYSTEM | 92 FORMAT_MESSAGE_IGNORE_INSERTS, 93 NULL, 94 ulErrorNum, 95 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 96 (LPTSTR) &buffer, 97 0, 98 NULL 99 ); 100} 101#endif 102