[IBBUS] This patch removes XXX_PTR64 and TO_ULONG_PTR macro use from IBBus.
[mirror/winof/.git] / core / bus / kernel / bus_port_mgr.h
1 /*\r
2  * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
3  * Portions Copyright (c) 2008 Microsoft Corporation.  All rights reserved.\r
4  *\r
5  * This software is available to you under the OpenIB.org BSD license\r
6  * below:\r
7  *\r
8  *     Redistribution and use in source and binary forms, with or\r
9  *     without modification, are permitted provided that the following\r
10  *     conditions are met:\r
11  *\r
12  *      - Redistributions of source code must retain the above\r
13  *        copyright notice, this list of conditions and the following\r
14  *        disclaimer.\r
15  *\r
16  *      - Redistributions in binary form must reproduce the above\r
17  *        copyright notice, this list of conditions and the following\r
18  *        disclaimer in the documentation and/or other materials\r
19  *        provided with the distribution.\r
20  *\r
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
22  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
23  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
24  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
25  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
26  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
27  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
28  * SOFTWARE.\r
29  *\r
30  * $Id$\r
31  */\r
32 \r
33 \r
34 #if !defined( __BUS_PORT_MGR_H__ )\r
35 #define __BUS_PORT_MGR_H__\r
36 \r
37 #include <iba/ib_al.h>\r
38 #include <complib/cl_mutex.h>\r
39 #include <complib/cl_obj.h>\r
40 \r
41 \r
42 /* Global load service */\r
43 typedef struct _port_mgr\r
44 {\r
45         cl_obj_t                                        obj;\r
46         ib_pnp_handle_t                         h_pnp;  /* Handle for port PnP events */\r
47 \r
48         /* Mutex protects both pointer vectors. */\r
49         cl_mutex_t                                      pdo_mutex;\r
50 \r
51         /* Pointer vector of child IPoIB port PDOs. */\r
52         cl_qlist_t                                      port_list;\r
53 \r
54 }       port_mgr_t;\r
55 \r
56 \r
57 ib_api_status_t\r
58 create_port_mgr(\r
59                 OUT                     port_mgr_t** const                      pp_port_mgr );\r
60 \r
61 \r
62 NTSTATUS\r
63 port_mgr_get_bus_relations(\r
64         IN              const   net64_t                                         ca_guid,\r
65         IN                              IRP* const                                      p_irp );\r
66 \r
67 #endif\r