xref: /illumos-gate/usr/src/lib/libktest/common/libktest_impl.h (revision 6e4a39cc9c0ca330a6d67580711b9a9d3c37df37)
1*6e4a39ccSPatrick Mooney /*
2*6e4a39ccSPatrick Mooney  * This file and its contents are supplied under the terms of the
3*6e4a39ccSPatrick Mooney  * Common Development and Distribution License ("CDDL"), version 1.0.
4*6e4a39ccSPatrick Mooney  * You may only use this file in accordance with the terms of version
5*6e4a39ccSPatrick Mooney  * 1.0 of the CDDL.
6*6e4a39ccSPatrick Mooney  *
7*6e4a39ccSPatrick Mooney  * A full copy of the text of the CDDL should have accompanied this
8*6e4a39ccSPatrick Mooney  * source.  A copy of the CDDL is also available via the Internet at
9*6e4a39ccSPatrick Mooney  * http://www.illumos.org/license/CDDL.
10*6e4a39ccSPatrick Mooney  */
11*6e4a39ccSPatrick Mooney 
12*6e4a39ccSPatrick Mooney /*
13*6e4a39ccSPatrick Mooney  * Copyright 2025 Oxide Computer Company
14*6e4a39ccSPatrick Mooney  */
15*6e4a39ccSPatrick Mooney 
16*6e4a39ccSPatrick Mooney #ifndef _LIBKTEST_IMPL_H
17*6e4a39ccSPatrick Mooney #define	_LIBKTEST_IMPL_H
18*6e4a39ccSPatrick Mooney 
19*6e4a39ccSPatrick Mooney #include <sys/ktest.h>
20*6e4a39ccSPatrick Mooney #include <libktest.h>
21*6e4a39ccSPatrick Mooney #include <sys/debug.h>
22*6e4a39ccSPatrick Mooney 
23*6e4a39ccSPatrick Mooney #ifdef __cplusplus
24*6e4a39ccSPatrick Mooney extern "C" {
25*6e4a39ccSPatrick Mooney #endif
26*6e4a39ccSPatrick Mooney 
27*6e4a39ccSPatrick Mooney #define	KTEST_DEV_PATH		"/dev/ktest"
28*6e4a39ccSPatrick Mooney 
29*6e4a39ccSPatrick Mooney struct ktest_hdl {
30*6e4a39ccSPatrick Mooney 	int	kt_fd;
31*6e4a39ccSPatrick Mooney };
32*6e4a39ccSPatrick Mooney 
33*6e4a39ccSPatrick Mooney struct ktest_list_iter {
34*6e4a39ccSPatrick Mooney 	ktest_hdl_t	*kli_hdl;
35*6e4a39ccSPatrick Mooney 
36*6e4a39ccSPatrick Mooney 	nvlist_t	*kli_modules;
37*6e4a39ccSPatrick Mooney 	nvpair_t	*kli_module;
38*6e4a39ccSPatrick Mooney 	nvlist_t	*kli_suites;
39*6e4a39ccSPatrick Mooney 	nvpair_t	*kli_suite;
40*6e4a39ccSPatrick Mooney 	nvlist_t	*kli_tests;
41*6e4a39ccSPatrick Mooney 	nvpair_t	*kli_test;
42*6e4a39ccSPatrick Mooney 	boolean_t	kli_req_input;
43*6e4a39ccSPatrick Mooney };
44*6e4a39ccSPatrick Mooney 
45*6e4a39ccSPatrick Mooney CTASSERT((int)KTEST_CODE_NONE == (int)KTEST_RESULT_NONE);
46*6e4a39ccSPatrick Mooney CTASSERT((int)KTEST_CODE_PASS == (int)KTEST_RESULT_PASS);
47*6e4a39ccSPatrick Mooney CTASSERT((int)KTEST_CODE_FAIL == (int)KTEST_RESULT_FAIL);
48*6e4a39ccSPatrick Mooney CTASSERT((int)KTEST_CODE_SKIP == (int)KTEST_RESULT_SKIP);
49*6e4a39ccSPatrick Mooney CTASSERT((int)KTEST_CODE_ERROR == (int)KTEST_RESULT_ERROR);
50*6e4a39ccSPatrick Mooney 
51*6e4a39ccSPatrick Mooney 
52*6e4a39ccSPatrick Mooney #ifdef __cplusplus
53*6e4a39ccSPatrick Mooney }
54*6e4a39ccSPatrick Mooney #endif
55*6e4a39ccSPatrick Mooney 
56*6e4a39ccSPatrick Mooney #endif /* _LIBKTEST_IMPL_H */
57