1
#ifndef _CFD_PROXY_CHILD_H_
2
#define _CFD_PROXY_CHILD_H_
4
//============================================================================
5
// Spawn a child process and establish a connection.
6
//============================================================================
9
This file is part of Code_Saturne, a general-purpose CFD tool.
11
Copyright (C) 1998-2011 EDF S.A.
13
This program is free software; you can redistribute it and/or modify it under
14
the terms of the GNU General Public License as published by the Free Software
15
Foundation; either version 2 of the License, or (at your option) any later
18
This program is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
23
You should have received a copy of the GNU General Public License along with
24
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25
Street, Fifth Floor, Boston, MA 02110-1301, USA.
28
//----------------------------------------------------------------------------
30
//----------------------------------------------------------------------------
32
//----------------------------------------------------------------------------
34
//----------------------------------------------------------------------------
36
#include "cfd_proxy_defs.h"
38
#include "cfd_proxy_comm.h"
40
//----------------------------------------------------------------------------
45
} /* Fake brace to force back Emacs auto-indentation back to column 0 */
47
#endif /* __cplusplus */
49
//----------------------------------------------------------------------------
50
// Structure definitions
51
//----------------------------------------------------------------------------
53
typedef struct _cfd_proxy_child_t cfd_proxy_child_t;
55
//============================================================================
57
//============================================================================
59
//============================================================================
60
// Public function prototypes
61
//============================================================================
63
//----------------------------------------------------------------------------
64
// Spawn a child process and establish a connection
67
// child process handle in case of success, NULL in case of error.
68
//----------------------------------------------------------------------------
71
cfd_proxy_child_start(const char *path,
72
char *const argv[restrict],
73
char *const envp[restrict],
74
cfd_proxy_comm_type_t comm_type,
77
//----------------------------------------------------------------------------
78
// End connection with a child process and free associated structure
79
//----------------------------------------------------------------------------
82
cfd_proxy_child_stop(cfd_proxy_child_t **child);
84
//----------------------------------------------------------------------------
85
// Forward all calls from the client and their responses.
86
//----------------------------------------------------------------------------
89
cfd_proxy_child_forward_all(cfd_proxy_child_t *child);
91
//----------------------------------------------------------------------------
95
#endif /* __cplusplus */
97
#endif /* _CFD_PROXY_CHILD_H_ */