00001 #if !defined(GLOBUS_XIO_WRAPBLOCK_H) 00002 #define GLOBUS_XIO_WRAPBLOCK_H 1 00003 00004 #include "globus_xio.h" 00005 00006 #ifdef __cplusplus 00007 extern "C" { 00008 #endif 00009 00010 typedef globus_result_t 00011 (*globus_xio_wrapblock_open_func_t)( 00012 const globus_xio_contact_t * contact_info, 00013 void * driver_link, 00014 void * driver_attr, 00015 void ** driver_handle); 00016 00017 typedef globus_result_t 00018 (*globus_xio_wrapblock_write_func_t)( 00019 void * driver_specific_handle, 00020 const globus_xio_iovec_t * iovec, 00021 int iovec_count, 00022 globus_size_t * nbytes); 00023 00024 typedef globus_result_t 00025 (*globus_xio_wrapblock_read_func_t)( 00026 void * driver_specific_handle, 00027 const globus_xio_iovec_t * iovec, 00028 int iovec_count, 00029 globus_size_t * nbytes); 00030 00031 typedef globus_result_t 00032 (*globus_xio_wrapblock_close_func_t)( 00033 void * driver_specific_handle, 00034 void * attr); 00035 00036 typedef globus_result_t 00037 (*globus_xio_wrapblock_accept_func_t)( 00038 void * driver_server, 00039 void ** out_link); 00040 00041 00042 globus_result_t 00043 globus_xio_wrapblock_init( 00044 globus_xio_driver_t driver, 00045 globus_xio_wrapblock_open_func_t open, 00046 globus_xio_wrapblock_close_func_t close, 00047 globus_xio_wrapblock_read_func_t read, 00048 globus_xio_wrapblock_write_func_t write, 00049 globus_xio_wrapblock_accept_func_t accept); 00050 00051 #ifdef __cplusplus 00052 } 00053 #endif 00054 00055 #endif