#ident "$script: common-defines Build 5.93.0.7 07/07/11 17:00:00 $"

#----------------------------------------------------------------------------#
# PRODUCT :  HDLM Driver 0501                                                #
#----------------------------------------------------------------------------#
# NAME :     common-defines                                                  #
# FUNCTION : Common definitions for HDLM init scripts                        #
# INSTANCE :                                                                 #
# MEMO :                                                                     #
# DATE :     2003/06/07                                                      #
# AUTHOR :   Bharvi Oak                                          	         #
# HISTORY :                                                                  #
#                                                                            #
#@ All Rights Reserved, Copyright (C) 2003,2007 Hitachi, Ltd.	             #
#----------------------------------------------------------------------------#

# REVAMP ACTIVITY PERFORMED. SO ALL PREVIOUS FDOCS & COMMENTS ARE REMOVED. PLEASE LOOKUP 
# PREVIOUS VERSIONS CODES FOR REFERENCE.

# Common Variable Declaration
ALERTDRV=sddlmadrv
ALERTDRV_PATH=
CMD_BASENAME=/bin/basename
CMD_CAT=/bin/cat
CMD_CHMOD=/bin/chmod
CMD_CP=/bin/cp
CMD_ECHO=/bin/echo
CMD_GAWK=/bin/gawk
CMD_GREP=/bin/grep
CMD_INSMOD=/sbin/insmod
CMD_MKDIR=/bin/mkdir
CMD_MKNOD=/bin/mknod
CMD_MODPROBE=/sbin/modprobe
CMD_MOUNT=/bin/mount
CMD_LSMOD=/sbin/lsmod
CMD_LS=/bin/ls
CMD_RAIDSTOP=/sbin/raidstop
CMD_RM=/bin/rm
CMD_RMMOD=/sbin/rmmod
CMD_SED=/bin/sed
CMD_SORT=/bin/sort
CMD_TOUCH=/bin/touch
CMD_UMOUNT=/bin/umount
CMD_UNAME=/bin/uname
CMD_VGCHANGE=/sbin/vgchange
CMD_VGSCAN=/sbin/vgscan
CMD_ECHO=/bin/echo

DLMCTRLDIR=/dev/dlm
DLMBLKDEV=sddlm
DLMCHRDEV=sgdlm
DLMCfgMgr=/sbin/dlmcfgmgr
DLManagerEtcDir=/etc/opt/DynamicLinkManager
DLManagerVarLogDir=/var/opt/DynamicLinkManager/log
DLM_INSMOD_Alert=/etc/sysconfig/hdlm-scripts/dlminsadrv
DLM_RMMOD_Alert=/etc/sysconfig/hdlm-scripts/dlmrmadrv
FILTERDRV=sddlmfdrv
FILTERDRV_PATH=
MODULES_CONF=
AS5_FLAG=0

RH_AS3_STR="Red Hat Enterprise Linux AS release 3"
RH_ES3_STR="Red Hat Enterprise Linux ES release 3"

# Check for Kernel (2.4 or 2.6)  
VERSION=`$CMD_UNAME -r | $CMD_GAWK -F "." '{print $2 }'`
if [ $VERSION -eq 4 ] ; then
	KERNEL_2_4=1
else
	KERNEL_2_6=1
	if [ -f /etc/redhat-release ]; then
	#AS5 kernel check - start
	tmp_version=`$CMD_UNAME -r | $CMD_GAWK -F "-" '{print $1}' | $CMD_GAWK -F "." '{print $3}'`
		if [ $tmp_version -eq 18 ]; then
			AS5_FLAG=1
		fi
	#AS5 kernel check - end
	fi	
fi

if [ $KERNEL_2_6 ]; then
	KERNEL_NAME=`$CMD_UNAME -r`
	ALERTDRV_PATH=/lib/modules/$KERNEL_NAME/kernel/drivers/DynamicLinkManager/sddlmadrv.ko
	FILTERDRV_PATH=/lib/modules/$KERNEL_NAME/kernel/drivers/DynamicLinkManager/sddlmfdrv.ko
    MODULES_CONF=/etc/modprobe.conf
else
    MODULES_CONF=/etc/modules.conf
fi

# SuSE/Redhat Specific Variable Declaration
if [ -f /etc/redhat-release ]; then
    REL_FILE=/etc/redhat-release
	DLMInitDir=/etc/rc.d/init.d
	SYSPATH=/etc/rc.d/rc.sysinit
	SYSPATH_HALT=/etc/rc.d/init.d/halt
        CMD_LOGGER=/usr/bin/logger
elif [ -f /etc/SuSE-release ]; then
	REL_FILE=/etc/SuSE-release	
	DLMInitDir=/etc/init.d
	SYSPATH=/etc/init.d/boot
	SYSPATH_HALT=/etc/init.d/halt
        CMD_LOGGER=/bin/logger
fi

# Use of Wrapper script for insmod and rmmod MOD Start 
if [ "" != "`$CMD_CAT $REL_FILE | $CMD_GREP -e "$RH_AS3_STR" -e "$RH_ES3_STR"`" ] ||  [ "`$CMD_UNAME -m`" = "ia64" ];then
	USE_INS_RM_MOD_SCRIPT="TRUE"
fi

# For all 2.6 Kernel USE_INS_RM_MOD_SCRIPT will be TRUE 
if [ $KERNEL_2_6 ]; then
	USE_INS_RM_MOD_SCRIPT="TRUE"
fi

# Use of Wrapper script for insmod and rmmod MOD End 

#######################################
# Kernel and HDLM version check start
#######################################
HDLM_COMMON_KNL_VER_FILE=/etc/opt/DynamicLinkManager/hdlm_kernel_version

if [ ! -f $HDLM_COMMON_KNL_VER_FILE ]; then
        HDLM_COMMON_RESULT="ERROR"
else
        HDLM_COMMON_HDLM_KNL_REL=`$CMD_CAT $HDLM_COMMON_KNL_VER_FILE | $CMD_GAWK -F "," '{print $2}'`
        HDLM_COMMON_HDLM_KNL_MAHCINE=`$CMD_CAT $HDLM_COMMON_KNL_VER_FILE | $CMD_GAWK -F "," '{print $3}'`
        HDLM_COMMON_NOW_KNL_REL=`$CMD_UNAME -r`
        HDLM_COMMON_NOW_KNL_MACHINE=`$CMD_UNAME -m`
        if [ -z $HDLM_COMMON_HDLM_KNL_REL ] || 
          [ -z $HDLM_COMMON_HDLM_KNL_MAHCINE ] || 
          [ -z $HDLM_COMMON_NOW_KNL_REL      ] ||
          [ -z $HDLM_COMMON_NOW_KNL_MACHINE  ]; then
                HDLM_COMMON_RESULT="ERROR"
        else
                if [ "$HDLM_COMMON_HDLM_KNL_REL" == "$HDLM_COMMON_NOW_KNL_REL" ] &&
                  [ "$HDLM_COMMON_HDLM_KNL_MAHCINE" == "$HDLM_COMMON_NOW_KNL_MACHINE" ]; then
                        HDLM_COMMON_RESULT="SUPPORT"
                else
                        HDLM_COMMON_RESULT="NOT_SUPPORT"
                fi
        fi
fi
#####################################
# Kernel and HDLM version check end 
#####################################

#####################################
# Function to display message start
#####################################
DisplayMessage()
{
        $CMD_ECHO "$1"
}
#####################################
# Function to display message end
#####################################