1 /*++
2 /* NAME
3 /*	test_main	3h
4 /* SUMMARY
5 /*	test	main program
6 /* SYNOPSIS
7 /*	#include <test_main.h>
8 /* DESCRIPTION
9 /* .nf
10 
11  /*
12   * Global library.
13   */
14 #include <mail_conf.h>
15 
16  /*
17   * External interface. Copied from master/mail_server.h, but without
18   * introducing libmaster dependencies.
19   */
20 #define TEST_MAIN_INT_TABLE	1
21 #define TEST_MAIN_STR_TABLE	2
22 #define TEST_MAIN_BOOL_TABLE	3
23 #define TEST_MAIN_TIME_TABLE	4
24 #define TEST_MAIN_RAW_TABLE	5
25 #define TEST_MAIN_NINT_TABLE	6
26 #define TEST_MAIN_NBOOL_TABLE	7
27 #define TEST_MAIN_LONG_TABLE	8
28 
29 #define CA_TEST_MAIN_INT_TABLE(v)     TEST_MAIN_INT_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_INT_TABLE, (v))
30 #define CA_TEST_MAIN_STR_TABLE(v)     TEST_MAIN_STR_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_STR_TABLE, (v))
31 #define CA_TEST_MAIN_BOOL_TABLE(v)    TEST_MAIN_BOOL_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_BOOL_TABLE, (v))
32 #define CA_TEST_MAIN_TIME_TABLE(v)    TEST_MAIN_TIME_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_TIME_TABLE, (v))
33 #define CA_TEST_MAIN_RAW_TABLE(v)     TEST_MAIN_RAW_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_RAW_TABLE, (v))
34 #define CA_TEST_MAIN_NINT_TABLE(v)    TEST_MAIN_NINT_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_NINT_TABLE, (v))
35 #define CA_TEST_MAIN_NBOOL_TABLE(v)   TEST_MAIN_NBOOL_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_NBOOL_TABLE, (v))
36 #define CA_TEST_MAIN_LONG_TABLE(v)    TEST_MAIN_LONG_TABLE, CHECK_CPTR(TEST_MAIN, CONFIG_LONG_TABLE, (v))
37 
38 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_INT_TABLE);
39 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_STR_TABLE);
40 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_BOOL_TABLE);
41 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_TIME_TABLE);
42 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_RAW_TABLE);
43 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_NINT_TABLE);
44 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_NBOOL_TABLE);
45 CHECK_CPTR_HELPER_DCL(TEST_MAIN, CONFIG_LONG_TABLE);
46 
47 typedef void (*TEST_DRIVER_FN) (int, char **);
48 extern NORETURN test_main(int, char **, TEST_DRIVER_FN,...);
49 
50 /* LICENSE
51 /* .ad
52 /* .fi
53 /*	The Secure Mailer license must be distributed with this software.
54 /* AUTHOR(S)
55 /*	Wietse Venema
56 /*	IBM T.J. Watson Research
57 /*	P.O. Box 704
58 /*	Yorktown Heights, NY 10598, USA
59 /*
60 /*	Wietse Venema
61 /*	Google, Inc.
62 /*	111 8th Avenue
63 /*	New York, NY 10011, USA
64 /*--*/
65