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 * Project Website: TBD 24 * 25 * $Id: globals.c,v 1.6 2009/02/26 12:02:22 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 */ 46 unsigned int gbl_dbg_lvl; /* the global debugging level */ 47 unsigned long glb_flags; /* global flags GLB_FLG_xxx */ 48 time_t global_start_time; /* global start time */ 49 unsigned short glb_run = 1; /* global run flag */ 50 51 void 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 /* 68 void 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 87 void GetSystemErrorString(unsigned long ulErrorNum, void *buffer) 88 { 89 /* Use Default language */ 90 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | 91 FORMAT_MESSAGE_IGNORE_INSERTS, 92 NULL, 93 ulErrorNum, 94 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 95 (LPTSTR) & buffer, 0, NULL); 96 } 97 #endif 98