77 #define MONITOR_CHILD_RECV_FD_ENVVAR "MONITOR_CHILD_RECV_FD"
78 #define MONITOR_CHILD_SEND_FD_ENVVAR "MONITOR_CHILD_SEND_FD"
79 #define MONITOR_OBJID_ENVVAR "MONITOR_OBJID"
80 #define MONITOR_OBJTYPE_ENVVAR "MONITOR_OBJTYPE"
109 int kill,
int kill_sig);
328 #define SEQNO_MAX SHRT_MAX
380 pthread_mutex_t *objtype_mutex);
438 int objid,
int objtype,
void *
obj,
void *objstate);
453 int objid,
int objtype,
void *
obj,
void *objstate,
469 int objid,
int objtype,
void *
obj,
void *objstate);
475 int kill,
int kill_sig);
477 int kill,
int kill_sig);
487 int *objtype,
void **
obj,
507 int objtype,
void *
obj,
void *objstate,
510 void *callback_state);
527 void *callback_state);
531 void *callback_state);
553 char *
const argv[],
char *
const envp[],
char *dir);
630 int buflen,
char *buf,
int monitor_del_objid(struct monitor *monitor, int objid)
void monitor_msg_free_save_buffer(struct monitor_msg *msg)
int(* monitor_stdio_callback_t)(int fd, char *buf, int len, void *state)
int monitor_lookup_objid_lock_objtype_and_monitor(int objid, int objtype, void **obj, struct monitor **monitor)
int monitor_objects(struct monitor *monitor)
int monitor_add_primary_obj(struct monitor *monitor, int objid, int objtype, void *obj, void *objstate)
int monitor_lookup_objid_lock_objtype(int objid, int objtype, void **obj, struct monitor **monitor)
int(* close)(struct monitor *monitor, void *obj, void *objstate, int kill, int kill_sig)
int monitor_can_attach_bidi(void)
int monitor_register_objtype(int objtype, struct monitor_objtype_ops *ops, pthread_mutex_t *objtype_mutex)
struct monitor_msg * monitor_msg_create(int objid, int id, short cmd, short seqno, int buflen, char *buf, void *msg_obj)
int monitor_is_done(struct monitor *monitor)
int monitor_get_unique_objid(void)
void * stdout_callback_state
void * stdin_callback_state
int monitor_add_obj(struct monitor *monitor, int objid, int objtype, void *obj, void *objstate)
int(* evloop_is_attached)(struct evloop *evloop, void *obj)
struct monitor * monitor_create_custom(monitor_type_t type, monitor_flags_t flags, int objid, int objtype, void *obj, void *objstate, evloop_handler_t custom_recv_evh, evloop_handler_t custom_child_recv_evh)
int monitor_setup_stderr(struct monitor *monitor, int maxbufsiz, char *stderr_logfile, monitor_stdio_callback_t stderr_callback, void *callback_state)
int(* fatal_error)(monitor_error_t error, void *obj)
int monitor_send(struct monitor_msg *msg)
int monitor_live_children(struct monitor *monitor)
int(* event)(struct monitor *monitor, monitor_event_t event, int objid, void *obj)
struct monitor_msg * monitor_recv(struct monitor *monitor)
int(* evloop_detach)(struct evloop *evloop, void *obj)
int(* fini)(struct monitor *monitor, void *obj, void *objstate)
int monitor_lock_objtype(int objtype)
struct monitor * monitor_attach(monitor_type_t type, monitor_flags_t flags, int objtype, void *obj, void *objstate, evloop_handler_t custom_child_recv_evh, monitor_stdio_callback_t stdin_callback, void *callback_state)
int monitor_child_send(struct monitor_msg *msg, struct monitor *monitor)
int(* child_recv_msg)(struct monitor *monitor, struct monitor_msg *msg)
int monitor_close_obj(struct monitor *monitor, void *obj, int kill, int kill_sig)
int monitor_del_obj(struct monitor *monitor, void *obj)
int monitor_unlock_objtype_unsafe(int objtype)
monitor_stdio_callback_t stderr_callback
pthread_mutex_t msg_obj_tab_mutex
int monitor_setup_stdin(struct monitor *monitor, char *stdin_buf, int stdin_buflen)
int monitor_live_objects(struct monitor *monitor)
int monitor_close_objid(struct monitor *monitor, int objid, int kill, int kill_sig)
int(* recv_msg)(struct monitor *monitor, struct monitor_msg *msg)
void monitor_msg_free(struct monitor_msg *msg)
struct array_list * monitor_list_objids_by_objtype_lock_objtype(int objtype, int include_null)
struct array_list * monitor_list_objs_by_objtype_lock_objtype(int objtype, int include_null)
int monitor_setup_stdout(struct monitor *monitor, int maxbufsiz, char *stdout_logfile, monitor_stdio_callback_t stdout_callback, void *callback_state)
monitor_stdio_callback_t stdout_callback
int monitor_shutdown(struct monitor *monitor)
struct monitor_msg * monitor_child_recv(struct monitor *monitor)
int monitor_can_attach(void)
int(* evloop_attach)(struct evloop *evloop, void *obj)
int monitor_unlock_objtype(int objtype)
int monitor_lookup_objid(int objid, int *objtype, void **obj, struct monitor **monitor)
void * stderr_callback_state
int(* error)(monitor_error_t error, void *obj)
int monitor_destroy(struct monitor *monitor)
int monitor_spawn(struct monitor *monitor, char *filename, char *const argv[], char *const envp[], char *dir)
int monitor_run(struct monitor *monitor)
monitor_stdio_callback_t stdin_callback
int(* evloop_handler_t)(int fd, int fdtype, void *state)
struct monitor * monitor_create(monitor_type_t type, monitor_flags_t flags, int objid, int objtype, void *obj, void *objstate)