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,
87  CL_IOC_NODE_DISCOVER_PEER_NOTIFICATION,
89 
90  typedef struct ClIocQueueNotification
91  {
92  ClWaterMarkIdT wmID;
93  ClWaterMarkT wm;
94  ClUint32T queueSize;
95  ClUint32T messageLength;
96  } ClIocQueueNotificationT;
97 
98  typedef struct ClIocNotification
99  {
100  /*Notification ID*/
102  ClUint32T protoVersion;
103  ClIocAddressT nodeAddress;
104  ClUint32T nodeVersion;
105  union
106  {
107  /*
108  * Node address and comp death would just need
109  * node address
110  */
111  struct sendqWMNotification
112  {
113  ClIocQueueNotificationT queueNotification;
114  } sendqWMNotification;
115 
116  struct commPortWMNotification
117  {
118  ClIocQueueNotificationT queueNotification;
119  } commPortWMNotification;
120 
121  } notificationData;
122 
123  #define sendqWMNotification notificationData.sendqWMNotification.queueNotification
124  #define commPortWMNotification notificationData.commPortWMNotification.queueNotification
125 
126  } ClIocNotificationT;
127 
128 
156  CL_OUT ClUint32T * pSize
157  );
158 
159 
160 
188  CL_OUT ClUint32T * pNumberOfEntries
189  );
190 
206  ClRcT clConfigChange(ClConfigChange requestType);
207 
246  CL_INOUT ClUint32T * pNumberOfEntries,
247  CL_OUT ClIocNodeAddressT * pAddrList
248  );
249 
250 
251 
278  ClPtrT pConfig
279  );
280 
281 
282 
283 
310  void
311  );
312 
313 
314 
315  ClRcT clIocCommPortDebug(CL_IN ClIocPortT portId, CL_IN ClCharT *pCommand) CL_DEPRECATED;
316 
317  ClRcT clIocGeographicalAddressGet(
318  CL_IN ClIocNodeAddressT iocNodeAddr,
319  CL_OUT ClCharT * pGeoAddr
320  ) CL_DEPRECATED;
321 
322  ClRcT clIocGeographicalAddressSet(
323  CL_IN ClIocNodeAddressT iocNodeAddr,
324  CL_IN ClCharT * pGeoAddr
325  ) CL_DEPRECATED;
326 
327  ClRcT clIocSessionReset(
328  CL_IN ClIocCommPortHandleT iocCommPortHdl,
329  CL_IN ClIocLogicalAddressT * pIocLogicalAddress
330  ) CL_DEPRECATED;
331 
332  ClRcT clIocBind(
333  CL_IN ClNameT * toName,
334  CL_OUT ClIocToBindHandleT * pToHandle
335  ) CL_DEPRECATED;
336 
337 
338 # ifdef __cplusplus
339 }
340 # endif
341 
342 #endif /* _CL_IOC_ASP_INTERNAL_H_ */
343 
Header file of Ioc Data Structures and APIs.
ClUint32T ClRcT
Clovis return code type.
Definition: clCommon.h:168
#define CL_INOUT
CL_INOUT macro assists in clearly defining arguments of an API, but has no actual meaning.
Definition: clCommon.h:108
#define CL_OUT
CL_OUT macro assists in clearly defining arguments of an API, but has no actual meaning.
Definition: clCommon.h:110
#define CL_IN
CL_IN macro assists in clearly defining arguments of an API, but has no actual meaning.
Definition: clCommon.h:106
ClWordT ClIocCommPortHandleT
The Communication port handle.
Definition: clIocApi.h:353
ClRcT clIocNeighborListGet(CL_INOUT ClUint32T *pNumberOfEntries, CL_OUT ClIocNodeAddressT *pAddrList)
Returns the list of neighbours IOC nodes.
ClUint64T ClIocLogicalAddressT
IOC Logical address.
Definition: clIocApi.h:371
ClUint32T ClIocPortT
The IOC communication port.
Definition: clIocApi.h:348
ClRcT clConfigChange(ClConfigChange requestType)
change configuration all component
ClRcT clIocLibInitialize(ClPtrT pConfig)
Configures and initializes the IOC.
ClRcT clIocTotalNeighborEntryGet(CL_OUT ClUint32T *pNumberOfEntries)
Returns the total number of neighbour nodes.
ClRcT clIocLibFinalize(void)
Cleans up the IOC.
enum ClIocNotificationId ClIocNotificationIdT
The port close notification payload.
ClHandleT ClIocToBindHandleT
The Transport handle.
Definition: clIocApi.h:358
ClIocNotificationId
The port close notification payload.
Definition: clIocApiExt.h:74
ClRcT clIocMaxPayloadSizeGet(CL_OUT ClUint32T *pSize)
Returns the maximum payload size.
ClUint32T ClIocNodeAddressT
The IOC node address.
Definition: clIocApi.h:343
A name.
Definition: clCommon.h:197
IOC address.
Definition: clIocApi.h:401

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