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

Reply via email to