OpenClovis Logo

clIocApiExt.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2012 OpenClovis Solutions Inc. All Rights Reserved.
3  *
4  * This file is available under a commercial license from the
5  * copyright holder or the GNU General Public License Version 2.0.
6  *
7  * The source code for this program is not published or otherwise
8  * divested of its trade secrets, irrespective of what has been
9  * deposited with the U.S. Copyright office.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * General Public License for more details.
15  *
16  * For more information, see the file COPYING provided with this
17  * material.
18  */
19 /*******************************************************************************
20  * ModuleName : ioc
21  * File : clIocApiExt.h
22  *******************************************************************************/
23 
24 /*******************************************************************************
25  * Description :
26  *
27  * This is the interface to extended API supported by IOC.
28  *
29  *
30  *****************************************************************************/
31 
44 #ifndef _CL_IOC_ASP_INTERNAL_H_
45 # define _CL_IOC_ASP_INTERNAL_H_
46 
47 # ifdef __cplusplus
48 extern "C"
49 {
50 # endif
51 
52 #include <clIocApi.h>
53 
54  /*
55  * Send related Flags
56  */
60 # define CL_IOC_NO_SESSION 0
61 
65 # define CL_IOC_SESSION_BASED (1<<0)
66 
67 
68 
73  typedef enum ClIocNotificationId
74  {
75  CL_IOC_NODE_ARRIVAL_NOTIFICATION,
76  CL_IOC_NODE_LEAVE_NOTIFICATION,
77  CL_IOC_COMP_ARRIVAL_NOTIFICATION,
78  CL_IOC_COMP_DEATH_NOTIFICATION,
79  CL_IOC_SENDQ_WM_NOTIFICATION,
80  CL_IOC_COMM_PORT_WM_NOTIFICATION,
81  CL_IOC_LOG_NOTIFICATION,
82  CL_IOC_NODE_VERSION_NOTIFICATION,
83  CL_IOC_NODE_VERSION_REPLY_NOTIFICATION,
84  CL_IOC_NODE_DISCOVER_NOTIFICATION,
85  CL_IOC_NODE_LINK_UP_NOTIFICATION,
86  CL_IOC_NODE_LINK_DOWN_NOTIFICATION,
88 
89  typedef struct ClIocQueueNotification
90  {
91  ClWaterMarkIdT wmID;
92  ClWaterMarkT wm;
93  ClUint32T queueSize;
94  ClUint32T messageLength;
95  } ClIocQueueNotificationT;
96 
97  typedef struct ClIocNotification
98  {
99  /*Notification ID*/
101  ClUint32T protoVersion;
102  ClIocAddressT nodeAddress;
103  ClUint32T nodeVersion;
104  union
105  {
106  /*
107  * Node address and comp death would just need
108  * node address
109  */
110  struct sendqWMNotification
111  {
112  ClIocQueueNotificationT queueNotification;
113  } sendqWMNotification;
114 
115  struct commPortWMNotification
116  {
117  ClIocQueueNotificationT queueNotification;
118  } commPortWMNotification;
119 
120  } notificationData;
121 
122  #define sendqWMNotification notificationData.sendqWMNotification.queueNotification
123  #define commPortWMNotification notificationData.commPortWMNotification.queueNotification
124 
125  } ClIocNotificationT;
126 
127 
155  CL_OUT ClUint32T * pSize
156  );
157 
158 
159 
187  CL_OUT ClUint32T * pNumberOfEntries
188  );
189 
190 
191 
230  CL_INOUT ClUint32T * pNumberOfEntries,
231  CL_OUT ClIocNodeAddressT * pAddrList
232  );
233 
234 
235 
262  ClPtrT pConfig
263  );
264 
265 
266 
267 
294  void
295  );
296 
297 
298 
299  ClRcT clIocCommPortDebug(CL_IN ClIocPortT portId, CL_IN ClCharT *pCommand) CL_DEPRECATED;
300 
301  ClRcT clIocGeographicalAddressGet(
302  CL_IN ClIocNodeAddressT iocNodeAddr,
303  CL_OUT ClCharT * pGeoAddr
304  ) CL_DEPRECATED;
305 
306  ClRcT clIocGeographicalAddressSet(
307  CL_IN ClIocNodeAddressT iocNodeAddr,
308  CL_IN ClCharT * pGeoAddr
309  ) CL_DEPRECATED;
310 
311  ClRcT clIocSessionReset(
312  CL_IN ClIocCommPortHandleT iocCommPortHdl,
313  CL_IN ClIocLogicalAddressT * pIocLogicalAddress
314  ) CL_DEPRECATED;
315 
316  ClRcT clIocBind(
317  CL_IN ClNameT * toName,
318  CL_OUT ClIocToBindHandleT * pToHandle
319  ) CL_DEPRECATED;
320 
321 
322 # ifdef __cplusplus
323 }
324 # endif
325 
326 #endif /* _CL_IOC_ASP_INTERNAL_H_ */
327 

Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen