Mini Shell

Direktori : /proc/thread-self/root/proc/self/root/proc/thread-self/root/opt/dell/srvadmin/sbin/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/proc/thread-self/root/opt/dell/srvadmin/sbin/dataeng.hotplug

#!/bin/sh
###############################################################################
#
#          Dell Inc. PROPRIETARY INFORMATION
# This software is supplied under the terms of a license agreement or
# nondisclosure agreement with Dell Inc. and may not
# be copied or disclosed except in accordance with the terms of that
# agreement.
#
# Copyright (c) 2000-2011 Dell Inc. All Rights Reserved.
#
# Module Name:
#
#   srvadmin-dataeng.hotplug
#
# Abstract/Purpose:
#
#   Systems Management Data Engine hotplug event script
#
# Environment:
#
#   Linux
#
###############################################################################

SCRIPT_NAME=$(basename $0)
OMREG_FILE="/etc/omreg.cfg"
OMREG_DENG_CONFIGTOOL_KEY="OMDataEngine.configtool"

# Check for omreg config file
if [ ! -f ${OMREG_FILE} ];
then
	logger -t ${SCRIPT_NAME} "${OMREG_FILE} not found"
	exit 1
fi

# Get Data Engine config tool from omreg config file
DENG_CONFIGTOOL=$(grep "^${OMREG_DENG_CONFIGTOOL_KEY}=" ${OMREG_FILE} | sed "s/^.*=//")
if [ -z "${DENG_CONFIGTOOL}" ];
then
	logger -t ${SCRIPT_NAME} "${OMREG_DENG_CONFIGTOOL_KEY} value not found"
	exit 2
fi
if [ ! -x ${DENG_CONFIGTOOL} ];
then
	logger -t ${SCRIPT_NAME} "${DENG_CONFIGTOOL} not found"
	exit 3
fi


###############################################################################
# Function:    dataeng_hotplug_signal_event <event data>
# Description: signal event to Data Engine daemons
###############################################################################
dataeng_hotplug_signal_event()
{
	${DENG_CONFIGTOOL} command=deviceevt "evtdata=$1"
} # dataeng_hotplug_signal_event


###############################################################################
# Function:    dataeng_hotplug_handle_event_pci
# Description: handle PCI hotplug event
###############################################################################
dataeng_hotplug_handle_event_pci()
{
	dataeng_hotplug_signal_event "${ACTION} pci ${PCI_ID} ${PCI_SUBSYS_ID}"
} # dataeng_hotplug_handle_event_pci


###############################################################################
# Function:    dataeng_hotplug_handle_event_usb
# Description: handle USB hotplug event
###############################################################################
dataeng_hotplug_handle_event_usb()
{
	if [ ! -z "${PRODUCT}" ];
	then
		dataeng_hotplug_signal_event "${ACTION} usb ${PRODUCT}"
	fi
} # dataeng_hotplug_handle_event_usb


###############################################################################
# Process hotplug event based on subsystem type
###############################################################################
case "$1" in
	pci)
		dataeng_hotplug_handle_event_pci
		;;
	usb)
		dataeng_hotplug_handle_event_usb
		;;
esac

exit 0


###############################################################################
# End Script
###############################################################################


Zerion Mini Shell 1.0