OpenClovis Logo

clCpmExtApi.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 
32 #ifndef _CL_CPM_EXT_API_H_
33 #define _CL_CPM_EXT_API_H_
34 
35 #ifdef __cplusplus
36 extern "C"
37 {
38 #endif
39 
40 #include <clCommon.h>
41 #include <clCommonErrors.h>
42 #include <clCpmApi.h>
43 
44 #include <clEventApi.h>
45 #include <clCorMetaData.h>
46 
47 /*
48  * The static target slot/target info read from targetconf.xml
49  */
50 
51 typedef struct ClTargetSlotInfo
52 {
53  ClCharT name[80];
54  ClInt32T addr;
55  ClCharT linkname[40];
56  ClCharT arch[80];
57  /*
58  * A private data store per node/slot referenced from the private xml tag
59  */
60  ClCharT customData[256];
61 } ClTargetSlotInfoT;
62 
63 typedef struct ClTargetInfo
64 {
65  ClCharT version[80];
66  ClCharT trapIp[40];
67  ClBoolT installPrerequisites;
68  ClBoolT instantiateImages;
69  ClBoolT createTarballs;
70  ClInt32T tipcNetid;
71  ClInt32T gmsMcastPort;
72  ClUint32T numSlots;
73 } ClTargetInfoT;
74 
80 typedef enum
81 {
103 
105 
109 typedef struct
110 {
114  ClUint32T slotId;
128 
129 /*
130  * CPM node config set.
131  */
132 typedef struct ClCpmNodeConfig
133 {
134  ClCharT nodeName[CL_MAX_NAME_LENGTH];
135  ClNameT nodeType;
136  ClNameT nodeIdentifier;
137  ClNameT nodeMoIdStr;
138  ClCharT cpmType[CL_MAX_NAME_LENGTH];
139 }ClCpmNodeConfigT;
140 
144 typedef enum
145 {
155 
185  CL_IN ClSizeT eventDataSize,
186  CL_IN ClCpmEventTypeT cpmEventType,
187  CL_OUT void *payLoad);
188 
210 extern ClRcT clCpmComponentPIDGet(CL_IN ClNameT *compName,
211  CL_OUT ClUint32T *pid);
212 
248 /*
249  * CM requirement.
250  * Single function which returns the consolidated information
251  * about the slot.
252  */
254  CL_OUT ClCpmSlotInfoT *slotInfo);
255 
256 
293  CL_OUT ClCpmSlotInfoT *slotInfo);
294 
295 
320  CL_OUT ClIocAddressT *pIocAddress);
321 
342 extern ClBoolT clCpmIsCompRestarted(CL_IN ClNameT compName);
343 
344 extern ClRcT clCpmNodeConfigSet(ClCpmNodeConfigT *nodeConfig);
345 
346 extern ClRcT clCpmNodeConfigGet(const ClCharT *nodeName, ClCpmNodeConfigT *nodeConfig);
347 
348 extern ClRcT clCpmCompConfigSet(ClIocNodeAddressT node,
349  ClCharT *name, ClCharT *instantiateCommand,
350  ClAmsCompPropertyT property, ClUint64T mask);
351 
352 extern ClRcT
353 clCpmComponentFailureReportWithCookie(CL_IN ClCpmHandleT cpmHandle,
354  CL_IN const ClNameT *pCompName,
355  CL_IN ClUint64T instantiateCookie,
356  CL_IN ClTimeT errorDetectionTime,
357  CL_IN ClAmsLocalRecoveryT recommendedRecovery,
358  CL_IN ClUint32T alarmHandle);
359 
360 extern ClRcT
361 clCpmTargetSlotInfoGet(const ClCharT *name, ClIocNodeAddressT addr, ClTargetSlotInfoT *slotInfo);
362 
363 extern ClRcT
364 clCpmTargetInfoGet(ClTargetInfoT *targetInfo);
365 
366 extern ClRcT
367 clCpmTargetSlotListGet(ClTargetSlotInfoT *slotInfo, ClUint32T *numSlots);
368 
369 extern ClRcT
370 clCpmTargetVersionGet(ClCharT *aspVersion, ClUint32T maxBytes);
371 
372 extern ClBoolT
373 clCpmIsSCCapable(void);
374 
375 #ifdef __cplusplus
376 }
377 #endif
378 
379 #endif /* _CL_CPM_EXT_API_H_*/
380 
381 

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