84 lines
2.0 KiB
C
84 lines
2.0 KiB
C
#define MAXTHREADS 50
|
|
#define WAIT_FOREVER (ULONG)-1
|
|
|
|
#ifdef WIN32
|
|
typedef struct _THREADDATA {
|
|
DWORD ThreadId;
|
|
ULONG ThreadNumber;
|
|
ULONG ThreadAffinity;
|
|
HANDLE ThreadHandle;
|
|
ULONG StartTime;
|
|
ULONG FinishTime;
|
|
|
|
HANDLE CurIoHandle;
|
|
PULONG CurValue;
|
|
PULONG CurValue2;
|
|
HANDLE UniqueFile;
|
|
PUCHAR Buffer1;
|
|
PUCHAR Buffer2;
|
|
|
|
ULONG pad1[64];
|
|
ULONG UniqueValue;
|
|
ULONG pad2[64];
|
|
ULONG UniqueValue2;
|
|
ULONG pad3[64];
|
|
|
|
} THREADDATA, *PTHREADDATA;
|
|
#else
|
|
typedef struct _THREADDATA {
|
|
ULONG ThreadNumber;
|
|
ULONG ThreadAffinity;
|
|
HANDLE ThreadHandle;
|
|
ULONG StartTime;
|
|
ULONG FinishTime;
|
|
|
|
HFILE CurIoHandle;
|
|
PULONG CurValue;
|
|
PULONG CurValue2;
|
|
HFILE UniqueFile;
|
|
PUCHAR Buffer1;
|
|
PUCHAR Buffer2;
|
|
ULONG UniqueValue;
|
|
|
|
ULONG pad1[64];
|
|
ULONG UniqueValue;
|
|
ULONG pad2[64];
|
|
ULONG UniqueValue2;
|
|
ULONG pad3[64];
|
|
|
|
} THREADDATA, *PTHREADDATA;
|
|
#endif
|
|
|
|
extern VOID (* InitThreadForTest)(PTHREADDATA, BOOLEAN);
|
|
extern ULONG (* RunTestThread)(PTHREADDATA);
|
|
|
|
extern ULONG RunNo;
|
|
extern ULONG TestParam;
|
|
extern BOOLEAN TestError;
|
|
extern ULONG MultIter;
|
|
|
|
|
|
VOID DoNothing (PTHREADDATA, BOOLEAN);
|
|
VOID UniqueFile (PTHREADDATA, BOOLEAN);
|
|
VOID CommonFile (PTHREADDATA, BOOLEAN);
|
|
VOID CommonValue (PTHREADDATA, BOOLEAN);
|
|
VOID UniqueValue (PTHREADDATA, BOOLEAN);
|
|
|
|
ULONG R3ReadCell (PTHREADDATA);
|
|
ULONG R3WriteCell (PTHREADDATA);
|
|
ULONG R3ReadWriteCell(PTHREADDATA);
|
|
ULONG R3Interlock (PTHREADDATA);
|
|
ULONG R3MemShare (PTHREADDATA);
|
|
ULONG R3MemCompare (PTHREADDATA);
|
|
ULONG R3MemCopy (PTHREADDATA);
|
|
ULONG TestSeqReads (PTHREADDATA);
|
|
ULONG TestSeqWrites (PTHREADDATA);
|
|
ULONG TxIOs (PTHREADDATA);
|
|
|
|
|
|
|
|
ULONG TestMovCall (PTHREADDATA);
|
|
ULONG TestMovCall2 (PTHREADDATA);
|
|
ULONG TestCallInd (PTHREADDATA);
|
|
ULONG TestCallInd2 (PTHREADDATA);
|