[DAPL2] sync with WinOF 2.1 branch
[mirror/winof/.git] / inc / kernel / iba / ioc_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 _IOC_IFC_H_\r
38 #define _IOC_IFC_H_\r
39 \r
40 \r
41 /****h* Access Layer/IO Controler Interface\r
42 * NAME\r
43 *       IO Controler Interface\r
44 *\r
45 * DESCRIPTION\r
46 *       Header file for the interface exported to IOC client drivers to retrieve\r
47 *       IOC device information.\r
48 *\r
49 *       The interface contains information about the particular instance of an IOC.\r
50 *********/\r
51 \r
52 \r
53 #define IOC_INTERFACE_DATA_VERSION              (3)\r
54 \r
55 \r
56 \r
57 /****s* Access Layer: IO Controler Interface/ioc_ifc_data_t\r
58 * NAME\r
59 *       ioc_ifc_data_t\r
60 *\r
61 * DESCRIPTION\r
62 *       I/O Controler interface data.\r
63 *\r
64 *       The ioc_ifc_data_t structure \r
65 *\r
66 * SYNOPSIS\r
67 */\r
68 typedef struct _ioc_ifc_data\r
69 {\r
70         net64_t                                 ca_guid;\r
71         net64_t                                 guid;\r
72 \r
73 }       ioc_ifc_data_t;\r
74 /*\r
75 * FIELDS\r
76 *       ca_guid\r
77 *               Local CA GUID through which IOC is accessible.\r
78 *\r
79 *       guid\r
80 *               IOC GUID.\r
81 *\r
82 * SEE ALSO\r
83 *       \r
84 *********/\r
85 \r
86 \r
87 #endif  /* !defined _IOC_IFC_H_ */\r
88 \r
89 /*\r
90  * IOC interface GUID.  The GUID is defined outside the conditional include\r
91  * on purpose so that it can be instantiated only once where it is actually\r
92  * needed.  See the DDK docs section "Using GUIDs in Drivers" for more info.\r
93  */\r
94 /* {20883ACD-57F3-4da3-AD03-73D0178ACAE9} */\r
95 DEFINE_GUID(GUID_IOC_INTERFACE_DATA, \r
96 0x20883acd, 0x57f3, 0x4da3, 0xad, 0x3, 0x73, 0xd0, 0x17, 0x8a, 0xca, 0xe9);\r