@@@ fltfmt mess
[mLib] / test / tvec-output.3.in
CommitLineData
d056fbdf 1.\" -*-nroff-*-
c4ccbbf9
MW
2.\"
3.\" Manual for test-vector framework output drivers
4.\"
5.\" (c) 2024 Straylight/Edgeware
6.\"
7.
8.\"----- Licensing notice ---------------------------------------------------
9.\"
10.\" This file is part of the mLib utilities library.
11.\"
12.\" mLib is free software: you can redistribute it and/or modify it under
13.\" the terms of the GNU Library General Public License as published by
14.\" the Free Software Foundation; either version 2 of the License, or (at
15.\" your option) any later version.
16.\"
17.\" mLib is distributed in the hope that it will be useful, but WITHOUT
18.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
20.\" License for more details.
21.\"
22.\" You should have received a copy of the GNU Library General Public
23.\" License along with mLib. If not, write to the Free Software
24.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
25.\" USA.
26.
27.\"--------------------------------------------------------------------------
28.so ../defs.man \" @@@PRE@@@
29.
30.\"--------------------------------------------------------------------------
31.TH tvec-output 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
32.\" @tvec_strlevel
33.
34.\"--------------------------------------------------------------------------
d056fbdf
MW
35.SH NAME
36tvec-output \- test vector framework output driver interface
d056fbdf 37.
c4ccbbf9 38.\"--------------------------------------------------------------------------
d056fbdf 39.SH SYNOPSIS
c4ccbbf9 40.
d056fbdf
MW
41.nf
42.B "#include <mLib/tvec.h>"
43.PP
44.ta 2n
45.B "enum {"
46.B " TVOUT_LOSE,"
47.B " TVOUT_SKIP,"
48.B " TVOUT_WIN,"
49.B " TVOUT_XFAIL,"
50.B " TVOUT_LIMIT"
51.B "};"
52.PP
53.B "struct tvec_state {"
54.B " unsigned f;"
b1a20bee
MW
55.B " arena *a;"
56.B " struct tvec_config cfg;"
d056fbdf
MW
57.B " const struct tvec_test *test;"
58.B " unsigned curr[TVOUT_LIMIT], all[TVOUT_LIMIT], grps[TVOUT_LIMIT];"
59.B " ..."
60.B "};"
61.B "#define TVSF_ERROR ..."
62.PP
63.B "struct tvec_output {"
64.B " const struct tvec_outops *ops;"
65.B "};"
66.B "struct tvec_outops {"
67.BI " void (*" bsession ")(struct tvec_output *" o ", struct tvec_state *" tv );
68.BI " int (*" esession ")(struct tvec_output *" o );
69.BI " void (*" bgroup ")(struct tvec_output *" o );
70.ta 2n +\w'\fBvoid (*\,\fIskipgroup\/\fB)('u
71.BI " void (*" skipgroup ")(struct tvec_output *" o ,
72.BI " const char *" excuse ", void *" ap );
73.BI " void (*" egroup ")(struct tvec_output *" o );
74.BI " void (*" btest ")(struct tvec_output *" o );
75.ta 2n +\w'\fBvoid (*\,\fIskip\/\fB)('u
76.BI " void (*" skip ")(struct tvec_output *" o ,
77.BI " const char *" excuse ", void *" ap );
78.ta 2n +\w'\fBvoid (*\,\fIfail\/\fB)('u
79.BI " void (*" fail ")(struct tvec_output *" o ,
80.BI " const char *" fail ", void *" ap );
81.ta 2n +\w'\fBvoid (*\,\fIdumpreg\/\fB)('u
82.BI " void (*" dumpreg ")(struct tvec_output *" o ,
83.BI " unsigned " disp ", const union tvec_regval *" rv ,
84.BI " const struct tvec_regdef *" rd );
85.BI " void (*" etest ")(struct tvec_output *" o ", unsigned " outcome );
b1a20bee 86.BI " void (*" extend ")(struct tvec_output *" o ", const char *" name );
d056fbdf
MW
87.ta 2n +\w'\fBvoid (*\,\fIreport\/\fB)('u
88.BI " void (*" report ")(struct tvec_output *" o ", unsigned " level ,
89.BI " const char *" msg ", va_list *" ap );
90.BI " void (*" level ")(struct tvec_output *" o );
91.B "};"
92.PP
93.B "const char *tvec_strlevel(unsigned " level );
94.fi