summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2009-12-14 18:39:39 +0000
committerramon <ramongomez@us.es>2009-12-14 18:39:39 +0000
commit42669ebf8e58127fe4df12120d3a69fbb1a61314 (patch)
tree60388731c6c7aff5cc65cc02dbd4aefb17746f16 /client
parentc8f8a9cb5d14083e9486914ff5b8f4b4adf95aae (diff)
Funciones adaptadas a plantilla Doxygen; nueva función ogFsToId.
git-svn-id: https://opengnsys.es/svn/trunk@660 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client')
-rwxr-xr-xclient/engine/Boot.lib86
-rwxr-xr-xclient/engine/Disk.lib246
-rwxr-xr-xclient/engine/File.lib43
-rwxr-xr-xclient/engine/FileSystem.lib128
-rwxr-xr-xclient/engine/Image.lib61
-rwxr-xr-xclient/engine/Inventory.lib55
-rwxr-xr-xclient/engine/System.lib49
7 files changed, 348 insertions, 320 deletions
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib
index 1a831b0d..ddd5240b 100755
--- a/client/engine/Boot.lib
+++ b/client/engine/Boot.lib
@@ -12,8 +12,8 @@
#/**
# ogBoot int_ndisk int_npartition
#@brief Inicia el proceso de arranque de un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (activar el sistema de archivos).
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -24,8 +24,8 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-11
#*/ ##
-function ogBoot () {
-
+function ogBoot ()
+{
# Variables locales.
local PART TYPE MNTDIR PARAMS KERNEL INITRD APPEND FILE LOADER
@@ -82,9 +82,9 @@ kexec -e
#/**
# ogGetRegistryValue path_mountpoint str_registrytype str_valuename
#@brief Devuelve el dato de un valor del registro de Windows.
-#@arg \c path_mountpoint directorio donde está montado el sistema Windows
-#@arg \c str_registrytype tipo de registro a leer
-#@arg \c str_valuename valor de registro
+#@param path_mountpoint directorio donde está montado el sistema Windows
+#@param str_registrytype tipo de registro a leer
+#@param str_valuename valor de registro
#@return str_valuedata - valor de la clave.
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o partición no corresponden con un dispositivo.
@@ -96,8 +96,8 @@ kexec -e
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-11
#*/ ##
-function ogGetRegistryValue () {
-
+function ogGetRegistryValue ()
+{
# Variables locales.
local FILE FILENT FILEXP
@@ -123,15 +123,15 @@ cd ${3%\\*}
cat ${3##*\\}
q
FIN
-# */
+# (comentario Doxygen) */
}
#/**
# ogGetWindowsName int_ndisk int_npartition
#@brief Muestra el nombre del equipo en el registro de Windows.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return str_name - nombre del equipo
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -140,8 +140,8 @@ FIN
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-23
#*/ ##
-function ogGetWindowsName () {
-
+function ogGetWindowsName ()
+{
# Variables locales.
local PART MNTDIR
@@ -165,12 +165,11 @@ ogGetRegistryValue $MNTDIR system '\ControlSet001\Control\ComputerName\ComputerN
#/**
# ogListRegistryKeys path_mountpoint str_registrytype str_key
-#@fn ogListRegistryKeys
#@brief Lista los nombres de claves de una determinada clave del registro de Windows.
-#@arg \c path_mountpoint directorio donde está montado el sistema Windows
-#@arg \c str_registrytype tipo de registro a leer
-#@arg \c str_key clave de registro
-#@return str_claves ... - lista de claves de registro
+#@param path_mountpoint directorio donde está montado el sistema Windows
+#@param str_registrytype tipo de registro a leer
+#@param str_key clave de registro
+#@return str_key ... - lista de claves de registro
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
#@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar.
@@ -181,8 +180,8 @@ ogGetRegistryValue $MNTDIR system '\ControlSet001\Control\ComputerName\ComputerN
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-23
#*/ ##
-function ogListRegistryKeys () {
-
+function ogListRegistryKeys ()
+{
# Variables locales.
local FILE FILENT FILEXP
@@ -212,9 +211,9 @@ FIN
#/**
# ogLinuxBootParameters int_ndisk int_npartition
#@brief Muestra los parámetros de arranque de un sistema de archivos Linux.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@return kernel initrd parámetros ...
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@return str_kernel str_initrd str_parameters ...
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
#@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar.
@@ -223,8 +222,8 @@ FIN
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-11
#*/ ##
-function ogLinuxBootParameters () {
-
+function ogLinuxBootParameters ()
+{
# Variables locales.
local MNTDIR CONF
@@ -270,10 +269,10 @@ awk 'BEGIN {cont=-1;}
#/**
# ogSetRegistryValue path_mountpoint str_registrytype str_valuename str_valuedata
#@brief Establece el dato asociado a un valor del registro de Windows.
-#@arg \c path_mountpoint directorio donde está montado el sistema Windows
-#@arg \c str_registrytype tipo de registro
-#@arg \c str_valuename nombre del valor de registro
-#@arg \c str_valuedata dato del valor de registro
+#@param path_mountpoint directorio donde está montado el sistema Windows
+#@param str_registrytype tipo de registro
+#@param str_valuename nombre del valor de registro
+#@param str_valuedata dato del valor de registro
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o partición no corresponden con un dispositivo.
@@ -285,27 +284,27 @@ awk 'BEGIN {cont=-1;}
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-24
#*/ ##
-function ogSetRegistryValue () {
-
+function ogSetRegistryValue ()
+{
# Variables locales.
local FILE FILENT FILEXP
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME path_mountpoint str_registrytype str_key"
return
fi
-#/// Error si no se reciben 4 parámetros.
+# Error si no se reciben 4 parámetros.
[ $# == 4 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-#/// Camino del fichero de registro en NT/2000 o XP/Vista/7.
+# Camino del fichero de registro en NT/2000 o XP/Vista/7.
FILENT=$(ogGetPath "/$1/winnt/system32/config/$2")
[ -f $FILENT ] && FILE="$FILENT"
FILEXP=$(ogGetPath "/$1/windows/system32/config/$2")
[ -f $FLEHXP ] && FILE="$FILEXP"
[ ! -f $FILE ] && ogRaiseError OG_ERR_NOTFOUND "$1,$2" && return $?
-#/// Cambiar el dato del valor de registro.
+# Cambiar el dato del valor de registro.
chntpw $FILE << FIN &>/dev/null
ed $3
$4
@@ -318,9 +317,9 @@ FIN
#/**
# ogSetWindowsName int_ndisk int_npartition str_name
#@brief Establece el nombre del equipo en el registro de Windows.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@arg \c str_name nombre asignado
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@param str_name nombre asignado
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -329,8 +328,8 @@ FIN
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-24
#*/ ##
-function ogSetWindowsName () {
-
+function ogSetWindowsName ()
+{
# Variables locales.
local PART MNTDIR NAME
@@ -343,7 +342,7 @@ fi
# Error si no se reciben 3 parámetros.
[ $# == 3 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-#/// Montar el sistema de archivos.
+# Montar el sistema de archivos.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
NAME="$3"
@@ -359,7 +358,7 @@ ogSetRegistryValue $MNTDIR system '\ControlSet001\Services\Tcpip\Parameters\NV H
#/**
# ogNewMbrXP int_ndisk
#@brief Genera un nuevo Master Boot Record en el disco duro indicado, compatible con los SO tipo Windows
-#@arg \c int_ndisk nº de orden del disco
+#@param int_ndisk nº de orden del disco
#@return salida del programa my-sys
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -386,3 +385,4 @@ PART="$(ogDiskToDev $1)" || return $?
ms-sys -z -f $PART
ms-sys -m -f $PART
}
+
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib
index fb40d7ec..73b19972 100755
--- a/client/engine/Disk.lib
+++ b/client/engine/Disk.lib
@@ -10,11 +10,11 @@
#/**
-# ogCreatePartitions ndisk parttype:partsize ...
+# ogCreatePartitions int_ndisk str_parttype:int_partsize ...
#@brief Define el conjunto de particiones de un disco.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c str_parttype mnemónico del tipo de partición
-#@arg \c int_partsize tamaño de la partición (en KB)
+#@param int_ndisk nº de orden del disco
+#@param str_parttype mnemónico del tipo de partición
+#@param int_partsize tamaño de la partición (en KB)
#@return (nada, por determinar)
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
@@ -26,8 +26,8 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/09/09
#*/ ##
-function ogCreatePartitions () {
-
+function ogCreatePartitions ()
+{
# Variables locales.
local DISK PART SECTORS START SIZE TYPE EXTSTART EXTSIZE tmpsfdisk
# Si se solicita, mostrar ayuda.
@@ -57,41 +57,24 @@ trap "rm -f $tmpsfdisk" 1 2 3 9 15
echo "unit: sectors" >$tmpsfdisk
echo >>$tmpsfdisk
-#/// Generar fichero de entrada para "sfdisk" con las particiones.
+# Generar fichero de entrada para "sfdisk" con las particiones.
while [ $# -gt 0 ]; do
- #/// Leer formato de cada parámetro - Tipo:Tamaño
+ # Leer formato de cada parámetro - Tipo:Tamaño
TYPE="${1%%:*}"
SIZE="${1#*:}"
[ -z "$SIZE" ] && ogRaiseError $OG_ERR_FORMAT && return $?
- #/// Convertir en sectores de 512 B.
+ # Convertir en sectores de 512 B.
SIZE=$[SIZE*2]
[ $SIZE -eq 0 ] && ogRaiseError $OG_ERR_FORMAT && return $?
- #/// Obtener identificador de tipo de partición.
- case "$TYPE" in
- EMPTY) ID=0 ;;
- EXTENDED) ID=5
- [ $PART -gt 4 ] && ogRaiseError $OG_ERR_FORMAT && return $?
- EXTSTART=$START
- EXTSIZE=$SIZE
- ;;
- EXT[234]|REISERFS|REISER4|XFS|JFS)
- ID=83 ;;
- LINUX-SWAP) ID=82 ;;
- LINUX-LVM) ID=8e ;;
- LINUX-RAID) ID=fd ;;
- SOLARIS) ID=bf ;;
- NTFS|EXFAT) ID=7 ;;
- HNTFS) ID=17 ;;
- FAT32) ID=b ;;
- HFAT32) ID=1b ;;
- FAT16) ID=6 ;;
- HFAT16) ID=16 ;;
- FAT12) ID=1 ;;
- HFAT12) ID=11 ;;
- CACHE) ID=ca ;;
- *) ogRaiseError $OG_ERR_PARTITION "$TYPE"
- return $? ;;
- esac
+ # Obtener identificador de tipo de partición.
+ ID=$(ogFsToId "$TYPE")
+ [ -n "$ID" ] || ogRaiseError $OG_ERR_PARTITION "$TYPE" || return $?
+ # Comprobar si la partición es extendida.
+ if [ $ID = 5 ]; then
+ [ $PART -gt 4 ] && ogRaiseError $OG_ERR_FORMAT && return $?
+ EXTSTART=$START
+ EXTSIZE=$SIZE
+ fi
# Incluir particiones lógicas dentro de la partición extendida.
if [ $PART = 5 ]; then
[ -z "$EXTSTART" ] && ogRaiseError $OG_ERR_FORMAT && return $?
@@ -100,7 +83,7 @@ while [ $# -gt 0 ]; do
fi
# Generar datos para la partición.
echo "$DISK$PART : start=$START, size=$SIZE, Id=$ID" >>$tmpsfdisk
- #/// Error si se supera el nº total de sectores.
+ # Error si se supera el nº total de sectores.
START=$[START+SIZE]
[ $START -gt $SECTORS ] && ogRaiseError $OG_ERR_FORMAT && return $?
PART=$[PART+1]
@@ -125,11 +108,11 @@ rm -f $tmpsfdisk
#/**
-# ogDevToDisk device
+# ogDevToDisk path_device
#@brief Devuelve el nº de orden de dicso (y partición) correspondiente al nombre de fichero de dispositivo.
-#@arg \c path_device Camino del fichero de dispositivo.
-#@return ndisk (para dispositivo de disco)
-#@return ndisk npartition (para dispositivo de partición).
+#@param path_device Camino del fichero de dispositivo.
+#@return int_ndisk (para dispositivo de disco)
+#@return int_ndisk int_npartition (para dispositivo de partición).
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Dispositivo no detectado.
#@note Requisitos: awk
@@ -137,8 +120,8 @@ rm -f $tmpsfdisk
#@author Ramon Gomez, ETSII Universidad Sevilla
#@date 2009-07-20
#*/ ##
-function ogDevToDisk () {
-
+function ogDevToDisk ()
+{
# Variables locales.
local d n
# Si se solicita, mostrar ayuda.
@@ -150,7 +133,7 @@ fi
# Error si no se recibe 1 parámetro.
[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-#/// Error si no es fichero de bloques.
+# Error si no es fichero de bloques.
[ -b "$1" ] || ogRaiseError $OG_ERR_NOTFOUND "$1" || return $?
# Procesa todos los discos para devolver su nº de orden y de partición.
@@ -165,10 +148,10 @@ return $OG_ERR_NOTFOUND
#/**
-# ogDiskToDev [ndisk [npartition]]
+# ogDiskToDev [int_ndisk [int_npartition]]
#@brief Devuelve la equivalencia entre el nº de orden del dispositivo (dicso o partición) y el nombre de fichero de dispositivo correspondiente.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Para 0 parametros: Devuelve los nombres de ficheros de los dispositivos sata/ata/usb linux encontrados.
#@return Para 1 parametros: Devuelve la ruta del disco duro indicado.
#@return Para 2 parametros: Devuelve la ruta de la particion indicada.
@@ -179,8 +162,8 @@ return $OG_ERR_NOTFOUND
#@author Ramon Gomez, ETSII Universidad Sevilla
#@date 2009-07-20
#*/ ##
-function ogDiskToDev () {
-
+function ogDiskToDev ()
+{
# Variables locales
local ALLDISKS VOLGROUPS DISK PART
@@ -236,9 +219,57 @@ esac
#/**
-# ogGetPartitionActive ndisk
+# ogFsToId str_fstype
+#@brief Devuelve el identificador de partición correspondiente a un tipo de sistema de archivos.
+#@param str_fstype mnemónico de tipo de sistema de archivos
+#@return int_idpart nº identificador de tipo de partición.
+#@exception OG_ERR_FORMAT Formato incorrecto.
+#@version 0.9 - Primera versión para OpenGNSys
+#@author Ramon Gomez, ETSII Universidad Sevilla
+#@date 2009-12-14
+#*/ ##
+function ogFsToId ()
+{
+# Variables locales
+local ID
+
+# Si se solicita, mostrar ayuda.
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME str_fstype" "$FUNCNAME EXT3 => 83"
+ return
+fi
+# Error si no se recibe 1 parámetro.
+[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $?
+
+# Asociar id. de partición para su mnemónico de sistema de archivos.
+case "$1" in
+ EMPTY) ID=0 ;;
+ FAT12) ID=1 ;;
+ EXTENDED) ID=5 ;;
+ FAT16) ID=6 ;;
+ NTFS|EXFAT) ID=7 ;;
+ FAT32) ID=b ;;
+ HFAT12) ID=11 ;;
+ HFAT16) ID=16 ;;
+ HNTFS) ID=17 ;;
+ HFAT32) ID=1b ;;
+ LINUX-SWAP) ID=82 ;;
+ EXT[234]|REISERFS|REISER4|XFS|JFS)
+ ID=83 ;;
+ LINUX-LVM) ID=8e ;;
+ SOLARIS) ID=bf ;;
+ CACHE) ID=ca ;;
+ LINUX-RAID) ID=fd ;;
+ *) ID="" ;;
+esac
+echo $ID
+}
+
+
+#/**
+# ogGetPartitionActive int_ndisk
#@brief Muestra que particion de un disco esta marcada como de activa.
-#@arg \c int_ndisk nº de orden del disco
+#@param int_ndisk nº de orden del disco
#@return Nº de partición activa
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -248,8 +279,8 @@ esac
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/07/24
#*/ ##
-function ogGetPartitionActive () {
-
+function ogGetPartitionActive ()
+{
# Variables locales
local DISK
@@ -268,10 +299,10 @@ parted $DISK print 2>/dev/null | awk '/boot/ {print $1}'
#/**
-# ogGetPartitionId ndisk npartition
+# ogGetPartitionId int_ndisk int_npartition
#@brief Devuelve el mnemonico con el tipo de sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Identificador de tipo de partición.
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -280,8 +311,8 @@ parted $DISK print 2>/dev/null | awk '/boot/ {print $1}'
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 25/03/2009
#*/ ##
-function ogGetPartitionId () {
-
+function ogGetPartitionId ()
+{
# Variables locales.
local DISK PART
@@ -302,11 +333,11 @@ echo $(sfdisk --id $DISK $2 2>/dev/null)
#/**
-# ogGetPartitionSize ndisk npartition
+# ogGetPartitionSize int_ndisk int_npartition
#@brief Muestra el tamano en KB de una particion determinada.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@return tamañoKB
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@return int_partsize - Tamaño en KB de la partición.
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
#@note Requisitos: sfdisk, awk
@@ -314,8 +345,8 @@ echo $(sfdisk --id $DISK $2 2>/dev/null)
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/07/24
#*/ ##
-function ogGetPartitionSize () {
-
+function ogGetPartitionSize ()
+{
# Variables locales.
local PART
@@ -347,8 +378,8 @@ esac
#/**
# ogListPartitions int_ndisk
#@brief Lista las particiones definidas en un disco.
-#@arg \c int_ndisk nº de orden del disco
-#@return tipo:tamanoKB ...
+#@param int_ndisk nº de orden del disco
+#@return str_parttype:int_partsize ...
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
#@note Requisitos: \c parted \c awk
@@ -358,21 +389,21 @@ esac
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/07/24
#*/ ##
-function ogListPartitions () {
-
+function ogListPartitions ()
+{
# Variables locales.
local DISK PART NPARTS TYPE SIZE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk" \
"$FUNCNAME 1 => NTFS:10000000 EXT3:5000000 LINUX-SWAP:1000000"
return
fi
-#/// Error si no se recibe 1 parámetro.
+# Error si no se recibe 1 parámetro.
[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT "$FORMAT" || return $?
-#/// Procesar la salida de \c parted .
+# Procesar la salida de \c parted .
DISK="$(ogDiskToDev $1)" || return $?
NPARTS=$(ogGetPartitionsNumber $1)
for (( PART = 1; PART <= NPARTS; PART++ )); do
@@ -391,11 +422,11 @@ echo
#/**
# ogListPrimaryPartitions int_ndisk
#@brief Metafunción que lista las particiones primarias no vacías definidas en un disco.
-#@arg \c int_ndisk nº de orden del disco
+#@param int_ndisk nº de orden del disco
#@see ogListPartitions
#*/ ##
-function ogListPrimaryPartitions () {
-
+function ogListPrimaryPartitions ()
+{
# Variables locales.
local PARTS
@@ -407,11 +438,11 @@ echo $PARTS | cut -sf1-4 -d" " | sed 's/\( EMPTY:0\)*$//'
#/**
# ogListLogicalPartitions int_ndisk
#@brief Metafunción que lista las particiones lógicas definidas en un disco.
-#@arg \c int_ndisk nº de orden del disco
+#@param int_ndisk nº de orden del disco
#@see ogListPartitions
#*/ ##
-function ogListLogicalPartitions () {
-
+function ogListLogicalPartitions
+() {
# Variables locales.
local PARTS
@@ -421,11 +452,11 @@ echo $PARTS | cut -sf5- -d" "
#/**
-# ogSetPartitionActive ndisk npartition
+# ogSetPartitionActive int_ndisk int_npartition
#@brief Establece cual es la partición activa de un disco.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@return Nada.
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@return (nada).
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o partición no corresponden con un dispositivo.
#@note Requisitos: parted
@@ -433,8 +464,8 @@ echo $PARTS | cut -sf5- -d" "
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/09/17
#*/ ##
-function ogSetPartitionActive () {
-
+function ogSetPartitionActive ()
+{
# Variables locales
local DISK PART
@@ -455,11 +486,11 @@ parted -s $DISK set $2 boot on 2>/dev/null
#/**
-# ogSetPartitionSize ndisk npartition size
+# ogSetPartitionSize int_ndisk int_npartition int_size
#@brief Muestra el tamano en KB de una particion determinada.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@arg \c int_size tamaño de la partición (en KB)
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@param int_size tamaño de la partición (en KB)
#@return (nada)
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND disco o particion no detectado (no es un dispositivo).
@@ -469,8 +500,8 @@ parted -s $DISK set $2 boot on 2>/dev/null
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/07/24
#*/ ##
-function ogSetPartitionSize () {
-
+function ogSetPartitionSize ()
+{
# Variables locales.
local DISK PART SIZE
@@ -496,7 +527,7 @@ sfdisk -f -uS -N$2 $DISK <<< ",$SIZE" &>/dev/null || ogRaiseError $OG_ERR_PARTIT
#/**
# ogUpdatePartitionTable
#@brief Fuerza al kernel releer la tabla de particiones de los discos duros
-#@arg \c no requiere
+#@param no requiere
#@return informacion propia de la herramienta
#@note Requisitos: \c partprobe
#@warning pendiente estructurar la funcion a opengnsys
@@ -504,7 +535,8 @@ sfdisk -f -uS -N$2 $DISK <<< ",$SIZE" &>/dev/null || ogRaiseError $OG_ERR_PARTIT
#@note funcion importada de EAC
#*/
-function ogUpdatePartitionTable () {
+function ogUpdatePartitionTable ()
+{
echo "Forzando al kernel la lectura de la tabla de particiones"
list=`partprobe -s | cut -f1 -d: ` 2>/dev/null
echo $list > /tmp/disk
@@ -515,7 +547,7 @@ echo $list > /tmp/disk
function ogGetPartitionsNumber () {
#/** @function ogGetPartitionsNumber: @brief detecta el numero de particiones del disco duro indicado.
-#@param int_numdisk (indentificado EAC del disco)
+#@param int_numdisk (indentificado EAC del disco)
#@return devuelve el numero paritiones del disco duro indicado
#@warning Salidas de errores no determinada
#@attention Requisitos: parted
@@ -602,41 +634,23 @@ function ogSetPartitionId() {
# Variables locales
local DISK PART ID
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_npartition" \
"$FUNCNAME 1 1 10000000"
return
fi
-#/// Error si no se reciben 3 parámetros.
+# Error si no se reciben 3 parámetros.
[ $# == 3 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-#/// Sustituye nº de disco por su dispositivo.
+# Sustituye nº de disco por su dispositivo.
DISK=`ogDiskToDev $1` || return $?
PART=`ogDiskToDev $1 $2` || return $?
-#/// Elección del tipo de partición.
-case "$3" in
- EMPTY) ID=0 ;;
- FAT12) ID=1 ;;
- EXTENDED) ID=5 ;;
- FAT16) ID=6 ;;
- NTFS|EXFAT) ID=7 ;;
- FAT32) ID=b ;;
- HFAT12) ID=11 ;;
- HFAT16) ID=16 ;;
- HNTFS) ID=17 ;;
- HFAT32) ID=1b ;;
- LINUX-SWAP) ID=82 ;;
- LINUX-LVM) ID=8e ;;
- EXT[234]|REISERFS|REISER4|XFS|JFS)
- ID=83 ;;
- SOLARIS) ID=bf ;;
- CACHE) ID=ca ;;
- LINUX-RAID) ID=fd ;;
- *) ogRaiseError $OG_ERR_PARTITION "$TYPE"
- return $? ;;
-esac
+# Elección del tipo de partición.
+ID=$(ogFsToId "$3")
+[ -n "$ID" ] || ogRaiseError $OG_ERR_PARTITION "$TYPE" || return $?
+
echo -ne "t\n$2\n${ID}\nw\n" | fdisk $DISK 1>/dev/null 2>&1
}
diff --git a/client/engine/File.lib b/client/engine/File.lib
index 5607cc87..087504bb 100755
--- a/client/engine/File.lib
+++ b/client/engine/File.lib
@@ -18,8 +18,8 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-10-20
#*/ ##
-function ogCopyFile () {
-
+function ogCopyFile ()
+{
# Variables locales.
local ARGS SOURCE TARGET
@@ -52,7 +52,8 @@ cp -p "$SOURCE" "$TARGET" # (definir posible error)
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-29
#*/ ##
-function ogDeleteFile () {
+function ogDeleteFile ()
+{
# Variables locales.
local FILE
# Comprobar que existe el fichero y borrarlo.
@@ -70,8 +71,8 @@ rm -f "$FILE" || ogRaiseError $OG_ERR_NOTFOUND "$*" || return $?
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-29
#*/ ##
-function ogDeleteTree () {
-
+function ogDeleteTree ()
+{
# Variables locales.
local DIR
# Comprobar que existe el directorio y borrarlo con su contenido.
@@ -84,10 +85,10 @@ rm -fr "$DIR" || ogRaiseError $OG_ERR_NOTFOUND "$*" || return $?
#/**
# ogGetPath [ str_repo | int_ndisk int_npartition ] path_filepath
#@brief Inicia el proceso de arranque de un sistema de archivos.
-#@arg \c filepath camino del fichero (independiente de mayúsculas)
-#@arg \c repo repositorio de ficheros
-#@arg \c ndisk nº de orden del disco
-#@arg \c npartition nº de orden de la partición
+#@param path_filepath camino del fichero (independiente de mayúsculas)
+#@param str_repo repositorio de ficheros
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return path_file - camino completo real del fichero.
#@note repo = { REPO, CACHE, CDROM }
#@note Requisitos: \c grep \c sed
@@ -100,8 +101,8 @@ rm -fr "$DIR" || ogRaiseError $OG_ERR_NOTFOUND "$*" || return $?
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-15
#*/ ##
-function ogGetPath () {
-
+function ogGetPath ()
+{
# Variables locales.
local MNTDIR FILE PREVFILE FILEPATH CURRENTDIR
@@ -160,10 +161,11 @@ cd $CURRENTDIR
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-29
#*/ ##
-function ogGetParentPath () {
+function ogGetParentPath ()
+{
local PARENT
case $# in
- 1) PARENT="$(dirname "$1")" ;;
+ 1) PARENT=$(dirname "$1") ;;
2) PARENT="$1 $(dirname "/$2")" ;;
3) PARENT="$1 $2 $(dirname "/$3")" ;;
*) ogRaiseError $OG_ERR_FORMAT
@@ -181,7 +183,8 @@ ogGetPath $PARENT
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-29
#*/ ##
-function ogMakeDir () {
+function ogMakeDir ()
+{
local PARENT DIR
PARENT=$(ogGetParentPath "$@") || return $?
DIR="$(basename "${!#}")"
@@ -192,10 +195,10 @@ mkdir -p "$PARENT/$DIR" || ogRaiseError $OG_ERR_NOTFOUND "$*" || return $?
#/**
# ogNewPath [ str_repo | int_ndisk int_npartition ] path_filepath
#@brief Crea el directorio especificado
-#@arg \c filepath camino del fichero (independiente de mayúsculas)
-#@arg \c repo repositorio de ficheros
-#@arg \c ndisk nº de orden del disco
-#@arg \c npartition nº de orden de la partición
+#@param path_filepath camino del fichero (independiente de mayúsculas)
+#@param str_repo repositorio de ficheros
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return file - camino completo real del directorio creado
#@note repo = { REPO, CACHE }
#@note Requisitos: \c grep \c sed
@@ -208,8 +211,8 @@ mkdir -p "$PARENT/$DIR" || ogRaiseError $OG_ERR_NOTFOUND "$*" || return $?
#@author obtenido de ogGetPath de Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-15
#*/
-function ogNewPath () {
-
+function ogNewPath ()
+{
# Variables locales.
local MNTDIR FILE PREVFILE FILEPATH CURRENTDIR
diff --git a/client/engine/FileSystem.lib b/client/engine/FileSystem.lib
index 9b0bd52f..f24b5a0e 100755
--- a/client/engine/FileSystem.lib
+++ b/client/engine/FileSystem.lib
@@ -12,8 +12,8 @@
#/**
# ogCheckFs int_ndisk int_npartition
#@brief Comprueba el estado de un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -25,8 +25,8 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-10-07
#*/
-function ogCheckFs () {
-
+function ogCheckFs ()
+{
# Variables locales.
local PART TYPE PROG PARAMS
@@ -74,8 +74,8 @@ return $ERRCODE
#/**
# ogExtendFs int_ndisk int_npartition
#@brief Extiende un sistema de archivos al tamaño de su partición.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -85,8 +85,8 @@ return $ERRCODE
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-23
#*/
-function ogExtendFs () {
-
+function ogExtendFs ()
+{
# Variables locales.
local PART PROG PARAMS
@@ -139,7 +139,8 @@ return $ERRCODE
# ogFormat int_ndisk int_npartition
#@see ogFormatFs
#*/
-function ogFormat () {
+function ogFormat ()
+{
ogFormatFs "$@"
}
@@ -147,10 +148,10 @@ ogFormatFs "$@"
#/**
# ogFoarmatFs int_ndisk int_npartition [type_fstype] [str_label]
#@brief Formatea un sistema de ficheros según el tipo de su partición.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@arg \c type_fstype mnemónico de sistema de ficheros a formatear
-#@arg \c str_label etiqueta de volumen (opcional)
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@param type_fstype mnemónico de sistema de ficheros a formatear
+#@param str_label etiqueta de volumen (opcional)
#@return (por determinar)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -162,12 +163,12 @@ ogFormatFs "$@"
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-10-08
#*/ ##
-function ogFormatFs () {
-
+function ogFormatFs ()
+{
# Variables locales
local PART ID TYPE LABEL PROG PARAMS ERRCODE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_npartition [str_label]" \
"$FUNCNAME 1 1" \
@@ -258,8 +259,8 @@ return $ERRCODE
#/**
# ogGetFsType int_ndisk int_npartition
#@brief Devuelve el mnemonico con el tipo de sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Mnemonico
#@note Mnemonico: { EXT2, EXT3, EXT4, REISERFS, XFS, JFS, LINUX-SWAP, LINUX-LVM, LINUX-RAID, SOLARIS, FAT16, HFAT16, FAT32, HFAT32, NTFS, HNTFS, WIN-DYNAMIC, CACHE, EMPTY, EXTENDED, UNKNOWN }
#@exception OG_ERR_FORMAT Formato incorrecto.
@@ -300,8 +301,8 @@ case "$ID" in
42) TYPE="WIN-DYNAMIC" ;;
82) TYPE="LINUX-SWAP" ;;
83) TYPE="$(parted -s $DISK print | awk -v var=$2 '{if ($1==var) {print toupper($6)}}')"
- TYPE=${TYPE:-"EXT3"}
- ;;
+ TYPE=${TYPE:-"EXT3"}
+ ;;
8e) TYPE="LINUX-LVM" ;;
a7) TYPE="CACHE" ;; # (compatibilidad con Brutalix)
bf) TYPE="SOLARIS" ;;
@@ -316,8 +317,8 @@ echo $TYPE
#/**
# ogGetMountPoint int_ndisk int_npartition
#@brief Devuelve el punto de montaje de un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Punto de montaje
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -326,8 +327,8 @@ echo $TYPE
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-10-15
#*/ ##
-function ogGetMountPoint () {
-
+function ogGetMountPoint ()
+{
# Variables locales
local PART
# Si se solicita, mostrar ayuda.
@@ -348,16 +349,16 @@ echo $(mount | awk -v P=$PART '{if ($1==P) {print $3}}')
#/**
# ogIsMounted int_ndisk int_npartition
#@brief Comprueba si un sistema de archivos está montado.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Código de salida: 0 - sin montar, 1 - montado.
#@version 0.9 - Primera versión para OpenGNSys.
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-10-15
#*/ ##
-function ogIsMounted () {
-
-#/// Si se solicita, mostrar ayuda.
+function ogIsMounted ()
+{
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_npartition" \
"if $FUNCNAME 1 1; then ... ; fi"
@@ -373,16 +374,16 @@ test -n "$(ogGetMountPoint $1 $2)"
#/**
# ogIsLocked int_ndisk int_npartition
#@brief Comprueba si una partición está bloqueada por una operación de uso exclusivo.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Código de salida: 0 - sin bloquear, 1 - bloqueada.
#@note El fichero de bloqueo se localiza en \c /var/lock/part, siendo \c part el dispositivo de la partición, sustituyendo el carácter "/" por "-".
#@version 0.9 - Primera versión para OpenGNSys.
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-03
#*/ ##
-function ogIsLocked () {
-
+function ogIsLocked ()
+{
# Variables locales
local PART LOCKFILE
@@ -408,15 +409,16 @@ test -f $LOCKFILE
# ogLock int_ndisk int_npartition
#@see ogLockPartition
#*/
-function ogLock () {
+function ogLock ()
+{
ogLockPartition "$@"
}
#/**
# ogLockPartition int_ndisk int_npartition
#@brief Genera un fichero de bloqueo para una partición en uso exlusivo.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -425,8 +427,8 @@ ogLockPartition "$@"
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-03
#*/ ##
-function ogLockPartition () {
-
+function ogLockPartition ()
+{
# Variables locales
local PART LOCKFILE
@@ -452,7 +454,8 @@ touch $LOCKFILE
# ogMount int_ndisk int_npartition
#@see ogMountFs ogMountCache ogMountCdrom
#*/ ##
-function ogMount () {
+function ogMount ()
+{
case "$*" in
CACHE|cache)
ogMountCache ;;
@@ -466,8 +469,8 @@ esac
#/**
# ogMountFs int_ndisk int_npartition
#@brief Monta un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Punto de montaje
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -476,8 +479,8 @@ esac
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-28
#*/ ##
-function ogMountFs () {
-
+function ogMountFs ()
+{
# Variables locales
local PART TYPE MNTDIR MOUNT PARAMS
@@ -535,7 +538,8 @@ echo $MNTDIR
##### PRUEBAS
# Montar CDROM
-function ogMountCdrom () {
+function ogMountCdrom ()
+{
local DEV MNTDIR
DEV="/dev/cdrom" # Por defecto
MNTDIR=$(mount | awk -v D=$DEV '{if ($1==D) {print $3}}')
@@ -551,8 +555,8 @@ echo $MNTDIR
#/**
# ogReduceFs int_ndisk int_npartition
#@brief Reduce el tamaño del sistema de archivos, sin tener en cuenta el espacio libre.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return tamañoKB
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -564,8 +568,8 @@ echo $MNTDIR
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-23
#*/ ##
-function ogReduceFs () {
-
+function ogReduceFs ()
+{
# Variables locales
local PART BLKS SIZE
@@ -615,15 +619,16 @@ echo $[SIZE*1024]
# ogUnlock int_ndisk int_npartition
#@see ogUnlockPartition
#*/
-function ogUnlock () {
+function ogUnlock ()
+{
ogUnlockPartition "$@"
}
#/**
# ogUnlockPartition int_ndisk int_npartition
#@brief Elimina el fichero de bloqueo para una particion.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -632,8 +637,8 @@ ogUnlockPartition "$@"
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-03
#*/ ##
-function ogUnlockPartition () {
-
+function ogUnlockPartition ()
+{
# Variables locales
local PART LOCKFILE
@@ -659,15 +664,16 @@ rm -f $LOCKFILE
# ogUnmount int_ndisk int_npartition
#@see ogUnmountFs
#*/
-function ogUnmount () {
+function ogUnmount ()
+{
ogUnmountFs "$@"
}
#/**
# ogUnmountFs int_ndisk int_npartition
#@brief Desmonta un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return Nada
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -676,8 +682,8 @@ ogUnmountFs "$@"
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-28
#*/ ##
-function ogUnmountFs () {
-
+function ogUnmountFs ()
+{
# Variables locales
local PART MNTDIR
@@ -713,7 +719,7 @@ fi
#/**
# ogUnmountAll int_ndisk
#@brief Desmonta todos los sistema de archivos de un disco, excepto el caché local.
-#@arg \c int_ndisk nº de orden del disco
+#@param int_ndisk nº de orden del disco
#@return Nada
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Disco o particion no corresponden con un dispositivo.
@@ -722,8 +728,8 @@ fi
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/10/07
#*/ ##
-function ogUnmountAll () {
-
+function ogUnmountAll ()
+{
# Variables locales
local DISK PART
# Si se solicita, mostrar ayuda.
diff --git a/client/engine/Image.lib b/client/engine/Image.lib
index 4972120c..463d196e 100755
--- a/client/engine/Image.lib
+++ b/client/engine/Image.lib
@@ -12,10 +12,10 @@
#/**
# ogCreateImage int_ndisk int_npartition str_repo path_image
#@brief Crea una imagen a partir de una partición.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
-#@arg \c str_repo repositorio de imágenes (remoto o caché local)
-#@arg \c path_image camino de la imagen (sin extensión)
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@param str_repo repositorio de imágenes (remoto o caché local)
+#@param path_image camino de la imagen (sin extensión)
#@return (nada, por determinar)
#@note repo = { REPO, CACHE }
#@exception OG_ERR_FORMAT formato incorrecto.
@@ -29,18 +29,18 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/10/07
#*/ ##
-function ogCreateImage () {
-
+function ogCreateImage ()
+{
# Variables locales
local PART IMGDIR IMGFILE ERRCODE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_npart path_dir str_image" \
"$FUNCNAME 1 1 REPO /aula1/winxp"
return
fi
-#/// Error si no se reciben menos de 2 parámetros.
+# Error si no se reciben menos de 2 parámetros.
[ $# -lt 4 ] && ogRaiseError $OG_ERR_FORMAT && return $?
PART="$(ogDiskToDev $1 $2)" || return $?
@@ -71,7 +71,7 @@ case "$TYPE" in
return $? ;;
esac
-#/// Controlar salida de error y desbloquear partición.
+# Controlar salida de error y desbloquear partición.
ERRCODE=$?
if [ $ERRCODE != 0 ]; then
ogRaiseError $OG_ERR_IMAGE "$1 $2 $IMGFILE"
@@ -85,8 +85,8 @@ return $ERRCODE
#/**
# ogGetImageSize str_repo path_image
#@brief Devuelve el tamaño del sistema de archivos almacenado en un fichero de imagen.
-#@arg \c str_repo repositorio de imágenes o caché local
-#@arg \c path_image camino de la imagen
+#@param str_repo repositorio de imágenes o caché local
+#@param path_image camino de la imagen
#@return tamaño (en KB)
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND fichero de imagen no encontrado.
@@ -97,24 +97,24 @@ return $ERRCODE
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/09/11
#*/ ##
-function ogGetImageSize () {
-
+function ogGetImageSize ()
+{
# Variables locales
local IMGFILE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME path_dir str_image int_ndisk int_npart" \
"$FUNCNAME 1 1 REPO /aula1/winxp ==> 5642158"
return
fi
-#/// Error si no se reciben menos de 2 parámetros.
+# Error si no se reciben menos de 2 parámetros.
[ $# -lt 2 ] && ogRaiseError $OG_ERR_FORMAT && return $?
-#/// Error si el fichero de imagen no es accesible.
+# Error si el fichero de imagen no es accesible.
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
-#/// Devuelve el tamaño de la imagen en KB.
+# Devuelve el tamaño de la imagen en KB.
partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
awk '/Partition size/ {sub(/\.\.+/," "); printf "%d\n",$3*1024*1024;}'
}
@@ -122,7 +122,8 @@ partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
#### PRUEBAS
# Obtener tipo de imagen
-function ogGetImageType () {
+function ogGetImageType ()
+{
local IMGFILE
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
@@ -134,10 +135,10 @@ partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
#/**
# ogRestoreImage str_repo path_image int_ndisk int_npartition
#@brief Restaura una imagen de sistema de archivos en una partición.
-#@arg \c str_repo repositorio de imágenes o caché local
-#@arg \c path_image camino de la imagen
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param str_repo repositorio de imágenes o caché local
+#@param path_image camino de la imagen
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return (por determinar)
#@exception OG_ERR_FORMAT formato incorrecto.
#@exception OG_ERR_NOTFOUND fichero de imagen o partición no detectados.
@@ -149,24 +150,24 @@ partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/09/10
#*/ ##
-function ogRestoreImage () {
-
+function ogRestoreImage ()
+{
# Variables locales
local PART PARTSIZE IMGFILE IMGSIZE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME path_dir str_image int_ndisk int_npart" \
"$FUNCNAME REPO /aula1/winxp 1 1"
return
fi
-#/// Error si no se reciben 4 parámetros.
+# Error si no se reciben 4 parámetros.
[ $# -lt 4 ] && ogRaiseError $OG_ERR_FORMAT && return $?
# Procesar parámetros.
PART="$(ogDiskToDev "$3" "$4")" || return $?
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
-#/// Error si la imagen no cabe en la particion.
+# Error si la imagen no cabe en la particion.
IMGSIZE=$(ogGetImageSize "$1" "$2")
PARTSIZE=$(ogGetPartitionSize $3 $4)
if [ $IMGSIZE -gt $PARTSIZE ]; then
@@ -174,7 +175,7 @@ if [ $IMGSIZE -gt $PARTSIZE ]; then
return $?
fi
-#/// Comprobar el bloqueo de la partición, desmontarla y bloquearla.
+# Comprobar el bloqueo de la partición, desmontarla y bloquearla.
if ogIsLocked $3 $4; then
ogRaiseError $OG_ERR_LOCKED "$3,$4"
return $?
@@ -183,8 +184,8 @@ ogUnmount $3 $4 2>/dev/null || return $?
ogLock $3 $4 || return $?
trap "ogUnlock $3 $4" 1 2 3 6 9
-#/// Restaurar según el tipo de sistema de archivos.
-#/// Atención: no se comprueba incongruencia entre partición e imagen.
+# Restaurar según el tipo de sistema de archivos.
+# Atención: no se comprueba incongruencia entre partición e imagen.
TYPE="$(ogGetFsType $3 $4)"
case "$TYPE" in
EXT[234]|REISERFS|XFS|JFS)
diff --git a/client/engine/Inventory.lib b/client/engine/Inventory.lib
index 88b80e26..007577c5 100755
--- a/client/engine/Inventory.lib
+++ b/client/engine/Inventory.lib
@@ -12,8 +12,8 @@
#/**
# ogGetOsVersion int_ndisk int_npartition
#@brief Devuelve la versión del sistema operativo instalado en un sistema de archivos.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return OSType:OSVersion
#@note TipoSistema = { Linux, Windows }
#@note Requisitos: awk, head, chroot
@@ -24,29 +24,29 @@
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-15
#*/ ##
-function ogGetOsVersion () {
-
+function ogGetOsVersion ()
+{
# Variables locales.
local MNTDIR TYPE VERSION FILE
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME"
return
fi
-#/// Error si no se reciben 2 parametros.
+# Error si no se reciben 2 parametros.
[ $# = 2 ] || ogRaiseError $OG_ERR_FORMAT || return $?
# Montar la particion, si no lo estaba previamente.
MNTDIR=$(ogMount $1 $2) || return $?
-#/// Elección del tipo de sistema operativo.
+# Elección del tipo de sistema operativo.
case "$(ogGetFsType $1 $2)" in
EXT[234] | REISERFS | REISER4)
TYPE="Linux"
- #/// Para Linux: leer descripción.
+ # Para Linux: leer descripción.
VERSION=$(chroot $MNTDIR lsb_release -d 2>/dev/null| awk -F: '{gsub (/\t/,""); print $2}')
- #/// Si no se puede obtener, buscar en ficheros del sistema.
+ # Si no se puede obtener, buscar en ficheros del sistema.
if [ -z "$VERSION" ]; then
FILE="$MNTDIR/etc/lsb-release"
[ -r $FILE ] && VERSION="$(awk 'BEGIN {FS="="}; $1~/DESCRIPTION/ {gsub(/\"/,"",$2); print $2}' $FILE)"
@@ -59,12 +59,12 @@ case "$(ogGetFsType $1 $2)" in
;;
NTFS | HTNFS | FAT32 | HFAT32)
TYPE="Windows"
- #/// Para Windows: leer la version del registro.
+ # Para Windows: leer la version del registro.
VERSION=$(ogGetRegistryValue $MNTDIR software '\Microsoft\Windows NT\CurrentVersion\ProductName')
;;
esac
-#/// Mostrar resultado y salir sin errores.
+# Mostrar resultado y salir sin errores.
[ -n "$VERSION" ] && echo "$TYPE:$VERSION"
return 0
}
@@ -73,13 +73,14 @@ return 0
#/**
# ogGetOsType int_ndisk int_npartition
#@brief Devuelve el tipo del sistema operativo instalado.
-#@arg \c int_ndisk nº de orden del disco
-#@arg \c int_npartition nº de orden de la partición
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
#@return OSType
#@note OSType = { Linux, Windows }
#@see ogGetOsVersion
#*/ ##
-function ogGetOsType () {
+function ogGetOsType ()
+{
ogGetOsVersion "$@" | cut -sf1 -d:
}
@@ -95,15 +96,15 @@ ogGetOsVersion "$@" | cut -sf1 -d:
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-07-28
#*/ ##
-function ogListHardwareInfo () {
-
-#/// Si se solicita, mostrar ayuda.
+function ogListHardwareInfo ()
+{
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME"
return
fi
-#/// Recopilación de disposibivos procesando la salida de \c lshw
+# Recopilación de disposibivos procesando la salida de \c lshw
ogEcho info "$MSG_HARDWAREINVENTORY}"
lshw | awk 'BEGIN {type="mod";}
/product:/ {sub(/ *product: */,""); prod=$0;}
@@ -132,14 +133,16 @@ lshw | awk 'BEGIN {type="mod";}
END {if (type!="" && prod!="")
print type"="vend,prod,size,vers;}
'
-# */ (necesario para Doxygen)
+# */ (comentario para Doxygen)
}
#/**
-# ogListSoftware
+# ogListSoftware int_ndisk int_npartition
#@brief Lista el inventario de software instalado en un sistema operativo.
-#@return programa versión
+#@param int_ndisk nº de orden del disco
+#@param int_npartition nº de orden de la partición
+#@return programa versión ...
#@warning Se ignoran los parámetros de entrada.
#@note Requisitos: ...
#@todo Detectar software en Linux
@@ -147,20 +150,20 @@ lshw | awk 'BEGIN {type="mod";}
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009-09-23
#*/ ##
-function ogListSoftware () {
-
+function ogListSoftware ()
+{
# Variables locales.
local MNTDIR TYPE DPKGDIR RPMDIR KEYS k PROG VERS
-#/// Si se solicita, mostrar ayuda.
+# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME 1 1"
return
fi
-#/// Error si no se reciben 2 parametros.
+# Error si no se reciben 2 parametros.
[ $# = 2 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-#/// Obtener tipo de sistema de archivos y montarlo.
+# Obtener tipo de sistema de archivos y montarlo.
TYPE=$(ogGetFsType $1 $2) || return $?
MNTDIR=$(ogMount $1 $2) || return $?
diff --git a/client/engine/System.lib b/client/engine/System.lib
index 5e1f4116..4c2b60a4 100755
--- a/client/engine/System.lib
+++ b/client/engine/System.lib
@@ -10,10 +10,10 @@
#/**
-# ogEcho [loglevel] message...
+# ogEcho [str_loglevel] "str_message..."
#@brief Muestra mensajes en consola y lo registra en fichero de incidencias.
-#@arg \c str_loglevel nivel de registro de incidencias.
-#@arg \c str_message mensaje (puede recibir más de 1 parámetro.
+#@param str_loglevel nivel de registro de incidencias.
+#@param str_message mensaje (puede recibir más de 1 parámetro.
#@return Mensaje mostrado.
#@note El nivel de ayuda \c (help) no se registra en el fichero de incidencias.
#@version 0.9 - Primera versión para OpenGNSys
@@ -25,7 +25,7 @@ function ogEcho () {
# Variables locales
local LOGLEVEL LOGFILE DATETIME
-#/// Selección del nivel de registro (opcional).
+# Selección del nivel de registro (opcional).
case "$1" in
help) shift ;;
info) LOGLEVEL=$1; shift ;;
@@ -33,10 +33,9 @@ case "$1" in
error) LOGLEVEL=$1; shift ;;
*) ;;
esac
-
-#/// Registro de incidencias.
-#[ -w "$OGLOGFILE" ] && LOGFILE="-f $OGLOGFILE"
-#DATETIME=$(date +"%F %T") # pendiente en cliente Initrd
+# Pendiente en cliente Initrd.
+#DATETIME=$(date +"%F %T")
+
if [ -n "$LOGLEVEL" ]; then
logger -s -t "OpenGNSys $LOGLEVEL" $LOGFILE "$DATETIME $*"
else
@@ -47,15 +46,16 @@ fi
##### PRUEBAS
# ogGetHostname
-function ogGetHostname () {
+function ogGetHostname ()
+{
local HOST
-#/// Tomar nombre de la variable \c HOSTNAME
+# Tomar nombre de la variable \c HOSTNAME
HOST="$HOSTNAME"
-#/// Si no, tomar del DHCP, opción \c host-name
+# Si no, tomar del DHCP, opción \c host-name
[ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2}
END {print host}
' /var/lib/dhcp3/dhclient.leases)
-#/// Si no, tomar del parámetro del kernel \c hostname
+# Si no, tomar del parámetro del kernel \c hostname
[ -z "$HOST" ] && HOST=$(awk 'BEGIN {RS=""; FS="="}
$1~/hostname/ {print $2}' /proc/cmdline)
[ "$HOSTNAME" != "$HOST" ] && export HOSTNAME="$HOST"
@@ -63,7 +63,8 @@ echo $HOST
}
# ogGetIpAddress
-function ogGetIpAddress () {
+function ogGetIpAddress ()
+{
local IP
IP=$(awk '/fixed-address/ {gsub(/;/,""); host=$2}
END {print host}
@@ -73,10 +74,10 @@ echo $IP;
#/**
-# ogRaiseError errcode ["errmessage" ...]
+# ogRaiseError int_errcode ["str_errmessage" ...]
#@brief Devuelve el mensaje y el código de error correspondiente.
-#@arg \c int_errcode código de error.
-#@arg \c str_errmessage mensajes complementarios de error.
+#@param int_errcode código de error.
+#@param str_errmessage mensajes complementarios de error.
#@return Mensaje de error.
#@warning No definidas
#@note Mensajes internacionales del fichero de idiomas.
@@ -89,7 +90,7 @@ function ogRaiseError () {
# Variables locales
local MSG CODE
-#/// Obtener código y mensaje de error.
+# Obtener código y mensaje de error.
CODE=$1
case "$CODE" in
$OG_ERR_FORMAT) MSG="$MSG_ERR_FORMAT \"$2\"" ;;
@@ -102,7 +103,7 @@ case "$CODE" in
*) MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;;
esac
-#/// Mostrar mensaje de error y salir con el código indicado.
+# Mostrar mensaje de error y salir con el código indicado.
ogEcho error "${FUNCNAME[1]}: $MSG" >&2
return $CODE
}
@@ -111,10 +112,10 @@ return $CODE
#/**
# ogHelp ["str_function" ["str_format" ["str_example" ... ]]]
#@brief Muestra mensaje de ayuda para una función determinda.
-#@arg \c str_function Nombre de la función.
-#@arg \c str_format Formato de ejecución de la función.
-#@arg \c str_example Ejemplo de ejecución de la función.
-#@return Salida de ayuda.
+#@param str_function Nombre de la función.
+#@param str_format Formato de ejecución de la función.
+#@param str_example Ejemplo de ejecución de la función.
+#@return str_help - Salida de ayuda.
#@note Si no se indican parámetros, la función se toma de la variable \c $FUNCNAME
#@note La descripción de la función se toma de la variable compuesta por \c MSG_FUNC_$función incluida en el fichero de idiomas.
#@note Pueden especificarse varios mensajes con ejemplos.
@@ -127,12 +128,12 @@ function ogHelp () {
# Variables locales.
local FUNC MSG
-#/// Mostrar función, descripción y formato.
+# Mostrar función, descripción y formato.
FUNC="${1:-${FUNCNAME[${#FUNCNAME[*]}-1]}}"
MSG="MSG_HELP_$FUNC"
ogEcho help "$MSG_FUNCTION $FUNC: ${!MSG}"
[ -n "$2" ] && ogEcho help " $MSG_FORMAT: $2"
-#/// Mostrar ejemplos (si existen).
+# Mostrar ejemplos (si existen).
shift 2
while [ $# -gt 0 ]; do
ogEcho help " $MSG_EXAMPLE: $1"