1/*
2 * Test parameters shared by all tests in threadTest suite.
3 */
4
5#ifndef	_TEST_PARAMS_H_
6#define _TEST_PARAMS_H_
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12#include <Security/cssmtype.h>
13
14typedef struct {
15	unsigned		numLoops;
16	char			verbose;
17	char			quiet;
18	unsigned		threadNum;
19	unsigned		testNum;
20	char			progressChar;
21	CSSM_CSP_HANDLE	cspHand;
22	CSSM_CL_HANDLE	clHand;
23	CSSM_TP_HANDLE	tpHand;
24	char			*testOpts;		// test-specific command line options
25	void			*perThread;		// test-specific per-thread info, e.g.,
26									// an array of CSSM_KEYs
27} TestParams;
28
29/* individual tests and their per-thread init routines */
30extern int cgConstructInit(TestParams *testParams);
31extern int cgConstruct(TestParams *testParams);
32extern int cgVerifyInit(TestParams *testParams);
33extern int cgVerify(TestParams *testParams);
34extern int sslPingInit(TestParams *testParams);
35extern int sslPing(TestParams *testParams);
36extern int getFieldsInit(TestParams *testParams);
37extern int getFields(TestParams *testParams);
38extern int getCachedFieldsInit(TestParams *testParams);
39extern int getCachedFields(TestParams *testParams);
40extern int timeInit(TestParams *testParams);
41extern int timeThread(TestParams *testParams);
42extern int signVerifyInit(TestParams *testParams);
43extern int signVerify(TestParams *testParams);
44extern int symTestInit(TestParams *testParams);
45extern int symTest(TestParams *testParams);
46extern int attachTestInit(TestParams *testParams);
47extern int attachTest(TestParams *testParams);
48extern int rsaSignInit(TestParams *testParams);
49extern int rsaSignTest(TestParams *testParams);
50extern int desInit(TestParams *testParams);
51extern int desTest(TestParams *testParams);
52extern int sslThrashInit(TestParams *testParams);
53extern int sslThrash(TestParams *testParams);
54extern int cspRandInit(TestParams *testParams);
55extern int cspRand(TestParams *testParams);
56extern int derDecodeInit(TestParams *testParams);
57extern int derDecodeTest(TestParams *testParams);
58extern int secTrustEvalInit(TestParams *testParams);
59extern int secTrustEval(TestParams *testParams);
60extern int kcStatusInit(TestParams *testParams);
61extern int kcStatus(TestParams *testParams);
62extern int digestClientInit(TestParams *testParams);
63extern int digestClient(TestParams *testParams);
64extern int mdsLookupInit(TestParams *testParams);
65extern int mdsLookup(TestParams *testParams);
66extern int cssmErrStrInit(TestParams *testParams);
67extern int cssmErrStr(TestParams *testParams);
68extern int trustSettingsInit(TestParams *testParams);
69extern int trustSettingsEval(TestParams *testParams);
70extern int dbOpenCloseInit(TestParams *testParams);
71extern int dbOpenCloseEval(TestParams *testParams);
72extern int copyRootsInit(TestParams *testParams);
73extern int copyRootsTest(TestParams *testParams);
74
75/* etc. */
76
77/* common thread-safe routines in threadTest.cpp */
78CSSM_RETURN threadGetRandData(
79	const TestParams 	*testParams,
80	CSSM_DATA_PTR		data,		// mallocd by caller
81	unsigned			numBytes);	// how much to fill
82void randomDelay();
83void printChar(
84	char 				c);
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif	/* _TEST_PARAMS_H_ */
91