Cleanup unused cl_reqmgr source and header files from complib. Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]> ---
osm/complib/Makefile.am | 3 osm/complib/cl_reqmgr.c | 297 ------------------------ osm/complib/libosmcomp.map | 5 osm/include/Makefile.am | 1 osm/include/complib/cl_reqmgr.h | 488 --------------------------------------- 5 files changed, 1 insertions(+), 793 deletions(-) diff --git a/osm/complib/Makefile.am b/osm/complib/Makefile.am index 40e978f..ecbd8e2 100644 --- a/osm/complib/Makefile.am +++ b/osm/complib/Makefile.am @@ -22,7 +22,7 @@ libosmcomp_la_SOURCES = cl_async_proc.c cl_dispatcher.c cl_event.c cl_event_wheel.c \ cl_list.c cl_log.c cl_map.c cl_memory.c \ cl_memory_osd.c cl_perf.c cl_pool.c \ - cl_ptr_vector.c cl_reqmgr.c \ + cl_ptr_vector.c \ cl_spinlock.c cl_statustext.c \ cl_thread.c cl_threadpool.c \ cl_timer.c cl_vector.c \ @@ -64,7 +64,6 @@ libosmcompinclude_HEADERS = $(srcdir)/.. $(srcdir)/../include/complib/cl_qlockpool.h \ $(srcdir)/../include/complib/cl_qmap.h \ $(srcdir)/../include/complib/cl_qpool.h \ - $(srcdir)/../include/complib/cl_reqmgr.h \ $(srcdir)/../include/complib/cl_spinlock.h \ $(srcdir)/../include/complib/cl_spinlock_osd.h \ $(srcdir)/../include/complib/cl_thread.h \ diff --git a/osm/complib/cl_reqmgr.c b/osm/complib/cl_reqmgr.c deleted file mode 100644 index e2492a4..0000000 --- a/osm/complib/cl_reqmgr.c +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved. - * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. - * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * $Id$ - */ - - - -/* - * Abstract: - * Implementation of asynchronous request manager. - * - * Environment: - * All - * - * $Revision: 1.3 $ - */ - - -#if HAVE_CONFIG_H -# include <config.h> -#endif /* HAVE_CONFIG_H */ - -#include <complib/cl_reqmgr.h> -#include <complib/cl_memory.h> - - -/* minimum number of objects to allocate */ -#define REQ_MGR_START_SIZE 10 -/* minimum number of objects to grow */ -#define REQ_MGR_GROW_SIZE 10 - - -/****i* Component Library: Request Manager/cl_request_object_t -* NAME -* cl_request_object_t -* -* DESCRIPTION -* Request manager structure. -* -* The cl_request_object_t structure should be treated as opaque and should be -* manipulated only through the provided functions. -* -* SYNOPSIS -*/ -typedef struct _cl_request_object -{ - cl_pool_item_t pool_item; - size_t count; - boolean_t partial_ok; - cl_pfn_req_cb_t pfn_callback; - const void *context1; - const void *context2; - -} cl_request_object_t; -/* -* FIELDS -* pool_item -* Pool item to store request in a pool or list. -* -* count -* Number of items requested. -* -* partial_ok -* Is it okay to return some of the items. -* -* pfn_callback -* Notification routine when completed. -* -* context1 -* Callback context information. -* -* context2 -* Callback context information. -* -* SEE ALSO -* Overview -*********/ - - -void -cl_req_mgr_construct( - IN cl_req_mgr_t* const p_req_mgr ) -{ - CL_ASSERT( p_req_mgr ); - - /* Clear the structure. */ - cl_memclr( p_req_mgr, sizeof(cl_req_mgr_t) ); - - /* Initialize the state of the free request stack. */ - cl_qpool_construct( &p_req_mgr->request_pool ); -} - - -cl_status_t -cl_req_mgr_init( - IN cl_req_mgr_t* const p_req_mgr, - IN cl_pfn_reqmgr_get_count_t pfn_get_count, - IN const void* const get_context ) -{ - cl_status_t status; - - CL_ASSERT( p_req_mgr ); - CL_ASSERT( pfn_get_count ); - - cl_qlist_init( &p_req_mgr->request_queue ); - - status = cl_qpool_init( &p_req_mgr->request_pool, REQ_MGR_START_SIZE, 0, - REQ_MGR_GROW_SIZE, sizeof(cl_request_object_t), NULL, NULL, NULL ); - - if( status != CL_SUCCESS ) - return( status ); - - /* Store callback information for the count function. */ - p_req_mgr->pfn_get_count = pfn_get_count; - p_req_mgr->get_context = get_context; - - return( CL_SUCCESS ); -} - - -void -cl_req_mgr_destroy( - IN cl_req_mgr_t* const p_req_mgr ) -{ - CL_ASSERT( p_req_mgr ); - - /* Return all requests to the grow pool. */ - if( cl_is_qpool_inited( &p_req_mgr->request_pool ) ) - { - cl_qpool_put_list( &p_req_mgr->request_pool, - &p_req_mgr->request_queue ); - } - - cl_qpool_destroy( &p_req_mgr->request_pool ); -} - - -cl_status_t -cl_req_mgr_get( - IN cl_req_mgr_t* const p_req_mgr, - IN OUT size_t* const p_count, - IN const cl_req_type_t req_type, - IN cl_pfn_req_cb_t pfn_callback, - IN const void* const context1, - IN const void* const context2 ) -{ - size_t available_count; - size_t count; - cl_request_object_t *p_request; - - CL_ASSERT( p_req_mgr ); - CL_ASSERT( cl_is_qpool_inited( &p_req_mgr->request_pool ) ); - CL_ASSERT( p_count ); - CL_ASSERT( *p_count ); - - /* Get the number of available objects in the grow pool. */ - available_count = - p_req_mgr->pfn_get_count( (void*)p_req_mgr->get_context ); - - /* - * Check to see if there is nothing on the queue, and there are - * enough items to satisfy the whole request. - */ - if( cl_is_qlist_empty( &p_req_mgr->request_queue ) && - *p_count <= available_count ) - { - return( CL_SUCCESS ); - } - - if( req_type == REQ_GET_SYNC ) - return( CL_INSUFFICIENT_RESOURCES ); - - /* We need a request object to place on the request queue. */ - p_request = (cl_request_object_t*) - cl_qpool_get( &p_req_mgr->request_pool ); - - if( !p_request ) - return( CL_INSUFFICIENT_MEMORY ); - - /* - * We can return the available number of objects but we still need - * to queue a request for the remainder. - */ - if( req_type == REQ_GET_PARTIAL_OK && - cl_is_qlist_empty( &p_req_mgr->request_queue ) ) - { - count = *p_count - available_count; - *p_count = available_count; - p_request->partial_ok = TRUE; - } - else - { - /* - * We cannot return any objects. We queue a request for - * all of them. - */ - count = *p_count; - *p_count = 0; - p_request->partial_ok = FALSE; - } - - /* Set the request fields and enqueue it. */ - p_request->pfn_callback = pfn_callback; - p_request->context1 = context1; - p_request->context2 = context2; - p_request->count = count; - - cl_qlist_insert_tail( &p_req_mgr->request_queue, - &p_request->pool_item.list_item ); - - return( CL_PENDING ); -} - - -cl_status_t -cl_req_mgr_resume( - IN cl_req_mgr_t* const p_req_mgr, - OUT uint32_t* const p_count, - OUT cl_pfn_req_cb_t* const ppfn_callback, - OUT const void** const p_context1, - OUT const void** const p_context2 ) -{ - size_t available_count; - cl_request_object_t *p_queued_request; - - CL_ASSERT( p_req_mgr ); - CL_ASSERT( cl_is_qpool_inited( &p_req_mgr->request_pool ) ); - - /* If no requests are pending, there's nothing to return. */ - if( cl_is_qlist_empty( &p_req_mgr->request_queue ) ) - return( CL_NOT_DONE ); - - /* - * Get the item at the head of the request queue, - * but do not remove it yet. - */ - p_queued_request = (cl_request_object_t*) - cl_qlist_head( &p_req_mgr->request_queue ); - - *ppfn_callback = p_queued_request->pfn_callback; - *p_context1 = p_queued_request->context1; - *p_context2 = p_queued_request->context2; - - available_count = - p_req_mgr->pfn_get_count( (void*)p_req_mgr->get_context ); - - /* See if the request can be fulfilled. */ - if( p_queued_request->count > available_count ) - { - if( !p_queued_request->partial_ok ) - return( CL_INSUFFICIENT_RESOURCES ); - - p_queued_request->count -= available_count; - *p_count = (uint32_t)available_count; - return( CL_PENDING ); - } - *p_count = (uint32_t) p_queued_request->count; - - /* The entire request can be met. Remove it from the request queue. */ - cl_qlist_remove_head( &p_req_mgr->request_queue ); - - /* Return the internal request object to the free stack. */ - cl_qpool_put( &p_req_mgr->request_pool, - &p_queued_request->pool_item ); - return( CL_SUCCESS ); -} diff --git a/osm/complib/libosmcomp.map b/osm/complib/libosmcomp.map index 42705cb..72ae2a4 100644 --- a/osm/complib/libosmcomp.map +++ b/osm/complib/libosmcomp.map @@ -132,11 +132,6 @@ OSMCOMP_1.0 { cl_qlock_pool_init; cl_qlock_pool_get; cl_qlock_pool_put; - cl_req_mgr_construct; - cl_req_mgr_init; - cl_req_mgr_destroy; - cl_req_mgr_get; - cl_req_mgr_resume; cl_spinlock_construct; cl_spinlock_init; cl_spinlock_destroy; diff --git a/osm/include/Makefile.am b/osm/include/Makefile.am index 72b64c8..c7054ad 100644 --- a/osm/include/Makefile.am +++ b/osm/include/Makefile.am @@ -136,7 +136,6 @@ EXTRA_DIST = \ $(srcdir)/complib/cl_math.h \ $(srcdir)/complib/cl_qpool.h \ $(srcdir)/complib/cl_qlist.h \ - $(srcdir)/complib/cl_reqmgr.h \ $(srcdir)/complib/cl_vector.h \ $(srcdir)/complib/cl_byteswap_osd.h \ $(srcdir)/complib/cl_qlockpool.h \ diff --git a/osm/include/complib/cl_reqmgr.h b/osm/include/complib/cl_reqmgr.h deleted file mode 100644 index a9cc61c..0000000 --- a/osm/include/complib/cl_reqmgr.h +++ /dev/null @@ -1,488 +0,0 @@ -/* - * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved. - * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. - * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * $Id$ - */ - - - -/* - * Abstract: - * Declaration of asynchronous request manager. The request manager does - * not return resources, only notifies the user when resources are available. - * - * Environment: - * All - * - * $Revision: 1.3 $ - */ - - -#ifndef _CL_REQ_MGR_H_ -#define _CL_REQ_MGR_H_ - - -#include <complib/cl_qpool.h> - -#ifdef __cplusplus -# define BEGIN_C_DECLS extern "C" { -# define END_C_DECLS } -#else /* !__cplusplus */ -# define BEGIN_C_DECLS -# define END_C_DECLS -#endif /* __cplusplus */ - -BEGIN_C_DECLS - -/****h* Component Library/Request Manager -* NAME -* Request Manager -* -* DESCRIPTION -* The Request Manager manages synchronous as well as asynchronous -* requests for objects. -* -* Request manager does not supply the objects, but merely returns whether -* objects are available to satisfy requests. This allows users to use -* various sources for objects. -* -* While the request manager manages synchronous and asynchronous requests -* for objects, it does not itself operate asynchronously. Instead, the -* cl_req_mgr_resume function returns information for resuming asynchronous -* requests. If a call to cl_req_mgr_resume returns CL_SUCCESS, additional -* requests may be able to resume. It is recommended that users flush -* pending requests by calling cl_req_mgr_resume while CL_SUCCESS is returned. -* -* The request manager functions operates on a cl_req_mgr_t structure which -* should be treated as opaque and should be manipulated only through the -* provided functions. -* -* SEE ALSO -* Types: -* cl_req_type_t -* -* Structures: -* cl_req_mgr_t -* -* Callbacks: -* cl_pfn_req_cb_t, cl_pfn_reqmgr_get_count_t -* -* Initialization/Destruction: -* cl_req_mgr_construct, cl_req_mgr_init, cl_req_mgr_destroy -* -* Manipulation: -* cl_req_mgr_get, cl_req_mgr_resume -* -* Attributes: -* cl_is_req_mgr_inited, cl_req_mgr_count -*********/ - - -/****d* Component Library: Request Manager/cl_pfn_req_cb_t -* NAME -* cl_pfn_req_cb_t -* -* DESCRIPTION -* The cl_pfn_req_cb_t function type defines the prototype for functions -* used to store a function pointer to a user defined function. -* -* SYNOPSIS -*/ -typedef void -(*cl_pfn_req_cb_t)( void ); -/* -* PARAMETERS -* This function does not take parameters. -* -* RETURN VALUE -* This function does not return a value. -* -* NOTES -* Function pointers specified by this parameter do not have to match the -* defined syntax, as these callbacks are never invoked directly by the -* request manager. When specifying a function with a different prototype, -* cast the function pointer to this type. -* -* SEE ALSO -* Request Manager, cl_req_mgr_get, cl_req_mgr_resume -*********/ - - -/****d* Component Library: Request Manager/cl_req_type_t -* NAME -* cl_req_type_t -* -* DESCRIPTION -* The cl_req_type_t enumerated type describes the type of request. -* -* SYNOPSIS -*/ -typedef enum _cl_req_type -{ - REQ_GET_SYNC, - REQ_GET_ASYNC, - REQ_GET_PARTIAL_OK - -} cl_req_type_t; -/* -* VALUES -* REQ_GET_SYNC -* Synchronous request. -* -* REQ_GET_ASYNC -* Asynchronous requests for which all objects are required at once. -* -* REQ_GET_PARTIAL_OK -* Asynchronous requests that may be broken into multiple smaller requests. -* -* SEE ALSO -* Request Manager, cl_req_mgr_get -*********/ - - -/****d* Component Library: Request Manager/cl_pfn_reqmgr_get_count_t -* NAME -* cl_pfn_reqmgr_get_count_t -* -* DESCRIPTION -* The cl_pfn_reqmgr_get_count_t function type defines the prototype for -* functions used to retrieve the number of available objects in a pool. -* -* SYNOPSIS -*/ -typedef size_t -(*cl_pfn_reqmgr_get_count_t)( - IN void* context ); -/* -* PARAMETERS -* Context -* [in] Context provided in a call to cl_req_mgr_init by -* the get_context parameter. -* -* RETURN VALUE -* Returns the number of objects available in an object pool for which -* requests are managed by a request manager. -* -* NOTES -* This function type is provided as function prototype reference for the -* function passed into cl_req_mgr_init. This function is invoked by the -* request manager when trying to fulfill requests for resources, either -* through a call to cl_req_mgr_get or cl_req_mgr_resume. -* -* SEE ALSO -* Request Manager, cl_req_mgr_init, cl_req_mgr_get, cl_req_mgr_resume -*********/ - - -/****s* Component Library: Request Manager/cl_req_mgr_t -* NAME -* cl_req_mgr_t -* -* DESCRIPTION -* Quick composite pool structure. -* -* The cl_req_mgr_t structure should be treated as opaque and should be -* manipulated only through the provided functions. -* -* SYNOPSIS -*/ -typedef struct _cl_req_mgr -{ - cl_pfn_reqmgr_get_count_t pfn_get_count; - const void *get_context; - cl_qlist_t request_queue; - cl_qpool_t request_pool; - -} cl_req_mgr_t; -/* -* FIELDS -* pfn_get_count -* Pointer to the count callback function. -* -* get_context -* Context to pass as single parameter to count callback. -* -* request_queue -* Pending requests for elements. -* -* request_pool -* Pool of request structures for storing requests in the request queue. -* -* SEE ALSO -* Request Manager -*********/ - - -/****f* Component Library: Request Manager/cl_req_mgr_construct -* NAME -* cl_req_mgr_construct -* -* DESCRIPTION -* The cl_req_mgr_construct function constructs a request manager. -* -* SYNOPSIS -*/ -void -cl_req_mgr_construct( - IN cl_req_mgr_t* const p_req_mgr ); -/* -* PARAMETERS -* p_req_mgr -* [in] Pointer to a cl_req_mgr_t structure to construct. -* -* RETURN VALUE -* This function does not return a value. -* -* NOTES -* cl_req_mgr_construct allows calling cl_req_mgr_destroy without first -* calling cl_req_mgr_init. -* -* Calling cl_req_mgr_construct is a prerequisite to calling any other -* request manager function except cl_req_mgr_init. -* -* SEE ALSO -* Request Manager, cl_req_mgr_init, cl_req_mgr_destroy -*********/ - - -/****f* Component Library: Request Manager/cl_req_mgr_init -* NAME -* cl_req_mgr_init -* -* DESCRIPTION -* The cl_req_mgr_init function initializes a request manager for use. -* -* SYNOPSIS -*/ -cl_status_t -cl_req_mgr_init( - IN cl_req_mgr_t* const p_req_mgr, - IN cl_pfn_reqmgr_get_count_t pfn_get_count, - IN const void* const get_context ); -/* -* PARAMETERS -* p_req_mgr -* [in] Pointer to a cl_req_mgr_t structure to initialize. -* -* pfn_get_count -* [in] Callback function invoked by the request manager to get the -* number of objects available in a pool of objects for which the -* request manager is managing requests. -* See the cl_pfn_req_mgr_get_count_t function type declaration for -* details about the callback function. -* -* get_context -* [in] Context to pass into the function specified by the -* pfn_get_count parameter. -* -* RETURN VALUES -* CL_SUCCESS if the request manager was successfully initialized. -* -* CL_INSUFFICIENT_MEMORY if there was not enough memory to initialize -* the request manager. -* -* SEE ALSO -* Request Manager, cl_req_mgr_construct, cl_req_mgr_destroy, cl_req_mgr_get, -* cl_req_mgr_resume, cl_pfn_req_mgr_get_count_t -*********/ - - -/****f* Component Library: Request Manager/cl_req_mgr_destroy -* NAME -* cl_req_mgr_destroy -* -* DESCRIPTION -* The cl_req_mgr_destroy function destroys a request manager. -* -* SYNOPSIS -*/ -void -cl_req_mgr_destroy( - IN cl_req_mgr_t* const p_req_mgr ); -/* -* PARAMETERS -* p_req_mgr -* [in] Pointer to a cl_req_mgr_t structure to destroy. -* -* RETURN VALUE -* This function does not return a value. -* -* NOTES -* cl_req_mgr_destroy frees all memory allocated by the request manager. -* Further operations on the request manager should not be attempted. -* -* This function should only be called after a call to cl_req_mgr_construct -* or cl_req_mgr_init. -* -* SEE ALSO -* Request Manager, cl_req_mgr_construct, cl_req_mgr_init -*********/ - - -/****f* Component Library: Request Manager/cl_req_mgr_get -* NAME -* cl_req_mgr_get -* -* DESCRIPTION -* The cl_req_mgr_get function handles synchronous and asynchronous -* requests for objects. -* -* SYNOPSIS -*/ -cl_status_t -cl_req_mgr_get( - IN cl_req_mgr_t* const p_req_mgr, - IN OUT size_t* const p_count, - IN const cl_req_type_t req_type, - IN cl_pfn_req_cb_t pfn_callback, - IN const void* const context1, - IN const void* const context2 ); -/* -* PARAMETERS -* p_req_mgr -* [in] Pointer to a cl_req_mgr_t structure from which to check -* for resources. -* -* p_count -* [in/out] On input, contains the number of objects requested. -* On output, contains the number of objects available. -* -* req_type -* [in] Enumerated type describing the type of request. Valid values are: -* ReqGetSync -* Synchronous request. -* ReqGetAsync -* Asynchronous requests for which all objects are required at -* once. -* ReqGetAsyncPartialOk -* Asynchronous requests that may be broken into multiple smaller -* requests. -* -* pfn_callback -* [in] Pointer to a callback function for use by the caller. This -* callback function is never invoked by the request manager. -* -* context1 -* [in] First of two contexts for a resource request. -* -* context2 -* [in] Second of two contexts for a resource request. -* -* RETURN VALUES -* CL_SUCCESS if all objects requested are available. -* -* CL_PENDING if the request could not be completed in its entirety. -* The p_count parameter contains the number of objects immediately available. -* -* CL_INSUFFICIENT_RESOURCES if the request could not be completed due to -* insufficient objects being available. -* -* CL_INSUFFICIENT_MEMORY if the request failed due to a lack of system memory. -* -* NOTES -* Upon successful completion of this function, the p_count parameter contains -* the number of objects available. -* -* Synchronous requests fail if there are any asynchronous requests pending, -* or if there are not enough resources to immediately satisfy the request in -* its entirety . -* -* Asynchronous requests fail if there is insufficient system memory to -* queue them. -* -* Once an asynchronous request is queued, use cl_req_mgr_resume to retrieve -* information for resuming queued requests. -* -* SEE ALSO -* Request Manager, cl_req_mgr_resume -*********/ - - -/****f* Component Library: Request Manager/cl_req_mgr_resume -* NAME -* cl_req_mgr_resume -* -* DESCRIPTION -* The cl_req_mgr_resume function attempts to resume queued requests. -* -* SYNOPSIS -*/ -cl_status_t -cl_req_mgr_resume( - IN cl_req_mgr_t* const p_req_mgr, - OUT uint32_t* const p_count, - OUT cl_pfn_req_cb_t* const ppfn_callback, - OUT const void** const p_context1, - OUT const void** const p_context2 ); -/* -* PARAMETERS -* p_req_mgr -* [in] Pointer to a cl_req_mgr_t structure from which to resume requests. -* -* p_count -* [out] Contains the number of objects available for a resuming request. -* -* ppfn_callback -* [out] Contains the pfn_callback value for the resuming request, as -* provided to the call to the cl_req_mgr_get function. -* -* p_context1 -* [out] Contains the context1 value for the resuming request, as provided -* to the call to the cl_req_mgr_get function. -* -* p_context2 -* [out] Contains the context2 value for the resuming request, as provided -* to the call to the cl_req_mgr_get function. -* -* RETURN VALUES -* CL_SUCCESS if a request was completed. -* -* CL_PENDING if a request was continued, but not completed. -* -* CL_INSUFFICIENT_RESOURCES if a request could not be continued due to -* a lack of resources. -* -* CL_NOT_DONE if there were no pending requests. -* -* NOTES -* cl_req_mgr_resume resumes at most one request. Further requests may be -* able to be resumed if this call returns CL_SUCCESS. -* -* SEE ALSO -* Request Manager, cl_req_mgr_get -*********/ - - -END_C_DECLS - -#endif /* _CL_REQ_MGR_H_ */ _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general