#/**
#         ogr r GetCacheSpace
#@brief   Devuelve el espacio de disco disponible para la partición de caché.
#@return  int_size   tamaño disponible (en KB)
#@note    El espacio disponible es el que hay entre el límite superior de la partición 3 del disco 1 y el final de dicho disco, y no puede ser superior a la mitad de dicho disco.
#@version 0.1 -  Integracion para Opengnsys  -  EAC: InfoCache() en FileSystem.lib
#@author  Antonio J. Doblas Viso. Universidad de Malaga
#@date   2008/10/27
#@version 0.91 - Definicion de cache local.
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2010/03/09
#*/ ##

# Variables locales.
local DISK SECTORS CYLS ENDPART3
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
    ogr Help "$FUNCNAME" "$FUNCNAME" "$FUNCNAME  =>  23165386"
    return
fi

DISK=$(ogr DiskToDev 1) || return $?
SECTORS=$(awk -v D=${DISK#/dev/} '{if ($4==D) {print $3*2}}' /proc/partitions)
CYLS=$(sfdisk -g $DISK | cut -f2 -d" ")
SECTORS=$[SECTORS/CYLS*CYLS-1]
ENDPART3=$(sfdisk -uS -l $DISK | awk -v P="${DISK}3" '{if ($1==P) print $3}')
# Mostrar espacio libre en KB (1 KB = 2 sectores)
if [ $ENDPART3 -gt $[SECTORS/2] ]; then
    echo $[(SECTORS-ENDPART3)/2]
else
    echo $[SECTORS/4]
fi
