1 /*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
6 *
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
10 */
11
12 /*
13 * Copyright (c) 2019, Joyent, Inc.
14 */
15
16 #ifndef _CHECK_COMMON_H
17 #define _CHECK_COMMON_H
18
19 /*
20 * Common definitions for the CTF tests
21 */
22
23 #include <stdlib.h>
24 #include <unistd.h>
25 #include <libctf.h>
26 #include <err.h>
27 #include <strings.h>
28 #include <sys/param.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
86 uint_t cft_flags;
87 const char **cft_args;
88 } check_function_test_t;
89
90 /*
91 * Looks up each type and verifies that it matches the expected type.
92 */
93 extern boolean_t ctftest_check_numbers(ctf_file_t *, const check_number_t *);
94
95 /*
96 * Looks at each symbol specified and verifies that it matches the expected
97 * type.
98 */
99 extern boolean_t ctftest_check_symbols(ctf_file_t *, const check_symbol_t *);
100
101 /*
102 * Given a symbol name which refers to a type, walks all the references of that
103 * type and checks against it with each subsequent entry.
104 */
105 extern boolean_t ctftest_check_descent(const char *, ctf_file_t *,
106 const check_descent_t *);
107
108 /*
109 * Checks that all of the listed members of an enum are present and have the
110 * right values.
111 */
112 extern boolean_t ctftest_check_enum(const char *, ctf_file_t *,
113 const check_enum_t *);
114
115 /*
116 * Checks that all of the members of a structure or union are present and have
117 * the right types and byte offsets. This can be used for either structures or
118 * unions.
119 */
120 extern boolean_t ctftest_check_members(const char *, ctf_file_t *, int, size_t,
121 const check_member_t *);
122
123 /*
124 * Check that the named function or function pointer has the correct return
125 * type, arguments, and function flags.
126 */
|
1 /*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
6 *
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
10 */
11
12 /*
13 * Copyright 2019, Joyent, Inc.
14 */
15
16 #ifndef _CHECK_COMMON_H
17 #define _CHECK_COMMON_H
18
19 /*
20 * Common definitions for the CTF tests
21 */
22
23 #include <stdlib.h>
24 #include <unistd.h>
25 #include <libctf.h>
26 #include <err.h>
27 #include <strings.h>
28 #include <sys/param.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
86 uint_t cft_flags;
87 const char **cft_args;
88 } check_function_test_t;
89
90 /*
91 * Looks up each type and verifies that it matches the expected type.
92 */
93 extern boolean_t ctftest_check_numbers(ctf_file_t *, const check_number_t *);
94
95 /*
96 * Looks at each symbol specified and verifies that it matches the expected
97 * type.
98 */
99 extern boolean_t ctftest_check_symbols(ctf_file_t *, const check_symbol_t *);
100
101 /*
102 * Given a symbol name which refers to a type, walks all the references of that
103 * type and checks against it with each subsequent entry.
104 */
105 extern boolean_t ctftest_check_descent(const char *, ctf_file_t *,
106 const check_descent_t *, boolean_t);
107
108 /*
109 * Checks that all of the listed members of an enum are present and have the
110 * right values.
111 */
112 extern boolean_t ctftest_check_enum(const char *, ctf_file_t *,
113 const check_enum_t *);
114
115 /*
116 * Checks that all of the members of a structure or union are present and have
117 * the right types and byte offsets. This can be used for either structures or
118 * unions.
119 */
120 extern boolean_t ctftest_check_members(const char *, ctf_file_t *, int, size_t,
121 const check_member_t *);
122
123 /*
124 * Check that the named function or function pointer has the correct return
125 * type, arguments, and function flags.
126 */
|