1 #if !defined(GLOBUS_GFORK_H)
2 #define GLOBUS_GFORK_H 1
5 #include "globus_xio.h"
12 #define GlobusGForkFuncName(func) static const char * _gfork_func_name __attribute__((__unused__)) = #func
14 #define GlobusGForkFuncName(func) static const char * _gfork_func_name = #func
17 #define GFORK_CHILD_READ_ENV "GFORK_CHILD_READ_ENV"
18 #define GFORK_CHILD_WRITE_ENV "GFORK_CHILD_WRITE_ENV"
19 #define GFORK_CHILD_CS_ENV "GFORK_CHILD_CS_ENV"
20 #define GFORK_CHILD_INSTANCE_ENV "GFORK_CHILD_INSTANCE_ENV"
22 typedef void * gfork_child_handle_t;
26 GLOBUS_GFORK_DEBUG_ERROR = 1,
27 GLOBUS_GFORK_DEBUG_WARNING = 2,
28 GLOBUS_GFORK_DEBUG_TRACE = 4,
29 GLOBUS_GFORK_DEBUG_INTERNAL_TRACE = 8,
30 GLOBUS_GFORK_DEBUG_INFO = 16,
31 GLOBUS_GFORK_DEBUG_STATE = 32,
32 GLOBUS_GFORK_DEBUG_INFO_VERBOSE = 64
33 } globus_gfork_debug_levels_t;
41 (*globus_gfork_open_func_t)(
42 gfork_child_handle_t handle,
48 (*globus_gfork_closed_func_t)(
49 gfork_child_handle_t handle,
54 (*globus_gfork_error_func_t)(
55 gfork_child_handle_t handle,
61 (*globus_gfork_incoming_cb_t)(
62 gfork_child_handle_t handle,
73 globus_gfork_child_worker_start(
74 gfork_child_handle_t * out_handle,
75 const char * in_env_suffix,
76 globus_gfork_closed_func_t close_cb,
77 globus_gfork_incoming_cb_t incoming_cb,
78 globus_gfork_error_func_t error_cb,
82 globus_gfork_child_master_start(
83 gfork_child_handle_t * out_handle,
84 const char * in_env_suffix,
85 globus_gfork_open_func_t open_cb,
86 globus_gfork_closed_func_t close_cb,
87 globus_gfork_incoming_cb_t incoming_cb,
88 globus_gfork_error_func_t error_cb,
92 globus_gfork_broadcast(
93 gfork_child_handle_t handle,
94 globus_xio_iovec_t * iov,
101 gfork_child_handle_t handle,
103 globus_xio_iovec_t * iov,
109 globus_gfork_child_stop(
110 gfork_child_handle_t in_handle);
113 #define GLOBUS_GFORK_PARENT_MODULE (&globus_i_gfork_parent_module)
115 #define GLOBUS_GFORK_CHILD_MODULE (&globus_i_gfork_child_module)
size_t globus_size_t
Standard size of memory objectThe globus_size_t is the size of a memory object. It is identical to si...
Definition: globus_types.h:48
unsigned char globus_byte_t
Unsigned byte datatypeThis is used for byte-addressable arrays of arbitrary data which is not subject...
Definition: globus_types.h:85
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:99
void(* globus_xio_iovec_callback_t)(globus_xio_handle_t handle, globus_result_t result, globus_xio_iovec_t *iovec, int count, globus_size_t nbytes, globus_xio_data_descriptor_t data_desc, void *user_arg)
Definition: globus_xio.h:619
Module Descriptor.
Definition: globus_module.h:71