16e112132382b6442b636ee39b02951d771408e8frobbiew/*
26e112132382b6442b636ee39b02951d771408e8frobbiew* Disktest
36e112132382b6442b636ee39b02951d771408e8frobbiew* Copyright (c) International Business Machines Corp., 2001
46e112132382b6442b636ee39b02951d771408e8frobbiew*
56e112132382b6442b636ee39b02951d771408e8frobbiew*
66e112132382b6442b636ee39b02951d771408e8frobbiew* This program is free software; you can redistribute it and/or modify
76e112132382b6442b636ee39b02951d771408e8frobbiew* it under the terms of the GNU General Public License as published by
86e112132382b6442b636ee39b02951d771408e8frobbiew* the Free Software Foundation; either version 2 of the License, or
96e112132382b6442b636ee39b02951d771408e8frobbiew* (at your option) any later version.
106e112132382b6442b636ee39b02951d771408e8frobbiew*
116e112132382b6442b636ee39b02951d771408e8frobbiew* This program is distributed in the hope that it will be useful,
126e112132382b6442b636ee39b02951d771408e8frobbiew* but WITHOUT ANY WARRANTY; without even the implied warranty of
136e112132382b6442b636ee39b02951d771408e8frobbiew* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
146e112132382b6442b636ee39b02951d771408e8frobbiew* GNU General Public License for more details.
156e112132382b6442b636ee39b02951d771408e8frobbiew*
166e112132382b6442b636ee39b02951d771408e8frobbiew* You should have received a copy of the GNU General Public License
176e112132382b6442b636ee39b02951d771408e8frobbiew* along with this program; if not, write to the Free Software
186e112132382b6442b636ee39b02951d771408e8frobbiew* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
196e112132382b6442b636ee39b02951d771408e8frobbiew*
206e112132382b6442b636ee39b02951d771408e8frobbiew*  Please send e-mail to yardleyb@us.ibm.com if you have
216e112132382b6442b636ee39b02951d771408e8frobbiew*  questions or comments.
226e112132382b6442b636ee39b02951d771408e8frobbiew*
236e112132382b6442b636ee39b02951d771408e8frobbiew*  Project Website:  TBD
246e112132382b6442b636ee39b02951d771408e8frobbiew*
25605a5660dcadcda88ee0a4dd854d4a194270be68subrata_modak* $Id: childmain.h,v 1.7 2008/03/24 10:33:53 subrata_modak Exp $
266e112132382b6442b636ee39b02951d771408e8frobbiew*
276e112132382b6442b636ee39b02951d771408e8frobbiew*/
286e112132382b6442b636ee39b02951d771408e8frobbiew
296b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew#ifndef _CHILDMAIN_H
306b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew#define _CHILDMAIN_H 1
316b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew
326e112132382b6442b636ee39b02951d771408e8frobbiew#define SEEK_FAILURE	1
336e112132382b6442b636ee39b02951d771408e8frobbiew#define ACCESS_FAILURE	2
346e112132382b6442b636ee39b02951d771408e8frobbiew#define DATA_MISCOMPARE	3
356e112132382b6442b636ee39b02951d771408e8frobbiew
3677e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modaktypedef enum mc_func {
3777e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak	EXP,ACT,REREAD
3877e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak} mc_func_t;
3977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak
40605a5660dcadcda88ee0a4dd854d4a194270be68subrata_modak#define DMOFFSTR "Thread %d: First miscompare at byte offset %zd (0x%zX)\n"
416e112132382b6442b636ee39b02951d771408e8frobbiew
426b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew#ifdef WINDOWS
4377e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define DMSTR "Thread %d: Data miscompare at lba %I64d (0x%I64X)\n"
4477e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define AFSTR "Thread %d: %s failed: seek %I64u, lba %I64u (0x%I64X), got = %ld, asked for = %ld, errno %lu\n"
4577e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define SFSTR "Thread %d: seek failed seek %I64d, lba = %I64d, request pos = %I64d, seek pos = %I64d, errno %lu\n"
4677e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define DMFILESTR "\n********** %s (Target: %s, LBA: %I64d, Offset: %d) **********\n"
474874b226af44b7a67975b72574e555f3aaf33037mridgeDWORD WINAPI ChildMain(test_ll_t *);
486e112132382b6442b636ee39b02951d771408e8frobbiew#else
4977e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define DMSTR "Thread %d: Data miscompare at lba %lld (0x%llX)\n"
5077e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define AFSTR "Thread %d: %s failed: seek %llu, lba %lld (0x%llX), got = %ld, asked for = %ld, errno %lu\n"
5177e42cafa8942eba6e7706c9d9c25a04ec7cdda5subrata_modak#define SFSTR "Thread %d: seek failed seek %lld, lba = %lld, request pos = %lld, seek pos = %lld, errno %lu\n"
52605a5660dcadcda88ee0a4dd854d4a194270be68subrata_modak#define DMFILESTR "\n********** %s (Target: %s, LBA: %lld, Offset: %zd) **********\n"
536e112132382b6442b636ee39b02951d771408e8frobbiewvoid *ChildMain(void *);
546e112132382b6442b636ee39b02951d771408e8frobbiew#endif
556b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew
566b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew#endif /* _CHILDMAIN_H */
576b98df5129acc12aad3167a9c6c12fda5afc6c31robbiew
58