Scroll to navigation

globus_callback.h(3) globus_common globus_callback.h(3)

NAME

globus_callback.h -
Globus Callback API.

SYNOPSIS

#include 'globus_common_include.h'
 
#include 'globus_module.h'
 
#include 'globus_time.h'
 

Macros


#define GLOBUS_CALLBACK_MODULE
 
Module descriptor. #define GLOBUS_POLL_MODULE
 
Module descriptor. #define GLOBUS_CALLBACK_GLOBAL_SPACE
 
Global callback space. #define GLOBUS_SIGNAL_INTERRUPT
 

Convenience Macros
 


#define globus_callback_poll(a)
 
Poll the global callback space. #define globus_poll_blocking()
 
Blocking poll of the global callback space. #define globus_poll_nonblocking()
 
Nonblocking poll of the global callback space. #define globus_poll()
 
Nonblocking poll of the global callback space. #define globus_signal_poll()
 
Wake up callback polling thread. #define globus_callback_register_oneshot(callback_handle,delay_time,callback_func,callback_user_arg)
 
Register a oneshot function in the global callback space. #define globus_callback_register_periodic(callback_handle,delay_time,period,callback_func,callback_user_arg)
 
Register a periodic function in the global callback space. #define globus_callback_register_signal_handler(signum,persist,callback_func,callback_user_arg)
 
Register a signal handler in the global callback space.

Typedefs


typedef int globus_callback_handle_t
 
Periodic callback handle. typedef int globus_callback_space_t
 
Callback space handle. typedef struct
 
globus_l_callback_space_attr_s * globus_callback_space_attr_t"
 
Callback space attribute.
Callback Prototypes
 


typedef void(* globus_callback_func_t )(void *user_arg)
 
Globus callback prototype.

Enumerations


enum globus_callback_error_type_t { GLOBUS_CALLBACK_ERROR_INVALID_CALLBACK_HANDLE = 1024, GLOBUS_CALLBACK_ERROR_INVALID_SPACE, GLOBUS_CALLBACK_ERROR_MEMORY_ALLOC, GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT, GLOBUS_CALLBACK_ERROR_ALREADY_CANCELED, GLOBUS_CALLBACK_ERROR_NO_ACTIVE_CALLBACK }
 
Error types. enum globus_callback_space_behavior_t { GLOBUS_CALLBACK_SPACE_BEHAVIOR_SINGLE, GLOBUS_CALLBACK_SPACE_BEHAVIOR_SERIALIZED, GLOBUS_CALLBACK_SPACE_BEHAVIOR_THREADED }
 
Callback space behaviors describe how a space behaves.

Functions


globus_result_t globus_callback_space_init (globus_callback_space_t *space, globus_callback_space_attr_t attr)
 
Initialize a user space. globus_result_t globus_callback_space_reference ( globus_callback_space_t space)
 
Take a reference to a space. globus_result_t globus_callback_space_destroy ( globus_callback_space_t space)
 
Destroy a reference to a user space. globus_result_t globus_callback_space_attr_init ( globus_callback_space_attr_t *attr)
 
Initialize a space attr. globus_result_t globus_callback_space_attr_destroy ( globus_callback_space_attr_t attr)
 
Destroy a space attr. globus_result_t globus_callback_space_attr_set_behavior ( globus_callback_space_attr_t attr, globus_callback_space_behavior_t behavior)
 
Set the behavior of a space. globus_result_t globus_callback_space_attr_get_behavior ( globus_callback_space_attr_t attr, globus_callback_space_behavior_t *behavior)
 
Get the behavior associated with an attr. globus_result_t globus_callback_space_get ( globus_callback_space_t *space)
 
Retrieve the space of a currently running callback. int globus_callback_space_get_depth ( globus_callback_space_t space)
 
Retrieve the current nesting level of a space. globus_bool_t globus_callback_space_is_single ( globus_callback_space_t space)
 
See if the specified space is a single threaded behavior space. globus_result_t globus_callback_space_register_signal_handler (int signum, globus_bool_t persist, globus_callback_func_t callback_func, void *callback_user_arg, globus_callback_space_t space)
 
Fire a callback when the specified signal is received. globus_result_t globus_callback_unregister_signal_handler (int signum, globus_callback_func_t unregister_callback, void *unreg_arg)
 
Unregister a signal handling callback. void globus_callback_add_wakeup_handler (void(*wakeup)(void *), void *user_arg)
 
Register a wakeup handler with callback library.
Oneshot Callbacks
 


globus_result_t globus_callback_space_register_oneshot (globus_callback_handle_t *callback_handle, const globus_reltime_t *delay_time, globus_callback_func_t callback_func, void *callback_user_arg, globus_callback_space_t space)
 
Register a oneshot some delay from now.

Periodic Callbacks
 


globus_result_t globus_callback_space_register_periodic (globus_callback_handle_t *callback_handle, const globus_reltime_t *delay_time, const globus_reltime_t *period, globus_callback_func_t callback_func, void *callback_user_arg, globus_callback_space_t space)
 
Register a periodic callback. globus_result_t globus_callback_unregister ( globus_callback_handle_t callback_handle, globus_callback_func_t unregister_callback, void *unreg_arg, globus_bool_t *active)
 
Unregister a callback. globus_result_t globus_callback_adjust_oneshot ( globus_callback_handle_t callback_handle, const globus_reltime_t *new_delay)
 
Adjust the delay of a oneshot callback. globus_result_t globus_callback_adjust_period ( globus_callback_handle_t callback_handle, const globus_reltime_t *new_period)
 
Adjust the period of a periodic callback.

Callback Polling
 


void globus_callback_space_poll (const globus_abstime_t *timestop, globus_callback_space_t space)
 
Poll for ready callbacks. void globus_callback_signal_poll ()
 
Signal the poll.

Miscellaneous
 


globus_bool_t globus_callback_get_timeout (globus_reltime_t *time_left)
 
Get the amount of time left in a callback. globus_bool_t globus_callback_has_time_expired ()
 
See if there is remaining time in a callback. globus_bool_t globus_callback_was_restarted ()
 
See if a callback has been restarted.

Detailed Description

Globus Callback API.

Author

Generated automatically by Doxygen for globus_common from the source code.
Sat Nov 8 2014 Version 15.26