#
#	Set these variables if they're not already set...
#
: ${HA_DIR=/etc/ha.d}
: ${HA_RCDIR=$HA_DIR/rc.d}
: ${HA_CF=$HA_DIR/ha.cf}
: ${HA_FIFO=/var/run/heartbeat-fifo}
: ${HA_BIN=/usr/lib/heartbeat}
: ${HA_DATEFMT="%Y/%m/%d_%T "}
: ${HA_RESOURCEDIR=$HA_DIR/resource.d}
: ${HA_DOCDIR=/usr/doc/heartbeat}
: ${HA_LOGTAG=heartbeat}

export HA_DIR HA_RCDIR HA_FIFO HA_BIN 
export HA_DEBUGLOG HA_LOGFILE HA_LOGFACILITY
export HA_DATEFMT HA_RESOURCEDIR HA_DOCDIR

hadate() {
  date "+${HA_DATEFMT}"
}

ha_log() {
	if
	  [ -n "$HA_LOGFACILITY" ]
        then
	  : logging through syslog
	  # loglevel is unknown, use 'notice' for now
          loglevel=notice
          case "${*}" in
            *ERROR*)	loglevel=err;;
            *WARN*)	loglevel=warning;;
	  esac
	  logger -t $HA_LOGTAG -p ${HA_LOGFACILITY}.${loglevel} "${*}"
        fi	
        if
	  [ -n "$HA_LOGFILE" ]
	then
	  : appending to $HA_LOGFILE
	  echo "$HA_LOGTAG: "`hadate`"${*}" >> $HA_LOGFILE
	else
	  echo `hadate`"${*}" >&2
	fi
}

ha_debug() {
	if
	  [ -n "$HA_LOGFACILITY" ]
	then
	  : logging through syslog
	  logger -t $HA_LOGTAG -p ${HA_LOGFACILITY}.debug "${*}"
	fi
        if
	  [ -n "$HA_DEBUGLOG" ]
	then
	  : appending to $HA_DEBUGLOG
	  echo "$HA_LOGTAG: "`hadate`"${*}" >> $HA_DEBUGLOG
	else
	  echo `hadate`"${*}" .$HA_LOGFACILITY. >&2
	fi
}

ha_clustermsg() {
	cat $* <<-!MSG >> $HA_FIFO
>>>
`cat`
<<<
!MSG
}

ha_parameter() {
  VALUE=`sed -e 's%[ 	][ 	]*% %' -e 's%^ %%' -e 's%#.*%%'   $HA_CF |
  grep -i "^$1 " | sed 's%[^ ]* %%'`
  if
    [ "X$VALUE" = X ]
  then
    
    case $1 in
      keepalive)	VALUE=2;;
      deadtime)
			ka=`ha_parameter keepalive`
			VALUE=`expr $ka '*' 2 '+' 1`;;
    esac
  fi
  echo $VALUE
}
