aboutsummaryrefslogtreecommitdiffstats
path: root/libcoopgamma_get_method_and_site.3
blob: 654db03ae93d5114afe99571a4e3d19510c9597f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
.TH LIBCOOPGAMMA_GET_METHOD_AND_SITE 3 LIBCOOPGAMMA
.SH "NAME"
libcoopgamma_get_method_and_site - Get the adjustment method and site
.SH "SYNOPSIS"
.nf
#include <libcoopgamma.h>

int libcoopgamma_get_method_and_site(const char *restrict \fImethod\fP, const char *restrict \fIsite\fP,
                                     char **restrict \fImethodp\fP, char **restrict \fIsitep\fP);
.fi
.P
Link with
.IR -lcoopgamma .
.SH "DESCRIPTION"
Newcomers need not concern themselves with the
.BR libcoopgamma_get_method_and_site ()
function.
.P
The
.BR libcoopgamma_get_method_and_site ()
function consults
.BR coopgammad (1)
to get the names the selected adjustment
.I method
and
.IR site .
If
.I method
or
.I site
is
.IR NULL ,
the it will selected automatically.
.P
The name of selected adjustment method is
stored in
.I *methodp
unless
.I methodp
is
.IR NULL .
If the selected selected adjustment method does
not exist, the function fail unless the given
.I method
.P
The name of selected site is stored in
.I *sitep
unless
.I sitep
is
.IR NULL .
is a positive number.
.P
The user should free
.I *methodp
and
.IR *sitep .
.P
For the duration of the function call,
.I SIGCHLD
most neither be ignored nor blocked. It is the
user of this library's responsibility to ensure
this. The
.BR libcoopgamma_get_method_and_site ()
function will not temporarily reset handling of
.I SIGCHLD
itself.
.SH "RETURN VALUES"
Upon successful completion, the
.BR libcoopgamma_get_method_and_site ()
function returns 0. On error, -1
is returned and
.I errno
is set appropriately.
.SH "ERRORS"
The
.BR libcoopgamma_get_method_and_site ()
function may fail for any reason specified for
.BR pipe (3),
.BR fork (3),
.BR dup2 (3),
.BR execvp (3),
.BR malloc (3),
.BR realloc (3),
.BR read (3)
(other than
.IR EINTR ),
and
.BR waitpid (3).
The function may also fail for any of the
following reasons:
.TP
.B EINVAL
If
.I method
contain an invalid adjustment method name.
.TP
.B EBADMSG
.BR coopgammad (1)
output invalid data to stdout.
.SH "SEE ALSO"
.BR libcoopgamma_get_methods (3),
.BR libcoopgamma_get_pid_file (3),
.BR libcoopgamma_get_socket_file (3),
.BR libcoopgamma_context_initialise (3)