#ifdef __cplusplus
extern "C" {
#endif
#ifndef MPPLUGIN_H
#define MPPLUGIN_H
typedef MP_STATUS (* InitializeFn) (
MP_UINT32 pluginOwnerID
);
typedef MP_STATUS (* TerminateFn) (void);
typedef MP_STATUS (* MP_GetPluginPropertiesPluginFn)(
MP_PLUGIN_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetDeviceProductOidListPluginFn)(
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetDeviceProductPropertiesFn)(
MP_OID oid,
MP_DEVICE_PRODUCT_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetInitiatorPortOidListPluginFn)(
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetInitiatorPortPropertiesFn)(
MP_OID oid,
MP_INITIATOR_PORT_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetMultipathLusPluginFn)(
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetMultipathLusDevProdFn)(
MP_OID oid,
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetMPLogicalUnitPropertiesFn)(
MP_OID oid,
MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetAssociatedPathOidListFn)(
MP_OID oid,
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetPathLogicalUnitPropertiesFn)(
MP_OID oid,
MP_PATH_LOGICAL_UNIT_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetAssociatedTPGOidListFn)(
MP_OID oid,
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetTargetPortGroupPropertiesFn)(
MP_OID oid,
MP_TARGET_PORT_GROUP_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetMPLuOidListFromTPGFn)(
MP_OID oid,
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetProprietaryLoadBalanceOidListPluginFn)(
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetProprietaryLoadBalancePropertiesFn)(
MP_OID oid,
MP_PROPRIETARY_LOAD_BALANCE_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_GetTargetPortOidListFn)(
MP_OID oid,
MP_OID_LIST **ppList
);
typedef MP_STATUS (* MP_GetTargetPortPropertiesFn)(
MP_OID oid,
MP_TARGET_PORT_PROPERTIES *pProps
);
typedef MP_STATUS (* MP_AssignLogicalUnitToTPGFn)(
MP_OID tpgOid,
MP_OID luOid
);
typedef MP_STATUS (* MP_SetOverridePathFn)(
MP_OID logicalUnitOid,
MP_OID pathOid
);
typedef MP_STATUS (* MP_CancelOverridePathFn)(
MP_OID luOid
);
typedef MP_STATUS (* MP_EnableAutoFailbackPluginFn)(
);
typedef MP_STATUS (* MP_EnableAutoFailbackLuFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_EnableAutoProbingPluginFn)(
);
typedef MP_STATUS (* MP_EnableAutoProbingLuFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_DisableAutoFailbackPluginFn)(
);
typedef MP_STATUS (* MP_DisableAutoFailbackLuFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_DisableAutoProbingPluginFn)(
);
typedef MP_STATUS (* MP_DisableAutoProbingLuFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_EnablePathFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_DisablePathFn)(
MP_OID oid
);
typedef MP_STATUS (* MP_SetLogicalUnitLoadBalanceTypeFn)(
MP_OID logicalUnitoid,
MP_LOAD_BALANCE_TYPE loadBalance
);
typedef MP_STATUS (* MP_SetPathWeightFn)(
MP_OID pathOid,
MP_UINT32 weight
);
typedef MP_STATUS (* MP_SetPluginLoadBalanceTypePluginFn)(
MP_LOAD_BALANCE_TYPE loadBalance
);
typedef MP_STATUS (* MP_SetFailbackPollingRatePluginFn)(
MP_UINT32 pollingRate
);
typedef MP_STATUS (* MP_SetFailbackPollingRateLuFn)(
MP_OID oid,
MP_UINT32 pollingRate
);
typedef MP_STATUS (* MP_SetProbingPollingRatePluginFn)(
MP_UINT32 pollingRate
);
typedef MP_STATUS (* MP_SetProbingPollingRateLuFn)(
MP_OID oid,
MP_UINT32 pollingRate
);
typedef MP_STATUS (* MP_SetProprietaryPropertiesFn)(
MP_OID oid,
MP_UINT32 count,
MP_PROPRIETARY_PROPERTY *pPropertyList
);
typedef MP_STATUS (* MP_SetTPGAccessFn)(
MP_OID luOid,
MP_UINT32 count,
MP_TPG_STATE_PAIR *pTpgStateList
);
typedef MP_STATUS (* MP_RegisterForObjectPropertyChangesPluginFn)(
MP_OBJECT_PROPERTY_FN pClientFn,
MP_OBJECT_TYPE objectType,
void *pCallerData
);
typedef MP_STATUS (* MP_DeregisterForObjectPropertyChangesPluginFn)(
MP_OBJECT_PROPERTY_FN pClientFn,
MP_OBJECT_TYPE objectType
);
typedef MP_STATUS (* MP_RegisterForObjectVisibilityChangesPluginFn)(
MP_OBJECT_VISIBILITY_FN pClientFn,
MP_OBJECT_TYPE objectType,
void *pCallerData
);
typedef MP_STATUS (* MP_DeregisterForObjectVisibilityChangesPluginFn)(
MP_OBJECT_VISIBILITY_FN pClientFn,
MP_OBJECT_TYPE objectType
);
typedef MP_STATUS (* Sun_MP_SendScsiCmdFn)(
MP_OID oid, struct uscsi_cmd *cmd
);
#endif
#ifdef __cplusplus
};
#endif