#!/bin/sh
#-vux
trap "ras_intr" 1 2 3 9 15
#ident "$dlmgetras: dlmgetras Build 5.93.0.10 07/08/03 12:00:00 $"
#
#/*----------------------------------------------------------------------------*/
#/* PRODUCT :  HDLM Driver 0540                                                */
#/* NAME :     DLMgetras                                                       */
#/* FUNCTION : HDLM collects error information                                 */
#/* INSTANCE:                                                                  */
#/* ATTR:                                                                      */
#/* MEMO :     DLMgetras Execution Shell Script                                */
#/*                                                                            */
#/* DATE :     2004.04.05                                                      */
#/* HISTORY :                                                                  */
#/*                                                                            */
#/* All Rights Reserved. Copyright (C) 2001, 2007, Hitachi, Ltd.               */
#/*----------------------------------------------------------------------------*/
#@(#)HDLM Collects error information 05-02-/A(Nov 21 2003)
VERSION=`/bin/uname -r |/usr/bin/cut -d "." -f2`
UNAME="/bin/uname" 
if [ $VERSION -eq 4 ] ; then
	KERNEL_2_4=1
else
	KERNEL_2_6=1
fi


EM64T=0

if [ `$UNAME -m` = "x86_64" ]; then
EM64T=1
fi

# define
SOL_MGR_LOG_DIR="/var/opt/DynamicLinkManager/log"
SOL_CONF_DIR="/kernel/drv"
SOL_ETC_DIR="/etc"
SOL_CRASH_FILE_DIR=""
SOL_SYSLOG_DIR="/var/adm"
SOL_OS_INFO_DIR="/getrasinfo"
SOL_CONFIG_DIR="/opt/DynamicLinkManager/config"
SOL_SC2_DIR="/SC2.2"
SOL_SC3_DIR="/SC3.0"
SOL_SC2_CONFINFO_DIR="/etc/opt/SUNWcluster/conf"
SOL_SC2_DEVINFO_DIR="/var/opt/SUNWcluster/devices"
SOL_SC3_ETC_DIR="/etc/cluster"
SOL_SC3_DEVDSK_DIR="/dev/did/dsk"
SOL_SC3_DEVRDSK_DIR="/dev/did/rdsk"
SOL_VXVM_DIR="/VXVM"
SOL_SDS_DIR="/SDS"
SOL_SVM_DIR="/SVM"
SOL_VCS_DIR="/VCS"
SOL_LVM_DIR="/etc/lvm"
SOL_SUNWMD_DIR="/etc/opt/SUNWmd"
SOL_OS_CHECK=""
SOL_OS_CHECK7=""
SOL_OS_CHECK8=""
SOL_OS_CHECK9=""

AIX_PROGRAM_DIR="/usr/DynamicLinkManager"
AIX_OS_LINK_DIR="/usr/lib"
AIX_MGR_LOG_DIR="/var/DynamicLinkManager/log"
AIX_CONFIG_DIR="/usr/DynamicLinkManager/config"
AIX_CONF_DIR="/usr/DynamicLinkManager/drv"
AIX_HAmon_DIR="/opt/hitachi/HAmon/etc"
#AIX Merge 12/08/2003 START
AIX_HACMP_diag="/usr/sbin/cluster/diag"
#AIX Merge 12/08/2003 END
AIX_ETC_DIR="/etc"
AIX_CRASH_FILE_DIR=""
AIX_SYSLOG_DIR="/var/adm"
AIX_OS_INFO_DIR="/getrasinfo"
AIX_USRBIN_DIR="$AIX_PROGRAM_DIR/bin"
AIX_USRLIB_DIR="$AIX_PROGRAM_DIR/lib"
AIX_USRCLU_DIR="$AIX_PROGRAM_DIR/cluster"
AIX_OSMET_DIR="$AIX_OS_LINK_DIR/methods"
AIX_OSDRI_DIR="$AIX_OS_LINK_DIR/drivers"

HPUX_MGR_LOG_DIR="/var/opt/DynamicLinkManager/log"
HPUX_CONF_DIR="/etc/opt/DynamicLinkManager"
HPUX_ETC_DIR="/etc"
HPUX_CRASH_FILE_DIR="/var/adm/crash"
HPUX_SYSLOG_DIR="/var/adm/syslog"
HPUX_OS_INFO_DIR="/getrasinfo"
HPUX_MCSG_DIR="/etc/cmcluster"
HPUX_OPTBIN_DIR="/opt/DynamicLinkManager/bin"
HPUX_OPTLIB_DIR="/opt/DynamicLinkManager/lib"
HPUX_USRCNF_DIR="/usr/conf/lib"
HPUX_SBIN_DIR="/sbin"
#AIX Merge 12/08/2003 START
HPUX_HWLOGS_STM_DIR="/var/stm/logs/os"
HPUX_HWLOGS_EV_DIR="/var/opt/resmon/log"
HPUX_HAMON_ETC_DIR="/opt/hitachi/HAmon/etc"
HPUX_HAMON_SPL_DIR="/opt/hitachi/HAmon/spool"
HPUX_HW_LOGFILE="hwlogs.tar"
HPUX_CLUSTER_LOGFILE="cluster.tar"
HPUX_VCS_DIR="/VCS"
#AIX Merge 12/08/2003 END

HDLM_INSTALL_DIR="/var/tmp/hdlminstlog"
LINUX_MGR_LOG_DIR="/var/opt/DynamicLinkManager/log"
# Disabling collection of kernel panic logs "dlmfdrvpanic.log". Make it equal to 1 to enable the collection of the logs.
KERNEL_PANIC=0
LINUX_MGR_RAS_LIGHT_DIR="/var/opt/DynamicLinkManager/ras"
LINUX_MGR_LOG_PSL_DIR="/var/opt/DynamicLinkManager/log/psl"
LINUX_MGR_LOG_MMAP_DIR="/var/opt/DynamicLinkManager/log/mmap"
LINUX_CONF_DIR="/etc/opt/DynamicLinkManager"         
LINUX_MM_DIR="/opt/hitachi/HNTRLib2/mmap"
LINUX_ETC_DIR="/etc"
LINUX_UDEV_DIR="/etc/udev"
LINUX_UDEV_CONF_FILE="/etc/udev/udev.conf"
LINUX_UDEV_RULES_FILE="/etc/udev/udev.rules"
LINUX_UDEV_DEF_RULES="/etc/udev/rules.d"

LINUX_INIT_DIR="$LINUX_ETC_DIR/init.d"
LINUX_BOOT_DIR="$LINUX_INIT_DIR/boot.d"
LINUX_CRASH_FILE_DIR="/proc"
LINUX_SCSI_FILE_DIR="/proc/scsi"
LINUX_SYSLOG_DIR="/var/log"
LINUX_CRON_DIR="/var/spool/cron"
LINUX_TABS_DIR="$LINUX_CRON_DIR/tabs"
LINUX_OS_INFO_DIR="/getrasinfo"
LINUX_OPTMGR_DIR="/opt/DynamicLinkManager"
LINUX_OPTBIN_DIR="/opt/DynamicLinkManager/bin"
LINUX_OPTLIB_DIR="/opt/DynamicLinkManager/lib"

if [ $EM64T -eq 1 ]; then
LINUX_OPTLIB_DIR64="/opt/DynamicLinkManager/lib64"
fi

LINUX_USRCNF_DIR="/usr/conf/lib"
LINUX_SBIN_DIR="/sbin"
LINUX_GRUB_DIR="/boot/grub"
LINUX_VCS_DIR="/VCS"
LINUX_VCS_CONF_DIR="/etc/VRTSvcs/conf/config"
LINUX_VCS_LOG_DIR="/var/VRTSvcs/log"
LINUX_RHCM_DIR="/RHCM"
LINUX_RHCM_CONF_DIR="/etc"
LINUX_RHCM_CLUSTER_DIR="/etc/cluster"
LINUX_LK_DIR="/LifeKeeper"
LINUX_LK_DEFAULT="/etc/default/LifeKeeper"
LINUX_LK_DEFAULT_DIR="/etc/default"
LINUX_HA_DIR="/HA"
LINUX_HA_CONF_DIR="/etc/ha.d"
#Include resource.d files in O/P TAR cluster.tar.gz
LINUX_RESOURCE_DIR="/resource.d"
#END
LINUX_SYSCONFIG_DIR="$LINUX_ETC_DIR/sysconfig"
LINUX_HOTPLUG_DIR="$LINUX_ETC_DIR/hotplug"
if [ $KERNEL_2_6 ]; then	
#LINUX_HOTPLUG_DIR="$LINUX_ETC_DIR/hotplug"		
LINUX_LVM_DIR="$LINUX_ETC_DIR/lvm"
fi				
if [ $KERNEL_2_6 ]; then
LINUX_LVM_BACKUP_DIR="$LINUX_LVM_DIR/backup"
LINUX_SYS_CLASS=/sys/class
LINUX_SYS_CLASS_SCSI_HOST_DIR=/sys/class/scsi_host
fi
LINUX_MKDIR="/bin/mkdir -p "
LINUX_LS="/bin/ls "
LINUX_IDENT="/usr/bin/ident "
LINUX_DIRNAME="/usr/bin/dirname "
LINUX_HDLM_SCRIPTS_DIR="/etc/sysconfig/hdlm-scripts"

LINUX_INITRD_DIR="/initrd"
LINUX_INITRD_ETC_DIR="/initrd/etc"
LINUX_LIB_MODULES_KER_DIR="/lib/modules/`/bin/uname -r`"

REDHAT_REL_FILE="/etc/redhat-release"
SUSE_REL_FILE="/etc/SuSE-release"


if [ -f $REDHAT_REL_FILE ]; then
	LINUX_ELILO_DIR="/boot/efi/efi/redhat"
elif [ -f $SUSE_REL_FILE ]; then   
	if [ $KERNEL_2_4 ]; then
	LINUX_ELILO_DIR="/boot/efi/SuSE"
	else
	LINUX_ELILO_DIR="/boot/efi/efi/SuSE"
	fi
fi



GETRAS_LOGFILE="getras.log"
RAS_TMP_FILE="/tmp/DLMgetras_tmp.$$"
RAS_TMP_DIR="/DLMgetras_tmpdir.$$"
RAS_SYS_TMP_FILE="/tmp/DLMgetras_sys_tmp.$$"
CP="/usr/bin/cp -p"
MKDIR="/usr/bin/mkdir -p"
GREP="/usr/bin/grep"
EGREP="/usr/bin/egrep"
FGREP="/usr/bin/fgrep"
AWK="/usr/bin/awk"
LS="/usr/bin/ls"
RM="/usr/bin/rm"
CHMOD="/usr/bin/chmod"
TAR="/usr/bin/tar"
PS="/usr/bin/ps"
KILL="/usr/bin/kill"
BASENAME="/usr/bin/basename"
ECHO="/usr/bin/echo"
CUT="/usr/bin/cut"
MV="/usr/bin/mv"
CAT="/usr/bin/cat"
TAIL="/usr/bin/tail"
UNAME="/usr/bin/uname"
RTN_TRUE=0
RTN_FALSE=1

HNTR_TRC_MM_DIR="/opt/hitachi/HNTRLib/mmap"
HNTR2_TRC_MM_DIR="/opt/hitachi/HNTRLib2/mmap"

HNTR_TRC_FILE_DIR="/opt/hitachi/HNTRLib/spool"
HNTR2_TRC_FILE_DIR="/var/opt/hitachi/HNTRLib2/spool"

GENERIC_TRC_CONF_FILE=/opt/hitachi/HNTRLib2/etc/D002hntr2.cnf
JPN_PP_NAME="JP1/HiCommand Dynamic Link Manager"
ENG_PP_NAME="Hitachi Dynamic Link Manager"
JPN_PP_NAME_LINUX="HDLM"
ENG_PP_NAME_LINUX="HDLM"
ORG_LANG=`/bin/echo $LANG`

######################################################################
# Interrupt
# Interrupt process
# TRAP SIGNAL CODE
# 1:SIGHUP(hungup) 2:SIGINT(interrupt) 3:SIGQUIT(quit) 
# 9:SIGKILL(kill)   15:SIGTERM(end signal)
ras_intr()
{
 trap "" 1 2 3 9 15

  AWK_CMD=/usr/bin/awk
  case $PLATFORM in
      SunOS)
           LANG="$ORG_LANG"
           export LANG
           AWK_CMD=/usr/bin/nawk
           ;;
    Linux)
	   AWK_CMD="/bin/awk"
	   PS="/bin/ps"
	   KILL="/bin/kill"
	   LANG="$ORG_LANG"
	   export LANG
	   # Linux has awk only. nawk is not available
	   # AWK_CMD=/bin/nawk
	   ;;           
  esac

# killing child process
  for PID in `$PS -f | $AWK_CMD -v PPID=$$ '{if ( "$3" == "PPID" ) print $2}'` ; do
    if [ "$PID" != "PID" -a "$PID" -ne "$$" ] ; then
      $KILL $PID 2>/dev/null
    fi
  done

  if [ -n "$WORKING_DIR" -a -d "$WORKING_DIR" ]; then
    cd $WORKING_DIR
  fi

  delete_file $RAS_TMP_FILE
  delete_file $RAS_SYS_TMP_FILE
  delete_dir  $WORKING_DIR/$RAS_TMP_DIR

  $ECHO "KAPL10021-I Processing terminated before completion because a signal was received."
  exit $RTN_FALSE
}

######################################################################
# message output
# help message output
print_help()
{
#  $ECHO "Usage : DLMgetras {Collection_information_output_point_directory [-f Collection_information_definition_file_name]} | -h"
  $ECHO "Usage : DLMgetras {Collection_information_output_point_directory [-f Collection_information_definition_file_name] | -h}"
  exit $RTN_TRUE
}

# message output
print_messages()
{
  case $1 in
    'KAPL10001')
      $ECHO "KAPL10001-W No parameter has been specified."
      ;;

    'KAPL10002')
      $ECHO "KAPL10002-W Too many parameters has been specified."
      ;;

    'KAPL10003')
      $ECHO "KAPL10003-W The first parameter has not been set to a directory. Value = $2"
      ;;

    'KAPL10004')
      $ECHO "KAPL10004-W The parameter contains an incorrect value. Value = $2"
      ;;

    'KAPL10005')
      $ECHO "KAPL10005-W The number of parameters is insufficient."
      ;;

    'KAPL10006')
      $ECHO "KAPL10006-W The file for defining the information to be collected does not exist, or cannot be read. Value = $2"
      ;;

    'KAPL10007')
      $ECHO "KAPL10007-W A directory has been specified in the third parameter. Value = $2"
      ;;

    'KAPL10008')
      $ECHO "KAPL10008-W You lack write permission for the specified directory. Value = $2"
      ;;

    'KAPL10010')
      $ECHO "KAPL10010-W A root directory has been specified. Line = $2"
      ;;

    'KAPL10011')
      $ECHO "KAPL10011-W More than one file or directory has been specified on one line. Line = $2, Value = $3 $4 $5 $6 $7"
      ;;

    'KAPL10012')
      $ECHO "KAPL10012-W The specified file or directory does not exist. Line = $2, Value = $3"
      ;;

    'KAPL10013')
      $ECHO "KAPL10013-W You lack read permission for the specified file. Line = $2, Value = $3"
      ;;

    'KAPL10014')
      $ECHO "KAPL10014-W You lack read permission for the specified directory. Line = $2, Value = $3"
      ;;

    'KAPL10015')
      $ECHO "KAPL10015-W The file format is invalid. Value = $2"
      ;;

    'KAPL10016')
      $ECHO "KAPL10016-W The root directory has been specified in the first parameter."
      ;;

    'KAPL10017')
      $ECHO "KAPL10017-W You lack privileges for executing the utility for collecting HDLM error information."
      ;;

    'KAPL10020')
      PRESENT_TIME=`/bin/date '+%Y/%m/%d  %H:%M:%S'`"(GMT:"`/bin/date -u '+%Y/%m/%d  %H:%M:%S'`")"
      $ECHO "KAPL10020-I The file has been obtained successfully. File = $2, Collection time = $PRESENT_TIME" 1>&2 
      ;;

    'KAPL10022')
      $ECHO "KAPL10022-I The utility for collecting HDLM error information completed normally."
      ;;

    'KAPL10030')
      $ECHO "KAPL10030-I A user terminated the utility for collecting HDLM error information."
      ;;

    'KAPL10031')
      $ECHO "KAPL10031-W The entered value is invalid."
      ;;

    'KAPL10032')
      $ECHO "KAPL10032-W The entered value is invalid. The utility for collecting HDLM error information stops."
      ;;

    'KAPL10033')
      $ECHO "KAPL10033-W The file does not exist. Filename = $2" 1>&2 
      ;;

    'KAPL10034')
      $ECHO "KAPL10034-E The file could not be copied. Filename = $2, Details = $3" 1>&2
      ;;

    'KAPL10035')
      $ECHO "KAPL10035-E An attempt to archive the error information failed. Details = $2"
      ;;

    'KAPL10036')
      $ECHO "KAPL10036-E An attempt to compress the error information failed. Details = $2"
      ;;

    'KAPL10037')
      #$ECHO "KAPL10037-W The file does not exist or does not have executable permissions. Filename = $2" 1>&2 
      $ECHO "KAPL10037-W The file does have executable permissions. Filename = $2" 1>&2 
      ;;
      
    'KAPL10038')
      $ECHO "KAPL10038-W Lifekeeper is not running. Output of some Lifekeeper commands is not collected." 1>&2 
      ;;

    *)
      exit $RTN_FALSE
      ;;
  esac
}

######################################################################
# parameter check
# Information output Directory check
dir_check()
{
#  echo "DEBUG:DLMgetras dir_check start"

  CNT=1

  while [ $CNT -le 3 ]
  do
    case $CNT in
      1)
        $ECHO "KAPL10009-W The specified directory already exists."
		if [ "$PLATFORM" = "Linux" ]
		then
			$ECHO -n "            Do you want to overwrite it? [y/n]: "
		else
			$ECHO "            Do you want to overwrite it? [y/n]:\c "
		fi

        read ans
        ;;
      *)
        if [ "$PLATFORM" = "Linux" ]
		then
			$ECHO -n "            Continue operation? [y/n]: "
		else
			$ECHO "            Continue operation? [y/n]:\c "
		fi

        read ans
        ;;
    esac
    
    case $ans in
      y|Y) # Update File
		if [ ! -w "$1" ];
          then
            # write protect
            print_messages "KAPL10008" $1
            exit $RTN_FALSE
        fi
        return
        ;;
      n|N) 
        delete_file $RAS_TMP_FILE
        print_messages "KAPL10030"
        exit $RTN_FALSE
        ;;
      *) 
        if [ "$CNT" -lt 3 ];
          then
            print_messages "KAPL10031"
            CNT=`/usr/bin/expr $CNT + 1`
            continue
        fi
        ;;
    esac

    delete_file $RAS_TMP_FILE
    print_messages "KAPL10032"
    exit $RTN_FALSE
  done
}

# Information define faile name check
input_file_chk()
{
      case $PLATFORM in
      SunOS)
           break
           ;;
      AIX)
           LANG_CHK=`/usr/bin/env | $GREP LANG | $GREP [J,j]a_JP`
           if [ -n "$LANG_CHK" ];
           then 
                AIX_ORG_LANG=`$ECHO "$LANG"`
                unset LANG
                CHECK_BIN=`/usr/bin/file $1 | $GREP 'text'`
                LANG="$AIX_ORG_LANG"
           fi
           ;;
      HP-UX)
           LANG_CHK=`/usr/bin/env | $GREP LANG | $GREP ja_JP`
           if [ -n "$LANG_CHK" ];
           then
                CHECK_BIN=`/usr/bin/file $1 | $GREP text`
           fi
           ;;
      Linux)
           LANG_CHK=`/usr/bin/env | $GREP LANG | $GREP ja_JP`
           if [ -n "$LANG_CHK" ];
           then
                CHECK_BIN=`/usr/bin/file $1 | $GREP text`
           fi
          ;;
           
     *) exit $RTN_FALSE
           ;;
     esac
     if [ -z "$LANG_CHK" ];
     then 
         CHECK_BIN=`/usr/bin/file $1 | $GREP text`
     fi
     if [  -z "$CHECK_BIN" ]
         then
           print_messages "KAPL10015" $1
           exit $RTN_FALSE
     fi
#    echo "DEBUG:DLMgetras input_file_chk start"
    delete_file $RAS_TMP_FILE

    read_line=0

    # 1 line read
    /usr/bin/awk '{
      cmd = $0
      argument_count=split(cmd,rec," " )
      chk_line=rec[1]
      out_arg2=rec[2]
      out_arg3=rec[3]
      out_arg4=rec[4]
      out_arg5=rec[5]
      print " " argument_count " " chk_line " " out_arg2 " " out_arg3 " " out_arg4 " " out_arg5
    }' $1 | while read CHK_ARGC CHK_LINE OUT_ARG2 OUT_ARG3 OUT_ARG4 OUT_ARG5
    do
      # read data check
#      echo ""
#      echo "DEBUG:DLMgetras input_file_chk read_argc:$CHK_ARGC"
#      echo "DEBUG:DLMgetras input_file_chk read_data:$CHK_LINE"

      read_line=`/usr/bin/expr $read_line + 1`

      case $CHK_LINE in
        '/') print_messages "KAPL10010" $read_line $1
             ;;
        '#')
             ;;
        *)   if [ "$CHK_ARGC" -eq 1 ];
               then
                 if [ -d "$CHK_LINE" ];
                   then
                     if [ ! -r "$CHK_LINE" ];
                       then
                         # don't read
                         print_messages "KAPL10014" $read_line $CHK_LINE
                       else
                         # case directory
                         $ECHO $CHK_LINE >> $RAS_TMP_FILE
                     fi
                   else
                     if [ -f "$CHK_LINE" ];
                       then
                         if [ ! -r "$CHK_LINE" ];
                           then
                             # don't read
                             print_messages "KAPL10013" $read_line $CHK_LINE
                           else
                             # case file
                             # echo "DEBUG:DLMgetras input_file_chk work_file_output"
                             $ECHO $CHK_LINE >> $RAS_TMP_FILE
                         fi
                       else
                         # file or directory not found
                         CHK_LINE2=` $ECHO $CHK_LINE | /usr/bin/awk '{ print substr($1,1,1) }' `
                         if [ ! "$CHK_LINE2" = "#" ];
                           then
                             print_messages "KAPL10012" $read_line $CHK_LINE
                         fi
                     fi
                 fi
               else
                 if [ ! "$CHK_ARGC" -eq 0 ];
                   then
                     CHK_LINE2=` $ECHO $CHK_LINE |/usr/bin/awk '{ print substr($1,1,1) }' `
                     if [ "$CHK_LINE2" != "#" ];
                       then
                         print_messages "KAPL10011" $read_line $CHK_LINE $OUT_ARG2 $OUT_ARG3 $OUT_ARG4 $OUT_ARG5
                     fi
                 fi
             fi
             ;;
      esac
    done
}

# input parameter check
param_check()
{
#  echo "DEBUG:DLMgetras param_check start"

  if [ "$#" -gt 1 -a "$1" = "-h" ];
    then
      print_messages "KAPL10002" $1
      exit $RTN_FALSE
  fi

  if [ "$#" -ge 1 -a -d "$1" ]; then
    NOW_DIR=`/bin/pwd`
    CURRENT_DIR=$NOW_DIR
    cd $1 2> /dev/null
    if [ "$?" -ne 0 ]; then
      print_messages "KAPL10004" $1
      exit $RTN_FALSE
    fi
    NOW_DIR=`/bin/pwd`
    if [ "$NOW_DIR" = "/" ]; then
      print_messages "KAPL10016"
      exit $RTN_FALSE
    fi
    cd $CURRENT_DIR
  fi

  if [ "$#" -eq 1 ];
    then
      if [ "$1" = "-h" ];
        then
          print_help
          exit $RTN_TRUE
      fi
      # file is error
      #OPTCHK=`echo $1 | /usr/bin/grep '^-'`
	  OPTCHK=`$ECHO $1 | $GREP '^-'`
      if [ -f "$1" -o -n "$OPTCHK" ];
        then
          print_messages "KAPL10003" $1
          exit $RTN_FALSE
      fi

      # existence directory
      if [ -d "$1" ];
        then
          # update check
          dir_check $1
      fi
  fi

  if [ "$#" -eq 2 ];
    then
      if [ "$2" = "-f" ] ;
        then
             print_messages "KAPL10005"
              exit $RTN_FALSE
      fi
#      OPTCHK=`echo $1 | /usr/bin/grep '^-'`
	  OPTCHK=`$ECHO $1 | $GREP '^-'`
      if [ -f "$1" -o -n "$OPTCHK" ];
        then
              print_messages "KAPL10003" $1
              exit $RTN_FALSE
      fi
      print_messages "KAPL10004" $2
      exit $RTN_FALSE
  fi


  if [ "$#" -eq 3 ];
    then
#      echo "DEBUG:DLMgetras param_check:$1"
#      echo "DEBUG:DLMgetras param_check:$2"
#      echo "DEBUG:DLMgetras param_check:$3"
      # 1st parameter:not dir error
      #              :dir over write check
      if [ "$1" = "-h" ];
        then
          print_messages "KAPL10002"
          exit $RTN_FALSE
      fi
      #OPTCHECK=`echo $1 | cut -c1`
	  OPTCHECK=`$ECHO $1 | $CUT -c1`
      if [ -f "$1" -o $OPTCHECK = "-" ];
        then
              print_messages "KAPL10003" $1
              exit $RTN_FALSE
      fi
      # 2nd parameter not -f error
      if [ "$2" != "-f" ];
        then
          # parameter error
          print_messages "KAPL10004" $2
          exit $RTN_FALSE
      fi
      if [ -d "$3" ];
        then
          print_messages "KAPL10007" $3
          exit $RTN_FALSE
      fi
      # 3rd parameter:not file error
      #              :don't read error
      if [ ! -f "$3" ];
        then
          print_messages "KAPL10006" $3
          exit $RTN_FALSE
      fi
      if [ ! -r "$3" ];
        then
          print_messages "KAPL10006" $3
          exit $RTN_FALSE
      fi
# information define file name check
      input_file_chk $3

      if [ -d "$1" ];
	then
          dir_check $1
      fi
  fi
}



######################################################################
# create directory
# Solaris collect directory
make_Solaris_dir()
{
#  echo "DEBUG:DLMgetras make_Solaris_dir"
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_MGR_LOG_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_CONF_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/dfs

  if [ -z "$SOL_OS_CHECK" ] 
  then
    CHK_USER=`/usr/ucb/whoami | /usr/bin/grep root`
    if [ -n "$CHK_USER" ];
    then
       SOL_CRASH_LINE=`/usr/sbin/dumpadm -c kernel | /usr/bin/grep 'Savecore directory'`
       SOL_CRASH_FILE_DIR=`$ECHO "$SOL_CRASH_LINE" | /usr/bin/awk '{print $3}' `
    fi
  else
    HOSTNAME=`/usr/bin/hostname`
    SOL_CRASH_FILE_DIR=/var/crash/$HOSTNAME
  fi
  
#echo "DEBUG:DLMgetras make_Solaris_dir SOL_CRASH_LINE:$SOL_CRASH_LINE"
#echo "DEBUG:DLMgetras make_Solaris_dir SOL_CRASH_FILE_DIR:$SOL_CRASH_FILE_DIR"
  /usr/bin/mkdir -p .$SOL_CRASH_FILE_DIR

  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SYSLOG_DIR

  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_OS_INFO_DIR

  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_CONFIG_DIR
}

# create AIX collect directory
make_AIX_dir()
{
#  echo "DEBUG:DLMgetras make_AIX_dir"
  /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_MGR_LOG_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_CONFIG_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_CONF_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_ETC_DIR

  CHK_USER=`/bin/whoami | /usr/bin/grep root`
  if [ -n "$CHK_USER" ];
  then
     AIX_CRASH_LINE=`/usr/bin/sysdumpdev -l | /usr/bin/grep 'copy directory'`
     AIX_CRASH_FILE_DIR=`$ECHO "$AIX_CRASH_LINE" | /usr/bin/awk '{print $3}' `
     if [ -z "$AIX_CRASH_LINE" ]
     then  
         AIX_ORG_LANG=`$ECHO "$LANG"`
         unset LANG
         AIX_CRASH_LINE=`/usr/bin/sysdumpdev -l | /usr/bin/grep 'copy directory'`
         LANG="$AIX_ORG_LANG"
         AIX_CRASH_FILE_DIR=`$ECHO "$AIX_CRASH_LINE" | /usr/bin/awk '{print $3}' `
     fi
     /usr/bin/mkdir -p $WORKING_DIR$AIX_CRASH_FILE_DIR
  fi
  /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_OS_INFO_DIR

}

# create HP-UX collect directory
make_HPUX_dir()
{
#  echo "DEBUG:DLMgetras make_HPUX_dir"
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_MGR_LOG_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_CONF_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_ETC_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_SYSLOG_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_OS_INFO_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$HPUX_MCSG_DIR

}

#AIX Merge 12/08/2003 START
# create HP-UX collect directory
make_HPUX_hw_dir()
{
#  echo "DEBUG:DLMgetras make_HPUX_hw_dir"
  /usr/bin/mkdir -p $GETRAS_OUTDIR/hwlogs/stmlogs
  /usr/bin/mkdir -p $GETRAS_OUTDIR/hwlogs/evlogs
}

# create HP-UX collect directory
make_HPUX_cl_dir()
{
#  echo "DEBUG:DLMgetras make_HPUX_cl_dir"
  /usr/bin/mkdir -p $GETRAS_OUTDIR/cmcluster
  /usr/bin/mkdir -p $GETRAS_OUTDIR/HAmon/etc
  /usr/bin/mkdir -p $GETRAS_OUTDIR/HAmon/spool
}
#AIX Merge 12/08/2003 START

#Linux Specific functions
make_Linux_dir() {

  if [ "$#" -gt 0 ];
    then
      if [ "$1" = "RHCM" ];
        then
          $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_RHCM_DIR$LINUX_RHCM_CONF_DIR
          $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_RHCM_DIR$LINUX_RHCM_CLUSTER_DIR
      fi

      if [ "$1" = "VCS" ];
        then
          $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_VCS_DIR$LINUX_VCS_CONF_DIR
          $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_VCS_DIR$LINUX_VCS_LOG_DIR
      fi
      if [ "$1" = "Cluster" ];
        then
          $LINUX_MKDIR $GETRAS_OUTDIR 
      fi

      if [ "$1" = "BFS" ];
        then
          $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_INITRD_ETC_DIR
      fi
    else
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_OPTMGR_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_MGR_LOG_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_MGR_RAS_LIGHT_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_MGR_LOG_PSL_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_MGR_LOG_MMAP_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CONF_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_MM_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_TRC_FILE_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_ETC_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYSCONFIG_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_INIT_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRON_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$HDLM_INSTALL_DIR

      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LIB_MODULES_KER_DIR

      if [ "`/bin/uname -m`" = "ia64" ];then
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_ELILO_DIR 
	fi
      
     

      CHK_USER=`/usr/bin/whoami | $GREP root`
        if [ -n "$CHK_USER" ];
          then
            LINUX_CRASH_FILE_DIR=/proc
        fi

      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SCSI_FILE_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYSLOG_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_OS_INFO_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_GRUB_DIR
      $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_HDLM_SCRIPTS_DIR
      $LINUX_MKDIR .$RAS_TMP_DIR 
  fi
}

######################################################################
# Solaris information collect
# Solaris DLM Manager log collect
col_Sol_mgr_log()
{
#  echo "DEBUG:DLMgetras col_Sol_mgr_log"
    col_getfiles "$SOL_MGR_LOG_DIR/dlmmgr*log"
    col_getfiles "$SOL_MGR_LOG_DIR/dlmgui*log"
    col_getfiles "$SOL_MGR_LOG_DIR/dlmsetconf*log"
}

# Solaris config file collect
col_Sol_conf()
{
#  echo "DEBUG:DLMgetras col_Sol_conf"
    GET_CONF_FILES="$SOL_CONF_DIR/sd.conf       \
                    $SOL_CONF_DIR/ssd.conf      \
                    $SOL_CONF_DIR/md.conf       \
                    $SOL_CONF_DIR/dlmadrv.conf  \
                    $SOL_CONF_DIR/dlmfdrv.conf  \
                    $SOL_CONF_DIR/fca-pci.conf  \
                    $SOL_CONF_DIR/fcaw.conf     \
                    $SOL_CONF_DIR/jnic.conf     \
                    $SOL_CONF_DIR/jnic146x.conf \
                    $SOL_CONF_DIR/lpfc.conf     \
                    $SOL_CONF_DIR/qla2100.conf  \
                    $SOL_CONF_DIR/qla2200.conf  \
                    $SOL_CONF_DIR/qla2300.conf  \
                    $SOL_CONF_DIR/qlc.conf      \
                    $SOL_CONF_DIR/fca.conf      \
                    $SOL_CONF_DIR/fjpfca.conf   \
                    $SOL_CONF_DIR/fjfcif.conf   \
                    $SOL_CONF_DIR/fca-ip.conf   \
                    $SOL_CONFIG_DIR/dlmmgr.xml"
    col_getfiles "$GET_CONF_FILES"

  GET_CONF_FILES=""
  if [ -n "$SOL_OS_CHECK8" -o -n "$SOL_OS_CHECK9" ];
  then
    GET_CONF_FILES="$SOL_CONFIG_DIR/dlmfdrv.unconf \
                    $SOL_CONF_DIR/dlmndrv.conf"
    col_getfiles "$GET_CONF_FILES"
  fi

}

# Solaris /etc directory collect
col_Sol_etc()
{
#  echo "DEBUG:DLMgetras col_Sol_etc"
  if [ -z "$SOL_OS_CHECK" ] 
  then
    GET_ETC_FILES="$SOL_ETC_DIR/coreadm.conf   \
                   $SOL_ETC_DIR/dumpadm.conf   \
                   $SOL_ETC_DIR/syslog.conf    \
                   $SOL_ETC_DIR/system         \
                   $SOL_ETC_DIR/mnttab         \
                   $SOL_ETC_DIR/vfstab         \
                   $SOL_ETC_DIR/devlink.tab"

    col_getfiles "$GET_ETC_FILES"
  else
    GET_ETC_FILES="$SOL_ETC_DIR/syslog.conf    \
                   $SOL_ETC_DIR/system         \
                   $SOL_ETC_DIR/mnttab         \
                   $SOL_ETC_DIR/vfstab         \
                   $SOL_ETC_DIR/devlink.tab"
    col_getfiles "$GET_ETC_FILES"
  fi
  
  # nfs file
  GET_ETC_FILES="$SOL_ETC_DIR/dfs/fstypes     \
                 $SOL_ETC_DIR/dfs/dfstab"
  col_getfiles "$GET_ETC_FILES"
}

# Solaris OS crush file collect
col_Sol_crash_file()
{
#  echo "DEBUG:DLMgetras col_Sol_crash_file"
#  COL_FILE=""
#  STATUS=`/usr/bin/ls $SOL_CRASH_FILE_DIR/*`
#  COL_FILE=`/usr/bin/ls`
#  echo "DEBUG:DLMgetras col_Sol_crash_file COL_FILE:$COL_FILE"
#  if [ -n "$COL_FILE" ];
   CHK_USER=`/usr/ucb/whoami | /usr/bin/grep root`
   if [ -n "$CHK_USER" ];
   then
     for GET_CRASH_FILES in `/usr/bin/ls $SOL_CRASH_FILE_DIR/*`
     do
       if [ -f .$GET_CRASH_FILES ];then
           /usr/bin/rm .$GET_CRASH_FILES
       fi

       STATUS=`/usr/bin/ln -s $GET_CRASH_FILES .$GET_CRASH_FILES`
       if [ $? -eq 0 ];
         then
           print_messages "KAPL10020" $GET_CRASH_FILES
       fi
       $CHMOD 700 .$GET_CRASH_FILES
     done

  fi
}

# Solaris syslog collect
col_Sol_syslog()
{
#  echo "DEBUG:DLMgetras col_Sol_syslog"
  GET_SYSLOG_FILES="$SOL_SYSLOG_DIR/messages
                    $SOL_SYSLOG_DIR/messages.0
                    $SOL_SYSLOG_DIR/messages.1
                    $SOL_SYSLOG_DIR/messages.2
                    $SOL_SYSLOG_DIR/messages.3"
  col_getfiles "$GET_SYSLOG_FILES"
}

col_Sol_SC2_Info()
{
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC2_DIR

  /usr/bin/pkginfo -l SUNWsc               > $GETRAS_OUTDIR$SOL_SC2_DIR/SC2.2_pkginfo.txt
  /opt/SUNWcluster/bin/hastat              > $GETRAS_OUTDIR$SOL_SC2_DIR/SC2.2_hastat.txt

  CLUSTER_NAME=`cat $SOL_SC2_CONFINFO_DIR/default_clustername`
  if [ -n "$CLUSTER_NAME" ]
  then
    /opt/SUNWcluster/bin/scconf            > $GETRAS_OUTDIR$SOL_SC2_DIR/SC2.2_scconf.txt
  fi

  /usr/bin/ls -altrR $SOL_SC2_DEVINFO_DIR  > $GETRAS_OUTDIR$SOL_SC2_DIR/SC2.2_devices.txt

  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC2_CONFINFO_DIR
  col_getfiles "$SOL_SC2_CONFINFO_DIR/$CLUSTER_NAME.cdb"

}

col_Sol_SC3_Info()
{
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC3_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC3_ETC_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC3_DEVDSK_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SC3_DEVRDSK_DIR

  /usr/bin/pkginfo -l SUNWscr             > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_pkginfo.txt
  /usr/cluster/bin/scstat -q              > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_scstat-q.txt
  /usr/cluster/bin/scconf -p              > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_scconf-p.txt
  /usr/cluster/bin/scdidadm -L            > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_scdidadm-L.txt
  /usr/bin/ls -altrR $SOL_SC3_DEVDSK_DIR  > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_dev_did_dsk.txt
  /usr/bin/ls -altrR $SOL_SC3_DEVRDSK_DIR > $GETRAS_OUTDIR$SOL_SC3_DIR/SC3.0_dev_did_rdsk.txt

  col_getdir "$SOL_SC3_ETC_DIR/*"

}


# Solaris VxVM information collect
col_Sol_VXVM_Info()
{
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_VXVM_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/aslkey.d
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/upgrade.d
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/vras/conf
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/vras/msg
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/vras/templates
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/vvr/ibc_scripts
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/type
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/reconfig.d/org.d
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/reconfig.d/state.d
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_ETC_DIR/vx/reconfig.d/saveconf.d/etc

  /usr/bin/pkginfo -l VRTSvxvm   > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_pkginfo.txt
  /usr/bin/ls -altr /dev/vx/dmp  > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxdmp.txt
  /usr/bin/ls -altr /dev/vx/rdmp > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxrdmp.txt
  /usr/bin/ls -altr /dev/vx/dsk  > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxdsk.txt
  /usr/bin/ls -altr /dev/vx/rdsk > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxrdsk.txt
  /usr/sbin/vxdisk list          > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxdisklist.txt
  /usr/sbin/vxdisk -s list       > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxdisklist-s.txt
  /usr/sbin/vxdg list            > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxdglist.txt
  /usr/sbin/vxprint              > $GETRAS_OUTDIR$SOL_VXVM_DIR/VXVM_vxprint.txt

VX_DIR="/etc/vx/reconfig.d/disk.d"

for DLM_DIR in `/usr/bin/ls $VX_DIR` 
do
    if [ -d "$VX_DIR/$DLM_DIR" ];
	then
		/usr/bin/mkdir -p "$GETRAS_OUTDIR/$VX_DIR/$DLM_DIR"
		GET_FILE="$VX_DIR/$DLM_DIR/*"
		col_getfiles "$GET_FILE"
	fi
done

VX_SP_DIR="/etc/vx/vvr/ibc_scripts"

for DLM_VXSP_DIR in `/usr/bin/ls $VX_SP_DIR` 
do
    if [ -d "$VX_SP_DIR/$DLM_VXSP_DIR" ];
	then
		/usr/bin/mkdir -p "$GETRAS_OUTDIR/$VX_SP_DIR/$DLM_VXSP_DIR"
		GET_FILE="$VX_SP_DIR/$DLM_VXSP_DIR/*"
		col_getfiles "$GET_FILE"
	fi
done

  GET_VXVM_FILES="/var/vxvm/vxconfigd.log  \
                  /var/adm/syslog/syslog.log"
  /usr/bin/mkdir -p $GETRAS_OUTDIR/var/vxvm
  /usr/bin/mkdir -p $GETRAS_OUTDIR/var/adm/syslog
  col_getfiles "$GET_VXVM_FILES"

  GET_ETC_FILES="$SOL_ETC_DIR/vx/aslkey.d/*key               \
                 $SOL_ETC_DIR/vx/reconfig.d/org.d/*          \
                 $SOL_ETC_DIR/vx/reconfig.d/state.d/*        \
                 $SOL_ETC_DIR/vx/reconfig.d/saveconf.d/*     \
                 $SOL_ETC_DIR/vx/reconfig.d/saveconf.d/etc/* \
                 $SOL_ETC_DIR/vx/type/*                      \
                 $SOL_ETC_DIR/vx/upgrade.d/*                 \
                 $SOL_ETC_DIR/vx/vras/conf/*                 \
                 $SOL_ETC_DIR/vx/vras/msg/*                  \
                 $SOL_ETC_DIR/vx/vras/templates/*            \
                 $SOL_ETC_DIR/vx/vras/*                      \
                 $SOL_ETC_DIR/vx/vvr/*                       \
                 $SOL_ETC_DIR/vx/*"
  col_getfiles "$GET_ETC_FILES"
}

# SDS4.2.1(Solaris 8), SVM(Solaris 9) information collect
col_Sol_SDS421_SVM_Info()
{
  if [ -n "$SOL_OS_CHECK9" ];
  then
    /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SVM_DIR
    /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_LVM_DIR

    # "SUNWmdr" stands for a packge of Solaris Volume Manager Drivers(64-bit).
    /usr/bin/pkginfo -l SUNWmdr  > $GETRAS_OUTDIR$SOL_SVM_DIR/SVM_pkginfo.txt
    /usr/sbin/metadb             > $GETRAS_OUTDIR$SOL_SVM_DIR/SVM_metadb.txt 
    /usr/sbin/metastat           > $GETRAS_OUTDIR$SOL_SVM_DIR/SVM_metastat.txt 
    /usr/sbin/metaset            > $GETRAS_OUTDIR$SOL_SVM_DIR/SVM_metaset.txt

    col_getfiles "$SOL_LVM_DIR/*"
  fi

  if [ -n "$SOL_OS_CHECK8" ];
  then
    /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SDS_DIR
    /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_LVM_DIR

    # "SUNWmdr" stands for a packge of Solstice DiskSuite Drivers(64-bit).
    /usr/bin/pkginfo -l SUNWmdr  > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_pkginfo.txt
    /usr/sbin/metadb             > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metadb.txt 
    /usr/sbin/metastat           > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metastat.txt 
    /usr/sbin/metaset            > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metaset.txt

    col_getfiles "$SOL_LVM_DIR/*"

  fi

}

# SDS4.2(Solaris 2.6/7) information collection
col_Sol_SDS42_Info()
{
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SDS_DIR
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_SUNWMD_DIR

  # "SUNWmd" stands for a packge of Solstice DiskSuite.
  /usr/bin/pkginfo -l SUNWmd     > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_pkginfo.txt
  /usr/opt/SUNWmd/sbin/metadb    > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metadb.txt
  /usr/opt/SUNWmd/sbin/metastat  > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metastat.txt
  /usr/opt/SUNWmd/sbin/metaset   > $GETRAS_OUTDIR$SOL_SDS_DIR/SDS_metaset.txt

  col_getfiles "$SOL_SUNWMD_DIR/*"

}

# Solaris Veritas Cluster Server information collect
col_Sol_VCS_Info()
{
  /usr/bin/mkdir -p $GETRAS_OUTDIR$SOL_VCS_DIR

  /usr/bin/pkginfo -l VRTSvcs          > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_pkginfo.txt
  /opt/VRTSvcs/bin/hastatus -summary   > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_hastatus-summary.txt
  /opt/VRTSvcs/bin/haclus -display     > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_haclus-display.txt
  /opt/VRTSvcs/bin/hasys -list         > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_hasys-list.txt
  /opt/VRTSvcs/bin/hagrp -resources    > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_hagrp-resources.txt
  /opt/VRTSvcs/bin/hagrp -display      > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_hagrp-display.txt
  /opt/VRTSvcs/bin/hares -display      > $GETRAS_OUTDIR$SOL_VCS_DIR/VCS_hares-display.txt

  GET_VCS_FILES="/var/VRTSvcs/log/engine_*.log"
  /usr/bin/mkdir -p $GETRAS_OUTDIR/var/VRTSvcs/log
  col_getfiles "$GET_VCS_FILES"

}

# Solaris OS infomation collect
col_Sol_os_info()
{
#  echo "DEBUG:DLMgetras col_Sol_os_info"

  if [ -n "$SOL_OS_CHECK8" -o -n "$SOL_OS_CHECK9" ];
  then
    /usr/bin/ls -altr /dev/cfg    > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/cfg.txt
    /opt/DynamicLinkManager/bin/dlmgetomtrace > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmgetomtrace.dmp
    /usr/bin/chmod 400 $GETRAS_OUTDIR$SOL_OS_INFO_DIR/*.dmp
  fi

   /usr/bin/ls -altrR /dev        > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dev.txt

  /usr/bin/ls -altrR /devices   > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/devices.txt
  /usr/bin/df -k          > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/df-k.txt
  /usr/bin/pagesize       > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/pagesize.txt
  /usr/bin/uname -a       > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/uname-a.txt
  if [ -z "$SOL_OS_CHECK" ] 
  then
    /usr/bin/isainfo -b     > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/isainfo-b.txt
  fi
  /usr/bin/pkginfo -l     > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/pkginfo-l.txt
  /usr/bin/showrev -p     > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/showrev-p.txt
  /usr/sbin/prtconf | /usr/bin/grep Memory > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/prtconfMemory.txt
  /usr/sbin/prtconf -vP   > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/prtconf-vP.txt
  /usr/sbin/psrinfo -v    > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/psrinfo-v.txt
  /usr/sbin/sysdef        > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/sysdef.txt
  /usr/sbin/swap -l       > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/swap-l.txt
  /usr/sbin/swap -s       > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/swap-s.txt
  /usr/sbin/modinfo       > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/modinfo.txt
  /usr/bin/dmesg          > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dmesg.txt
  /usr/bin/ulimit -a      > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/ulimit-a.txt
  /usr/sbin/format < /dev/null   > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/format.txt
  /usr/bin/env            > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/env.txt
  /usr/bin/ps -ef         > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/ps-ef.txt

  /opt/DynamicLinkManager/bin/dlnkmgr view -path > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-path.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys  > $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -sfunc >> $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -msrv  >> $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -adrv  >> $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -pdrv  >> $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
  # F-Doc No : WRASP0580000001 - Start
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -trap  >> $GETRAS_OUTDIR$SOL_OS_INFO_DIR/dlmmgr-sys.txt
   # F-Doc No : WRASP0580000001 - End

  /usr/bin/chmod 400 $GETRAS_OUTDIR$SOL_OS_INFO_DIR/*.txt

}

# Solaris RAS collect
col_Solaris_ras()
{
#  echo "DEBUG:DLMgetras col_Solaris_ras start"
  col_Sol_mgr_log
  col_generic_trc_file
  col_Sol_conf
  col_Sol_etc
  col_Sol_crash_file
  col_Sol_syslog
  col_Sol_os_info

  STATUS=`pkginfo -q SUNWsc`
  if [ $? -eq 0 ]
  then
      col_Sol_SC2_Info
  fi

  STATUS=`pkginfo -q SUNWscr`
  if [ $? -eq 0 ]
  then
      col_Sol_SC3_Info
  fi

  STATUS=`pkginfo -q VRTSvxvm`
  if [ $? -eq 0 ]
  then
      col_Sol_VXVM_Info
  fi

  # SDS 4.2.1 for Solaris 8, SVM for Solaris 9
  STATUS=`pkginfo -q SUNWmdr`
  if [ $? -eq 0 ]
  then
      col_Sol_SDS421_SVM_Info
  fi

  # SDS 4.2 for Solaris 2.6 and 7
  STATUS=`pkginfo -q SUNWmd`
  if [ $? -eq 0 ]
  then
      col_Sol_SDS42_Info
  fi

  STATUS=`pkginfo -q VRTSvcs`
  if [ $? -eq 0 ]
  then
      col_Sol_VCS_Info
  fi

  col_add_info
  col_tar_get
}

######################################################################
# AIX information collect
# AIX DLM Manager log collect
col_AIX_mgr_log()
{
#  echo "DEBUG:DLMgetras col_AIX_mgr_log"
  col_getfiles "$AIX_MGR_LOG_DIR/dlmmgr*log"
  col_getfiles "$AIX_MGR_LOG_DIR/dlmgui*log"
  col_getfiles "$AIX_MGR_LOG_DIR/dlmwebagent*log"
  col_getfiles "$AIX_MGR_LOG_DIR/dlminquiry*log"
}

# AIX config file collect
col_AIX_conf()
{
#  echo "DEBUG:DLMgetras col_AIX_conf"
#AIX Merge 12/08/2003 START
  GET_CONF_FILES="$AIX_CONF_DIR/dlmfdrv.conf     \
                  $AIX_CONF_DIR/dlmfdrv.unconf   \
                  $AIX_CONFIG_DIR/dlmmgr.xml     \
                  $AIX_CONFIG_DIR/dlmwebagent.properties  \
                  $AIX_CONFIG_DIR/dlmgui.properties"
#AIX Merge 12/08/2003 END
  col_getfiles "$GET_CONF_FILES"

  col_getfiles "$AIX_PROGRAM_DIR/.hckey"
}

col_AIX_HAmon()
{
  if [ -f "$AIX_HAmon_DIR/sysdef" ];then
      /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_HAmon_DIR
      GET_HAmon_FILES="$AIX_HAmon_DIR/sysdef     \
                       $AIX_HAmon_DIR/servers"
      col_getfiles "$GET_HAmon_FILES"
  fi
}

#AIX Merge 12/08/2003 START
col_AIX_HACMP()
{
	if [ -f "$AIX_HACMP_diag/clconraid.dat" ]
	then
		/usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_HACMP_diag
		GET_HACMP_FILES="$AIX_HACMP_diag/clconraid.dat"
		col_getfiles "$GET_HACMP_FILES"
	fi
}
#AIX Merge 12/08/2003 END
# AIX /etc directory collect
col_AIX_etc()
{

  GET_ETC_FILES="$AIX_ETC_DIR/syslog.conf     \
                 $AIX_ETC_DIR/filesystems     \
                 $AIX_ETC_DIR/inittab         \
                 $AIX_ETC_DIR/rc.shutdown"
  col_getfiles "$GET_ETC_FILES"

}

# AIX OS crush file collect
col_AIX_crash_file()
{
   CHK_USER=`/bin/whoami | /usr/bin/grep root`
   if [ -n "$CHK_USER" ];
   then
     for GET_CRASH_FILES in `/usr/bin/ls $AIX_CRASH_FILE_DIR/*`
     do
       if [ -f .$GET_CRASH_FILES ];then
           /usr/bin/rm .$GET_CRASH_FILES
       fi

       STATUS=`/usr/bin/ln -s $GET_CRASH_FILES .$GET_CRASH_FILES`
       if [ $? -eq 0 ];
       then
         print_messages "KAPL10020" $GET_CRASH_FILES
       fi
    done
  fi
}

# AIX errlog collect
col_AIX_errlog()
{
  local AIX_ERRLOG_FILE
  local AIX_ERRLOG_DIR
  local AIX_ORG_LANG
  AIX_ORG_LANG=`$ECHO $LANG`
  unset LANG

  AIX_ERRLOG_FILE=`/usr/lib/errdemon -l | /usr/bin/grep "Log File" | /usr/bin/awk '{print $3}'`

  if [ -f "$AIX_ERRLOG_FILE" ] ; then
    AIX_ERRLOG_DIR=`/usr/bin/dirname $AIX_ERRLOG_FILE`
    if [ ! -d $GETRAS_OUTDIR/$AIX_ERRLOG_DIR ] ; then
      /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_ERRLOG_DIR
    fi
    col_getfiles $AIX_ERRLOG_FILE
  fi

  LANG=$AIX_ORG_LANG
}

# AIX syslog collect
col_AIX_syslog()
{
    if [ -f /tmp/DLMgetras_sys_tmp.$$ ];
    then
      /usr/bin/rm /tmp/DLMgetras_sys_tmp.$$
    fi
    /usr/bin/awk '!/^#/{
    split($0, field, " " )
    chk_line1=field[1]
    chk_line2=field[2]
    print " "  chk_line2
    }' /etc/syslog.conf  | while  read AIX_SYSLOG_FILE 
    do
        if [ -f /tmp/DLMgetras_sys_tmp.$$ -a -n "$AIX_SYSLOG_FILE" ];
        then
           CHK_SYS_FILE=`cat /tmp/DLMgetras_sys_tmp.$$ | /usr/bin/grep $AIX_SYSLOG_FILE`
        fi
        if [ -z "$CHK_SYS_FILE" ];
        then
           $ECHO $AIX_SYSLOG_FILE >> /tmp/DLMgetras_sys_tmp.$$
        fi
    done

    if [ -f /tmp/DLMgetras_sys_tmp.$$ ];
    then
         for GET_SYSLOG_FILE in `cat /tmp/DLMgetras_sys_tmp.$$`
         do
             AIX_SYSLOG_DIR=`/usr/bin/dirname $GET_SYSLOG_FILE`

             if [ -f $GET_SYSLOG_FILE ];
             then
                 if [ ! -d $GETRAS_OUTDIR/$AIX_SYSLOG_DIR ];
                 then
                     /usr/bin/mkdir -p $GETRAS_OUTDIR$AIX_SYSLOG_DIR 
                 fi

                 col_getfiles "$GET_SYSLOG_FILE"
             fi
        done 
    /usr/bin/rm /tmp/DLMgetras_sys_tmp.$$
    fi
}

# AIX OS information collect
col_AIX_os_info()
{
  /usr/DynamicLinkManager/bin/dlmgetomtrace > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmgetomtrace.dmp
  /usr/bin/ls -altr /dev/hdisk*    > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/disk.txt
  /usr/bin/ls -altr /dev/rhdisk*   > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/rdisk.txt
  /usr/bin/ls -la -R $AIX_PROGRAM_DIR  > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmls-la.txt
  /usr/sbin/lsvg          > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsvg.txt
  /usr/sbin/lsvg -o | lsvg -p -i  >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsvg.txt
  /usr/sbin/lscfg         > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lscfg.txt
  /usr/bin/df -k          > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/mount.txt
  /usr/bin/pagesize       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/pagesize.txt
  /usr/bin/uname -a       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/uname-a.txt
  /usr/bin/oslevel        > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/oslevel.txt
  /usr/bin/ulimit -a      > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/ulimit-a.txt
  /usr/bin/lslpp -L all   > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lslpp.txt
  /usr/sbin/bootinfo -r   > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/bootinfo-r.txt
  /usr/sbin/bootinfo -K   > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/bootinfo.txt
  /usr/sbin/bootinfo -z   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/bootinfo.txt
  /usr/sbin/lsdev -Cc processor  > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsdev-proc.txt
  /usr/sbin/lsdev -C      > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsdev-C.txt
  /usr/sbin/lsps -a       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsps-a.txt
  /usr/bin/genkex         > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/genkex.txt
  /usr/bin/errpt -a       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/errpt-a.txt
  /bin/alog -o -t boot    > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/alog.txt
  
  /usr/bin/env            > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/env.txt
  /usr/bin/ps -ef         > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/ps-ef.txt
  /usr/sbin/lspv          > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lspv.txt
  /usr/sbin/lsfs          > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/lsfs.txt

  ERR_MSG=`/usr/bin/cp -p /unix  $GETRAS_OUTDIR$AIX_OS_INFO_DIR/unix 2>&1`
  if [ $? -ne 0 ]; then
      print_messages "KAPL10034" "/unix" "$ERR_MSG"
  fi

  if [ `$UNAME -v` != 5 ]
  then
  	/usr/DynamicLinkManager/bin/4.3/iotool       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  	$ECHO "################### iotool -c ###################" >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  	/usr/DynamicLinkManager/bin/4.3/iotool -c   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  else
  	if [ `bootinfo -K` != 64 ]
  	then
  		/usr/DynamicLinkManager/bin/5L32/iotool       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  		$ECHO "################### iotool -c ###################" >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  		/usr/DynamicLinkManager/bin/5L32/iotool -c   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  	else
  		/usr/DynamicLinkManager/bin/5L64/iotool       > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  		$ECHO "################### iotool -c ###################" >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  		/usr/DynamicLinkManager/bin/5L64/iotool -c   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/iotool.txt 2>&1
  	fi
  fi
  
  col_getfiles "/var/DynamicLinkManager/log/dlmcfgmgr1.log"
  col_getfiles "/var/DynamicLinkManager/log/dlmcfgmgr2.log"
  
  /usr/bin/odmget CuVPD            > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/CuVPD.txt
  
  /usr/sbin/instfix -i             > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/Maintenance-Level.txt
  /usr/bin/oslevel -g             2>> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/oslevel.txt   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/oslevel.txt
  /usr/bin/odmget Config_Rules     > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/Config_Rules.txt
  /usr/bin/odmget PdAt             > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/PdAt.txt
  /usr/bin/odmget PdDv             > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/PdDv.txt
  /usr/bin/odmget CuAt             > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/CuAt.txt
  /usr/bin/odmget CuDv             > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/CuDv.txt
  /usr/bin/odmget CuDvDr           > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/CuDvDr.txt
  /usr/bin/odmget HDLMDrvConf      > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/HDLMDrvConf.txt

  /usr/bin/odmget HACMPcluster     > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPevent       >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPnode        >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPnetwork     >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPnim         >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPadapter     >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPgroup       >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPresource    >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPserver      >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  /usr/bin/odmget HACMPcustom      >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/hacmp.txt
  
  /usr/DynamicLinkManager/bin/dlnkmgr view -path > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-path.txt
  #AIX Merge 12/08/2003 START
  /usr/DynamicLinkManager/bin/dlnkmgr view -drv  > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-drv.txt
  #AIX Merge 12/08/2003 END
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys  > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys -sfunc >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys -msrv  >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys -adrv  >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys -pdrv  >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
  /usr/DynamicLinkManager/bin/dlnkmgr view -sys -lic   >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
   # F-Doc No : WRASP0580000001 - Start
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -trap  >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmmgr-sys.txt
   # F-Doc No : WRASP0580000001 - End

  /usr/DynamicLinkManager/bin/dlmpr -k      > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/dlmpr-k.txt

  /usr/bin/what $AIX_USRCLU_DIR/dlm_hacmp_disk_available > $GETRAS_OUTDIR$AIX_OS_INFO_DIR/whatlist.txt
  for AIX_TIGFILE in `/usr/bin/ls $AIX_USRBIN_DIR`
  do
    if [ -f "$AIX_USRBIN_DIR/$AIX_TIGFILE" ] ; then
        /usr/bin/what $AIX_USRBIN_DIR/$AIX_TIGFILE       >>$GETRAS_OUTDIR$AIX_OS_INFO_DIR/whatlist.txt
    fi
  done
  for AIX_TIGFILE in `/usr/bin/ls $AIX_USRLIB_DIR`
  do
    if [ -f "$AIX_USRLIB_DIR/$AIX_TIGFILE" ] ; then
        /usr/bin/what $AIX_USRLIB_DIR/$AIX_TIGFILE       >>$GETRAS_OUTDIR$AIX_OS_INFO_DIR/whatlist.txt
    fi
  done
  /usr/bin/what  $AIX_OSDRI_DIR/dlmadrv       \
                 $AIX_OSDRI_DIR/dlmfdrv       \
                 $AIX_OSMET_DIR/startdlmadrv  $AIX_OSMET_DIR/startdlmfdrv  \
                 $AIX_OSMET_DIR/defdlmadrv    $AIX_OSMET_DIR/defdlmfdrv    \
                 $AIX_OSMET_DIR/cfgdlmadrv    $AIX_OSMET_DIR/cfgdlmfdrv    \
                 $AIX_OSMET_DIR/chgdlmadrv    $AIX_OSMET_DIR/chgdlmfdrv    \
                 $AIX_OSMET_DIR/ucfgdlmadrv   $AIX_OSMET_DIR/ucfgdlmfdrv   \
                 $AIX_OSMET_DIR/udefdlmadrv   $AIX_OSMET_DIR/udefdlmfdrv   \
                 >> $GETRAS_OUTDIR$AIX_OS_INFO_DIR/whatlist.txt

  /usr/bin/chmod 400 $GETRAS_OUTDIR$AIX_OS_INFO_DIR/*.txt
  /usr/bin/chmod 400 $GETRAS_OUTDIR$AIX_OS_INFO_DIR/*.dmp

}

# AIX RAS collect
col_AIX_ras()
{
#  echo "DEBUG:DLMgetras col_AIX_ras start"
  col_AIX_mgr_log
  col_generic_trc_file
  col_AIX_HAmon
  #AIX Merge 12/08/2003 START
  col_AIX_HACMP
  #AIX Merge 12/08/2003 END
  col_AIX_conf
  col_AIX_etc
  col_AIX_crash_file
  col_AIX_syslog
  col_AIX_errlog
  col_AIX_os_info

  col_add_info
  col_tar_get
}

######################################################################
# HPUX information collect
# HPUX HDLM Manager log collect
col_HPUX_mgr_log()
{
    col_getfiles "$HPUX_MGR_LOG_DIR/dlmmgr*.log"
    col_getfiles "$HPUX_MGR_LOG_DIR/dlmgui*.log"
    col_getfiles "$HPUX_MGR_LOG_DIR/dlmcfgmgr*.log"
    col_getfiles "$HPUX_MGR_LOG_DIR/dlmmkkernel.log"
    col_getfiles "$HPUX_MGR_LOG_DIR/dlmwebagent*.log"
}

# HPUX config file collect
col_HPUX_conf()
{
    GET_CONF_FILES="$HPUX_CONF_DIR/dlmfdrv.unconf     \
                    $HPUX_CONF_DIR/.dlmfdrv.conf      \
                    $HPUX_CONF_DIR/.dlmfdrv.conf.save \
                    $HPUX_CONF_DIR/.hwpath            \
                    $HPUX_CONF_DIR/.conf.c            \
                    $HPUX_CONF_DIR/dlmcfgmgr.log      \
                    $HPUX_CONF_DIR/.hckey             \
                    $HPUX_CONF_DIR/dlmwebagent.properties"
	col_getfiles "$GET_CONF_FILES"
}

# HPUX /etc directory collect
col_HPUX_etc()
{
    GET_ETC_FILES="$HPUX_ETC_DIR/syslog.conf \
                   $HPUX_ETC_DIR/fstab       \
                   $HPUX_ETC_DIR/exports     \
                   $HPUX_ETC_DIR/inittab     \
                   $HPUX_ETC_DIR/rc.log "
	col_getfiles "$GET_ETC_FILES"
}

# HPUX OS crash file collect
col_HPUX_crash_file()
{
  if [ -f /etc/rc.config.d/savecrash ];
  then
    . /etc/rc.config.d/savecrash
    if [ -n "$SAVECRASH_DIR" ];
    then
        HPUX_CRASH_FILE_DIR=$SAVECRASH_DIR
    fi
  fi

  if [ ! -d .$HPUX_CRASH_FILE_DIR ]; then
    /usr/bin/mkdir -p .$HPUX_CRASH_FILE_DIR
  fi

  GET_CRASH_FILES=`/usr/bin/find $HPUX_CRASH_FILE_DIR -type f -print`

  for GET_FILE in $GET_CRASH_FILES
  do
    HPUX_CRASH_SUB_DIR=`/usr/bin/dirname $GET_FILE`

    if [  ! -d .$HPUX_CRASH_SUB_DIR ]; then
      /usr/bin/mkdir -p .$HPUX_CRASH_SUB_DIR
    fi

    if [ -f .$GET_FILE ];then
      /usr/bin/rm .$GET_FILE
    fi

    /usr/bin/ln -s $GET_FILE .$GET_FILE
    print_messages "KAPL10020" $GET_FILE
  done
}

# HPUX syslog collect
col_HPUX_syslog()
{
    delete_file $RAS_SYS_TMP_FILE

    /usr/bin/awk '!/^#/{
    split($0, field, " " )
    chk_line1=field[1]
    chk_line2=field[2]
    print " "  chk_line2
    }' /etc/syslog.conf  | while  read HPUX_SYSLOG_FILE
    do
        if [ -f $RAS_SYS_TMP_FILE -a -n "$HPUX_SYSLOG_FILE" ];
        then
            CHK_SYS_FILE=`cat $RAS_SYS_TMP_FILE | /usr/bin/grep $HPUX_SYSLOG_FILE`
        fi

        if [ "$HPUX_SYSLOG_FILE" = "*" ];
        then
            CHK_SYS_FILE=1
        fi

        if [ -z "$CHK_SYS_FILE" ];
        then
            $ECHO $HPUX_SYSLOG_FILE >> $RAS_SYS_TMP_FILE
        fi
    done

    if [ -f $RAS_SYS_TMP_FILE ];
    then
        GET_SYSLOG_FILES=`cat $RAS_SYS_TMP_FILE`
        for GET_FILE in $GET_SYSLOG_FILES
        do
            HPUX_SYSLOG_DIR=`/usr/bin/dirname $GET_FILE`

            if [ -d $HPUX_SYSLOG_DIR -a -f $GET_FILE ];
            then
               if [ ! -d $GETRAS_GETRAS_OUTDIR/$HPUX_SYSLOG_DIR ];
               then
                   /usr/bin/mkdir -p -m 700 $GETRAS_GETRAS_OUTDIR$HPUX_SYSLOG_DIR
               fi
               col_getfiles "$GET_FILE"
            fi
        done
        delete_file $RAS_SYS_TMP_FILE
    fi
    col_getfiles "/var/adm/syslog/OLDsyslog.log"
}

# HPUX OS information collect
col_HPUX_os_info()
{
#  echo "DEBUG:DLMgetras col_HPUX_os_info"

  /opt/DynamicLinkManager/bin/dlmgetomtrace > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmgetomtrace.dmp

  /usr/bin/ls -altr /dev/dsk         > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dev_dsk.txt
  /usr/bin/ls -altr /dev/rdsk        > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dev_rdsk.txt
  /usr/bin/bdf                       > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/bdf.txt
  /usr/bin/uname -a                  > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/uname-a.txt
  /usr/bin/ulimit -a                 > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/ulimit-a.txt
  /usr/bin/getconf PAGESIZE          > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/getconfPAGESIZE.txt
  /usr/bin/getconf KERNEL_BITS       > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/getconfKERNEL_BITS.txt
  /usr/sbin/swlist -l fileset        > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/swlist-l_fileset.txt
  /usr/sbin/swlist -l patch          > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/swlist-l_patch.txt
  /usr/sbin/sysdef                   > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/sysdef.txt
  /usr/sbin/dmesg                    > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dmesg.txt
  /usr/sbin/lsdev                    > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/lsdev.txt
  /usr/sbin/vgdisplay -v             > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/vgdisplay-v.txt
  /usr/sbin/ioscan -funC disk        > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/ioscan-funC_disk.txt
  /usr/sbin/mount -v                 > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/mount-v.txt
  /usr/sbin/swapinfo -a              > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/swapinfo-a.txt
  /usr/bin/env                       > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/env.txt
  /usr/bin/ps -ef                    > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/ps-ef.txt
  /usr/sbin/swlist                   > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/swlist.txt

  /opt/DynamicLinkManager/bin/dlnkmgr view -path > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-path.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys  > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -sfunc >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -msrv  >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -adrv  >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -pdrv  >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -lic   >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
   # F-Doc No : WRASP0580000001 - Start
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -trap  >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-sys.txt
   # F-Doc No : WRASP0580000001 - End
  /opt/DynamicLinkManager/bin/dlnkmgr view -drv        >  $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/dlmmgr-drv.txt

  /usr/bin/what  $HPUX_OPTBIN_DIR/dlnkmgr       \
                 $HPUX_OPTBIN_DIR/dlmmgr        \
                 $HPUX_OPTBIN_DIR/dlmdefpath    \
                 $HPUX_OPTBIN_DIR/DLMgetras     \
                 $HPUX_OPTLIB_DIR/libdlm.sl     \
                 $HPUX_OPTLIB_DIR/libhcc32.sl   \
                 $HPUX_OPTLIB_DIR/libhccmt32.sl \
                 $HPUX_SBIN_DIR/dlmcfgmgr      > $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/whatlist.txt
  /usr/bin/what  /stand/vmunix | grep dlmadrv >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/whatlist.txt
  /usr/bin/what  /stand/vmunix | grep dlmfdrv >> $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/whatlist.txt

  /usr/bin/chmod 400 $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/*.txt
  /usr/bin/chmod 400 $GETRAS_OUTDIR$HPUX_OS_INFO_DIR/*.dmp

}

# HPUX MC/ServiceGuard file collect
col_HPUX_MCSG_file()
{
	GET_MCSG_FILES="$HPUX_MCSG_DIR/cmclconfig"
	col_getfiles "$GET_MCSG_FILES"
}


# HPUX file and directory link
col_HPUX_link_file()
{
  GET_FILE_NAMES=`/usr/bin/find $1/* -prune`
  GET_FILE_NAMES="$GET_FILE_NAMES `/usr/bin/find $1 -name '.*' -prune`"

  cd $2

  for FILE_NAME in $GET_FILE_NAMES
  do

    if [ -d $FILE_NAME ]
    then
      MAKE_DIR_NAME=`/usr/bin/basename $FILE_NAME`
      /usr/bin/mkdir -p $MAKE_DIR_NAME
      col_HPUX_link_file $FILE_NAME $MAKE_DIR_NAME
    else
      LINK_FILE_NAME=`/usr/bin/basename $FILE_NAME`
      ERR_MSG=`/usr/bin/ln -s $FILE_NAME $LINK_FILE_NAME`
      if [ $? = 0 ];
        then
          print_messages "KAPL10020" $FILE_NAME
      fi
    fi

  done

  cd ../
}

# HPUX get TAR file
col_HPUX_tar_get()
{
  cd $WORKING_DIR/$RAS_TMP_DIR

  ERR_MSG=`/usr/bin/tar chf $1 $OUTDIR 2>&1`

  if [ $? -ne 0 ]; then
      print_messages "KAPL10035" "$ERR_MSG"
      delete_file $RAS_TMP_FILE
      delete_file $RAS_SYS_TMP_FILE
      exit 1
  fi

  ERR_MSG=`/usr/bin/compress -f $1 2>&1`

  if [ $? -ne 0 -o -n "$ERR_MSG" ]; then
          print_messages "KAPL10036" "$ERR_MSG"
          delete_file $RAS_TMP_FILE
          delete_file $RAS_SYS_TMP_FILE
          if [ -f $1 ]; then
              /usr/bin/chmod 400 $1
              cd ../
              mv -f .$RAS_TMP_DIR/$1 .
              delete_dir .$RAS_TMP_DIR
          fi
      exit 1
  fi

  /usr/bin/chmod 400 $1.Z

  cd ../
  mv -f .$RAS_TMP_DIR/$1.Z .
}

# HPUX RAS collect
col_HPUX_ras()
{
#  echo "DEBUG:DLMgetras col_HPUX_ras start"
  col_HPUX_mgr_log
  col_generic_trc_file
  col_HPUX_conf
  col_HPUX_etc
  col_HPUX_syslog
  col_HPUX_MCSG_file
  col_HPUX_os_info

  col_HPUX_crash_file

  col_add_info
  col_tar_get

}

# HPUX RAS collect
col_HPUX_hw_ras()
{
#  echo "DEBUG:DLMgetras col_HPUX_hw_ras start"
  col_HPUX_link_file $HPUX_HWLOGS_STM_DIR $GETRAS_OUTDIR/hwlogs/stmlogs
  cd $WORKING_DIR
  col_HPUX_link_file $HPUX_HWLOGS_EV_DIR $GETRAS_OUTDIR/hwlogs/evlogs
  cd $WORKING_DIR
  col_HPUX_tar_get $HPUX_HW_LOGFILE
}

# HPUX RAS collect
col_HPUX_cl_ras()
{
#  echo "DEBUG:DLMgetras col_HPUX_cl_ras start"
#
  col_HPUX_link_file $HPUX_MCSG_DIR $GETRAS_OUTDIR/cmcluster
  cd $WORKING_DIR
  col_HPUX_link_file $HPUX_HAMON_ETC_DIR $GETRAS_OUTDIR/HAmon/etc
  cd $WORKING_DIR
  col_HPUX_link_file $HPUX_HAMON_SPL_DIR $GETRAS_OUTDIR/HAmon/spool
  cd $WORKING_DIR
  col_HPUX_tar_get $HPUX_CLUSTER_LOGFILE
}

######################################################################
# LINUX information collect
# LINUX HDLM Manager log collect
col_LINUX_mgr_log()
{
    GET_MGR_FILES="$LINUX_MGR_LOG_DIR/dlmmgr*.log   \
                    $LINUX_MGR_LOG_DIR/dlmcfgmgr[1-2].log           \
			$LINUX_MGR_LOG_DIR/dlmwebagent*.log      \
			$LINUX_MGR_LOG_DIR/dlmgui[1-2].log            \
			$LINUX_MGR_LOG_DIR/hcmdslicense2.log \
			$LINUX_MGR_LOG_DIR/hdlmtr*.log \
			$LINUX_MGR_LOG_DIR/dlmguiinst.log \
			$LINUX_MGR_LOG_DIR/dlminquiry.log           \
			$LINUX_MGR_LOG_DIR/.dlmomtrace[1-5].log\
			$LINUX_MGR_LOG_DIR/dlmwebgui_setup.log"
	if [ $KERNEL_PANIC -ne 0 ]; then 
	    GET_MGR_FILES="$GET_MGR_FILES \
			$LINUX_MGR_LOG_DIR/dlmfdrvpanic.log"
	fi
    col_getfiles "$GET_MGR_FILES"
 col_getfiles "$LINUX_MGR_LOG_MMAP_DIR/hdlmtr.mm"
}

#LINUX DLMgetras light tar collect
col_LINUX_getras_light_tar()
{
	AUTORAS_DIR=`$LINUX_LS $LINUX_MGR_RAS_LIGHT_DIR |$TAIL -1`
	if [ ! -z $AUTORAS_DIR ]; then
		col_getdir "$LINUX_MGR_RAS_LIGHT_DIR/$AUTORAS_DIR"
	fi
}

#Hglam 5.6 related collect
col_LINUX_psl_dir()
{
        col_getdir "$LINUX_MGR_LOG_PSL_DIR/*"
}

#HDLM Installer Log collection
col_LINUX_Install_log()
{
	col_getdir "$HDLM_INSTALL_DIR/*"
}

# LINUX config file collect

col_LINUX_conf()
{
   # GET_CONF_FILES="$LINUX_CONF_DIR/.dlmfdrv.unconf	\
   #			$LINUX_CONF_DIR/.dlmfdrv.conf		 \
   #			$LINUX_CONF_DIR/.dlmfdrv[1-3].unconf \
   # 			$LINUX_CONF_DIR/.dlmfdrv[1-3].conf   \
   #			$LINUX_CONF_DIR/dlmgui.properties   \
   #			$LINUX_CONF_DIR/dlmwebagent.properties   \
   #                    $LINUX_CONF_DIR/dlmmgr.xml         \
   #			$LINUX_CONF_DIR/.dlmgui_startup_param"

GET_CONF_FILES="$LINUX_CONF_DIR/.dlmfdrv.unconf	\
			$LINUX_CONF_DIR/.dlmfdrv.conf		 \
			$LINUX_CONF_DIR/.dlmfdrv[1-3].unconf \
			$LINUX_CONF_DIR/.dlmfdrv[1-3].conf   \
			$LINUX_CONF_DIR/dlmgui.properties   \
			$LINUX_CONF_DIR/dlmwebagent.properties   \
                  $LINUX_CONF_DIR/dlmmgr.xml \
                        $LINUX_CONF_DIR/dlmmgr_LU.xml \
			$LINUX_CONF_DIR/.dlmgui_version \
			$LINUX_CONF_DIR/.dlmlang\
			$LINUX_CONF_DIR/hdlm_kernel_version\
			$LINUX_CONF_DIR/dlmpsl.dat\
			$LINUX_CONF_DIR/hdlm_kernel_panic.conf" 


		
	col_getfiles "$GET_CONF_FILES"

        ROOT_HOME_DIR=`echo $HOME`
        if [ -f "$ROOT_HOME_DIR/.hdlmgui/hdlmgui_user.properties" ];
        then
          $MKDIR $GETRAS_OUTDIR$ROOT_HOME_DIR/.hdlmgui/
        fi
        col_getfiles "$ROOT_HOME_DIR/.hdlmgui/hdlmgui_user.properties"
}

# LINUX license key (.hckey2) file collect
col_LINUX_lic_key()
{
    #GET_LIC_FILES="$LINUX_OPTMGR_DIR/.hckey"
    GET_LIC_FILES="$LINUX_OPTMGR_DIR/.hckey2"
	col_getfiles "$GET_LIC_FILES"
}


# LINUX HDLM version files  (.hdlmversion) file collect
col_HDLM_VERSION()
{
    GET_HDLM_VERSION_FILE="$LINUX_OPTMGR_DIR/.hdlmversion"
	col_getfiles "$GET_HDLM_VERSION_FILE"
}

# LINUX HDLM sevicepack version files  (.hdlmservicepack) file collect
col_HDLM_SERVICEPACK_VERSION()
{
    GET_HDLM_SERVICEPACK_VERSION_FILE="$LINUX_OPTMGR_DIR/.hdlmservicepack"
	col_getfiles "$GET_HDLM_SERVICEPACK_VERSION_FILE"
}
# LINUX /etc directory collect
col_LINUX_etc()
{
    #GET_ETC_FILES="$LINUX_ETC_DIR/syslog.conf \
    #               $LINUX_ETC_DIR/fstab       \
    #               $LINUX_ETC_DIR/exports     \
    #               $LINUX_ETC_DIR/inittab     \
    #               $LINUX_ETC_DIR/lilo.conf     \
    #               $LINUX_ETC_DIR/lvmtab     \
    #		    $LINUX_ETC_DIR/evms.conf     \		
    #		    $LINUX_ETC_DIR/modprobe.conf     \		
    #		   $LINUX_ETC_DIR/modules.conf "

	   
    #Collect /etc/elilo.conf for IA64 & /etc/lilo.conf for non-IA64 
    if [ "`/bin/uname -m`" = "ia64" ];then
	    GET_ETC_FILES="$LINUX_ETC_DIR/syslog.conf \
			   $LINUX_ETC_DIR/fstab       \
			   $LINUX_ETC_DIR/exports     \
			   $LINUX_ETC_DIR/inittab     \
			   $LINUX_ELILO_DIR/elilo.conf     \
			   $LINUX_ETC_DIR/qla*.conf     \
			   $LINUX_ETC_DIR/hba.conf     \
			   $LINUX_ETC_DIR/modules.conf     \
			   $LINUX_ETC_DIR/raidtab	\
   			   $LINUX_ETC_DIR/mtab	\
			   $LINUX_ETC_DIR/lpfc.conf "
    else
	    GET_ETC_FILES="$LINUX_ETC_DIR/syslog.conf \
			   $LINUX_ETC_DIR/fstab       \
			   $LINUX_ETC_DIR/exports     \
			   $LINUX_ETC_DIR/inittab     \
			   $LINUX_ETC_DIR/lilo.conf     \
   			   $LINUX_ETC_DIR/qla*.conf     \
			   $LINUX_ETC_DIR/hba.conf     \
			   $LINUX_ETC_DIR/modules.conf     \
			   $LINUX_ETC_DIR/raidtab \
			   $LINUX_ETC_DIR/mtab	\
			   $LINUX_ETC_DIR/lpfc.conf "
    fi
if [ $KERNEL_2_4 ]; then
    GET_ETC_FILES="$GET_ETC_FILES $LINUX_ETC_DIR/lvmtab"
fi
if [ $KERNEL_2_6 ]; then
	GET_ETC_FILES="$GET_ETC_FILES $LINUX_ETC_DIR/evms.conf $LINUX_ETC_DIR/modprobe.conf $LINUX_ETC_DIR/modprobe.conf.local"
	if [ -f $LINUX_ETC_DIR/syslog-ng/syslog-ng.conf ]; then
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_ETC_DIR/syslog-ng
		GET_ETC_FILES="$GET_ETC_FILES $LINUX_ETC_DIR/syslog-ng/syslog-ng.conf"
	fi
fi
#if [ $KERNEL_2_6 ]; then
if [ -f $SUSE_REL_FILE ]; then
  GET_ETC_SYSCONFIG_FILES="$LINUX_SYSCONFIG_DIR/boot \
			   $LINUX_SYSCONFIG_DIR/sysctl \
			   $LINUX_SYSCONFIG_DIR/lvm       \
			   $LINUX_SYSCONFIG_DIR/hotplug     \
			   $LINUX_SYSCONFIG_DIR/scsidev"
fi			      		         
	

	col_getfiles "$GET_ETC_FILES"


#if [ $KERNEL_2_6 ]; then
if [ -f $SUSE_REL_FILE ]; then
	col_getfiles "$GET_ETC_SYSCONFIG_FILES"	
fi			

	    #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
	    if [ -f /etc/SuSE-release ]
	  then
	        $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_BOOT_DIR
		col_getfiles "$LINUX_INIT_DIR/boot"
		col_getfiles "$LINUX_INIT_DIR/boot.*[^d]*"
		col_getdir "$LINUX_BOOT_DIR/*"
		col_getfiles "$LINUX_SYSCONFIG_DIR/kernel"
	  else
		col_getfiles "$LINUX_ETC_DIR/rc.sysinit"
	  fi

#if [ $KERNEL_2_6 ]; then
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_HOTPLUG_DIR     	
	col_getfiles "$LINUX_HOTPLUG_DIR/blacklist"
if [ $KERNEL_2_6 ]; then
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LVM_DIR     		
	col_getfiles "$LINUX_LVM_DIR/.cache"			
	col_getfiles "$LINUX_LVM_DIR/lvm.conf"	
fi		
if [ $KERNEL_2_6 ]; then
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LVM_BACKUP_DIR
	col_getdir "$LINUX_LVM_BACKUP_DIR/*"
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYS_CLASS_SCSI_HOST_DIR
	col_getdir "$LINUX_SYS_CLASS_SCSI_HOST_DIR/*"
fi

if [ $KERNEL_2_6 ]; then
	if [ -d $LINUX_SYS_CLASS/fc_host ]; then
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYS_CLASS/fc_host
		col_getdir "$LINUX_SYS_CLASS/fc_host/*"
	fi

	if [ -d $LINUX_SYS_CLASS/fc_remote_ports ]; then
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYS_CLASS/fc_remote_ports
		col_getdir "$LINUX_SYS_CLASS/fc_remote_ports/*"
        fi
	
	if [ -d $LINUX_SYS_CLASS/fc_transport ]; then
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_SYS_CLASS/fc_transport
		col_getdir "$LINUX_SYS_CLASS/fc_transport/*"
        fi
fi

if [ $KERNEL_2_6 ]; then
	if [ -d $LINUX_ETC_DIR/modprobe.d ]; then 
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_ETC_DIR/modprobe.d
		col_getdir "$LINUX_ETC_DIR/modprobe.d/*"
	fi
fi
	
if [ $KERNEL_2_6 ]; then
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_UDEV_DIR
	GET_ETC_UDEV_FILES="$LINUX_UDEV_CONF_FILE"
	col_getfiles "$GET_ETC_UDEV_FILES"
	UDEV_TEMP=`$GREP -w "udev_rules" "$LINUX_UDEV_CONF_FILE" | $AWK '{ if ($1 !~ /^[ \t]*#/) { print $1 }}' | $AWK -F "=" '{print $2}'`
	for i in $UDEV_TEMP; do
		FIRST=1
		TEST1=`$ECHO $i | $CUT -b $FIRST`	
		if [ $TEST1 == "\"" ] ; then
			FIRST=`$EXPR $FIRST + 1`
		fi
		LAST=`$EXPR length $i`
		TEMP1=`$ECHO $i | $CUT -b $LAST`
		if [ $TEMP1 == "\"" ]; then
			LAST=`$EXPR $LAST - 1`
		fi		
		TEMP=`$ECHO $i | $CUT -b $FIRST-$LAST`	
		if [ -d $TEMP ]; then
			$LINUX_MKDIR $GETRAS_OUTDIR$TEMP
			TEMP2=`$ECHO $TEMP | $AWK -F "/" '{print $NF}'`
			if [ -z $TEMP2 ]; then
				col_getdir "$TEMP*.rules"
			else
				col_getdir "$TEMP/*.rules"
			fi
		elif [ -f $TEMP ]; then
			TEMP2=`$LINUX_DIRNAME $TEMP`
			$LINUX_MKDIR $GETRAS_OUTDIR$TEMP2
			col_getfiles "$TEMP"
		else
			print_messages "KAPL10033" "$TEMP"
		fi
	done
	if [ -f $LINUX_UDEV_RULES_FILE ]; then
		col_getfiles $LINUX_UDEV_RULES_FILE
	fi
	if [ -d $LINUX_UDEV_DEF_RULES ]; then
		$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_UDEV_DEF_RULES
		col_getdir "$LINUX_UDEV_DEF_RULES/*.rules"
	fi
fi	
  col_getdir "$LINUX_ETC_DIR/cron*"
  col_getfiles "$LINUX_INIT_DIR/halt"
}
#col_Linux_get_crash_file()
#{
#  CHK_USER=`/usr/bin/whoami | $GREP root`
#   if [ -n "$CHK_USER" ]
#   then
#       STATUS=`/bin/ln -s $LINUX_CRASH_FILE_DIR/kcore ./kcore`
#       if [ $? -eq 0 ];
#       then
#           print_messages "KAPL10020" $LINUX_CRASH_FILE_DIR
#	else
#	   print_messages "KAPL10034" $LINUX_CRASH_FILE_DIR
#       fi
#    fi
#}
col_LINUX_crash_file()
{  
    # GET_CRASH_FILES="$LINUX_CRASH_FILE_DIR/devices \
    #		     $LINUX_CRASH_FILE_DIR/meminfo \
    #		     $LINUX_CRASH_FILE_DIR/modules \
    #		     $LINUX_CRASH_FILE_DIR/partitions \
    #		     $LINUX_CRASH_FILE_DIR/pci \
    #		     $LINUX_CRASH_FILE_DIR/stat \
    # 		     $LINUX_CRASH_FILE_DIR/cpuinfo \
    #		     $LINUX_CRASH_FILE_DIR/cmdline \
    #		     $LINUX_CRASH_FILE_DIR/slabinfo \
    #		     $LINUX_CRASH_FILE_DIR/ksyms \
    #		     #$LINUX_CRASH_FILE_DIR/kallsyms \ 	    
    #		     #$LINUX_CRASH_FILE_DIR/diskstats \ 	    
    #		     $LINUX_CRASH_FILE_DIR/swaps" 
    # col_getfiles "$GET_CRASH_FILES"	  
    # col_getdir "$LINUX_SCSI_FILE_DIR/*"

     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/irq
     col_getdir "$LINUX_CRASH_FILE_DIR/irq/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/net
     col_getdir "$LINUX_CRASH_FILE_DIR/net/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/scsi
     col_getdir "$LINUX_CRASH_FILE_DIR/scsi/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/sys/dev
     col_getdir "$LINUX_CRASH_FILE_DIR/sys/dev/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/sys/fs
     col_getdir "$LINUX_CRASH_FILE_DIR/sys/fs/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/sys/kernel
     col_getdir "$LINUX_CRASH_FILE_DIR/sys/kernel/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/sys/vm
     col_getdir "$LINUX_CRASH_FILE_DIR/sys/vm/*"
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/sysvipc
     col_getdir "$LINUX_CRASH_FILE_DIR/sysvipc/*"
     if [ $KERNEL_2_4 ]; then
        $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/lvm
        col_getdir "$LINUX_CRASH_FILE_DIR/lvm/*"
     fi
     $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_CRASH_FILE_DIR/fs
     col_getdir "$LINUX_CRASH_FILE_DIR/fs/*"
	    
	#if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
	if [ -f /etc/SuSE-release ]
	  then
		col_getfiles "$LINUX_CRASH_FILE_DIR/config.gz"
	fi

     col_getfiles "$LINUX_CRASH_FILE_DIR/cmdline"
     col_getfiles "$LINUX_CRASH_FILE_DIR/cpuinfo"
     col_getfiles "$LINUX_CRASH_FILE_DIR/devices"
     if [ $KERNEL_2_6 ]; then
        if [ "`/bin/uname -m`" != "ia64" ];then
            col_getfiles "$LINUX_CRASH_FILE_DIR/dma"
        fi
     else
        col_getfiles "$LINUX_CRASH_FILE_DIR/dma"
     fi
     col_getfiles "$LINUX_CRASH_FILE_DIR/filesystems"
     col_getfiles "$LINUX_CRASH_FILE_DIR/interrupts"
     col_getfiles "$LINUX_CRASH_FILE_DIR/iomem"
     col_getfiles "$LINUX_CRASH_FILE_DIR/ioports"
if [ $KERNEL_2_4 ]; then
     col_getfiles "$LINUX_CRASH_FILE_DIR/ksyms"
fi
if [ $KERNEL_2_6 ]; then	   
     col_getfiles "$LINUX_CRASH_FILE_DIR/kallsyms"			
     col_getfiles "$LINUX_CRASH_FILE_DIR/diskstats"			
fi

     col_getfiles "$LINUX_CRASH_FILE_DIR/loadavg"
     col_getfiles "$LINUX_CRASH_FILE_DIR/locks"
     col_getfiles "$LINUX_CRASH_FILE_DIR/mdstat"
     col_getfiles "$LINUX_CRASH_FILE_DIR/meminfo"
     col_getfiles "$LINUX_CRASH_FILE_DIR/misc"
     col_getfiles "$LINUX_CRASH_FILE_DIR/modules"
     col_getfiles "$LINUX_CRASH_FILE_DIR/mounts"
     col_getfiles "$LINUX_CRASH_FILE_DIR/partitions"
     if [ $KERNEL_2_4 ]; then
        col_getfiles "$LINUX_CRASH_FILE_DIR/pci"
     else
        if [ -f $REDHAT_REL_FILE ]; then
		if [ -f $LINUX_CRASH_FILE_DIR/pci ]; then
	            	col_getfiles "$LINUX_CRASH_FILE_DIR/pci"
		fi
        fi
     fi
     col_getfiles "$LINUX_CRASH_FILE_DIR/slabinfo"
     col_getfiles "$LINUX_CRASH_FILE_DIR/stat"
     col_getfiles "$LINUX_CRASH_FILE_DIR/swaps"
     col_getfiles "$LINUX_CRASH_FILE_DIR/uptime"
     col_getfiles "$LINUX_CRASH_FILE_DIR/version"
#     col_getfiles "$LINUX_CRASH_FILE_DIR/mdstat"
}

col_LINUX_syslog() {

      #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
      if [ -f /etc/SuSE-release ]
  then
	GET_LOG_FILES="$LINUX_SYSLOG_DIR/boot.*"
	col_getfiles "$GET_LOG_FILES"
	 ##UNKNOWN rpmpkgs
	 ##UNKNOWN ksyms
  else
	GET_LOG_FILES="$LINUX_SYSLOG_DIR/rpmpkgs*"
	col_getfiles "$GET_LOG_FILES"
	GET_LOG_FILES="$LINUX_SYSLOG_DIR/boot.log*"
	col_getfiles "$GET_LOG_FILES"
	GET_LOG_FILES="$LINUX_SYSLOG_DIR/ksyms.*"
	col_getfiles "$GET_LOG_FILES"
	GET_CRONLOG_FILES="$LINUX_SYSLOG_DIR/cron*"
	col_getfiles "$GET_CRONLOG_FILES"
  fi
    GET_LOG_FILES="$LINUX_SYSLOG_DIR/messages*"
    col_getfiles "$GET_LOG_FILES"
}

col_LINUX_e2label()
{
$ECHO   "DEVICES				LABEL" >$GETRAS_OUTDIR$LINUX_OS_INFO_DIR/e2label.txt
for devices in `/opt/DynamicLinkManager/bin/dlnkmgr view -drv |$AWK '{print $3}' |$GREP /dev`
do
sdev=`$ECHO $devices |$AWK -F "/" '{print $3}'`
#This section will collect output of e2label command for whole device
label=`/sbin/e2label /dev/$sdev`
if [ $? -eq 0 ]
then
if [ -z "$label" ]
then
$ECHO  "/dev/$sdev		           -">>$GETRAS_OUTDIR$LINUX_OS_INFO_DIR/e2label.txt
else
$ECHO  "/dev/$sdev			$label">>$GETRAS_OUTDIR$LINUX_OS_INFO_DIR/e2label.txt
fi
fi

#for partitions in `$CAT /proc/partitions |$GREP "${sdev}" |$AWK '{print $4}'`
#For Loop is modified by adding [0-9] in the Grep so that output of e2label is collected only for partitions of the device 
for partitions in `$CAT /proc/partitions |$GREP "${sdev}"[0-9] |$AWK '{print $4}'`
do
label=`/sbin/e2label /dev/$partitions`
if [ $? -eq 0 ]
then
if [ -z "$label" ]
then
$ECHO  "/dev/$partitions		           -">>$GETRAS_OUTDIR$LINUX_OS_INFO_DIR/e2label.txt
else
$ECHO  "/dev/$partitions			$label">>$GETRAS_OUTDIR$LINUX_OS_INFO_DIR/e2label.txt
fi
fi
done
done
}

col_LINUX_lvm_file()
{	
	if [ $KERNEL_2_6 ]; then
		if [ -f $REDHAT_REL_FILE ]; then
		   /usr/bin/chcon -t  lvm_tmp_t  $GETRAS_OUTDIR$LINUX_OS_INFO_DIR > /dev/null 2>&1
		   /usr/bin/chcon -t  lvm_tmp_t $GETRAS_OUTDIR/$GETRAS_LOGFILE	  > /dev/null 2>&1 

		   /usr/sbin/vgdisplay -v   > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
		   /usr/sbin/lvmdiskscan    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt
		   /usr/sbin/pvs            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvs.txt
		   /usr/sbin/lvs            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvs.txt
		   /usr/sbin/vgs            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgs.txt
		   /sbin/pvscan             > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvscan.txt

		   /sbin/restorecon -R  $GETRAS_OUTDIR$LINUX_OS_INFO_DIR > /dev/null 2>&1
		  /sbin/restorecon -R	$GETRAS_OUTDIR/$GETRAS_LOGFILE   > /dev/null 2>&1
		else
		   /sbin/vgdisplay -v       > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
		   /sbin/lvmdiskscan        > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt
		   /sbin/pvs                > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvs.txt		
		   /sbin/lvs                > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvs.txt		
		   /sbin/vgs                > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgs.txt	
		   /sbin/pvscan             > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvscan.txt
		   /usr/bin/lsscsi          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lsscsi.txt	

		fi
	else
		/sbin/vgdisplay -v         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
		/sbin/lvmdiskscan          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt
		/sbin/pvscan               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvscan.txt
	fi
}

col_LINUX_os_info() {
  #echo "DEBUG:DLMgetras col_LINUX_os_info"
  /opt/DynamicLinkManager/bin/dlmgetomtrace 		> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmgetomtrace.dmp
  $LINUX_LS -altR /opt/DynamicLinkManager > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/DLMfilelist.txt
  $LINUX_LS -altR /dev         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dev_dsk.txt
  $LINUX_LS -altR /dev/raw     > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dev_raw.txt

  #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
  if [ -f /etc/SuSE-release ]
  then
	$LINUX_LS -altR /etc/init.d     > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/init.txt
  else
	$LINUX_LS -altR /etc/rc.d     > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rc.txt
  fi
  if [ $KERNEL_2_6 ]; then
  	if [ -f $REDHAT_REL_FILE ]; then
		$LINUX_LS -altRZ /opt/DynamicLinkManager > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/DLMfilelist_security.txt
		$LINUX_LS -altRZ /dev         		> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dev_dsk_security.txt
		$LINUX_LS -altRZ /dev/raw     		> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dev_raw_security.txt
		$LINUX_LS -altRZ /etc/rc.d     		> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rc_security.txt	
	fi
  fi
  /bin/df                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/bdf.txt  
  /bin/uname -a              > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/uname-a.txt
  ulimit -a                  > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ulimit-a.txt
  /usr/bin/getconf PAGESIZE  > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/getconfPAGESIZE.txt
  /usr/bin/free > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/free.txt
 #$RPM -qa               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rpm-qa.txt
  $RPM -qai               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rpm-qai.txt
  $RPM -qlv HDLM               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/HDLM_rpm-qlv.txt
  #$RPM -v HDLM               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rpm-V.txt
  $RPM -V HDLM               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/rpm-V.txt
  /sbin/sysctl -A            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/sysctl.txt
  /bin/dmesg                 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dmesg.txt
  if [ -x /usr/bin/lsdev ];then
  /usr/bin/lsdev             > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lsdev.txt
  fi
  if [ -x /usr/bin/procinfo ];then
  /usr/bin/procinfo         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/procinfo.txt
  fi
  col_LINUX_e2label
#if [ $KERNEL_2_6 ]; then
#    if [ -f $REDHAT_REL_FILE ]; then
#        /usr/sbin/vgdisplay -v         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
#    else
#        /sbin/vgdisplay -v         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
#   fi
#else
#    /sbin/vgdisplay -v         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgdisplay-v.txt
#fi
#Fix for collecting proper partion info for HDLM device starts 
if [ "`/bin/uname -m`" = "ia64" ];then
	HDLM_DEVICE=`/sbin/dlmcfgmgr -v | $GREP sddlm | $AWK -F" " '{print $1}'`
	/bin/touch $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/parted-s.txt
	for dev_list in $HDLM_DEVICE
	do
      		if [ -f $SUSE_REL_FILE ];then
            		/usr/sbin/parted -s $dev_list print  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/parted-s.txt
		else
	    		/sbin/parted -s $dev_list print  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/parted-s.txt
       		 fi 
	done
else
	/sbin/fdisk -l	         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/fdisk-l.txt 
fi
#Fix for collecting proper partion info for HDLM device ends
  /bin/mount -v              > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/mount-v.txt
  /usr/bin/env               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/env.txt
if [ $KERNEL_2_4 ]; then
  /bin/ps -elf               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elf.txt
fi
if [ $KERNEL_2_6 ]; then
  /bin/ps -elF               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elF.txt	
  /bin/ps -elL                 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elL.txt	
  /bin/ps -elT                 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elT.txt	
  /bin/ps -elm                 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elm.txt	
fi
if [ $KERNEL_2_6 ]; then
	if [ -f $REDHAT_REL_FILE ]; then
		/bin/ps -elZ	> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ps-elZ.txt
	fi
fi
  /usr/bin/iostat            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/iostat.txt

if [ $KERNEL_2_6 ]; then
  /usr/bin/iostat -p         > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/iostat-p.txt 	
fi

  /usr/bin/uptime            > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/uptime.txt
#if [ $KERNEL_2_6 ]; then
#    if [ -f $REDHAT_REL_FILE ]; then
#        /usr/sbin/lvmdiskscan          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt
#    else
#        /sbin/lvmdiskscan          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt
#   fi
#else
#    /sbin/lvmdiskscan          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvmdiskscan.txt

#fi
# /sbin/pvscan               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvscan.txt


#if [ $KERNEL_2_6 ]; then
#   if [ -f $REDHAT_REL_FILE ]; then
#       /usr/sbin/pvs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvs.txt
#       /usr/sbin/lvs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvs.txt
#      /usr/sbin/vgs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgs.txt
# else
#    /sbin/pvs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/pvs.txt		
#   /sbin/lvs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lvs.txt		
#  /sbin/vgs                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/vgs.txt		
# /usr/bin/lsscsi              > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lsscsi.txt	
#fi
#fi
if [ $KERNEL_2_6 ]; then
    if [ -f $REDHAT_REL_FILE ]; then
        /usr/sbin/sestatus -v                    > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/sestatus-v.txt
	if [ -x /usr/sbin/getsebool ]; then
		/usr/sbin/getsebool -a 		 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/getsebool-a.txt 
	fi
    fi
fi
if [ $KERNEL_2_4 ]; then
if [ -x /usr/sbin/dmidecode ];then
  /usr/sbin/dmidecode        > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dmidecode.txt
fi
fi
  #Collect /sbin/lilo info only for non-IA64 machines
  if [ "`/bin/uname -m`" != "ia64" ];then
	/sbin/lilo -t               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lilo-t.txt
  fi
  /sbin/ifconfig -a			 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/ifconfig-a.txt
  /sbin/lsmod   			 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lsmod.txt
  /sbin/runlevel   			 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/runlevel.txt
  /sbin/lspci -v   			 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/lspci-v.txt
  /sbin/chkconfig --list		> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/chkconfig.txt
  if [ $KERNEL_2_6 ]; then
	/sbin/dlmcfgmgr -v -udev	 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmcfgmgr-v.txt
	/usr/bin/udevinfo -d       > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/udevinfo-d.txt
  else
	/sbin/dlmcfgmgr -v 		 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmcfgmgr-v.txt
  fi
  /opt/DynamicLinkManager/bin/dlnkmgr view -drv 		 > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-drv.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -path 	> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-path.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys  	> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -sfunc >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -msrv  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -adrv  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  /opt/DynamicLinkManager/bin/dlnkmgr view -sys -pdrv  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
 /opt/DynamicLinkManager/bin/dlnkmgr view -sys -lic  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
 /opt/DynamicLinkManager/bin/dlnkmgr view -sys -psl  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  # F-Doc No : WRASP0580000001 - Start
 /opt/DynamicLinkManager/bin/dlnkmgr view -sys -trap  >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-sys.txt
  # F-Doc No : WRASP0580000001 - End
  if [ -x /opt/DynamicLinkManager/bin/dlmpr ];then
	/opt/DynamicLinkManager/bin/dlmpr -k  	       > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmpr-k.txt
  fi
#  /opt/DynamicLinkManager/bin/dlnkmgr view -lu             > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu.txt
#  /opt/DynamicLinkManager/bin/dlnkmgr view -lu -item all   >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu.txt
   /opt/DynamicLinkManager/bin/dlnkmgr view -path -iem                                  > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-path-iem.txt
   #/opt/DynamicLinkManager/bin/dlnkmgr view -lu -item pn cp type ic ie dnu              > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu.txt
   #/opt/DynamicLinkManager/bin/dlnkmgr view -lu -item pn cp type ic ie dnu hctl          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu.txt
   /opt/DynamicLinkManager/bin/dlnkmgr view -lu -item slpr pn cp clpr type ic ie dnu hctl lb > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu.txt
   /opt/DynamicLinkManager/bin/dlnkmgr view -lu -item all                               > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/dlmmgr-lu-all.txt
if [ $KERNEL_2_4 ]; then
  $LINUX_IDENT          $LINUX_OPTBIN_DIR/dlnkmgr       \
                 $LINUX_OPTBIN_DIR/dlmmgr        \
                 $LINUX_OPTBIN_DIR/DLMgetras     \
                 $LINUX_OPTLIB_DIR/libdlm.so     \
		 $LINUX_OPTLIB_DIR/libhdlmhccmp-* \
		 $LINUX_SBIN_DIR/dlmcfgmgr      \
                 $LINUX_DRIVER_DIR/sddlmadrv.o  \
                 $LINUX_DRIVER_DIR/sddlmfdrv.o \
		 $LINUX_OPTLIB_DIR/libhdlmhcc-* > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/whatlist.txt 
else
  $LINUX_IDENT          $LINUX_OPTBIN_DIR/dlnkmgr       \
                 $LINUX_OPTBIN_DIR/dlmmgr        \
                 $LINUX_OPTBIN_DIR/DLMgetras     \
                 $LINUX_OPTLIB_DIR/libdlm.so     \
		 $LINUX_SBIN_DIR/dlmcfgmgr      \
                 $LINUX_DRIVER_DIR/sddlmadrv.ko  \
                 $LINUX_DRIVER_DIR/sddlmfdrv.ko \
		 $LINUX_OPTLIB_DIR/libhdlmhcc* > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/whatlist.txt 
fi
if [ $EM64T -eq 1 ]; then
  $LINUX_IDENT  $LINUX_OPTLIB_DIR64/libdlm.so \
                $LINUX_OPTLIB_DIR64/libhdlmhcc* >>  $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/whatlist.txt
fi

	#	if [ "`/bin/uname -r | /bin/grep "2.4.19"`" != "`/bin/uname -r`" ]
	#	then
	#	   $LINUX_IDENT     $LINUX_OPTLIB_DIR/libhdlmhcc-2.11.0.so >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/whatlist.txt
	 #       else
	#	   $LINUX_IDENT     $LINUX_OPTLIB_DIR/libhdlmhcc-3.2.0.so >> $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/whatlist.txt
	#	fi
  $CHMOD 400 $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/*.*
}

# LINUX grub file collect
col_LINUX_grub()
{
  #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" != "`/bin/uname -r`" ]
  if [ ! -f /etc/SuSE-release ]
  then
    #Collect $LINUX_GRUB_DIR/grub.conf file only for non-IA64 machines
    if [ "`/bin/uname -m`" != "ia64" ];then
	GET_GRUB_FILES="$LINUX_GRUB_DIR/grub.conf"
    fi
  else
    if [ "`/bin/uname -m`" != "ia64" ];then
    	GET_GRUB_FILES="$LINUX_GRUB_DIR/menu.lst"
    fi
  fi
    col_getfiles "$GET_GRUB_FILES"
}

# LINUX cron file collect

col_LINUX_cron()
{
  #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" != "`/bin/uname -r`" ]
  if [ ! -f /etc/SuSE-release ]
  then
    GET_CRON_FILES="$LINUX_CRON_DIR/*"
  else
    $LINUX_MKDIR $GETRAS_OUTDIR$LINUX_TABS_DIR
    GET_CRON_FILES="$LINUX_TABS_DIR/*"
  fi
    col_getfiles "$GET_CRON_FILES"
}

#LINUX hdlm-scripts collect
col_LINUX_hdlm_scripts()
{
   col_getdir "$LINUX_HDLM_SCRIPTS_DIR/*"
 }

# LINUX raw device info collect
col_Linux_rawdev()
{
  #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" != "`/bin/uname -r`" ]
  if [ ! -f /etc/SuSE-release ]
  then
    GET_RAWDEV_FILES="$LINUX_SYSCONFIG_DIR/rawdevices"
    if [ -x /usr/bin/raw ]; then	 
	/usr/bin/raw -qa 	  > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/raw-qa.txt
    fi

    if [ -x /bin/raw ]; then
	/bin/raw -qa          > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/raw-qa.txt
    fi

  else
    /usr/sbin/raw -qa 	                                > $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/raw-qa.txt
    GET_RAWDEV_FILES="$LINUX_ETC_DIR/raw"
    fi
	 col_getfiles "$GET_RAWDEV_FILES"
	$CHMOD 400 $GETRAS_OUTDIR$LINUX_OS_INFO_DIR/raw-qa.txt
}

# LINUX h/w config info file
col_Linux_hwconf()
{
  #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
  if [ -f /etc/SuSE-release ]
  then
    if [ $KERNEL_2_4 ]; then
        GET_HWCONF_FILES="$LINUX_SYSCONFIG_DIR/hardware"
        col_getfiles "$GET_HWCONF_FILES"
    fi
  else
    GET_HWCONF_FILES="$LINUX_SYSCONFIG_DIR/hwconf"
    col_getfiles "$GET_HWCONF_FILES"
  fi
  GET_IRQBALANCE_FILE="$LINUX_SYSCONFIG_DIR/irqbalance"
  col_getfiles "$GET_IRQBALANCE_FILE"
}

# LINUX HBaseAgent log collect
col_LINUX_HBaseAgent()
{
  /opt/HDVM/HBaseAgent/agent/bin/hbsa_getras $WORKING_DIR
}

col_Linux_ras() {
  # echo "DEBUG:DLMgetras col_LINUX_ras start"
  col_LINUX_mgr_log
  col_LINUX_getras_light_tar
  col_LINUX_lic_key
  col_HDLM_VERSION
  col_HDLM_SERVICEPACK_VERSION
  col_generic_trc_file
  col_LINUX_conf
  col_LINUX_etc
  col_LINUX_crash_file
  col_LINUX_syslog
  col_Linux_rawdev
  col_LINUX_lvm_file
  col_LINUX_os_info
  col_LINUX_grub
  col_LINUX_cron
  col_LINUX_hdlm_scripts
  col_LINUX_psl_dir
  col_LINUX_Install_log

  #col_Linux_rawdev
  col_Linux_hwconf
  col_LINUX_HBaseAgent

  col_add_info
  #col_add_info_linux
  
  col_tar_get
  #col_LINUX_tar_get

#  col_Linux_get_crash_file
}

# LINUX RHCM RAS collect
col_Linux_RHCM_ras(){
#  $MKDIR -p $GETRAS_OUTDIR$LINUX_RHCM_DIR
$MKDIR $GETRAS_OUTDIR$LINUX_RHCM_DIR
# collect info from commands
$RPM -q clumanager > /dev/null
if [ $? -eq 0 ]; then
  $RPM -qlv clumanager              > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_rpm-qlv.txt
 #  /sbin/cluconfig -l                > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_cluconfig-l.txt 2>&1
 # if [ $? -eq 0 ];
 #   then
 #     if [ -z "`/sbin/cluconfig -l 2>&1 | $GREP "/sbin/cludb: failed to read file /etc/cluster.conf"`" ];
 #       then
 #         /sbin/clustonith -L       > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustonith-L.txt
 #         /sbin/clustonith -vSl     > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustonith-vSl.txt 2>&1
 #         /sbin/clustat             > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustat.txt 
 #     fi
 #  fi

  ## collect config files
 # col_getfiles "$LINUX_RHCM_CONF_DIR/cluster.conf" $LINUX_RHCM_DIR
  #if [ `$RPM -q clumanager | $GREP "1.2.3"` = `$RPM -q clumanager` ];
  if [ "`$RPM -q clumanager | $GREP "1.2.3"`" = "`$RPM -q clumanager`" ];
  then
  	  /usr/sbin/clustat             > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustat.txt
	  col_getfiles "$LINUX_RHCM_CONF_DIR/cluster.xml" $LINUX_RHCM_DIR
  else
	  /sbin/cluconfig -l                > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_cluconfig-l.txt 2>&1
	  if [ $? -eq 0 ];
	    then
	  	  /sbin/clustonith -L       > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustonith-L.txt
	  	  /sbin/clustonith -vSl     > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustonith-vSl.txt 2>&1
	  	  /sbin/clustat             > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustat.txt
	  fi

	  col_getfiles "$LINUX_RHCM_CONF_DIR/cluster.conf" $LINUX_RHCM_DIR
      col_getfiles "$LINUX_RHCM_CONF_DIR/cluster.xml" $LINUX_RHCM_DIR
  fi

else

 $RPM -q rgmanager > /dev/null
 if [ $? -eq 0 ]; then
	$RPM -qlv rgmanager              > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_rpm-qlv.txt
	/usr/sbin/clustat             > $GETRAS_OUTDIR$LINUX_RHCM_DIR/RHCM_clustat.txt
    col_getfiles "$LINUX_RHCM_CLUSTER_DIR/cluster.conf" $LINUX_RHCM_DIR
 fi
fi
}

col_Linux_BFS_files()
{
   GET_BFS_FILES=""
	`/bin/mount | /bin/grep -w "/" | /bin/grep /dev/sddlm[a/-p][a/-p] >/dev/null 2>&1`
	if [ $? -eq 0 ]
	then 
		## Booted in HDLM-BFS ## 
		make_Linux_dir BFS	
		GET_BFS_FILES="$GET_BFS_FILES \
			       $LINUX_INITRD_ETC_DIR/modules.conf \
			       $LINUX_INITRD_ETC_DIR/fstab \
			       $LINUX_INITRD_ETC_DIR/mtab  \
			       $LINUX_INITRD_DIR/linuxrc "

 	       GET_BFS_FILES="$GET_BFS_FILES $LINUX_CONF_DIR/hdlmboot.log \
		                      $LINUX_CONF_DIR/hdlmboot[1-3].log "

		
		# Will exists only for HDLM-BFS/SCSI-BFS boot
		GET_BFS_FILES="$GET_BFS_FILES \
			       $LINUX_CONF_DIR/dlmmkinitrd.conf" 
	else
        	## For SCSI-BFS or SCSI-non-BFS ##
		# Will exists only for HDLM-BFS/SCSI-BFS boot
		bfs_logfile_list=`$ECHO $LINUX_CONF_DIR/hdlmboot*.log`
		for i in $bfs_logfile_list
		do
			if [ -f $i ]
			then
			       GET_BFS_FILES="$GET_BFS_FILES $i"
			fi
		done
		
		# Will exists only for HDLM-BFS/SCSI-BFS boot
		if [ -f $LINUX_CONF_DIR/dlmmkinitrd.conf ]
		then	
			GET_BFS_FILES="$GET_BFS_FILES \
			       $LINUX_CONF_DIR/dlmmkinitrd.conf" 
		fi
        fi
		# Collect for all 
		GET_BFS_FILES="$GET_BFS_FILES \
			       $LINUX_LIB_MODULES_KER_DIR/modules.dep"

	col_getfiles "$GET_BFS_FILES"
}

# SuSE LINUX HighAvailability(HA) RAS collect
#col_SuSE_HA_ras(){
col_HA_ras(){
  
#  $MKDIR -p $GETRAS_OUTDIR$LINUX_HA_DIR
   $MKDIR $GETRAS_OUTDIR$LINUX_HA_DIR
  
# collect info from commands
  $RPM -qlv heartbeat              > $GETRAS_OUTDIR$LINUX_HA_DIR/HA_rpm-qlv.txt
  /etc/init.d/heartbeat  status           > $GETRAS_OUTDIR$LINUX_HA_DIR/HA_status.txt 
  /usr/sbin/stonith -L       > $GETRAS_OUTDIR$LINUX_HA_DIR/HA_stonith-L.txt
  /usr/sbin/stonith -vSl     > $GETRAS_OUTDIR$LINUX_HA_DIR/HA_stonith-vSl.txt 2>&1

# collect config files
  col_getfiles "$LINUX_HA_CONF_DIR/ha.cf $LINUX_HA_CONF_DIR/haresources $LINUX_HA_CONF_DIR/authkeys" $LINUX_HA_DIR
#Include files under resource.d, files ha-log, ha-debug in O/P TAR cluster.tar.gz
  col_getdir "$LINUX_HA_CONF_DIR$LINUX_RESOURCE_DIR/*" "$LINUX_HA_DIR"
  $MKDIR $GETRAS_OUTDIR$LINUX_HA_DIR$LINUX_SYSLOG_DIR
  col_getfiles "$LINUX_SYSLOG_DIR/ha-log $LINUX_SYSLOG_DIR/ha-debug" "$LINUX_HA_DIR"
#END
}


# LINUX VCS RAS collect
col_Linux_VCS_ras(){
  #$MKDIR -p $GETRAS_OUTDIR$LINUX_VCS_DIR
  $MKDIR $GETRAS_OUTDIR$LINUX_VCS_DIR
# collect info from commands
  $RPM -qlv VRTSvcs                  > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_rpm-qlv.txt
  /opt/VRTSvcs/bin/hastatus -summary > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hastatus-summary.txt
  /opt/VRTSvcs/bin/haclus -display   > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_haclus-display.txt
  /opt/VRTSvcs/bin/haclus -notes     > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_haclus-notes.txt
  /opt/VRTSvcs/bin/hasys -display    > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hasys-display.txt
  /opt/VRTSvcs/bin/hasys -state      > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hasys-state.txt
  /opt/VRTSvcs/bin/hagrp -display    > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hagrp-display.txt
  /opt/VRTSvcs/bin/hagrp -state      > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hagrp-state.txt
  /opt/VRTSvcs/bin/hagrp -dep        > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hagrp-dep.txt
  /opt/VRTSvcs/bin/hares -display    > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hares-display.txt
  /opt/VRTSvcs/bin/hares -state      > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hares-state.txt
  /opt/VRTSvcs/bin/hares -dep        > $GETRAS_OUTDIR$LINUX_VCS_DIR/VCS_hares-dep.txt

# collect config and log files
  col_getdir "$LINUX_VCS_CONF_DIR/*" $LINUX_VCS_DIR
  col_getdir "$LINUX_VCS_LOG_DIR/*" $LINUX_VCS_DIR
}

# LINUX LifeKeeper RAS collect
col_Linux_LK_ras(){
#	$MKDIR -p $GETRAS_OUTDIR$LINUX_LK_DIR
	$MKDIR  $GETRAS_OUTDIR$LINUX_LK_DIR
	# source LK default directory
	if [ -f $LINUX_LK_DEFAULT ]
	then
		source $LINUX_LK_DEFAULT

		#if [ -z $LKROOT ]
		#then
			#LKROOT=/opt/LifeKeeper
		#fi
		
		if [ -z $LKROOT ]
		then
			LKROOT="/opt/LifeKeeper"
		fi
	else
		LKROOT="/opt/LifeKeeper"
	fi

		LINUX_LK_LKTEST="$LKROOT/bin/lktest"

		if [ -f $LINUX_LK_DEFAULT ]
		then

			if [ -x $LINUX_LK_LKTEST ]
			then
				$LINUX_LK_LKTEST > /dev/null 2>&1
				if [ $? == 0 ]
				then
					$LKROOT/bin/app_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_app_list.txt 2>&1
					$LKROOT/bin/dep_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_dep_list.txt 2>&1
					$LKROOT/bin/eqv_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_eqv_list.txt 2>&1
					$LKROOT/bin/flg_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_flg_list.txt 2>&1
					$LKROOT/bin/ins_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_ins_list.txt 2>&1
					$LKROOT/bin/net_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_net_list.txt 2>&1
					$LKROOT/bin/sys_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_sys_list.txt 2>&1
					$LKROOT/bin/typ_list					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_typ_list.txt 2>&1
					$LKROOT/bin/sys_getstate -s `/bin/hostname`	> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_getstate.txt 2>&1
					$LKROOT/bin/sys_getdescr -s `/bin/hostname`	> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_getdescr.txt 2>&1
					$LKROOT/bin/lcdstatus					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lcdstatus.txt 2>&1
					#$LKROOT/bin/lcduname					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lcduname.txt 2>&1
					#$LKROOT/bin/lkbackup -c					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lkbackup-c.txt 2>&1
					# to collect logs from all the registered logs
					#CNT=0
					#for LOGS in `$LKROOT/bin/lk_log 2> /dev/null`
					#do
						# skip first three header entries 	
						#if [ $CNT -lt 3 ]
						#then
							#CNT=`expr $CNT + 1`
							#continue
						#else
							#$LKROOT/bin/lk_log $LOGS >$GETRAS_OUTDIR$LINUX_LK_DIR/LK_log_$LOGS.txt 2>&1
						#fi
					#done
					#$LKROOT/bin/lktest						> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lktest.txt 2>&1
					#$LKROOT/bin/lmdiag						> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lmdiag.txt 2>&1
					#$LKROOT/bin/lmhostid					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lmhostid.txt 2>&1
					#$LKROOT/lkadm/bin/getpriority			> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_getpriority.txt 2>&1
					#$LKROOT/lkadm/bin/scsidev				> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_scsidev.txt 2>&1
					$LKROOT/lkadm/bin/scsisdev				> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_scsisdev.txt 2>&1
					$LKROOT/lkadm/bin/shared_devices		> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_shared_devices.txt 2>&1
					$LKROOT/lkadm/bin/test_lk `/bin/hostname`	> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_test_lk.txt 2>&1
				else
					print_messages "KAPL10038"
				fi
			else
				print_messages "KAPL10037" "$LINUX_LK_LKTEST"
			fi
		fi

	$LKROOT/bin/lcduname					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lcduname.txt 2>&1
#		$LKROOT/bin/lkbackup -c			> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lkbackup-c.txt 2>&1
	# to collect logs from all the registered logs
	CNT=0
	for LOGS in `$LKROOT/bin/lk_log 2> /dev/null`
	do
		# skip first three header entries 	
		if [ $CNT -lt 3 ]
		then
			CNT=`$EXPR $CNT + 1`
			continue
		else
			$LKROOT/bin/lk_log $LOGS >$GETRAS_OUTDIR$LINUX_LK_DIR/LK_log_$LOGS.txt 2>&1
		fi
	done
	$LKROOT/bin/lktest						> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lktest.txt 2>&1
	$LKROOT/bin/lmdiag						> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lmdiag.txt 2>&1
	$LKROOT/bin/lmhostid					> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_lmhostid.txt 2>&1
	$LKROOT/lkadm/bin/getpriority			> $GETRAS_OUTDIR$LINUX_LK_DIR/LK_getpriority.txt 2>&1

	# collect config and log files
	LINUX_LK_RESOURCES=$LKROOT/subsys/scsi/resources
	LINUX_LK_CONF=$LKROOT/config
	LINUX_LK_LOCALE=$LKROOT/locale
#	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_RESOURCES/hostadp/recovery
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_RESOURCES/hostadp
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_DEFAULT_DIR
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_RESOURCES/disk/disk.mapping
#	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_RESOURCES/disk/recovery
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_CONF
	$LINUX_MKDIR $GETRAS_OUTDIR$LINUX_LK_DIR$LINUX_LK_LOCALE

	col_getfiles "$LINUX_LK_RESOURCES/hostadp/device_info*" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_RESOURCES/hostadp/device_pattern" $LINUX_LK_DIR
#		col_getfiles "$LINUX_LK_RESOURCES/hostadp/recovery/*" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_RESOURCES/disk/device_pattern" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_RESOURCES/disk/disk.reserve" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_RESOURCES/disk/disk.mapping/*" $LINUX_LK_DIR
#		col_getfiles "$LINUX_LK_RESOURCES/disk/recovery/*" $LINUX_LK_DIR
#		col_getfiles "$LINUX_LK_CONF/*" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/core.inittab" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/equivalencies" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/event.lastid" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/flg" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/lkGUIapp.kdelnk" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/lkgui.cert" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/lkgui.inittab" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/LK_INITDONE" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/lk.inittab" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/LK_START_TIME" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/LK_XREFDONE" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/networks" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/systems" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/UNAME" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_CONF/varconfig" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_LOCALE/*.properties" $LINUX_LK_DIR
	col_getfiles "$LINUX_LK_DEFAULT" $LINUX_LK_DIR
	
	#else
		#$ECHO "File $LINUX_LK_DEFAULT not found." > /dev/stderr
		#print_messages "KAPL10033" "$LINUX_LK_DEFAULT"
	#fi
}

# LINUX Cluster RAS collect 
col_Linux_Cluster_ras() {

  # RHCM 
  STATUS=`$RPM -q clumanager`
  RHCM_RET=$?
  if [ "$RHCM_RET" -eq 0 ]
  then
    make_Linux_dir RHCM
    col_Linux_RHCM_ras
  else
    STATUS=`$RPM -q rgmanager`
    RHCM_RET=$?
    if [ "$RHCM_RET" -eq 0 ]
    then
    	make_Linux_dir RHCM
    	col_Linux_RHCM_ras
  	fi
  fi

 
  # HA for SuSE
HA_RET=1
#if [ "`/bin/uname -r | /bin/grep "2.4.19"`" = "`/bin/uname -r`" ]
#if [ -f /etc/SuSE-release ]
#then
  STATUS=`$RPM -q heartbeat`
  HA_RET=$?
  if [ "$HA_RET" -eq 0 ]
  then
    $MKDIR $GETRAS_OUTDIR$LINUX_HA_DIR$LINUX_HA_CONF_DIR
#Create directory resource.d to store the files under it
    $MKDIR $GETRAS_OUTDIR$LINUX_HA_DIR$LINUX_HA_CONF_DIR$LINUX_RESOURCE_DIR
#END
    #col_SuSE_HA_ras
    col_HA_ras
  fi
#fi

  # VCS
  STATUS=`$RPM -q VRTSvcs`
  VCS_RET=$?
  if [ "$VCS_RET" -eq 0 ]
  then
    make_Linux_dir VCS
    col_Linux_VCS_ras
  fi

  # LifeKeeper
  STATUS=`$RPM -q steeleye-lk`
  LK_RET=$?
  if [ "$LK_RET" -eq 0 ]
  then
    col_Linux_LK_ras
  fi

  if [ "$RHCM_RET" -eq 0 -o "$VCS_RET" -eq 0 -o "$HA_RET" -eq 0 -o "$LK_RET" -eq 0 ];
    then
      col_add_info
      col_tar_get Cluster
#    else
#      cd ../
#      delete_dir .$RAS_TMP_DIR
  fi 
}

# DLMgetras Get File Routine 
col_getfiles()
{
  for GET_FILE in $1
  do
    if [ ! -f "$GET_FILE" ];
    then
      print_messages "KAPL10033" $GET_FILE
      continue
    fi

    ERR_MSG=`$CP $GET_FILE $GETRAS_OUTDIR/$2/$GET_FILE 2>&1`
    if [ $? -eq 0 ];
      then
        print_messages "KAPL10020" $GET_FILE
      else
        print_messages "KAPL10034" $GET_FILE  "$ERR_MSG"
    fi
  done
}
col_getdir()
{
  for GET_DIR in $1
  do
    if [ ! -d "$GET_DIR"  -a ! -f "$GET_DIR" ];
    then
      print_messages "KAPL10033" $GET_DIR
      continue
    fi

    ERR_MSG=`$CP -R $GET_DIR $GETRAS_OUTDIR/$2/$GET_DIR 2>&1`
    if [ $? -eq 0 ];
      then
        print_messages "KAPL10020" $GET_DIR
      else
        print_messages "KAPL10034" $GET_DIR  "$ERR_MSG"
    fi
  done
}


######################################################################
# add information define file get
col_add_info()
{
#  echo "DEBUG:DLMgetras col_add_info"

  if [ ! -f "$RAS_TMP_FILE" ];then
    return;
  fi

  for GET_LINE in `$CAT $RAS_TMP_FILE`
  do
    DIRNAME=`/usr/bin/dirname "$GET_LINE"`

    HEAD=`$ECHO "$DIRNAME" | $EGREP '^/'`
 
    if [ -n "$HEAD"  ]; then
        DIRNAME=`$ECHO "$DIRNAME" | $CUT -c2-`
    fi
    DIRCHK=`$ECHO "$DIRNAME" | $FGREP ..`
    if [ -z "$DIRCHK"  ]; then
       $MKDIR $GETRAS_OUTDIR/$DIRNAME
       TOPATH="$GETRAS_OUTDIR/$DIRNAME"
    else
       TOPATH=$GETRAS_OUTDIR
    fi
    
    if [ -f "$GET_LINE" ];
      then
        if [ -n "$HEAD" ]; then
          ERR_MSG=`$CP $GET_LINE $TOPATH 2>&1`
        else
          ERR_MSG=`$CP $ORIGNAL_DIR/$GET_LINE $WORKING_DIR/$TOPATH 2>&1`
        fi
        if [ $? -eq 0 ];
          then
            print_messages "KAPL10020" $GET_LINE
          else
            print_messages "KAPL10034" $GET_LINE  "$ERR_MSG"
        fi
      else
        if [ -n "$HEAD" ]; then
          ERR_MSG=`$CP -R $GET_LINE $TOPATH/. 2>&1`
        else
          ERR_MSG=`$CP -R $ORIGNAL_DIR/$GET_LINE $WORKING_DIR/$TOPATH/. 2>&1`
        fi
        if [ $? -eq 0 ];
          then
            print_messages "KAPL10020" $GET_LINE
          else
            print_messages "KAPL10034" $GET_LINE  "$ERR_MSG"
        fi
    fi
  done

  delete_file $RAS_TMP_FILE
}

col_generic_trc_file()
{
    if [ -f "/opt/hitachi/HNTRLib2/etc/hntr2getname" ]
    then
        CMD_GET_NAME=`/opt/hitachi/HNTRLib2/etc/hntr2getname`
    fi

    unset GET_TRC_FILES
    if [ -d "/opt/hitachi/HNTRLib" ]
    then
        $MKDIR $GETRAS_OUTDIR$HNTR_TRC_MM_DIR
        $MKDIR $GETRAS_OUTDIR$HNTR_TRC_FILE_DIR
        col_getfiles "$HNTR_TRC_FILE_DIR/hntr*.log"
        col_getfiles "$HNTR_TRC_MM_DIR/hntr*mm"
    fi

    if [ -d "/opt/hitachi/HNTRLib2" ]
    then
		if [ "$PLATFORM" = "Linux" ]
		then
			hntr_flag1=`$ECHO "$CMD_GET_NAME" | $GREP "$JPN_PP_NAME_LINUX"`
			hntr_flag2=`$ECHO "$CMD_GET_NAME" | $GREP "$ENG_PP_NAME_LINUX"`
		else
			hntr_flag1=`$ECHO "$CMD_GET_NAME" | $GREP "$JPN_PP_NAME"`
		    hntr_flag2=`$ECHO "$CMD_GET_NAME" | $GREP "$ENG_PP_NAME"`
		fi

		if [ -n "$hntr_flag1" ] || [ -n "$hntr_flag2" ]
        then
            if [ ! -r "${GENERIC_TRC_CONF_FILE}" ]
            then
                # there is no D002hntr2.cnf
                return
            fi

            HNTR2_TRC_FILE_NAME=""
            HNTR2_TRC_FILE_NAME=`$AWK '/^ *LogFile *=/{print substr($0,index($0,"=")+1)}' ${GENERIC_TRC_CONF_FILE}`
			if [ "$PLATFORM" = "Linux" ]
			then
				HNTR2_TRC_FILE_DIR=`$LINUX_DIRNAME $HNTR2_TRC_FILE_NAME`
			else
				HNTR2_TRC_FILE_DIR=`/usr/bin/dirname $HNTR2_TRC_FILE_NAME`
			fi


        $MKDIR $GETRAS_OUTDIR$HNTR2_TRC_MM_DIR
        $MKDIR $GETRAS_OUTDIR$HNTR2_TRC_FILE_DIR
            if [ -z "${HNTR2_TRC_FILE_DIR}" ];
            then
                 return
            fi

            GET_TRC_FILES=""
            for i in ${HNTR2_TRC_FILE_NAME}; do
                for j in ${i}*.log; do
                    if [ -f "$j" ]; then
                        GET_TRC_FILES="${GET_TRC_FILES} $j"
                    fi
                done
            done
            if [ ! -z "${GET_TRC_FILES}" ]; then
                col_getfiles "${GET_TRC_FILES}"
            fi
            col_getfiles "$HNTR2_TRC_MM_DIR/hntr*mm"
        fi
    fi

} 

######################################################################
# delete specified file
delete_file()
{
  if [ -f "$1" ]; then
      $RM $1
  fi
}

# delete specified directory
delete_dir()
{
  if [ -d "$1" ]; then
      $RM -R $1
  fi
}

# get TAR file
col_tar_get()
{
  if [ $# -ne 0 ];
    then
      if [ "$1" = "Cluster" ];
        then
          TARFILE="cluster.tar"
      fi
    else
      TARFILE="getras.tar"
  fi

  $CHMOD 400 $GETRAS_OUTDIR/$GETRAS_LOGFILE
  cd $WORKING_DIR/$RAS_TMP_DIR

  ERR_MSG=`$TAR cf getras.tar $OUTDIR 2>&1`

  if [ $# -ne 0 ];
    then
      if [ "$1" = "Cluster" ];
	  then
		 ERR_MSG=`$TAR --exclude $GETRAS_LOGFILE -cf $TARFILE $OUTDIR 2>&1`
      fi
   else
       ERR_MSG=`$TAR cf $TARFILE $OUTDIR 2>&1`
  fi

  if [ $? -ne 0 ]; then
      print_messages "KAPL10035" "$ERR_MSG"
      delete_file $RAS_TMP_FILE
      delete_file $RAS_SYS_TMP_FILE
      exit $RTN_FALSE
  fi
  if [ "$PLATFORM" = "Linux" ]
  then
	ERR_MSG=`/usr/bin/gzip $TARFILE 2>&1`
  else
	ERR_MSG=`/usr/bin/compress -f $TARFILE 2>&1`
  fi  


  if [ $? -ne 0 -o -n "$ERR_MSG" ]; then
          print_messages "KAPL10036" "$ERR_MSG"
          delete_file $RAS_TMP_FILE
          delete_file $RAS_SYS_TMP_FILE
          if [ -f "$TARFILE" ]; then
              $CHMOD   400 $TARFILE
              cd ../
				$MV -f .$RAS_TMP_DIR/$TARFILE .
			  if [ "$PLATFORM" != "Linux" ]
			  then
				  delete_dir .$RAS_TMP_DIR
			  fi
          fi
      exit $RTN_FALSE
  fi

  if [ "$PLATFORM" = "Linux" ]
  then
	/bin/chmod 400 $TARFILE.gz .
  else
	/usr/bin/chmod 400 ${TARFILE}.Z .
  fi

  cd ../

    if [ "$PLATFORM" = "Linux" ]
  then
	/bin/mv -f .$RAS_TMP_DIR/${TARFILE}.gz .
  else
	/usr/bin/mv -f .$RAS_TMP_DIR/${TARFILE}.Z .
  fi

  if [ "$PLATFORM" != "Linux" ]
  then
	  delete_dir .$RAS_TMP_DIR
  fi
# delete_dir .$RAS_TMP_DIR

  cd $WORKING_DIR

  if [ -d ./hbsainfo ];
  then
    ERR_MSG=`$TAR cf hbsa.tar hbsainfo 2>&1`

    if [ $? -ne 0 ]; then
        print_messages "KAPL10035" "$ERR_MSG"
        delete_file $RAS_SYS_TMP_FILE
        exit $RTN_FALSE
    fi

    delete_dir hbsainfo
    ERR_MSG=`/usr/bin/gzip -f hbsa.tar 2>&1`

    if [ $? -ne 0 -o -n "$ERR_MSG" ]; then
        print_messages "KAPL10036" "$ERR_MSG"
        delete_file $RAS_SYS_TMP_FILE
        if [ -f hbsa.tar ]; then
            /bin/chmod   400 hbsa.tar
        fi
        exit $RTN_FALSE
    fi
    /bin/chmod   400 hbsa.tar.gz
  fi

}


######################################################################
# DLMgetras main

# input parameter check
# echo "DEBUG:DLMgetras start"
# echo "DEBUG:DLMgetras ArgCount:$#"

  PLATFORM=`$UNAME -s 2>/dev/null`
  if [ $? != 0 ]
  then
  PLATFORM=`/bin/uname -s`
  fi

  ORIGNAL_DIR=`/bin/pwd`
  case $PLATFORM in
      SunOS)
           LANG=C
           export LANG
           CHK_USER=`/usr/ucb/whoami | $GREP root`
           ;;
      AIX)
           CHK_USER=`/bin/whoami | $GREP root`
           ;;
      HP-UX)
           CHK_USER=`/bin/whoami | $GREP root`
           ;;
      Linux)
           CHK_USER=`/usr/bin/whoami | /bin/grep root`
	   # Following definitions are different for LINUX and
           # they are used in many common functions.
	   LINUX_DRIVER_DIR="/lib/modules/`/bin/uname -r`/kernel/drivers/DynamicLinkManager"           
	   
	   CP="/bin/cp -p"
	   MKDIR="/bin/mkdir -p"
	   GREP="/bin/grep"
	   EGREP="/bin/egrep"
	   FGREP="/bin/fgrep"
	   LS="/bin/ls"   
	   RM="/bin/rm"
	   AWK="/bin/awk"
	   CHMOD="/bin/chmod"
	   TAR="/bin/tar"
	   RPM="/bin/rpm"
	   BASENAME="/bin/basename"
	   ECHO="/bin/echo"
           EXPR=/usr/bin/expr
	   #if [ "`/bin/uname -r | /bin/grep "2.4.19"`" != "`/bin/uname -r`" ]
	   if [ ! -f /etc/SuSE-release ]
           then
		  CUT="/bin/cut"
	   fi
	   MV="/bin/mv"
	   CAT="/bin/cat"
		   ;;
  esac

  if [ -z "$CHK_USER" ];
    then
      print_messages "KAPL10017"
      exit $RTN_FALSE
  fi
  if [ $# -eq 0 ];
    then
      # parameter error
      print_messages "KAPL10001"
      exit $RTN_FALSE
  fi
  if [ $# -ge 4 ];
    then
      # parameter error
      print_messages "KAPL10002"
      exit $RTN_FALSE
  fi

  param_check $1 $2 $3
  OUTDIR="$1"

  mask=`umask`
  umask 077

  if [ ! -d "$1" ]; then
  	#Display error message if mkdir fails for Linux
	if [ "$PLATFORM" = "Linux" ];then
      	$MKDIR $1 > /dev/null 2>&1 
		if [ $? -ne 0 ];then
	      	print_messages "KAPL10008" $1		
			exit $RTN_FALSE	
		fi
  	else
  		$MKDIR $1
	fi
  fi

  cd $1
  WORKING_DIR=`/bin/pwd`

  OUTDIR=`$BASENAME $WORKING_DIR`
  GETRAS_OUTDIR=".$RAS_TMP_DIR/$OUTDIR"
  #Display error message if mkdir fails for Linux
  if [ "$PLATFORM" = "Linux" ];then
	#$MKDIR -p $GETRAS_OUTDIR > /dev/null 2>&1
	$MKDIR $GETRAS_OUTDIR > /dev/null 2>&1
	if [ $? -ne 0 ];then
      	print_messages "KAPL10008" $1
		exit $RTN_FALSE
	fi
  else 
  	$MKDIR -p $GETRAS_OUTDIR
  fi


  # create directory & RAS collect
  case $PLATFORM in
     SunOS)
           # create Solaris collect directory

           SOL_OS_CHECK=`$UNAME -r | $GREP 5\.6`
           SOL_OS_CHECK7=`$UNAME -r | $GREP 5\.7`
           SOL_OS_CHECK8=`$UNAME -r | $GREP 5\.8`
           SOL_OS_CHECK9=`$UNAME -r | $GREP 5\.9`

           make_Solaris_dir 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           # Solaris RAS collect
           col_Solaris_ras 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           delete_dir $OUTDIR$RAS_TMP_DIR
           LANG="$ORG_LANG"
           export LANG
           ;;
      AIX)
           # create AIX collect directory
           make_AIX_dir 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           # AIX RAS collect
           col_AIX_ras 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           delete_dir $OUTDIR$RAS_TMP_DIR
           ;;
      HP-UX)
           # create HP-UX collect directory
           make_HPUX_hw_dir 2>> .$RAS_TMP_DIR/$GETRAS_LOGFILE
           # HP-UX RAS collect
           col_HPUX_hw_ras 2>> .$RAS_TMP_DIR/$GETRAS_LOGFILE
           delete_dir "$GETRAS_OUTDIR/*"

           # create HP-UX collect directory
           make_HPUX_cl_dir 2>> .$RAS_TMP_DIR/$GETRAS_LOGFILE
           # HP-UX RAS collect
           col_HPUX_cl_ras 2>> .$RAS_TMP_DIR/$GETRAS_LOGFILE
           delete_dir "$GETRAS_OUTDIR/*"

           # DLMgetras log move
           mv .$RAS_TMP_DIR/$GETRAS_LOGFILE $GETRAS_OUTDIR

           # create HP-UX collect directory
           make_HPUX_dir 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           # HP-UX RAS collect
           col_HPUX_ras 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
           delete_dir .$RAS_TMP_DIR
           ;;
      Linux)
	   # Linux Cluster RAS collect
           # seperate cluster.tar.Z file is required
           make_Linux_dir Cluster
           col_Linux_Cluster_ras 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
		   delete_dir $GETRAS_OUTDIR$LINUX_RHCM_DIR
		   delete_dir $GETRAS_OUTDIR$LINUX_VCS_DIR
		   delete_dir $GETRAS_OUTDIR$LINUX_HA_DIR
		   delete_dir $GETRAS_OUTDIR$LINUX_LK_DIR

	   # create Linux collect directory
           make_Linux_dir

	   col_Linux_BFS_files 2>>$GETRAS_OUTDIR/$GETRAS_LOGFILE

	   # Linux RAS collect
           col_Linux_ras 2>> $GETRAS_OUTDIR/$GETRAS_LOGFILE
		   delete_dir .$RAS_TMP_DIR           
           ;;

     *) exit $RTN_TRUE
           ;;
  esac
  umask $mask

  print_messages "KAPL10022"
  exit $RTN_TRUE


