man(ISO)                 Especificación de extraer_fichero                man(ISO)

NOMBRE
       extraer_fichero - función que extrae un fichero de un fichero con formato mypackzip.

UTILIZACIÓN

      #include "s_header.h"
      
      int extraer_fichero(char * file_mypackzip, unsigned long Posicion);
    
DESCRIPCIÓN
       La función extraer_fichero() debe generar en el directorio actual un fichero contenido
       en el fichero file_mypack (con formato mypackzip) que se pasa como argumento. 
       El fichero a extraer corresponde al fichero que se encuentre en el número de
       registro num_fichero en el fichero fichero_empaquetado.
	   
       num_fichero debe ser un valor de 0 a TAM-1 donde TAM es en número máximo de ficheros
       tenga el fichero fichero_empaquetado.

       El nombre del fichero a crear será el que se indique en el registro indicado por 
       num_fichero ( ver s_header).
   
/**
* @file s_header.h
* @author   G.A.
* @date     06/05/2019
* @brief    Include file struct  s_header  and struct s_info
* @details  A .h  C file with the definition struct  s_header  and struct s_info of  mypackzip file format
*
*/

#define TAM_S_HEADER    512
#define MAX_FILE_NAME   256

struct s_info {
   char Tipo;                       // ='Z'
   char Compri;                     // ='N' (por defecto) o 'Y'. Indica si los datos 
				    // del fichero están almacenados de forma 
				    // comprimida
   unsigned long TamOri;            // Tamanio original del fichero (sin comprimir)
   unsigned long TamComp;           // Tamanio del fichero comprimido. Si los datos 
				    // no estan comprimidos, su valor es el mismo de 
				    // TamOri
   char FileName[MAX_FILE_NAME];    // Nombre del fichero origen 
};
#define TAM_S_INFO sizeof(struct s_info )

#define RESTO_HEADER (TAM_S_HEADER - TAM_S_INFO)

struct  s_header {
   struct s_info InfoF;                 // Información del fichero
   char RestoHeader[RESTO_HEADER];  // ToDo...  
};
		  
VALOR DE RETORNO

       Si todo funciona correctamente , xxx devolverá cero. En caso contrario no creará el 
       fichero de salida y retornará los errores indicados en el apartado de ERRORES.

ERRORES
       E_OPEN   (1) 
           No se puede abrir file_mypackzip.
       E_POS    (2) 
           Número de registro erróneo (Posicion) .
       E_DESCO  (3) 
           Otro tipo de errores
       
NOTAS
       Nota1: El programa que utilice esta función , deberá informar por la salida de 
              error estándar un mensaje indicando el tipo de error:

COMPATIBILIDAD
       extraer_fichero() debería funcionar en cualquier sistema UNIX.

VEASE TAMBIEN
       mypackzip(ISO), insertar_fichero(ISO).

AUTOR
       Nombre del autor(es).

1.0                               13 Feb 2020                        man(ISO)