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