#!/usr/bin/ksh
#=============================================================================
# Nom			: librenault
# Version		: .01.0a
# Projet		: Systeme
# Cree le		: 06/06/2001
# Cree par		: Jean Philippe BOCQUENET
# Objet			: Librairie generique des shells utiliss chez Renault
# Appel(s)		: . ./librenault
# Environnements	: HP-UX 9.05 10.20
#			: Solaris 5.3 5.4 5.5 5.5.1 5.6
#			: SunOs 4.1.3
#			: Aix 3.x 4.2 4.3
#			: Irix 5.3
#			: Linux 2.2 2.4
# Parametre(s)		: 
# Codes retour		: = 0 => OK
#			: <>0 => KO
#=============================================================================
# Modification(s)
#-----------------------------------------------------------------------------
# JJ/MM/AA - QUI
#	QUOI
#
#=============================================================================
# Fonctions
#-----------------------------------------------------------------------------
#	DeterminationOS
#=============================================================================

# Definition des variables globales locales script:

typeset TypeMachine			# Recuperation de l'OS
typeset VersionOS			# Recuperation de la version de l'OS

typeset OPCMON				# PATH de la commande opcmon
typeset OPCTMP				# PATH du chemin /tmp
typeset OPCCONF				# PATH des fichiers de configuration
typeset OPCINST				# PATH du fichier d'installation
typeset OPCTEMPL			# PATH des scripts des templates
typeset ReferenceFonction		# Commande differente suivant l'OS

typeset CommandePs			# PATH de la commande CommandePs
typeset CommandePsUser			# PATH de la commande CommandePsUser
typeset CommandeLs			# PATH de la commande CommandeLs
typeset CommandeDf_l			# PATH de la commande CommandeDf_l
typeset CommandeAwk			# PATH de la commande CommandeAwk
typeset CommandeAwk_v			# PATH de la commande CommandeAwk_v
typeset CommandeTr			# PATH de la commande CommandeTr


#=============================================================================
# DeterminationOS	
# Reconnaitre l'OS sur lequel le script se deroule
# Code retour : 0 => OK
#             : 2 => Erreur
#=============================================================================

function DeterminationOS
{
	TypeMachine=$(uname -s)           # Recuperation de l'OS  	
	VersionOS=$(uname -rv)            # Recuperation de la version de l'OS 

	case ${TypeMachine} in

	HP-UX)
		if [[ "$(echo $VersionOS|cut -d. -f2)" = "10" || "$(echo $VersionOS|cut -d. -f2)" = "11" ]] ; then
			OPCMON=/opt/OV/bin/OpC/opcmon
			OPCTMP=/var/opt/OV/tmp/OpC
			OPCCONF=/var/opt/OV/conf/OpC
			OPCINST=/opt/OV/bin/OpC/install
			OPCTEMPL=/var/opt/OV/bin/OpC
			ReferenceFonction=FonctionHPUX10
			CommandeLs="ls -g"
			CommandePs="ps -ef"
			CommandePsUser="ps -fu"
			CommandePsPid="ps -fp"
			CommandeDf_l="bdf -l"
			CommandeAwk="awk"
			CommandeAwk_v="awk -v"
			CommandeTr="tr -ds"
		else
			OPCMON=/usr/OV/bin/OpC/opcmon
			OPCTMP=/var/opt/OV/tmp/OpC
			OPCCONF=/var/opt/OV/conf/OpC
			OPCINST=/usr/OV/bin/OpC/install
			OPCTEMPL=/var/opt/OV/bin/OpC
			ReferenceFonction=FonctionHPUX
			CommandeLs="ls -g"
			CommandePs="ps -ef"
			CommandePsUser="ps -fu"
			CommandePsPid="ps -fp"
			CommandeDf_l="bdf -l"
			CommandeAwk="awk"
			CommandeAwk_v="awk -v"
			CommandeTr="tr -d"
		fi
		;;
	AIX)
			OPCMON=/usr/lpp/OV/OpC/opcmon
			OPCTMP=/var/lpp/OV/tmp/OpC
			OPCCONF=/var/lpp/OV/conf/OpC
			OPCINST=/usr/lpp/OV/OpC/install
			OPCTEMPL=/var/lpp/OV/bin/OpC
			if [ "$(echo $VersionOS|cut -c 3,3)" = "4" ] 
				then ReferenceFonction=FonctionAIX42
			else ReferenceFonction=FonctionAIX
			fi

			CommandePs="ps -ef"
			CommandePsUser="ps -fu"
			CommandePsPid="ps -fp"
			CommandeLs="ls -g"
			CommandeDf_l="df"
			CommandeAwk="awk"
			CommandeAwk_v="awk -v"
			CommandeTr="tr -d"
		;;
	IRIX)
			OPCMON=/opt/OV/bin/OpC/opcmon
			OPCTMP=/var/opt/OV/tmp/OpC
			OPCCONF=/var/opt/OV/conf/OpC
			OPCINST=/opt/OV/bin/OpC/install
			OPCTEMPL=/var/opt/OV/bin/OpC
			ReferenceFonction=FonctionIRIX
			CommandePs="ps -ef"
			CommandePsUser="ps -fu"
			CommandePsPid="ps -fp"
			CommandeLs="ls -g"
			CommandeDf_l="df -kl"
			CommandeAwk="awk"
			CommandeAwk_v="nawk -v"
		;;

	Linux)
			OPCMON=/opt/OV/bin/OpC/opcmon
			OPCTMP=/var/opt/OV/tmp/OpC
			OPCCONF=/var/opt/OV/conf/OpC
			OPCINST=/opt/OV/bin/OpC/install
			OPCTEMPL=/var/opt/OV/bin/OpC
			ReferenceFonction=FonctionLinux
			CommandePs="ps -ef"
			CommandePsUser="ps -fu"
			CommandePsPid="ps -fp"
			CommandeLs="ls -lcG"
			CommandeDf_l="df"
			CommandeAwk="awk"
			CommandeAwk_v="awk -v"
			CommandeTr="tr -d"
		;;
	*)	
			print "$TypeMachine non supporte par ce programme"
			exit 2
		;;

	esac

	return 0
}

#=============================================================================
# FONCTION: 	Main - Partie principale
# CREEE LE:	08/06/2001		Par: Jean Philippe BOCQUENET
# OBJET:	Appel aux fonctions
#=============================================================================
# Modifiee le:				Par: 
# 	Motif :	
#
#=============================================================================


DeterminationOS

if [ $? -ne 0 ]
then
	echo "Probleme sur le programme $0." 1>&2
	exit 1
fi

export TypeMachine
export VersionOS

export OPCMON
export OPCTMP
export ReferenceFonction
export CommandePs
export CommandePsUser
export CommandeLs
export CommandeDf_l
export CommandeAwk
export CommandeAwk_v
export CommandeTr

#
# eof
#=============================================================================
