37 typedef SaUint64T SaAmfHandleT;
39 #define SA_AMF_PM_ZERO_EXIT 0x1
40 #define SA_AMF_PM_NON_ZERO_EXIT 0x2
41 #define SA_AMF_PM_ABNORMAL_END 0x4
43 typedef SaUint32T SaAmfPmErrorsT;
47 SA_AMF_PM_PROC_AND_DESCENDENTS = 2,
48 SA_AMF_PM_ALL_PROCESSES = 3
49 } SaAmfPmStopQualifierT;
52 SA_AMF_HEALTHCHECK_AMF_INVOKED = 1,
53 SA_AMF_HEALTHCHECK_COMPONENT_INVOKED= 2
54 } SaAmfHealthcheckInvocationT;
56 #define SA_AMF_HEALTHCHECK_KEY_MAX 32
59 SaUint8T key[SA_AMF_HEALTHCHECK_KEY_MAX];
61 } SaAmfHealthcheckKeyT;
65 SA_AMF_HA_STANDBY = 2,
66 SA_AMF_HA_QUIESCED = 3,
67 SA_AMF_HA_QUIESCING = 4
70 #define SA_AMF_CSI_ADD_ONE 0X1
71 #define SA_AMF_CSI_TARGET_ONE 0X2
72 #define SA_AMF_CSI_TARGET_ALL 0X4
74 typedef SaUint32T SaAmfCSIFlagsT;
77 SA_AMF_CSI_NEW_ASSIGN = 1,
78 SA_AMF_CSI_QUIESCED = 2,
79 SA_AMF_CSI_NOT_QUIESCED = 3,
80 SA_AMF_CSI_STILL_ACTIVE = 4
81 } SaAmfCSITransitionDescriptorT;
84 SaAmfCSITransitionDescriptorT transitionDescriptor;
85 SaNameT activeCompName;
86 } SaAmfCSIActiveDescriptorT;
89 SaNameT activeCompName;
90 SaUint32T standbyRank;
91 } SaAmfCSIStandbyDescriptorT;
94 SaAmfCSIActiveDescriptorT activeDescriptor;
95 SaAmfCSIStandbyDescriptorT standbyDescriptor;
96 } SaAmfCSIStateDescriptorT;
101 } SaAmfCSIAttributeT;
104 SaAmfCSIAttributeT *attr;
106 } SaAmfCSIAttributeListT;
109 SaAmfCSIFlagsT csiFlags;
111 SaAmfCSIStateDescriptorT csiStateDescriptor;
112 SaAmfCSIAttributeListT csiAttr;
113 } SaAmfCSIDescriptorT;
117 SaAmfHAStateT haState;
119 } SaAmfProtectionGroupMemberT;
122 SA_AMF_PROTECTION_GROUP_NO_CHANGE = 1,
123 SA_AMF_PROTECTION_GROUP_ADDED = 2,
124 SA_AMF_PROTECTION_GROUP_REMOVED = 3,
125 SA_AMF_PROTECTION_GROUP_STATE_CHANGE = 4
126 } SaAmfProtectionGroupChangesT;
129 SaAmfProtectionGroupMemberT member;
130 SaAmfProtectionGroupChangesT change;
131 } SaAmfProtectionGroupNotificationT;
136 } SaAmfProtectionGroupNotificationBufferT;
139 SA_AMF_NO_RECOMMENDATION = 1,
140 SA_AMF_COMPONENT_RESTART = 2,
141 SA_AMF_COMPONENT_FAILOVER = 3,
142 SA_AMF_NODE_SWITCHOVER = 4,
143 SA_AMF_NODE_FAILOVER = 5,
144 SA_AMF_NODE_FAILFAST = 6,
145 SA_AMF_CLUSTER_RESET =7
146 } SaAmfRecommendedRecoveryT;
149 (*SaAmfHealthcheckCallbackT)(SaInvocationT invocation,
150 const SaNameT *compName,
151 SaAmfHealthcheckKeyT *healthcheckKey);
154 (*SaAmfComponentTerminateCallbackT)(SaInvocationT invocation,
155 const SaNameT *compName);
158 (*SaAmfCSISetCallbackT)(SaInvocationT invocation,
159 const SaNameT *compName,
160 SaAmfHAStateT haState,
161 SaAmfCSIDescriptorT csiDescriptor);
164 (*SaAmfCSIRemoveCallbackT)(SaInvocationT invocation,
165 const SaNameT *compName,
166 const SaNameT *csiName,
167 SaAmfCSIFlagsT csiFlags);
170 (*SaAmfProtectionGroupTrackCallbackT)(
const SaNameT *csiName,
171 SaAmfProtectionGroupNotificationBufferT *notificationBuffer,
172 SaUint32T numberOfMembers,
176 (*SaAmfProxiedComponentInstantiateCallbackT)(SaInvocationT invocation,
177 const SaNameT *proxiedCompName);
180 (*SaAmfProxiedComponentCleanupCallbackT)(SaInvocationT invocation,
181 const SaNameT *proxiedCompName);
184 SaAmfHealthcheckCallbackT saAmfHealthcheckCallback;
185 SaAmfComponentTerminateCallbackT saAmfComponentTerminateCallback;
186 SaAmfCSISetCallbackT saAmfCSISetCallback;
187 SaAmfCSIRemoveCallbackT saAmfCSIRemoveCallback;
188 SaAmfProtectionGroupTrackCallbackT saAmfProtectionGroupTrackCallback;
189 SaAmfProxiedComponentInstantiateCallbackT saAmfProxiedComponentInstantiateCallback;
190 SaAmfProxiedComponentCleanupCallbackT saAmfProxiedComponentCleanupCallback;
195 saAmfInitialize(SaAmfHandleT *amfHandle,
const SaAmfCallbacksT *amfCallbacks,
196 SaVersionT *version);
198 saAmfSelectionObjectGet(SaAmfHandleT amfHandle,
199 SaSelectionObjectT *selectionObject);
201 saAmfDispatch(SaAmfHandleT amfHandle, SaDispatchFlagsT dispatchFlags);
203 saAmfFinalize(SaAmfHandleT amfHandle);
206 saAmfComponentRegister(SaAmfHandleT amfHandle,
207 const SaNameT *compName,
const SaNameT *proxyCompName);
209 saAmfComponentUnregister(SaAmfHandleT amfHandle,
210 const SaNameT *compName,
211 const SaNameT *proxyCompName);
214 saAmfComponentNameGet(SaAmfHandleT amfHandle, SaNameT *compName);
217 saAmfPmStart(SaAmfHandleT amfHandle,
218 const SaNameT *compName,
220 SaInt32T descendentsTreeDepth,
221 SaAmfPmErrorsT pmErrors,
222 SaAmfRecommendedRecoveryT recommendedRecovery);
225 saAmfPmStop(SaAmfHandleT amfHandle,
226 const SaNameT *compName,
227 SaAmfPmStopQualifierT stopQualifier,
229 SaAmfPmErrorsT pmErrors);
232 saAmfHealthcheckStart(SaAmfHandleT amfHandle,
233 const SaNameT *compName,
234 const SaAmfHealthcheckKeyT *healthcheckKey,
235 SaAmfHealthcheckInvocationT invocationType,
236 SaAmfRecommendedRecoveryT recommendedRecovery);
239 saAmfHealthcheckConfirm(SaAmfHandleT amfHandle,
240 const SaNameT *compName,
241 const SaAmfHealthcheckKeyT *healthcheckKey,
242 SaAisErrorT healthcheckResult);
245 saAmfHealthcheckStop(SaAmfHandleT amfHandle,
246 const SaNameT *compName,
247 const SaAmfHealthcheckKeyT *healthcheckKey);
250 saAmfCSIQuiescingComplete(SaAmfHandleT amfHandle,
251 SaInvocationT invocation,
255 saAmfHAStateGet(SaAmfHandleT amfHandle,
256 const SaNameT *compName,
257 const SaNameT *csiName,
258 SaAmfHAStateT *haState);
261 saAmfProtectionGroupTrack(SaAmfHandleT amfHandle,
262 const SaNameT *csiName,
264 SaAmfProtectionGroupNotificationBufferT *notificationBuffer);
267 saAmfProtectionGroupTrackStop(SaAmfHandleT amfHandle,
268 const SaNameT *csiName);
271 saAmfComponentErrorReport(SaAmfHandleT amfHandle,
272 const SaNameT *erroneousComponent,
273 SaTimeT errorDetectionTime,
274 SaAmfRecommendedRecoveryT recommendedRecovery,
275 SaNtfIdentifierT ntfIdentifier);
277 saAmfComponentErrorClear(SaAmfHandleT amfHandle,
278 const SaNameT *compName,
279 SaNtfIdentifierT ntfIdentifier);
282 saAmfResponse(SaAmfHandleT amfHandle,
283 SaInvocationT invocation,