3 .\" Manual for test-vector framework output drivers
5 .\" (c) 2024 Straylight/Edgeware
8 .\"----- Licensing notice ---------------------------------------------------
10 .\" This file is part of the mLib utilities library.
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.
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.
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,
27 .\"--------------------------------------------------------------------------
28 .so ../defs.man \" @@@PRE@@@
30 .\"--------------------------------------------------------------------------
31 .TH tvec-output 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
34 .\"--------------------------------------------------------------------------
36 tvec-output \- test vector framework output driver interface
38 .\"--------------------------------------------------------------------------
42 .B "#include <mLib/tvec.h>"
53 .B "struct tvec_state {"
56 .B " struct tvec_config cfg;"
57 .B " const struct tvec_test *test;"
58 .B " unsigned curr[TVOUT_LIMIT], all[TVOUT_LIMIT], grps[TVOUT_LIMIT];"
61 .B "#define TVSF_ERROR ..."
63 .B "struct tvec_output {"
64 .B " const struct tvec_outops *ops;"
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 );
86 .BI " void (*" extend ")(struct tvec_output *" o ", const char *" name );
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 );
93 .B "const char *tvec_strlevel(unsigned " level );