__cep_listen(\r
IN const ib_al_handle_t h_al,\r
IN const ib_cm_listen_t* const p_cm_listen,\r
- IN const ib_pfn_listen_err_cb_t pfn_listen_err_cb,\r
IN const void* const listen_context,\r
OUT ib_listen_handle_t* const ph_cm_listen )\r
{\r
\r
AL_ENTER( AL_DBG_CM );\r
\r
- UNUSED_PARAM( pfn_listen_err_cb );\r
-\r
/* Allocate the listen object. */\r
p_listen = (al_listen_t*)cl_zalloc( sizeof(al_listen_t) );\r
if( !p_listen )\r
ib_cm_listen(\r
IN const ib_al_handle_t h_al,\r
IN const ib_cm_listen_t* const p_cm_listen,\r
- IN const ib_pfn_listen_err_cb_t pfn_listen_err_cb,\r
IN const void* const listen_context,\r
OUT ib_listen_handle_t* const ph_cm_listen )\r
{\r
AL_PRINT_EXIT( TRACE_LEVEL_ERROR, AL_DBG_ERROR, ("IB_INVALID_AL_HANDLE\n") );\r
return IB_INVALID_AL_HANDLE;\r
}\r
- if( !p_cm_listen || !pfn_listen_err_cb || !ph_cm_listen )\r
+ if( !p_cm_listen || !ph_cm_listen )\r
{\r
AL_PRINT_EXIT( TRACE_LEVEL_ERROR, AL_DBG_ERROR, ("IB_INVALID_PARAMETER\n") );\r
return IB_INVALID_PARAMETER;\r
}\r
\r
- status = __cep_listen(h_al, p_cm_listen, pfn_listen_err_cb, listen_context,\r
- ph_cm_listen );\r
+ status = __cep_listen(h_al, p_cm_listen, listen_context, ph_cm_listen );\r
\r
AL_EXIT( AL_DBG_CM );\r
return status;\r
*****/\r
\r
\r
-/****s* Access Layer/ib_listen_err_rec_t\r
-* NAME\r
-* ib_listen_err_rec_t\r
-*\r
-* DESCRIPTION\r
-* Information returned to the user when an error occurs on a listen request.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef struct _ib_listen_err_rec\r
-{\r
- TO_LONG_PTR(void* , listen_context) ;\r
- ib_api_status_t reason;\r
-TO_LONG_PTR( ib_listen_handle_t , h_cm_listen) ; \r
-\r
-} ib_listen_err_rec_t;\r
-/*\r
-* FIELDS\r
-* listen_context\r
-* User-defined context information associated with the listen request\r
-* through the ib_cm_listen call.\r
-*\r
-* reason\r
-* A status that identifies the reason for error being reported.\r
-*\r
-* h_cm_listen\r
-* The handle for the listen request. This handle will match the handle\r
-* returned by ib_cm_listen call. It is provided in case an error event\r
-* occurs before a client's call to ib_cm_listen can return.\r
-*\r
-* SEE ALSO\r
-* ib_pfn_listen_err_cb_t, ib_api_status_t\r
-*****/\r
-\r
-\r
-/****f* Access Layer/ib_pfn_listen_err_cb_t\r
-* NAME\r
-* ib_pfn_listen_err_cb_t\r
-*\r
-* DESCRIPTION\r
-* A user-specified callback that is invoked after an error has occurred on\r
-* a listen request.\r
-*\r
-* SYNOPSIS\r
-*/\r
-typedef void\r
-(AL_API * FUNC_PTR64 ib_pfn_listen_err_cb_t)(\r
- IN ib_listen_err_rec_t *p_listen_err_rec );\r
-/*\r
-* PARAMETERS\r
-* p_listen_err_rec\r
-* [in] Error information returned to the user, indicating the reason\r
-* for the error and associated context information.\r
-*\r
-* NOTES\r
-* This callback is invoked within a system thread context in the kernel.\r
-*\r
-* SEE ALSO\r
-* p_listen_err_rec\r
-*****/\r
-\r
-\r
/****f* Access Layer/ib_cm_listen\r
* NAME\r
* ib_cm_listen\r
ib_cm_listen(\r
IN const ib_al_handle_t h_al,\r
IN const ib_cm_listen_t* const p_cm_listen,\r
- IN const ib_pfn_listen_err_cb_t pfn_listen_err_cb,\r
IN const void* const listen_context,\r
OUT ib_listen_handle_t* const ph_cm_listen );\r
/*\r
* [in] Information used to direct the listen request to match incoming\r
* connection requests.\r
*\r
-* pfn_listen_err_cb\r
-* [in] User-specified error callback routine to invoke if an error\r
-* occurs while listening.\r
-*\r
* listen_context\r
* User-specified context information that is returned as a part of all\r
* connection requests through the pfn_cm_req_cb routine. The context is\r
* thread.\r
*\r
* SEE ALSO\r
-* ib_cm_listen_t, ib_pfn_listen_err_cb_t\r
+* ib_cm_listen_t\r
*****/\r
\r
\r
(*ib_pfn_cm_listen_t)(\r
IN const ib_al_handle_t h_al,\r
IN const ib_cm_listen_t* const p_cm_listen,\r
- IN const ib_pfn_listen_err_cb_t listen_err_cb,\r
IN const void* const listen_context,\r
OUT ib_listen_handle_t* const ph_cm_listen );\r
\r
ALTS_EXIT( ALTS_DBG_VERBOSE);\r
}\r
\r
-void\r
-alts_cm_err_cb(\r
- IN ib_listen_err_rec_t *p_err_rec )\r
-{\r
- ALTS_ENTER( ALTS_DBG_VERBOSE );\r
-\r
- UNUSED_PARAM( p_err_rec );\r
-\r
- ALTS_EXIT( ALTS_DBG_VERBOSE);\r
-}\r
-\r
\r
void\r
alts_cm_rtu_cb(\r
p_listen->pkey = p_ca_obj->p_dest_port_attr->p_pkey_table[0];\r
p_listen->pfn_cm_req_cb = alts_cm_req_cb;\r
\r
- ib_status = ib_cm_listen(h_al, p_listen, alts_cm_err_cb,\r
- p_ca_obj, &p_ca_obj->h_cm_listen );\r
+ ib_status = ib_cm_listen(h_al, p_listen, p_ca_obj, &p_ca_obj->h_cm_listen );\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
p_listen->svc_id = 2;\r
p_ca_obj->handoff_svc_id = 2;\r
\r
- ib_status = ib_cm_listen(h_al, p_listen, alts_cm_err_cb,\r
- p_ca_obj, &p_ca_obj->h_cm_listen_handoff );\r
+ ib_status = ib_cm_listen(h_al, p_listen, p_ca_obj, &p_ca_obj->h_cm_listen_handoff );\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
\r
\r
\r
-static void AL_API\r
-__cm_listen_err_cb(\r
- IN ib_listen_err_rec_t *p_listen_err_rec )\r
-{\r
- CL_ENTER( CMT_DBG_VERBOSE, cmt_dbg_lvl );\r
- if( !p_listen_err_rec )\r
- printf( "%s NULL p_listen_err_rec\n", __FUNCTION__ );\r
- CL_EXIT( CMT_DBG_VERBOSE, cmt_dbg_lvl );\r
-}\r
-\r
-\r
-\r
static void AL_API\r
__cancel_listen_cb(\r
IN void *context )\r
\r
status = ib_cm_listen( g_root.h_al,\r
&cm_listen, \r
- __cm_listen_err_cb,\r
&g_root,\r
&g_root.h_listen );\r
if( status != IB_SUCCESS )\r
} \r
}\r
\r
-\r
-static void \r
-dapli_ibal_listen_err_cb (\r
- IN ib_listen_err_rec_t *p_listen_err_rec )\r
-{\r
- UNUSED_PARAM( p_listen_err_rec );\r
- dapl_dbg_log (DAPL_DBG_TYPE_CM, "--> DiLEcb: CM callback listen error\n");\r
-}\r
-\r
static void \r
dapli_ib_cm_apr_cb (\r
IN ib_cm_apr_rec_t *p_cm_apr_rec )\r
\r
ib_status = ib_cm_listen ( dapl_ibal_root.h_al,\r
&cm_listen,\r
- dapli_ibal_listen_err_cb,\r
(void *) sp_ptr,\r
&sp_ptr->cm_srvc_handle);\r
\r
}\r
\r
\r
-static void \r
-dapli_ibal_listen_err_cb (\r
- IN ib_listen_err_rec_t *p_listen_err_rec )\r
-{\r
- UNUSED_PARAM( p_listen_err_rec );\r
-\r
- dapl_dbg_log (DAPL_DBG_TYPE_CM, "--> %s: CM callback listen error\n",\r
- "DiLEcb");\r
-}\r
-\r
static void \r
dapli_ib_cm_apr_cb (\r
IN ib_cm_apr_rec_t *p_cm_apr_rec )\r
\r
ib_status = ib_cm_listen ( dapl_ibal_root.h_al,\r
&cm_listen,\r
- dapli_ibal_listen_err_cb,\r
(void *) sp_ptr,\r
&sp_ptr->cm_srvc_handle );\r
\r
static void AL_API cm_rej_callback(IN ib_cm_rej_rec_t * p_cm_rej_rec);\r
static void AL_API cm_mra_callback(IN ib_cm_mra_rec_t * p_cm_mra_rec);\r
static void AL_API cm_dreq_callback(IN ib_cm_dreq_rec_t * p_cm_dreq_rec);\r
-static void AL_API listen_err_callback(IN ib_listen_err_rec_t * p_listen_err_rec);\r
static void AL_API cm_apr_callback(IN ib_cm_apr_rec_t * p_cm_apr_rec);\r
\r
\r
}\r
\r
\r
-/*\r
- * A user-specified callback that is invoked after an error has occurred on\r
- * a listen request.\r
- */\r
-static void AL_API\r
-listen_err_callback(\r
- IN ib_listen_err_rec_t *p_listen_err_rec )\r
-{\r
- /* TODO */\r
- IBSP_ENTER( IBSP_DBG_CM );\r
-\r
- UNUSED_PARAM( p_listen_err_rec );\r
-\r
- IBSP_ERROR( ("not implemented") );\r
-\r
- CL_ASSERT( 0 );\r
-\r
- IBSP_EXIT( IBSP_DBG_CM );\r
-}\r
-\r
-\r
/*\r
* A user-specified callback that is invoked after receiving a load\r
* alternate path response message.\r
\r
param.qp_type = IB_QPT_RELIABLE_CONN;\r
\r
- status = ib_cm_listen( g_ibsp.al_handle, ¶m, listen_err_callback, socket_info, /* context */\r
+ status = ib_cm_listen( g_ibsp.al_handle, ¶m, socket_info, /* context */\r
&socket_info->listen.handle );\r
\r
if( status != IB_SUCCESS )\r