@@@ much mess, mostly manpages
[mLib] / test / tvec-remote.3.in
CommitLineData
d056fbdf 1.\" -*-nroff-*-
c4ccbbf9
MW
2.\"
3.\" Manual for remote testing
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-remote 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
d056fbdf
MW
32.\" @TVEC_REMOTEENV
33.\" @TVEC_FORK
34.\" @TVEC_EXEC
35.\" @tvec_fork
36.\" @tvec_exec
37.
38.\" @tvec_setprogress
39.\" @tvec_setprogress_v
40.
41.\" @tvec_remoteserver
42.
c4ccbbf9
MW
43.\"--------------------------------------------------------------------------
44.SH NAME
45tvec-remote \- test vector framework remote invocation
46.
47.\"--------------------------------------------------------------------------
d056fbdf 48.SH SYNOPSIS
c4ccbbf9 49.
d056fbdf
MW
50.nf
51.B "#include <mLib/tvec.h>"
52.PP
53.ta \w'\fBtypedef int tvec_connectfn('u
54.BI "typedef int tvec_connectfn(pid_t *" kid_out ", int *" infd_out ,
55.BI " int *" outfd_out ", int *" errfd_out ,
56.BI " struct tvec_state *" tv ,
57.BI " const struct tvec_remoteenv *" env );
58.PP
59.ta 2n
60.B "struct tvec_remoteenv_slots {"
61.B " tvec_connectfn *connect;"
62.B " const struct tvec_env *env;"
63.B " unsigned dflt_reconn;"
64.B "};"
65.B "struct tvec_remoteenv {"
66.B " struct tvec_env _env;"
67.B " struct tvec_remoteenv_slots r;"
68.B "};"
69.B "#define TVEC_REMOTEENV ..."
70.PP
71.B "#define TVXF_VALMASK ..."
72.B "#define TVXF_SIG ..."
73.B "#define TVXF_CAUSEMASK ..."
74.B "#define TVXST_RUN ..."
75.B "#define TVXST_EXIT ..."
76.B "#define TVXST_KILL ..."
77.B "#define TVXST_CONT ..."
78.B "#define TVXST_STOP ..."
79.B "#define TVXST_DISCONN ..."
80.B "#define TVXST_UNK ..."
81.B "#define TVXST_ERR ..."
82.PP
83.B "struct tvec_remotefork_slots {"
84.B " const struct tvec_test *tests;"
85.B "};"
86.B "struct tvec_remotefork {"
87.B " struct tvec_env _env;"
88.B " struct tvec_remoteenv_slots r;"
89.B " struct tvec_remotefork_slots f;"
90.B "};"
91.B "tvec_connectfn tvec_fork;"
92.BI "#define TVEC_REMOTEFORK(" subenv ", " tests ") ..."
93.PP
94.B "struct tvec_remoteexec_slots {"
95.B " const char *const *args;"
96.B "};"
97.B "struct tvec_remoteexec {"
98.B " struct tvec_env _env;"
99.B " struct tvec_remoteenv_slots r;"
100.B " struct tvec_remoteexec_slots x;"
101.B "};"
102.B "tvec_connectfn tvec_exec;"
103.BI "#define TVEC_REMOTEEXEC(" subenv ", " args ") ..."
104.PP
105.BI "void tvec_setprogress(const char *" status ", ...);"
106.BI "void tvec_setprogress_v(const char *" status ", va_list *" ap );
107.PP
108.ta \w'\fBint tvec_remoteserver('u
109.BI "int tvec_remoteserver(int " infd ", int " outfd ,
110.BI " const struct tvec_config *" config );
111.fi