xref: /minix3/external/bsd/dhcp/dist/includes/t_api.h (revision 83ee113ee0d94f3844d44065af2311604e9a30ad)
1*83ee113eSDavid van Moolenbroek /*	$NetBSD: t_api.h,v 1.1.1.3 2014/07/12 11:57:56 spz Exp $	*/
2*83ee113eSDavid van Moolenbroek /*
3*83ee113eSDavid van Moolenbroek  * Copyright (C) 2004-2007,2009  Internet Systems Consortium, Inc. ("ISC")
4*83ee113eSDavid van Moolenbroek  * Copyright (C) 1999-2001  Internet Software Consortium.
5*83ee113eSDavid van Moolenbroek  *
6*83ee113eSDavid van Moolenbroek  * Permission to use, copy, modify, and/or distribute this software for any
7*83ee113eSDavid van Moolenbroek  * purpose with or without fee is hereby granted, provided that the above
8*83ee113eSDavid van Moolenbroek  * copyright notice and this permission notice appear in all copies.
9*83ee113eSDavid van Moolenbroek  *
10*83ee113eSDavid van Moolenbroek  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
11*83ee113eSDavid van Moolenbroek  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12*83ee113eSDavid van Moolenbroek  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
13*83ee113eSDavid van Moolenbroek  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14*83ee113eSDavid van Moolenbroek  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
15*83ee113eSDavid van Moolenbroek  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*83ee113eSDavid van Moolenbroek  * PERFORMANCE OF THIS SOFTWARE.
17*83ee113eSDavid van Moolenbroek  */
18*83ee113eSDavid van Moolenbroek 
19*83ee113eSDavid van Moolenbroek /* Id: t_api.h,v 1.4 2009/11/24 02:06:56 sar Exp  */
20*83ee113eSDavid van Moolenbroek 
21*83ee113eSDavid van Moolenbroek #ifndef TESTS_T_API_H
22*83ee113eSDavid van Moolenbroek #define TESTS_T_API_H 1
23*83ee113eSDavid van Moolenbroek 
24*83ee113eSDavid van Moolenbroek /*! \file tests/t_api.h */
25*83ee113eSDavid van Moolenbroek 
26*83ee113eSDavid van Moolenbroek #include <stdio.h>
27*83ee113eSDavid van Moolenbroek 
28*83ee113eSDavid van Moolenbroek #include <omapip/result.h>
29*83ee113eSDavid van Moolenbroek #include <isc/lang.h>
30*83ee113eSDavid van Moolenbroek #include <isc/formatcheck.h>
31*83ee113eSDavid van Moolenbroek 
32*83ee113eSDavid van Moolenbroek /*
33*83ee113eSDavid van Moolenbroek  *
34*83ee113eSDavid van Moolenbroek  * Result codes.
35*83ee113eSDavid van Moolenbroek  *
36*83ee113eSDavid van Moolenbroek  */
37*83ee113eSDavid van Moolenbroek 
38*83ee113eSDavid van Moolenbroek #define	T_PASS		0x1
39*83ee113eSDavid van Moolenbroek #define	T_FAIL		0x2
40*83ee113eSDavid van Moolenbroek #define	T_UNRESOLVED	0x3
41*83ee113eSDavid van Moolenbroek #define	T_UNSUPPORTED	0x4
42*83ee113eSDavid van Moolenbroek #define	T_UNTESTED	0x5
43*83ee113eSDavid van Moolenbroek #define	T_THREADONLY	0x6
44*83ee113eSDavid van Moolenbroek 
45*83ee113eSDavid van Moolenbroek /*
46*83ee113eSDavid van Moolenbroek  *
47*83ee113eSDavid van Moolenbroek  * Assertion class codes.
48*83ee113eSDavid van Moolenbroek  *
49*83ee113eSDavid van Moolenbroek  */
50*83ee113eSDavid van Moolenbroek 
51*83ee113eSDavid van Moolenbroek #define	T_OPTIONAL	0x0
52*83ee113eSDavid van Moolenbroek #define	T_REQUIRED	0x1
53*83ee113eSDavid van Moolenbroek 
54*83ee113eSDavid van Moolenbroek /*
55*83ee113eSDavid van Moolenbroek  * Misc
56*83ee113eSDavid van Moolenbroek  */
57*83ee113eSDavid van Moolenbroek 
58*83ee113eSDavid van Moolenbroek #define	T_MAXTOKS	16
59*83ee113eSDavid van Moolenbroek #define	T_ARG(n)	(*(av + (n)))
60*83ee113eSDavid van Moolenbroek 
61*83ee113eSDavid van Moolenbroek typedef	void (*PFV)(void);
62*83ee113eSDavid van Moolenbroek 
63*83ee113eSDavid van Moolenbroek typedef struct {
64*83ee113eSDavid van Moolenbroek 	PFV		pfv;
65*83ee113eSDavid van Moolenbroek 	const char	*func_name;
66*83ee113eSDavid van Moolenbroek } testspec_t;
67*83ee113eSDavid van Moolenbroek 
68*83ee113eSDavid van Moolenbroek extern	int	T_debug;
69*83ee113eSDavid van Moolenbroek extern	testspec_t T_testlist[];
70*83ee113eSDavid van Moolenbroek 
71*83ee113eSDavid van Moolenbroek ISC_LANG_BEGINDECLS
72*83ee113eSDavid van Moolenbroek 
73*83ee113eSDavid van Moolenbroek void
74*83ee113eSDavid van Moolenbroek t_assert(const char *component, int anum, int class, const char *what, ...)
75*83ee113eSDavid van Moolenbroek      ISC_FORMAT_PRINTF(4, 5);
76*83ee113eSDavid van Moolenbroek 
77*83ee113eSDavid van Moolenbroek void
78*83ee113eSDavid van Moolenbroek t_info(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
79*83ee113eSDavid van Moolenbroek 
80*83ee113eSDavid van Moolenbroek void
81*83ee113eSDavid van Moolenbroek t_result(int result);
82*83ee113eSDavid van Moolenbroek 
83*83ee113eSDavid van Moolenbroek char *
84*83ee113eSDavid van Moolenbroek t_getenv(const char *name);
85*83ee113eSDavid van Moolenbroek 
86*83ee113eSDavid van Moolenbroek char *
87*83ee113eSDavid van Moolenbroek t_fgetbs(FILE *fp);
88*83ee113eSDavid van Moolenbroek 
89*83ee113eSDavid van Moolenbroek isc_result_t
90*83ee113eSDavid van Moolenbroek t_dns_result_fromtext(char *result);
91*83ee113eSDavid van Moolenbroek 
92*83ee113eSDavid van Moolenbroek unsigned int
93*83ee113eSDavid van Moolenbroek t_dc_method_fromtext(char *dc_method);
94*83ee113eSDavid van Moolenbroek 
95*83ee113eSDavid van Moolenbroek int
96*83ee113eSDavid van Moolenbroek t_bustline(char *line, char **toks);
97*83ee113eSDavid van Moolenbroek 
98*83ee113eSDavid van Moolenbroek int
99*83ee113eSDavid van Moolenbroek t_eval(const char *filename, int (*func)(char **), int nargs);
100*83ee113eSDavid van Moolenbroek 
101*83ee113eSDavid van Moolenbroek ISC_LANG_ENDDECLS
102*83ee113eSDavid van Moolenbroek 
103*83ee113eSDavid van Moolenbroek #endif /* TESTS_T_API_H */
104*83ee113eSDavid van Moolenbroek 
105