#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include "mp_utils.h"
MP_UINT32 g_pluginOwnerID = 0;
int g_scsi_vhci_fd = -1;
PROPERTY_CALLBACK_NODE g_Property_Callback_List[MP_OBJECT_TYPE_MAX + 1];
VISIBILITY_CALLBACK_NODE g_Visibility_Callback_List[MP_OBJECT_TYPE_MAX + 1];
sysevent_handle_t *g_SysEventHandle = NULL;
pthread_mutex_t g_visa_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t g_prop_mutex = PTHREAD_MUTEX_INITIALIZER;
MP_STATUS
Initialize(MP_UINT32 pluginOwnerID)
{
log(LOG_INFO, "Initialize()", " - enter");
(void) memset(&g_Property_Callback_List, 0,
sizeof (PROPERTY_CALLBACK_NODE) * (MP_OBJECT_TYPE_MAX + 1));
(void) memset(&g_Visibility_Callback_List, 0,
sizeof (VISIBILITY_CALLBACK_NODE) * (MP_OBJECT_TYPE_MAX + 1));
g_scsi_vhci_fd = open("/devices/scsi_vhci:devctl",
O_NDELAY | O_RDONLY);
if (g_scsi_vhci_fd < 0) {
log(LOG_INFO, "Initialize()",
" - failed to open driver. error is : %s",
strerror(errno));
log(LOG_INFO, "Initialize()", " - error exit");
return (MP_STATUS_FAILED);
}
g_pluginOwnerID = pluginOwnerID;
log(LOG_INFO, "Initialize()", " - exit");
return (MP_STATUS_SUCCESS);
}