ibal: remove dead source files
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 9 May 2008 05:02:15 +0000 (05:02 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 9 May 2008 05:02:15 +0000 (05:02 +0000)
Remove empty headers, source files, and source files not included in the build.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1146 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

16 files changed:
core/al/al_sub.c
core/al/al_sub.h [deleted file]
core/al/kernel/SOURCES
core/al/kernel/al_ca_pnp.c [deleted file]
core/al/kernel/al_ca_pnp.h [deleted file]
core/al/kernel/al_driver.h [deleted file]
core/al/kernel/al_proxy_cm.c [deleted file]
core/al/user/SOURCES
core/al/user/ual_dm.c [deleted file]
core/al/user/ual_dm.h [deleted file]
core/al/user/ual_mr.h [deleted file]
core/al/user/ual_mw.h [deleted file]
core/al/user/ual_query.c [deleted file]
core/al/user/ual_query.h [deleted file]
core/al/user/ual_reg_svc.c [deleted file]
core/al/user/ual_sub.c [deleted file]

index dd86519..0d890f5 100644 (file)
@@ -41,7 +41,6 @@
 #endif\r
 #include "al_sub.tmh"\r
 #endif\r
-#include "al_sub.h"\r
 \r
 \r
 ib_api_status_t\r
diff --git a/core/al/al_sub.h b/core/al/al_sub.h
deleted file mode 100644 (file)
index fbfe422..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__AL_SUB_H__)\r
-#define __AL_SUB_H__\r
-\r
-#endif /* __AL_SUB_H__ */\r
index 6d682e3..777e739 100644 (file)
@@ -14,7 +14,6 @@ ENABLE_EVENT_TRACING=1
 DLLDEF=al_exports.def\r
 \r
 SOURCES= ibal.rc                       \\r
-       al_ca_pnp.c                             \\r
        al_ci_ca.c                              \\r
        al_cm_cep.c                             \\r
        al_dev.c                                \\r
diff --git a/core/al/kernel/al_ca_pnp.c b/core/al/kernel/al_ca_pnp.c
deleted file mode 100644 (file)
index 649a63e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include <iba/ib_al.h>\r
-\r
diff --git a/core/al/kernel/al_ca_pnp.h b/core/al/kernel/al_ca_pnp.h
deleted file mode 100644 (file)
index e17ec4b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__IB_AL_CA_PNP_H__)\r
-#define __IB_AL_CA_PNP_H__\r
-\r
-#endif /* __IB_AL_CA_PNP_H__ */\r
diff --git a/core/al/kernel/al_driver.h b/core/al/kernel/al_driver.h
deleted file mode 100644 (file)
index aa0ed11..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-\r
-#if !defined _AL_DRIVER_H_\r
-#define _AL_DRIVER_H_\r
-\r
-#include "al_debug.h"\r
-#include "iba/ib_al_ifc.h"\r
-#include "complib/cl_types.h"\r
-#include "complib/cl_atomic.h"\r
-#include "complib/cl_debug.h"\r
-#include "complib/cl_mutex.h"\r
-#include "complib/cl_qlist.h"\r
-#include "complib/cl_ptr_vector.h"\r
-#include "complib/cl_pnp_po.h"\r
-/* Safe string functions. */\r
-#if WINVER == 0x500\r
-/*\r
- * Windows 2000 doesn't support the inline version of safe strings.\r
- * Force the use of the library version of safe strings.\r
- */\r
-#define NTSTRSAFE_LIB\r
-#endif\r
-#include <ntstrsafe.h>\r
-\r
-\r
-/*\r
- * Main header for Access Layer driver.\r
- */\r
-\r
-/*\r
- * ALLOC_PRAGMA sections:\r
- *     PAGE\r
- *             Default pagable code.  Won't be locked in memory.\r
- *\r
- *     PAGE_PNP\r
- *             Code that needs to be locked in memory when the device is\r
- *             in the paging, crash dump, or hibernation path.\r
- */\r
-\r
-\r
-/*\r
- * Device extension for the device object that serves as entry point for \r
- * the interface and IOCTL requests.\r
- */\r
-typedef struct _al_fdo_ext\r
-{\r
-       cl_pnp_po_ext_t                 cl_ext;\r
-\r
-       /*\r
-        * Device power map returned by the bus driver for the device, used \r
-        * when sending IRP_MN_SET_POWER for device state in response to \r
-        * IRP_MN_SET_POWER for system state.\r
-        */\r
-       DEVICE_POWER_STATE              po_state[PowerSystemMaximum];\r
-\r
-       /* Mutex to protect the CA list. */\r
-//     FAST_MUTEX                              caMutex;\r
-\r
-       /* List of CAs. */\r
-//     cl_qlist_t                              caList;\r
-\r
-       /*\r
-        * Interface names are generated by IoRegisterDeviceInterface.\r
-        * Interface name for the upper edge.\r
-        */\r
-       UNICODE_STRING                  al_ifc_name;\r
-       /* Interface name for the bottom edge. */\r
-       UNICODE_STRING                  ci_ifc_name;\r
-\r
-       /* Number of references on the upper interface. */\r
-       atomic32_t                              n_al_ifc_ref;\r
-       /* Number of references on the lower interface. */\r
-       atomic32_t                              n_ci_ifc_ref;\r
-\r
-}      al_fdo_ext_t;\r
-//\r
-//\r
-//typedef struct _AlCaContext\r
-//{\r
-//     cl_list_item_t                                          listItem;\r
-//     void                                                            *ibtContext;\r
-//     const IB_VERBS_INTERFACE_STANDARD2      *pCi;\r
-//\r
-//     /* Number of ports, used to size the DEVICE_RELATIONS structure. */\r
-//     uint32_t                                                        nPorts;\r
-//\r
-//     DEVICE_OBJECT                                           *pHcaPdo;\r
-//\r
-//}    AlCaInfo_t;\r
-\r
-\r
-/*\r
- * Device extension for bus driver PDOs.\r
- */\r
-typedef struct _al_pdo_ext\r
-{\r
-       cl_pnp_po_ext_t                 cl_ext;\r
-\r
-       cl_list_item_t                  list_item;\r
-\r
-       POWER_STATE                             dev_po_state;\r
-\r
-       /*\r
-        * Pointer to the bus root device extension.  Used to manage access to\r
-        * child PDO pointer vector when a child is removed politely.\r
-        */\r
-       al_fdo_ext_t                    *p_parent_ext;\r
-\r
-       /*\r
-        * The following two flags are exclusively set, but can both be FALSE.\r
-        * Flag that indicates whether the device is present in the system or not.\r
-        * This affects how a IRP_MN_REMOVE_DEVICE IRP is handled for a child PDO.\r
-        * This flag is cleared when:\r
-        *      - an HCA (for IPoIB devices) is removed from the system for all port\r
-        *      devices loaded for that HCA\r
-        *      - an IOU is reported as removed by the CIA.\r
-        */\r
-       boolean_t                               b_present;\r
-\r
-       /*\r
-        * Flag that indicates whether the device has been reported to the PnP\r
-        * manager as having been removed.  That is, the device was reported\r
-        * in a previous BusRelations query and not in a subsequent one.\r
-        * This flag is set when\r
-        *      - the device is in the surprise remove state when the parent bus\r
-        *      device is removed\r
-        *      - the device is found to be not present during a BusRelations query\r
-        *      and thus not reported.\r
-        */\r
-       boolean_t                               b_reported_missing;\r
-\r
-}      al_pdo_ext_t;\r
-\r
-\r
-/*\r
- * Device extension for IPoIB port PDOs.\r
- */\r
-typedef struct _al_port_ext\r
-{\r
-       al_pdo_ext_t                    pdo;\r
-\r
-       net64_t                                 port_guid;\r
-       uint32_t                                n_port;\r
-\r
-       /* Number of references on the upper interface. */\r
-       atomic32_t                              n_ifc_ref;\r
-\r
-TO_LONG_PTR(   ib_ca_handle_t ,                        h_ca) ; \r
-\r
-}      al_port_ext_t;\r
-\r
-\r
-/*\r
- * Global Driver parameters.\r
- */\r
-typedef struct _al_globals\r
-{\r
-       /* Flag to control loading of Ip Over Ib driver for each HCA port. */\r
-       uint32_t                                b_report_port_nic;\r
-\r
-       /* Driver object.  Used for registering of Plug and Play notifications. */\r
-       DRIVER_OBJECT                   *p_driver_obj;\r
-\r
-       /*\r
-        * Mutex protecting the bus extension pointer.  This allows getting a local\r
-        * copy of the pointer and taking a reference on the device in one atomic\r
-        * operation.\r
-        */\r
-       cl_mutex_t                              ext_mutex;\r
-       /* Pointer to the one and only bus root. */\r
-       al_fdo_ext_t                    *p_bus_ext;\r
-\r
-}      al_globals_t;\r
-\r
-\r
-extern al_globals_t    al_globals;\r
-\r
-\r
-#endif /* !defined _AL_DRIVER_H_ */\r
diff --git a/core/al/kernel/al_proxy_cm.c b/core/al/kernel/al_proxy_cm.c
deleted file mode 100644 (file)
index bc32b0c..0000000
+++ /dev/null
@@ -1,1459 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-\r
-#include <complib/comp_lib.h>\r
-#include <iba/ib_al.h>\r
-#include <iba/ib_al_ioctl.h>\r
-#include "al.h"\r
-#include "al_debug.h"\r
-#include "al_dev.h"\r
-#include "al_cm_cep.h"\r
-#include "al_qp.h"\r
-#include "al_proxy.h"\r
-\r
-\r
-\r
-/*\r
- * Process a received CM REQ message.\r
- */\r
-void proxy_cm_req_cb(\r
-       IN                              ib_cm_req_rec_t                         *p_cm_req_rec )\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_req_cb_ioctl_rec     *p_ioctl_rec;   /* short-cut ptr to CM req */\r
-       al_dev_open_context_t   *p_context;\r
-       uint8_t                                 *dest;\r
-       uint64_t                                hdl;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-\r
-       cb_info.rec_type = CM_REQ_REC;\r
-       p_ioctl_rec = &cb_info.ioctl_rec.cm_req_cb_ioctl_rec;\r
-       cl_memcpy(&p_ioctl_rec->req_rec, p_cm_req_rec, sizeof(ib_cm_req_rec_t));\r
-\r
-       /* set up the context to be returned to user */\r
-       if( p_cm_req_rec->h_cm_listen )\r
-       {\r
-               p_cm_req_rec->h_cm_listen->obj.hdl_valid = TRUE;\r
-               p_ioctl_rec->req_rec.h_cm_listen =\r
-                       (ib_listen_handle_t VOID_PTR64)p_cm_req_rec->h_cm_listen->obj.hdl;\r
-       }\r
-\r
-       p_context = p_cm_req_rec->h_cm_req->h_al->p_context;\r
-\r
-       CL_ASSERT(p_context);\r
-\r
-       /* Copy the necessary QP attributes to the user. */\r
-       cl_memcpy( &p_ioctl_rec->qp_mod_rtr,\r
-               &p_cm_req_rec->h_cm_req->p_req_info->qp_mod_rtr,\r
-               sizeof( ib_qp_mod_t ) );\r
-       cl_memcpy( &p_ioctl_rec->qp_mod_rts,\r
-               &p_cm_req_rec->h_cm_req->p_req_info->qp_mod_rts,\r
-               sizeof( ib_qp_mod_t ) );\r
-       p_ioctl_rec->timeout_ms = p_cm_req_rec->h_cm_req->retry_timeout *\r
-               p_cm_req_rec->h_cm_req->max_cm_retries + 2000;\r
-\r
-       if( p_cm_req_rec->qp_type == IB_QPT_UNRELIABLE_DGRM)\r
-       {\r
-               dest = (uint8_t*)&p_ioctl_rec->cm_req_pdata_rec.sidr_req_pdata;\r
-               cl_memcpy( dest,p_cm_req_rec->p_req_pdata, IB_SIDR_REQ_PDATA_SIZE );\r
-       }\r
-       else\r
-       {\r
-               dest = (uint8_t*)&p_ioctl_rec->cm_req_pdata_rec.req_pdata;\r
-               cl_memcpy( dest,p_cm_req_rec->p_req_pdata, IB_REQ_PDATA_SIZE );\r
-       }\r
-\r
-       p_ioctl_rec->req_rec.p_req_pdata = NULL;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               hdl = al_hdl_lock_insert( p_context->h_al, p_cm_req_rec->h_cm_req,\r
-                       AL_OBJ_TYPE_H_CONN | AL_OBJ_SUBTYPE_REQ );\r
-       }\r
-       else\r
-       {\r
-               hdl = AL_INVALID_HANDLE;\r
-       }\r
-\r
-       if( hdl == AL_INVALID_HANDLE )\r
-       {\r
-               ib_cm_rej_t             cm_rej;\r
-\r
-               /* Reject the request. */\r
-               cl_memclr( &cm_rej, sizeof( ib_cm_rej_t ) );\r
-               cm_rej.rej_status = IB_REJ_TIMEOUT;\r
-               ib_cm_rej( p_cm_req_rec->h_cm_req, &cm_rej );\r
-       }\r
-       else\r
-       {\r
-               p_ioctl_rec->req_rec.h_cm_req = (ib_cm_handle_t)hdl;\r
-               /* TODO: handle failure. */\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context, &cb_info, NULL );\r
-       }\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void proxy_cm_dreq_cb(\r
-       IN                              ib_cm_dreq_rec_t                        *p_cm_dreq_rec )\r
-{\r
-       cm_cb_ioctl_info_t                              cb_info;\r
-       struct _cm_dreq_cb_ioctl_rec    *p_ioctl_rec;\r
-       al_dev_open_context_t                   *p_context;\r
-       uint64_t                                                hdl;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_DREQ_REC;\r
-       p_ioctl_rec = &cb_info.ioctl_rec.cm_dreq_cb_ioctl_rec;\r
-       cl_memcpy(&p_ioctl_rec->dreq_rec, p_cm_dreq_rec, sizeof(ib_cm_dreq_rec_t));\r
-\r
-       p_context = p_cm_dreq_rec->h_cm_dreq->h_al->p_context;\r
-\r
-       cl_memcpy( &p_ioctl_rec->dreq_pdata, p_cm_dreq_rec->p_dreq_pdata,\r
-               IB_DREQ_PDATA_SIZE );\r
-       p_ioctl_rec->dreq_rec.p_dreq_pdata = NULL;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               hdl = al_hdl_lock_insert( p_context->h_al, p_cm_dreq_rec->h_cm_dreq,\r
-                       AL_OBJ_TYPE_H_CONN | AL_OBJ_SUBTYPE_DREQ );\r
-       }\r
-       else\r
-       {\r
-               hdl = AL_INVALID_HANDLE;\r
-       }\r
-\r
-       if( hdl != AL_INVALID_HANDLE )\r
-       {\r
-               p_ioctl_rec->dreq_rec.h_cm_dreq = (ib_cm_handle_t)hdl;\r
-               if( !proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_dreq_rec->h_cm_dreq->h_qp->obj ) )\r
-               {\r
-                       /* Remove handle from map. */\r
-                       al_hdl_get_conn( p_context->h_al, hdl, AL_OBJ_SUBTYPE_DREQ );\r
-\r
-                       goto err;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               ib_cm_drep_t            cm_drep;\r
-err:\r
-\r
-               /* Send a drep. */\r
-               cl_memclr( &cm_drep, sizeof( ib_cm_drep_t ) );\r
-               ib_cm_drep( p_cm_dreq_rec->h_cm_dreq, &cm_drep );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void\r
-proxy_cm_rtu_cb(\r
-       IN                              ib_cm_rtu_rec_t                         *p_cm_rtu_rec )\r
-{\r
-       cm_cb_ioctl_info_t                      cb_info;\r
-       struct _cm_rtu_cb_ioctl_rec     *p_ioctl_rec;\r
-       al_dev_open_context_t           *p_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_RTU_REC;\r
-       p_ioctl_rec = &cb_info.ioctl_rec.cm_rtu_cb_ioctl_rec;\r
-       cl_memcpy(&p_ioctl_rec->rtu_rec, p_cm_rtu_rec, sizeof(ib_cm_rtu_rec_t));\r
-\r
-       CL_ASSERT( p_cm_rtu_rec->h_qp );\r
-       p_context = p_cm_rtu_rec->h_qp->obj.h_al->p_context;\r
-       p_ioctl_rec->rtu_rec.h_qp = (ib_qp_handle_t VOID_PTR64)p_cm_rtu_rec->h_qp->obj.hdl;\r
-\r
-       cl_memcpy( &p_ioctl_rec->rtu_pdata,\r
-               p_cm_rtu_rec->p_rtu_pdata, IB_RTU_PDATA_SIZE );\r
-       p_ioctl_rec->rtu_rec.p_rtu_pdata = NULL;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_rtu_rec->h_qp->obj );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void proxy_cm_rep_cb(\r
-       IN                              ib_cm_rep_rec_t                         *p_cm_rep_rec )\r
-{\r
-       cm_cb_ioctl_info_t                      cb_info;\r
-       struct _cm_rep_cb_ioctl_rec     *p_ioctl_rec;\r
-       al_dev_open_context_t           *p_context;\r
-       uint8_t                                         *p_dest;\r
-       uint64_t                                        hdl;\r
-       al_obj_t                                        *p_al_obj;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_REP_REC;\r
-       p_ioctl_rec = &cb_info.ioctl_rec.cm_rep_cb_ioctl_rec;\r
-       p_ioctl_rec->rep_rec = *p_cm_rep_rec;\r
-\r
-       if( p_cm_rep_rec->qp_type == IB_QPT_UNRELIABLE_DGRM )\r
-       {\r
-               p_dest = (uint8_t*)&p_ioctl_rec->cm_rep_pdata_rec.sidr_rep_pdata;\r
-               cl_memcpy( p_dest, p_cm_rep_rec->p_rep_pdata,\r
-                       IB_SIDR_REP_PDATA_SIZE );\r
-       }\r
-       else\r
-       {\r
-               p_dest = (uint8_t*)&p_ioctl_rec->cm_rep_pdata_rec.rep_pdata;\r
-               cl_memcpy( p_dest, p_cm_rep_rec->p_rep_pdata,\r
-                       IB_REP_PDATA_SIZE );\r
-       }\r
-\r
-       p_ioctl_rec->rep_rec.p_rep_pdata = NULL;\r
-\r
-       CL_ASSERT( p_cm_rep_rec->h_cm_rep );\r
-       p_context = p_cm_rep_rec->h_cm_rep->h_al->p_context;\r
-\r
-       if( p_cm_rep_rec->qp_type == IB_QPT_RELIABLE_CONN ||\r
-               p_cm_rep_rec->qp_type == IB_QPT_UNRELIABLE_CONN )\r
-       {\r
-               CL_ASSERT( p_cm_rep_rec->h_cm_rep->h_qp );\r
-               p_al_obj = &p_cm_rep_rec->h_cm_rep->h_qp->obj;\r
-\r
-               /* Copy the necessary QP attributes to the user. */\r
-               cl_memcpy( &p_ioctl_rec->qp_mod_rtr,\r
-                       &p_cm_rep_rec->h_cm_rep->p_req_info->qp_mod_rtr,\r
-                       sizeof( ib_qp_mod_t ) );\r
-               cl_memcpy( &p_ioctl_rec->qp_mod_rts,\r
-                       &p_cm_rep_rec->h_cm_rep->p_req_info->qp_mod_rts,\r
-                       sizeof( ib_qp_mod_t ) );\r
-\r
-               /*\r
-                * If we're already closing the device - do not queue a callback, since\r
-                * we're cleaning up the callback lists.\r
-                */\r
-               if( proxy_context_ref( p_context ) )\r
-               {\r
-                       hdl = al_hdl_lock_insert( p_context->h_al, p_cm_rep_rec->h_cm_rep,\r
-                               AL_OBJ_TYPE_H_CONN | AL_OBJ_SUBTYPE_REP );\r
-               }\r
-               else\r
-               {\r
-                       hdl = AL_INVALID_HANDLE;\r
-               }\r
-\r
-               if( hdl == AL_INVALID_HANDLE )\r
-               {\r
-                       ib_cm_rej_t             cm_rej;\r
-\r
-                       /* Reject the connection. */\r
-                       proxy_context_deref( p_context );\r
-                       cl_memclr( &cm_rej, sizeof( ib_cm_rej_t ) );\r
-                       cm_rej.rej_status = IB_REJ_TIMEOUT;\r
-                       ib_cm_rej( p_cm_rep_rec->h_cm_rep, &cm_rej );\r
-                       return;\r
-               }\r
-               p_ioctl_rec->rep_rec.h_cm_rep = (ib_cm_handle_t)hdl;\r
-       }\r
-       else\r
-       {\r
-               CL_ASSERT( p_cm_rep_rec->qp_type == IB_QPT_UNRELIABLE_DGRM );\r
-\r
-               p_al_obj = NULL;\r
-\r
-               if( !proxy_context_ref( p_context ) )\r
-               {\r
-                       proxy_context_deref( p_context );\r
-                       return;\r
-               }\r
-               p_ioctl_rec->rep_rec.h_cm_rep = NULL;\r
-       }\r
-\r
-       proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context, &cb_info, p_al_obj );\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void proxy_cm_drep_cb(\r
-       IN                              ib_cm_drep_rec_t                        *p_cm_drep_rec)\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_drep_cb_ioctl_rec    *p_ioctl_rec =\r
-                                       &cb_info.ioctl_rec.cm_drep_cb_ioctl_rec;\r
-       al_dev_open_context_t   *p_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_DREP_REC;\r
-       p_ioctl_rec->drep_rec = *p_cm_drep_rec;\r
-\r
-       if( p_cm_drep_rec->p_drep_pdata )\r
-       {\r
-               cl_memcpy( &p_ioctl_rec->drep_pdata, p_cm_drep_rec->p_drep_pdata,\r
-                       IB_DREP_PDATA_SIZE );\r
-               p_ioctl_rec->drep_rec.p_drep_pdata = NULL;\r
-       }\r
-\r
-       CL_ASSERT( p_cm_drep_rec->h_qp );\r
-       p_context = p_cm_drep_rec->h_qp->obj.h_al->p_context;\r
-       p_ioctl_rec->drep_rec.h_qp = (ib_qp_handle_t VOID_PTR64)p_cm_drep_rec->h_qp->obj.hdl;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_drep_rec->h_qp->obj );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void proxy_cm_mra_cb(\r
-       IN                              ib_cm_mra_rec_t                         *p_cm_mra_rec)\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_mra_cb_ioctl_rec     *p_ioctl_rec =\r
-                                       &cb_info.ioctl_rec.cm_mra_cb_ioctl_rec;\r
-       al_dev_open_context_t   *p_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr( &cb_info, sizeof(cb_info) );\r
-       cb_info.rec_type = CM_MRA_REC;\r
-       p_ioctl_rec->mra_rec = *p_cm_mra_rec;\r
-       \r
-       cl_memcpy( &p_ioctl_rec->mra_pdata, p_cm_mra_rec->p_mra_pdata,\r
-               IB_MRA_PDATA_SIZE );\r
-       p_ioctl_rec->mra_rec.p_mra_pdata = NULL;\r
-\r
-       CL_ASSERT( p_cm_mra_rec->h_qp );\r
-       p_ioctl_rec->mra_rec.h_qp = (ib_qp_handle_t VOID_PTR64)p_cm_mra_rec->h_qp->obj.hdl;\r
-       p_context = p_cm_mra_rec->h_qp->obj.h_al->p_context;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_mra_rec->h_qp->obj );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void proxy_cm_rej_cb(\r
-       IN                              ib_cm_rej_rec_t                         *p_cm_rej_rec)\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_rej_cb_ioctl_rec     *p_ioctl_rec =\r
-                                       &cb_info.ioctl_rec.cm_rej_cb_ioctl_rec;\r
-       al_dev_open_context_t   *p_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_REJ_REC;\r
-       p_ioctl_rec->rej_rec = *p_cm_rej_rec;\r
-\r
-       if( p_cm_rej_rec->p_rej_pdata )\r
-       {\r
-               cl_memcpy( &p_ioctl_rec->rej_pdata, p_cm_rej_rec->p_rej_pdata,\r
-                       IB_REJ_PDATA_SIZE );\r
-               p_ioctl_rec->rej_rec.p_rej_pdata = (uint8_t*)&p_ioctl_rec->rej_pdata;\r
-       }\r
-\r
-       if( p_cm_rej_rec->ari_length > 0 )\r
-       {\r
-               cl_memcpy( &p_ioctl_rec->ari_pdata, p_cm_rej_rec->p_ari,\r
-                       p_cm_rej_rec->ari_length );\r
-               p_ioctl_rec->rej_rec.p_ari = (uint8_t*)&p_ioctl_rec->ari_pdata;\r
-       }\r
-       else\r
-       {\r
-               p_ioctl_rec->rej_rec.p_ari = NULL;\r
-       }\r
-\r
-       CL_ASSERT( p_cm_rej_rec->h_qp );\r
-       p_ioctl_rec->rej_rec.h_qp = (ib_qp_handle_t VOID_PTR64)p_cm_rej_rec->h_qp->obj.hdl;\r
-       p_context = p_cm_rej_rec->h_qp->obj.h_al->p_context;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_rej_rec->h_qp->obj );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void\r
-proxy_cm_lap_cb(\r
-       IN                              ib_cm_lap_rec_t                         *p_cm_lap_rec)\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_lap_cb_ioctl_rec     *p_ioctl_rec =\r
-                                       &cb_info.ioctl_rec.cm_lap_cb_ioctl_rec;\r
-       al_dev_open_context_t   *p_context;\r
-       uint64_t                                hdl;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-       cl_memclr(&cb_info, sizeof(cb_info));\r
-       cb_info.rec_type = CM_LAP_REC;\r
-       p_ioctl_rec->lap_rec = *p_cm_lap_rec;\r
-\r
-       if( p_cm_lap_rec->p_lap_pdata )\r
-       {\r
-               cl_memcpy( &p_ioctl_rec->lap_pdata, p_cm_lap_rec->p_lap_pdata,\r
-                       IB_LAP_PDATA_SIZE );\r
-               p_ioctl_rec->lap_rec.p_lap_pdata = NULL;\r
-       }\r
-\r
-       p_context = p_cm_lap_rec->h_cm_lap->h_al->p_context;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               hdl = al_hdl_lock_insert( p_context->h_al, p_cm_lap_rec->h_cm_lap,\r
-                       AL_OBJ_TYPE_H_CONN | AL_OBJ_SUBTYPE_LAP );\r
-       }\r
-       else\r
-       {\r
-               hdl = AL_INVALID_HANDLE;\r
-       }\r
-\r
-       if( hdl != AL_INVALID_HANDLE )\r
-       {\r
-               p_ioctl_rec->lap_rec.h_cm_lap = (ib_cm_handle_t)hdl;\r
-\r
-               if( !proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_lap_rec->h_cm_lap->h_qp->obj ) )\r
-               {\r
-                       al_hdl_get_conn( p_context->h_al, hdl, AL_OBJ_SUBTYPE_LAP );\r
-                       goto err;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               ib_cm_apr_t             cm_apr;\r
-\r
-err:\r
-               /* Reject the LAP. */\r
-               cl_memclr( &cm_apr, sizeof( ib_cm_apr_t ) );\r
-               cm_apr.apr_status = IB_AP_REJECT;\r
-               ib_cm_apr( p_cm_lap_rec->h_cm_lap, &cm_apr );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void\r
-proxy_cm_apr_cb(\r
-       IN                              ib_cm_apr_rec_t                         *p_cm_apr_rec)\r
-{\r
-       cm_cb_ioctl_info_t              cb_info;\r
-       struct _cm_apr_cb_ioctl_rec     *p_ioctl_rec =\r
-                                       &cb_info.ioctl_rec.cm_apr_cb_ioctl_rec;\r
-       al_dev_open_context_t   *p_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-       cl_memclr( &cb_info, sizeof(cb_info) );\r
-       cb_info.rec_type = CM_APR_REC;\r
-       p_ioctl_rec->apr_rec = *p_cm_apr_rec;\r
-\r
-       if( p_cm_apr_rec->info_length > 0 )\r
-       {\r
-               cl_memcpy( &p_ioctl_rec->apr_info, p_cm_apr_rec->p_info,\r
-                       p_cm_apr_rec->info_length );\r
-       }\r
-\r
-       p_ioctl_rec->apr_rec.p_info = NULL;\r
-\r
-       cl_memcpy( &p_ioctl_rec->apr_pdata, p_cm_apr_rec->p_apr_pdata,\r
-               IB_APR_PDATA_SIZE );\r
-       p_ioctl_rec->apr_rec.p_apr_pdata = NULL;\r
-\r
-       p_context = p_cm_apr_rec->h_qp->obj.h_al->p_context;\r
-       p_ioctl_rec->apr_rec.h_qp = (ib_qp_handle_t VOID_PTR64)p_cm_apr_rec->h_qp->obj.hdl;\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       if( proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_queue_cb_buf( UAL_GET_CM_CB_INFO, p_context,\r
-                       &cb_info, &p_cm_apr_rec->h_qp->obj );\r
-       }\r
-\r
-       proxy_context_deref( p_context );\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-\r
-void\r
-proxy_listen_err_cb(\r
-       IN                              ib_listen_err_rec_t                     *p_err_rec)\r
-{\r
-       al_dev_open_context_t   *p_context;\r
-       misc_cb_ioctl_info_t    cb_info;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /*\r
-        * If we're already closing the device - do not queue a callback, since\r
-        * we're cleaning up the callback lists.\r
-        */\r
-       p_context = p_err_rec->h_cm_listen->obj.h_al->p_context;\r
-       if( !proxy_context_ref( p_context ) )\r
-       {\r
-               proxy_context_deref( p_context );\r
-               AL_EXIT( AL_DBG_CM );\r
-               return;\r
-       }\r
-\r
-       /* Set up context and callback record type appropriate for UAL */\r
-       cb_info.rec_type = LISTEN_ERROR_REC;\r
-       cb_info.ioctl_rec.listen_err = *p_err_rec;\r
-       cb_info.ioctl_rec.listen_err.h_cm_listen =\r
-               (ib_listen_handle_t VOID_PTR64)p_err_rec->h_cm_listen->obj.hdl;\r
-\r
-       /* Proxy handle must be valid now. */\r
-       if( !p_err_rec->h_cm_listen->obj.hdl_valid )\r
-               p_err_rec->h_cm_listen->obj.hdl_valid = TRUE;\r
-\r
-       proxy_queue_cb_buf( UAL_GET_MISC_CB_INFO, p_context, &cb_info,\r
-               &p_err_rec->h_cm_listen->obj );\r
-       proxy_context_deref( p_context );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_req(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_req_ioctl_t              *p_ioctl =\r
-               (ual_cm_req_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_qp_handle_t VOID_PTR64                       h_qp;\r
-       size_t                                  in_buf_sz;\r
-       uint8_t                                 *p_buf;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Extra validation on the input buffer length. */\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_req.p_alt_path )\r
-               in_buf_sz += sizeof(ib_path_rec_t);\r
-       if( p_ioctl->in.cm_req.p_compare_buffer )\r
-               in_buf_sz += p_ioctl->in.cm_req.compare_length;\r
-       if( p_ioctl->in.cm_req.p_req_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_req.req_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       p_ioctl->in.cm_req.h_al = p_context->h_al;\r
-\r
-       /* Validate qp handle */\r
-       if( p_ioctl->in.cm_req.qp_type == IB_QPT_RELIABLE_CONN ||\r
-               p_ioctl->in.cm_req.qp_type == IB_QPT_UNRELIABLE_CONN )\r
-       {\r
-               h_qp = (ib_qp_handle_t VOID_PTR64)\r
-                       al_hdl_ref( p_context->h_al, p_ioctl->in.h_qp, AL_OBJ_TYPE_H_QP );\r
-               if( !h_qp )\r
-               {\r
-                       p_ioctl->out.status = IB_INVALID_QP_HANDLE;\r
-                       AL_PRINT_EXIT( TRACE_LEVEL_ERROR, AL_DBG_ERROR, ("IB_INVALID_QP_HANDLE\n") );\r
-                       return CL_SUCCESS;\r
-               }\r
-               p_ioctl->in.cm_req.h_qp = h_qp;\r
-       }\r
-       else\r
-       {\r
-               h_qp = NULL;\r
-       }\r
-\r
-       /* Fixup the primary path pointer. */\r
-       p_ioctl->in.cm_req.p_primary_path = p_ioctl->in.paths;\r
-\r
-       p_buf = (uint8_t*)&p_ioctl->in.paths[1];\r
-       /* Fixup the alternat path pointer if needed. */\r
-       if( p_ioctl->in.cm_req.p_alt_path )\r
-       {\r
-               p_ioctl->in.cm_req.p_alt_path = (ib_path_rec_t*)p_buf;\r
-               p_buf += sizeof(ib_path_rec_t);\r
-       }\r
-       /* Fixup the private data buffer pointer as needed. */\r
-       if( p_ioctl->in.cm_req.p_req_pdata )\r
-       {\r
-               p_ioctl->in.cm_req.p_req_pdata = p_buf;\r
-               p_buf += p_ioctl->in.cm_req.req_length;\r
-       }\r
-       /* Fixup the compare buffer pointer as needed. */\r
-       if( p_ioctl->in.cm_req.p_compare_buffer )\r
-               p_ioctl->in.cm_req.p_compare_buffer = p_buf;\r
-\r
-       /* Override the user's callbacks with our own. */\r
-       /* Do not change user's request from client/server to peer-to-peer. */ \r
-       if( p_ioctl->in.cm_req.pfn_cm_req_cb )\r
-               p_ioctl->in.cm_req.pfn_cm_req_cb = proxy_cm_req_cb;\r
-       p_ioctl->in.cm_req.pfn_cm_rep_cb = proxy_cm_rep_cb;\r
-       p_ioctl->in.cm_req.pfn_cm_mra_cb = proxy_cm_mra_cb;\r
-       p_ioctl->in.cm_req.pfn_cm_rej_cb = proxy_cm_rej_cb;\r
-\r
-       p_ioctl->out.status = ib_cm_req( &p_ioctl->in.cm_req );\r
-\r
-       if( h_qp )\r
-               deref_al_obj( &h_qp->obj );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_rep(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_rep_ioctl_t              *p_ioctl =\r
-               (ual_cm_rep_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm_req;\r
-       ib_qp_handle_t VOID_PTR64                       h_qp;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_rep.p_rep_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_rep.rep_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate QP handle. */\r
-       h_qp = (ib_qp_handle_t VOID_PTR64)\r
-               al_hdl_ref( p_context->h_al, p_ioctl->in.h_qp, AL_OBJ_TYPE_H_QP );\r
-       if( !h_qp )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_QP_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-       p_ioctl->in.cm_rep.h_qp = h_qp;\r
-\r
-       /* Validate CM REQ handle */\r
-       h_cm_req = al_hdl_get_conn(\r
-               p_context->h_al, p_ioctl->in.h_cm_req, AL_OBJ_SUBTYPE_REQ );\r
-       if( !h_cm_req )\r
-       {\r
-               deref_al_obj( &h_qp->obj );\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       if( p_ioctl->in.cm_rep.p_rep_pdata )\r
-               p_ioctl->in.cm_rep.p_rep_pdata = (uint8_t*)((&p_ioctl->in.cm_rep) + 1);\r
-\r
-       /* All work requests are posted in UM. */\r
-       p_ioctl->in.cm_rep.p_recv_wr = NULL;\r
-\r
-       p_ioctl->in.cm_rep.pfn_cm_rtu_cb = proxy_cm_rtu_cb;\r
-       p_ioctl->in.cm_rep.pfn_cm_lap_cb = proxy_cm_lap_cb;\r
-       p_ioctl->in.cm_rep.pfn_cm_dreq_cb = proxy_cm_dreq_cb;\r
-\r
-       p_ioctl->out.status = ib_cm_rep( h_cm_req, &p_ioctl->in.cm_rep );\r
-\r
-       __deref_conn( h_cm_req );\r
-       deref_al_obj( &h_qp->obj );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_dreq(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_dreq_ioctl_t             *p_ioctl =\r
-               (ual_cm_dreq_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_qp_handle_t VOID_PTR64                       h_qp;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_dreq.p_dreq_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_dreq.dreq_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate qp handle */\r
-       if( p_ioctl->in.cm_dreq.qp_type == IB_QPT_RELIABLE_CONN ||\r
-               p_ioctl->in.cm_dreq.qp_type == IB_QPT_UNRELIABLE_CONN )\r
-       {\r
-               h_qp = (ib_qp_handle_t VOID_PTR64)\r
-                       al_hdl_ref( p_context->h_al, p_ioctl->in.h_qp, AL_OBJ_TYPE_H_QP );\r
-               if( !h_qp )\r
-               {\r
-                       p_ioctl->out.status = IB_INVALID_QP_HANDLE;\r
-                       AL_EXIT( AL_DBG_CM );\r
-                       return CL_SUCCESS;\r
-               }\r
-               p_ioctl->in.cm_dreq.h_qp = h_qp;\r
-       }\r
-       else\r
-       {\r
-               h_qp = NULL;\r
-       }\r
-\r
-       if( p_ioctl->in.cm_dreq.p_dreq_pdata )\r
-               p_ioctl->in.cm_dreq.p_dreq_pdata = (uint8_t*)((&p_ioctl->in.cm_dreq) + 1);\r
-\r
-       p_ioctl->in.cm_dreq.pfn_cm_drep_cb = proxy_cm_drep_cb;\r
-\r
-       p_ioctl->out.status = ib_cm_dreq( &p_ioctl->in.cm_dreq );\r
-\r
-       if( h_qp )\r
-               deref_al_obj( &h_qp->obj );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_drep(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_drep_ioctl_t             *p_ioctl =\r
-               (ual_cm_drep_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm_dreq;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_drep.p_drep_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_drep.drep_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate CM REQ handle. */\r
-       h_cm_dreq = al_hdl_get_conn(\r
-               p_context->h_al, p_ioctl->in.h_cm_dreq, AL_OBJ_SUBTYPE_DREQ );\r
-       if( !h_cm_dreq )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       if( p_ioctl->in.cm_drep.p_drep_pdata )\r
-       {\r
-               p_ioctl->in.cm_drep.p_drep_pdata =\r
-                       (uint8_t*)((&p_ioctl->in.cm_drep) + 1);\r
-       }\r
-\r
-       p_ioctl->out.status = ib_cm_drep( h_cm_dreq, &p_ioctl->in.cm_drep );\r
-\r
-       __deref_conn( h_cm_dreq );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_listen(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_listen_ioctl_t   *p_ioctl =\r
-               (ual_cm_listen_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       ib_listen_handle_t VOID_PTR64           h_listen;\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_listen.p_compare_buffer )\r
-               in_buf_sz += p_ioctl->in.cm_listen.compare_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       if( p_ioctl->in.cm_listen.p_compare_buffer )\r
-       {\r
-               p_ioctl->in.cm_listen.p_compare_buffer =\r
-                       (uint8_t*)((&p_ioctl->in.cm_listen) + 1);\r
-       }\r
-\r
-       if( p_ioctl->in.cm_listen.qp_type == IB_QPT_RELIABLE_CONN ||\r
-               p_ioctl->in.cm_listen.qp_type == IB_QPT_UNRELIABLE_CONN )\r
-       {\r
-               p_ioctl->in.cm_listen.pfn_cm_mra_cb = proxy_cm_mra_cb;\r
-               p_ioctl->in.cm_listen.pfn_cm_rej_cb = proxy_cm_rej_cb;\r
-       }\r
-       p_ioctl->in.cm_listen.pfn_cm_req_cb = proxy_cm_req_cb;\r
-\r
-       p_ioctl->out.status = cm_listen( p_context->h_al,\r
-               &p_ioctl->in.cm_listen, proxy_listen_err_cb, p_ioctl->in.context,\r
-               &h_listen );\r
-       if( p_ioctl->out.status == IB_SUCCESS )\r
-       {\r
-               p_ioctl->out.h_cm_listen = h_listen->obj.hdl;\r
-               h_listen->obj.hdl_valid = TRUE;\r
-               deref_al_obj( &h_listen->obj );\r
-       }\r
-       else\r
-       {\r
-               p_ioctl->out.h_cm_listen = AL_INVALID_HANDLE;\r
-       }\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_cancel(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_cancel_ioctl_t   *p_ioctl =\r
-               (ual_cm_cancel_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       ib_listen_handle_t VOID_PTR64           h_cm_listen;\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) != sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate listen handle. */\r
-       h_cm_listen = (ib_listen_handle_t VOID_PTR64)al_hdl_ref(\r
-               p_context->h_al, p_ioctl->in.h_cm_listen, AL_OBJ_TYPE_H_LISTEN );\r
-       if( !h_cm_listen )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       h_cm_listen->obj.pfn_destroy( &h_cm_listen->obj, ib_sync_destroy );\r
-       p_ioctl->out.status = IB_SUCCESS;\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_rtu(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_rtu_ioctl_t              *p_ioctl =\r
-               (ual_cm_rtu_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm_rep;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_rtu.p_rtu_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_rtu.rtu_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate CM REP handle. */\r
-       h_cm_rep = al_hdl_get_conn(\r
-               p_context->h_al, p_ioctl->in.h_cm_rep, AL_OBJ_SUBTYPE_REP );\r
-       if( !h_cm_rep )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       if( p_ioctl->in.cm_rtu.p_rtu_pdata )\r
-               p_ioctl->in.cm_rtu.p_rtu_pdata = (uint8_t*)((&p_ioctl->in.cm_rtu) + 1);\r
-\r
-       p_ioctl->in.cm_rtu.pfn_cm_dreq_cb = proxy_cm_dreq_cb;\r
-       p_ioctl->in.cm_rtu.pfn_cm_apr_cb = proxy_cm_apr_cb;\r
-\r
-       p_ioctl->out.status = ib_cm_rtu( h_cm_rep, &p_ioctl->in.cm_rtu );\r
-\r
-       __deref_conn( h_cm_rep );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_rej(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_rej_ioctl_t              *p_ioctl =\r
-               (ual_cm_rej_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm;\r
-       size_t                                  in_buf_sz;\r
-       uint8_t                                 *p_buf;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_rej.p_ari )\r
-               in_buf_sz += p_ioctl->in.cm_rej.ari_length;\r
-       if( p_ioctl->in.cm_rej.p_rej_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_rej.rej_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate CM handle.  We could reject a request or reply. */\r
-       h_cm = al_hdl_get_conn( p_context->h_al, p_ioctl->in.h_cm,\r
-               AL_OBJ_SUBTYPE_REQ | AL_OBJ_SUBTYPE_REP );\r
-       if( !h_cm )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       p_buf = (uint8_t*)((&p_ioctl->in.cm_rej) + 1);\r
-       if( p_ioctl->in.cm_rej.p_ari )\r
-       {\r
-               p_ioctl->in.cm_rej.p_ari = (ib_ari_t*)p_buf;\r
-               p_buf += p_ioctl->in.cm_rej.ari_length;\r
-       }\r
-       if( p_ioctl->in.cm_rej.p_rej_pdata )\r
-               p_ioctl->in.cm_rej.p_rej_pdata = p_buf;\r
-\r
-       p_ioctl->out.status = ib_cm_rej( h_cm, &p_ioctl->in.cm_rej );\r
-\r
-       __deref_conn( h_cm );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_mra(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_mra_ioctl_t              *p_ioctl =\r
-               (ual_cm_mra_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_mra.p_mra_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_mra.mra_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate CM handle.  MRA could be for a REQ, REP, or LAP. */\r
-       h_cm = al_hdl_ref_conn( p_context->h_al, p_ioctl->in.h_cm,\r
-               AL_OBJ_SUBTYPE_REQ | AL_OBJ_SUBTYPE_REP | AL_OBJ_SUBTYPE_LAP );\r
-       if( !h_cm )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       if( p_ioctl->in.cm_mra.p_mra_pdata )\r
-               p_ioctl->in.cm_mra.p_mra_pdata = (uint8_t*)((&p_ioctl->in.cm_mra) + 1);\r
-\r
-       p_ioctl->out.status = ib_cm_mra( h_cm, &p_ioctl->in.cm_mra );\r
-\r
-       __deref_conn( h_cm );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_lap(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_lap_ioctl_t              *p_ioctl =\r
-               (ual_cm_lap_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_qp_handle_t VOID_PTR64                       h_qp;\r
-       size_t                                  in_buf_sz;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_lap.p_lap_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_lap.lap_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       /* Validate qp handle */\r
-       h_qp = (ib_qp_handle_t VOID_PTR64)\r
-               al_hdl_ref( p_context->h_al, p_ioctl->in.h_qp, AL_OBJ_TYPE_H_QP );\r
-       if( !h_qp )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_QP_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-       p_ioctl->in.cm_lap.h_qp = h_qp;\r
-\r
-       if( p_ioctl->in.cm_lap.p_alt_path )\r
-               p_ioctl->in.cm_lap.p_alt_path = &p_ioctl->in.alt_path;\r
-\r
-       if( p_ioctl->in.cm_lap.p_lap_pdata )\r
-       {\r
-               p_ioctl->in.cm_lap.p_lap_pdata =\r
-                       (uint8_t* VOID_PTR64)((&p_ioctl->in.cm_lap.p_lap_pdata) + 1);\r
-       }\r
-\r
-       p_ioctl->out.status = ib_cm_lap( &p_ioctl->in.cm_lap );\r
-\r
-       deref_al_obj( &h_qp->obj );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_apr(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       ual_cm_apr_ioctl_t              *p_ioctl =\r
-               (ual_cm_apr_ioctl_t *)cl_ioctl_in_buf( h_ioctl );\r
-       al_dev_open_context_t   *p_context =\r
-               (al_dev_open_context_t *)p_open_context;\r
-       ib_cm_handle_t                  h_cm_lap;\r
-       ib_qp_handle_t VOID_PTR64                       h_qp;\r
-       size_t                                  in_buf_sz;\r
-       uint8_t                                 *p_buf;\r
-\r
-       AL_ENTER( AL_DBG_CM );\r
-\r
-       /* Validate input buffers. */\r
-       if( !cl_ioctl_in_buf( h_ioctl ) || !cl_ioctl_out_buf( h_ioctl ) ||\r
-               cl_ioctl_in_size( h_ioctl ) < sizeof(p_ioctl->in) ||\r
-               cl_ioctl_out_size( h_ioctl ) != sizeof(p_ioctl->out) )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       in_buf_sz = sizeof(p_ioctl->in);\r
-       if( p_ioctl->in.cm_apr.p_apr_pdata )\r
-               in_buf_sz += p_ioctl->in.cm_apr.apr_length;\r
-\r
-       if( cl_ioctl_in_size( h_ioctl ) != in_buf_sz )\r
-       {\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       /* Set the return bytes in all cases */\r
-       *p_ret_bytes = sizeof(p_ioctl->out);\r
-\r
-       h_cm_lap = al_hdl_get_conn(\r
-               p_context->h_al, p_ioctl->in.h_cm_lap, AL_OBJ_SUBTYPE_LAP );\r
-       if( !h_cm_lap )\r
-       {\r
-               p_ioctl->out.status = IB_INVALID_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-\r
-       /* Validate qp handle */\r
-       h_qp = (ib_qp_handle_t VOID_PTR64)\r
-               al_hdl_ref( p_context->h_al, p_ioctl->in.h_qp, AL_OBJ_TYPE_H_QP );\r
-       if( !h_qp )\r
-       {\r
-               __deref_conn( h_cm_lap );\r
-               p_ioctl->out.status = IB_INVALID_QP_HANDLE;\r
-               AL_EXIT( AL_DBG_CM );\r
-               return CL_SUCCESS;\r
-       }\r
-       p_ioctl->in.cm_apr.h_qp = h_qp;\r
-\r
-       p_buf = (uint8_t*)((&p_ioctl->in.cm_apr) + 1);\r
-       if( p_ioctl->in.cm_apr.p_info )\r
-       {\r
-               p_ioctl->in.cm_apr.p_info = (ib_apr_info_t*)p_buf;\r
-               p_buf += p_ioctl->in.cm_apr.info_length;\r
-       }\r
-       if( p_ioctl->in.cm_apr.p_apr_pdata )\r
-               p_ioctl->in.cm_apr.p_apr_pdata = p_buf;\r
-\r
-       p_ioctl->out.status = ib_cm_apr( h_cm_lap, &p_ioctl->in.cm_apr );\r
-\r
-       __deref_conn( h_cm_lap );\r
-       deref_al_obj( &h_qp->obj );\r
-\r
-       AL_EXIT( AL_DBG_CM );\r
-       return CL_SUCCESS;\r
-}\r
-\r
-\r
-cl_status_t\r
-proxy_cm_force_apm(\r
-       IN              void                                    *p_open_context,\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       /*\r
-        * The force APM path needs to just update the primary path index.\r
-        * The actual QP modify needs to happen in UM.\r
-        */\r
-       UNUSED_PARAM( p_open_context );\r
-       UNUSED_PARAM( h_ioctl );\r
-       UNUSED_PARAM( p_ret_bytes );\r
-       return IB_ERROR;\r
-}\r
-\r
-\r
-cl_status_t\r
-cm_ioctl(\r
-       IN              cl_ioctl_handle_t               h_ioctl,\r
-               OUT     size_t                                  *p_ret_bytes )\r
-{\r
-       cl_status_t cl_status;\r
-       IO_STACK_LOCATION               *p_io_stack;\r
-       void                                    *p_context;\r
-\r
-       AL_ENTER( AL_DBG_DEV );\r
-\r
-       CL_ASSERT( h_ioctl && p_ret_bytes );\r
-\r
-       p_io_stack = IoGetCurrentIrpStackLocation( h_ioctl );\r
-       p_context = p_io_stack->FileObject->FsContext;\r
-\r
-       if( !p_context )\r
-       {\r
-               AL_EXIT( AL_DBG_DEV );\r
-               return CL_INVALID_PARAMETER;\r
-       }\r
-\r
-       switch( cl_ioctl_ctl_code( h_ioctl ) )\r
-       {\r
-       case UAL_CM_LISTEN:\r
-               cl_status = proxy_cm_listen( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_REQ:\r
-               cl_status = proxy_cm_req( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_REP:\r
-               cl_status = proxy_cm_rep( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_RTU:\r
-               cl_status = proxy_cm_rtu( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_REJ:\r
-               cl_status = proxy_cm_rej( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_DREQ:\r
-               cl_status = proxy_cm_dreq( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_DREP:\r
-               cl_status = proxy_cm_drep( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_MRA:\r
-               cl_status = proxy_cm_mra( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_LAP:\r
-               cl_status = proxy_cm_lap( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_APR:\r
-               cl_status = proxy_cm_apr( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_FORCE_APM:\r
-               cl_status = proxy_cm_force_apm( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       case UAL_CM_CANCEL:\r
-               cl_status = proxy_cm_cancel( p_context, h_ioctl, p_ret_bytes );\r
-               break;\r
-       default:\r
-               cl_status = CL_INVALID_PARAMETER;\r
-               break;\r
-       }\r
-\r
-       AL_EXIT( AL_DBG_DEV );\r
-       return cl_status;\r
-}\r
index 78f65d9..037ed31 100644 (file)
@@ -37,7 +37,6 @@ SOURCES=\
        ual_ci_ca.c                             \\r
        ual_cm_cep.c                    \\r
        ual_cq.c                                \\r
-       ual_dm.c                                \\r
        ual_mad.c                               \\r
        ual_mad_pool.c                  \\r
        ual_mcast.c                             \\r
@@ -47,11 +46,8 @@ SOURCES=\
        ual_pd.c                                \\r
        ual_pnp.c                               \\r
        ual_qp.c                                \\r
-       ual_query.c                             \\r
-       ual_reg_svc.c                   \\r
        ual_sa_req.c                    \\r
        ual_srq.c                               \\r
-       ual_sub.c                               \\r
        ..\al.c                                 \\r
        ..\al_av.c                              \\r
        ..\al_ca.c                              \\r
diff --git a/core/al/user/ual_dm.c b/core/al/user/ual_dm.c
deleted file mode 100644 (file)
index 37ca67e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include "ual_support.h"\r
-#include "al.h"\r
-\r
diff --git a/core/al/user/ual_dm.h b/core/al/user/ual_dm.h
deleted file mode 100644 (file)
index 7bb023b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__IB_UAL_DM_H__)\r
-#define __IB_UAL_DM_H__\r
-\r
-#endif /* __IB_UAL_DM_H__ */\r
diff --git a/core/al/user/ual_mr.h b/core/al/user/ual_mr.h
deleted file mode 100644 (file)
index fc7ccd2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__UAL_MR_H__)\r
-#define __UAL_MR_H__\r
-\r
-#endif /* __UAL_MR_H__ */\r
diff --git a/core/al/user/ual_mw.h b/core/al/user/ual_mw.h
deleted file mode 100644 (file)
index 78a047d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__UAL_MW_H__)\r
-#define __UAL_MW_H__\r
-\r
-#endif /* __UAL_MW_H__ */\r
diff --git a/core/al/user/ual_query.c b/core/al/user/ual_query.c
deleted file mode 100644 (file)
index 63dd3b2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include "ual_support.h"\r
-#include "al.h"\r
diff --git a/core/al/user/ual_query.h b/core/al/user/ual_query.h
deleted file mode 100644 (file)
index ed61ea6..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#if !defined(__UAL_QUERY_H__)\r
-#define __UAL_QUERY_H__\r
-\r
-#endif /* __UAL_QUERY_H__ */\r
diff --git a/core/al/user/ual_reg_svc.c b/core/al/user/ual_reg_svc.c
deleted file mode 100644 (file)
index 63dd3b2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include "ual_support.h"\r
-#include "al.h"\r
diff --git a/core/al/user/ual_sub.c b/core/al/user/ual_sub.c
deleted file mode 100644 (file)
index 63dd3b2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
- * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. \r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- *     Redistribution and use in source and binary forms, with or\r
- *     without modification, are permitted provided that the following\r
- *     conditions are met:\r
- *\r
- *      - Redistributions of source code must retain the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer.\r
- *\r
- *      - Redistributions in binary form must reproduce the above\r
- *        copyright notice, this list of conditions and the following\r
- *        disclaimer in the documentation and/or other materials\r
- *        provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-#include "ual_support.h"\r
-#include "al.h"\r