[ipoib,ibbus] Add support for partitioning (winib 2416,2417,2418)
[mirror/winof/.git] / inc / kernel / iba / iou_ifc.h
1 /*\r
2  * Copyright (c) 2005 SilverStorm Technologies.  All rights reserved.\r
3  *\r
4  * This software is available to you under the OpenIB.org BSD license\r
5  * below:\r
6  *\r
7  *     Redistribution and use in source and binary forms, with or\r
8  *     without modification, are permitted provided that the following\r
9  *     conditions are met:\r
10  *\r
11  *      - Redistributions of source code must retain the above\r
12  *        copyright notice, this list of conditions and the following\r
13  *        disclaimer.\r
14  *\r
15  *      - Redistributions in binary form must reproduce the above\r
16  *        copyright notice, this list of conditions and the following\r
17  *        disclaimer in the documentation and/or other materials\r
18  *        provided with the distribution.\r
19  *\r
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
23  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
24  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
25  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
26  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
27  * SOFTWARE.\r
28  *\r
29  * $Id$\r
30  */\r
31 \r
32 \r
33 \r
34 #include "iba/ib_al_ifc.h"\r
35 \r
36 \r
37 #if !defined _IOU_IFC_H_\r
38 #define _IOU_IFC_H_\r
39 \r
40 \r
41 /****h* Access Layer/ IO Unit Interface\r
42 * NAME\r
43 *       IO Unit Interface\r
44 *\r
45 * DESCRIPTION\r
46 *       Header file for the interface exported to IOU client drivers to retrieve\r
47 *       IOU device information.\r
48 *\r
49 *       The interface contains information about the particular instance of an IOU.\r
50 *********/\r
51 \r
52 \r
53 #define IOU_INTERFACE_DATA_VERSION              (4)\r
54 \r
55 \r
56 \r
57 /****s* Access Layer: IO Unit Interface/iou_ifc_data_t\r
58 * NAME\r
59 *       iou_ifc_data_t\r
60 *\r
61 * DESCRIPTION\r
62 *       I/O Unit interface data.\r
63 *\r
64 *       The iou_ifc_data_t structure \r
65 *\r
66 * SYNOPSIS\r
67 */\r
68 typedef struct _iou_ifc_data\r
69 {\r
70         net64_t                                 ca_guid;\r
71         net64_t                                 chassis_guid;\r
72         uint8_t                                 slot;\r
73         net64_t                                 guid;\r
74 \r
75 }       iou_ifc_data_t;\r
76 /*\r
77 * FIELDS\r
78 *       ca_guid\r
79 *               Local CA GUID through which IOU is accessible.\r
80 *\r
81 *       chassis_guid\r
82 *               IOU chassis GUID.\r
83 *\r
84 *       slot\r
85 *               IOU  slot.\r
86 *\r
87 *       guid\r
88 *               IOU  GUID.\r
89 *\r
90 * SEE ALSO\r
91 *       \r
92 *********/\r
93 \r
94 #endif  /* !defined _IOU_IFC_H_ */\r
95 \r
96 /*\r
97  * IOU interface GUID.  The GUID is defined outside the conditional include\r
98  * on purpose so that it can be instantiated only once where it is actually\r
99  * needed.  See the DDK docs section "Using GUIDs in Drivers" for more info.\r
100  */\r
101 /* {C78F0228-E564-4d46-8A4B-295030414C1A} */\r
102 DEFINE_GUID(GUID_IOU_INTERFACE_DATA, \r
103 0xc78f0228, 0xe564, 0x4d46, 0x8a, 0x4b, 0x29, 0x50, 0x30, 0x41, 0x4c, 0x1a);\r