#!/usr/bin/ksh
# IBM_PROLOG_BEGIN_TAG 
# This is an automatically generated prolog. 
#  
# bos720 src/bos/usr/lib/nim/methods/c_dump_complete.sh 1.5.1.1 
#  
# Licensed Materials - Property of IBM 
#  
# Restricted Materials of IBM 
#  
# COPYRIGHT International Business Machines Corp. 2008,2010 
# All Rights Reserved 
#  
# US Government Users Restricted Rights - Use, duplication or 
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
#  
# IBM_PROLOG_END_TAG 
# @(#)99    1.5.1.1  src/bos/usr/lib/nim/methods/c_dump_complete.sh, cmdnim, bos720  3/9/10  11:57:55
#
# include common NIM shell defines/functions
NIMPATH=${0%/*}
NIMPATH=${NIMPATH%/*}
[[ ${NIMPATH} = ${0} ]] && NIMPATH=/usr/lpp/bos.sysmgt/nim
NIM_METHODS="${NIMPATH}/methods"
. ${NIM_METHODS}/c_sh_lib
${ECHO} $0 $@

#---------------------------- local defines     --------------------------------

#---------------------------- module globals    --------------------------------
REQUIRED_ATTRS="location max_dumps"
OPTIONAL_ATTRS=""


#*---------------------------- c_dump_complete           ----------------------------
#
# NAME: c_dump_complete
#
# FUNCTION:
#    sets up remote access to resources, then runs a command to show
#    information about the resource
#
# EXECUTION ENVIRONMENT:
#
# NOTES:
#
# RECOVERY OPERATION:
#
# DATA STRUCTURES:
#    parameters:
#    global:
#
# RETURNS: (int)
#    0              = no errors
#    >0              = failure
#
# OUTPUT:
#-----------------------------------------------------------------------------*/

# signal processing
trap cleanup 0
trap err_signal 1 2 11 15

# NIM initialization
nim_init

# initialize local variables
typeset c=""

# set parameters from command line
while getopts :a:qv c
do
  case ${c} in

    a)    # validate the attr ass
        parse_attr_ass "${OPTARG}"

        # include the assignment for use in this environment
        eval ${variable}=\"${value}\"
    ;;

    q)    # show attr info
        cmd_what
        exit 0
    ;;

    v)    # verbose mode (for debugging)
        set -x
        for i in $(typeset +f)
        do
          typeset -ft $i
        done
    ;;

    \?)   # unknown option
        error ${ERR_BAD_OPT} ${OPTARG}
    ;;

  esac
done


cd $location 
if [ $? -ne 0 ]
then
	${C_ERRMSG} ${ERR_CD_FAILED} ${C_ERRMSG_ERR} "$location" "" "" ""
	exit 1;
fi

DUMPCOPYDATE=`${DATE} +%Y.%m.%d.%H:%M:%S`

NUM=`${LS} -tra dump.* 2>/dev/null | wc -l`

while [ ${NUM} -ge ${max_dumps} ]
do
	TFILE=`${LS} -tra dump.* | line`
	${RM} $TFILE
	if [ $? -ne 0 ]
	then
		${C_ERRMSG} ${ERR_DUMP_REMOVE_FAILED} ${C_ERRMSG_ERR} "$location/$TFILE" "" "" ""
		exit 1;
	fi
	NUM=`${LS} -tra dump.* 2>/dev/null | wc -l`
done



if [ ${max_dumps} -gt 0 ]
then
	${CP} -p dump dump.$DUMPCOPYDATE.BZ
	if [ $? -ne 0 ]
	then
		${C_ERRMSG} ${ERR_DUMP_COPY_FAILED} ${C_ERRMSG_ERR} "$location/dump" "$location/dump.$DUMPCOPYDATE.BZ" "" ""
		exit 1;
	fi
fi

exit 0
