#/**
#         ogr GetDiskSize int_ndisk
#@brief   Muestra el tamaño en KB de un disco.
#@param   int_ndisk   nº de orden del disco
#@return  int_size  - Tamaño en KB del disco.
#@exception OG_ERR_FORMAT   formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
#@note    Requisitos: sfdisk, awk
#@version 0.9.2 - Primera version para OpenGnSys
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2010/09/15
#*/ ##
# Variables locales.
local DISK

# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
    ogr Help "$FUNCNAME" "$FUNCNAME int_ndisk" \ "$FUNCNAME 1  =>  244198584"
    return
fi
# Error si no se recibe 1 parámetro.
[ $# == 1 ] || ogr RaiseError $OG_ERR_FORMAT || return $?

# Obtener el tamaño de la partición.
DISK="$(ogr DiskToDev $1)" || return $?
sfdisk -s $DISK
}


#         ogr GetDiskType path_device
function ogr GetDiskType ()
{
local DEV MAJOR TYPE

# Obtener el driver del dispositivo de bloques.
[ -b "$1" ] || ogr RaiseError $OG_ERR_FORMAT || return $?
DEV=${1#/dev/}
MAJOR=$(awk -v D="$DEV" '{if ($4==D) print $1;}' /proc/partitions)
TYPE=$(awk -v D=$MAJOR '/Block/ {bl=1} {if ($1==D&&bl) print toupper($2)}' /proc/devices)
# Devolver mnemónico del driver de dispositivo.
case "$TYPE" in
    SD)            TYPE="DISK" ;;
    SR|IDE*)       TYPE="CDROM" ;;         # FIXME Comprobar discos IDE.
    MD|CCISS*)     TYPE="RAID" ;;
    DEVICE-MAPPER) TYPE="MAPPER" ;;        # FIXME Comprobar LVM y RAID.
esac
echo $TYPE
