[[PageOutline(2-5,Índice)]] = API de funciones de Hidra = == Descripción == El interfaz web Hidra utilizará 2 tipos principales de funciones: * Funciones C incluidas en el código del cliente y del servidor. * Funciones y ''scripts'' BASH ejecutables por el cliente. El desarrollo de las funciones debe cumplir el siguiente estilo: * Todos los nombres de funciones y variables deben ser descriptivos y fáciles de recordar. * Nombres de funciones al estilo Rembo-C, sólo con las iniciales en mayúsculas. * Para evitar inconsistencias y para mantener la compatibilidad con EAC, los nombres del as funciones Hidra tendrán el prefijo '''hidra'''. * Las constantes y variables globales deben ir escritas en mayúsculas. * Debe incluirse toda la información necesaria en las cabeceras de las funciones (descripción, formato, salidas, notas, etc.). * Deben incluirse comentarios descriptivos en los bloques de código. * La función Hidra llamará a la función correspondiente EAC, siempre que exista esta última y que cumpla los requisitos de funcionamiento. * En el caso de que una función EAC no devuelva el formato adecuado para el gestor Hidra, deberá desarrollarse una nueva función equivalente. == Funciones internas C == ... == Funciones BASH == === Funciones básicas === * [./hidraEnviron hidraEnviron] * [./hidraDisk hidraDisk] * [./hidraEACServer hidraEACServer] * [./hidraClientIP hidraClientIP] * [./hidraClientMAC hidraClientMAC] * [./hidraPath hidraPath] * [./hidraPoweroff hidraPoweroff] * [./hidraReboot hidraReboot] * [./hidraLock hidraLock] * [./hidraUnlock hidraUnlock] * [./hidraIsLocked hidraIsLocked] === Funciones de particiones === * [./hidraDeletePartitionTable hidraDeletePartitionTable] * [./hidraCreatePrimaryPartitions hidraCreatePrimaryPartitions] ''(gestionada por webhidra)'' * [./hidraCreateLogicalPartitions hidraCreateLogicalPartitions] ''(gestionada por webhidra)'' * [./hidraListPrimaryPartitions hidraListPrimaryPartitions] ''(gestionada por webhidra)'' * [./hidraListLogicalPartitions hidraListLogicalPartitions] ''(gestionada por webhidra)'' * [./hidraListPartitions hidraListPartitions] * [./hidraGetPartitionSize hidraGetPartitionSize] * [./hidraSetPartitionSize hidraSetPartitionSize] * [./hidraTypeFS hidraTypeFS] * [./hidraSetPartitionType hidraSetPartitionType] * [./hidraSetPartitionActive hidraSetPartitionActive] * [./hidraGetPartitionActive hidraGetPartitionActive] * [./hidraFormat hidraFormat] * [./hidraFSCheck hidraFSCheck] * [./hidraFSReduce hidraFSReduce] * [./hidraFSExtend hidraFSExtend] * [./hidraMount hidraMount] * [./hidraMountAll hidraMountAll] * [./hidraUnmount hidraUnmount] * [./hidraUnmountAll hidraUnmountAll] === Funciones de caché local y repositorio remoto === * [./hidraFormatCache hidraFormatCache] * [./hidraFindCache hidraFindCache] * [./hidraMountCache hidraMountCache] * [./hidraUpdateCache hidraUpdateCache] * [./hidraMountRepo hidraMountRepo] * [./hidraUnmountRepo hidraUnmountRepo] === Funciones de clonación === * [./hidraCreateImageFromPartition hidraCreateImageFromPartition] ''(gestionada por webhidra)'' * [./hidraRestorePartitionFromImage hidraRestorePartitionFromImage] ''(gestionada por webhidra)'' * [./hidraBoot hidraBoot] ''(gestionada por webhidra)'' * [./hidraLinuxBootParameters hidraLinuxBootParameters] * [./hidraFSIndex hidraFSindex] === Funciones de edición o modificación === * [./hidraListRegistryKeys hidraListRegistryKeys] * [./hidraSetRegistryKey hidraSetRegistryKey] * [./hidraGetRegistryKey hidraGetRegistryKey] * [./hidraSetWindowsName hidraSetWindowsName] === Funciones de inventario === * [./hidraHardwareInfo hidraHardwareInfo] ''(gestionada por webhidra)'' * [./hidraOSVersion hidraOSVersion] ''(gestionada por webhidra)'' * [./hidraLinuxSoftware hidraLinuxSoftware] ''(gestionada por webhidra)'' * [./hidraWindowsSoftware hidraWindowsSoftware] ''(gestionada por webhidra)'' * [./hidraImageSize hidraImageSize] === Funciones de ficheros === ''(por definir)'' == Tabla de códigos de error == ||Valor||Mnemónico ||Descripción|| || 0 || ||Ejecución correcta sin error|| || 1 ||ERRFORMAT ||Llamada incorrecta a la función o parámetros incorrectos|| || 2 ||ERRNOTFOUND ||Fichero, directorio o dispositivo no encontrado o inaccesible|| || 3 ||ERRPARTITION||Tipo o tamaño de partición erróneo o no reconocido|| || 4 ||ERRNOTEXEC ||Programa o función desconocido o no ejecutable|| || 5 ||ERRNOTOS ||Partición sin sistema operativo|| || 6 ||ERRLOCKED ||Partición bloqueada por una operación de uso exclusivo|| == Tabla de mnemónicos de tipos de particiones == ||Identificador||Mnemónico||Tipo de partición|| ||00 ||EMPTY ||Partición vacía no definida|| ||05 ||EXTENDED ||Partición extendida que puede contener varias particiones lógicas|| ||06, 0e ||BIGDOS ||FAT16|| ||07 ||NTFS ||NTFS|| ||0b, 0c ||FAT32 ||FAT32|| ||16, 1e ||HBIGDOS ||FAT16 oculta|| ||17 ||HNTFS ||NTFS oculta|| ||1b, 1c ||HFAT32 ||FAT32 oculta|| ||82 ||LINUX-SWAP||Paginación para Linux (''swap'')|| ||83 ||EXT2, EXT3, EXT4, REISERFS, REISER4||Partición Linux tipo Extension o Reiser|| ||8e ||LINUX-LVM||Partición de volumen lógico para Linux|| ||a7 ||CACHE ||Caché local para EAC (se formateará como Ext3)||. ||fd ||RAID-EXT2, RAID-EXT3, RAID-EXT4||Partición RAID para Linux tipo Ext2, Ext3 o Ext4|| ||- ||UNKNOWN ||Tipo de partición desconocido.|| ||- ||EXCED ||Indica cuando una partición tiene espacio libre o se solapa con la siguiente (no es un mnemónico real).|| == Tabla de mnemónicos de tipos de dispositivos == ||Mnemónico||Tipo de ''hardware''|| ||mod ||Marca y modelo del equipo|| ||boa ||Placa base|| ||bio ||Modelo y versión de la BIOS|| ||cpu ||Modelo y velocidad del procesador|| ||mem ||Tamaño de la memoria|| ||vga ||Tarjeta gráfica|| ||net ||Tarjeta de red|| ||mul ||Tarjeta de sonido o muldimedia|| ||ide ||Controladora de discos IDE ATA/SATA|| ||dis ||Modelo y capacidad del disco duro|| ||cdr ||Modelo de lectora o grabadora de CD/DVD|| ||usb ||Dispositivo USB|| ||fir ||Dispositivo !FireWire|| ||bus ||Bus interno de gestión||