source: admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h @ f3499a3

918-git-images-111dconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion opengnsys-1.1.1b
Last change on this file since f3499a3 was 0531169, checked in by Irina Gómez <irinagomez@…>, 5 years ago

#914 deployImagen shows error message when image file is corrupt or was created with other partclone version.

  • Property mode set to 100644
File size: 7.1 KB
Line 
1// ********************************************************************************************************
2// Cliernte: ogAdmClient
3// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
4// Fecha Creación: Marzo-2010
5// Fecha Última modificación: Marzo-2010
6// Nombre del fichero: ogAdmClient.h
7// Descripción :Este fichero implementa el cliente general del sistema
8// ********************************************************************************************************
9#include <stdio.h>
10#include <stdlib.h>
11#include <string.h>
12#include <ctype.h>
13#include <errno.h>
14#include <unistd.h>
15#include <time.h>
16#include <sys/types.h>
17#include <sys/socket.h>
18#include <sys/wait.h>
19#include <netinet/in.h>
20#include <arpa/inet.h>
21#include <signal.h>
22#include "ogAdmLib.h"
23// ________________________________________________________________________________________________________
24// Variables globales
25// ________________________________________________________________________________________________________
26char *idordenador;       // Identificador del ordenador
27char *nombreordenador; // Nombre del ordenador
28char *cache; // Tamaño de la caché
29char *idproautoexec; // Identificador del procedimiento de autoexec
30char *idcentro; // Identificador de la Unidad Organizativa
31char *idaula; // Identificador del aula
32char IPlocal[LONIP]; // Ip local
33
34char servidoradm[LONPRM]; // Dirección IP del servidor de administración
35char puerto[LONPRM]; // Puerto de comunicación
36char pathinterface[LONPRM]; // Path donde está la interface entre la administración y el módulo de clonación
37
38char interface[LONFUN]; // Nombre del módulo,función o script de la interface con el módulo de administración
39char parametros[LONSTD]; // Parámetros para la llamada
40int herror;
41
42BOOLEAN CMDPTES; // Para bucle de comandos pendientes
43
44
45char urlmenu[MAXLONURL]; // Url de la pagina de menu para el browser
46char urlmsg[MAXLONURL]; // Url de la página de mensajed para el browser
47
48
49typedef struct{  // Estructura usada para referenciar las funciones que procesan las tramas
50        char nf[LONFUN]; // Nombre de la función
51        BOOLEAN (*fptr)(TRAMA*); // Puntero a la función que procesa la trama
52}MSGFUN;
53MSGFUN tbfuncionesClient[MAXIMAS_FUNCIONES];
54// ________________________________________________________________________________________________________
55// Tabla de errores de la ejecución de los scripts
56// ________________________________________________________________________________________________________
57char* tbErroresScripts[]={"Se han generado errores desconocidos. No se puede continuar la ejecución de este módulo",\
58                "001-Formato de ejecución incorrecto.",\
59                "002-Fichero o dispositivo no encontrado",\
60                "003-Error en partición de disco",\
61                "004-Partición o fichero bloqueado",\
62                "005-Error al crear o restaurar una imagen",\
63                "006-Sin sistema operativo",\
64                "007-Programa o función BOOLEAN no ejecutable",\
65                "008-Error en la creación del archivo de eco para consola remota",\
66                "009-Error en la lectura del archivo temporal de intercambio",\
67                "010-Error al ejecutar la llamada a la interface de administración",\
68                "011-La información retornada por la interface de administración excede de la longitud permitida",\
69                "012-Error en el envío de fichero por la red",\
70                "013-Error en la creación del proceso hijo",\
71                "014-Error de escritura en destino",\
72                "015-Sin Cache en el Cliente",\
73                "016-No hay espacio en la cache para almacenar fichero-imagen",\
74                "017-Error al Reducir el Sistema Archivos",\
75                "018-Error al Expandir el Sistema Archivos",\
76                "019-Valor fuera de rango o no válido.",\
77                "020-Sistema de archivos desconocido o no se puede montar",\
78                "021-Error en partición de caché local",\
79                "022-El disco indicado no contiene una particion GPT",\
80                "023-Error no definido",\
81                "024-Error no definido",\
82                "025-Error no definido",\
83                "026-Error no definido",\
84                "027-Error no definido",\
85                "028-Error no definido",\
86                "029-Error no definido",\
87                "030-Error al restaurar imagen - Imagen mas grande que particion",\
88                "031-Error al realizar el comando updateCache",\
89                "032-Error al formatear",\
90                "033-Archivo de imagen corrupto o de otra versión de partclone",\
91                "034-Error no definido",\
92                "035-Error no definido",\
93                "036-Error no definido",\
94                "037-Error no definido",\
95                "038-Error no definido",\
96                "039-Error no definido",\
97                "040-Error imprevisto no definido",\
98                "041-Error no definido",\
99                "042-Error no definido",\
100                "043-Error no definido",\
101                "044-Error no definido",\
102                "045-Error no definido",\
103                "046-Error no definido",\
104                "047-Error no definido",\
105                "048-Error no definido",\
106                "049-Error no definido",\
107                "050-Error en la generación de sintaxis de transferenica unicast",\
108                "051-Error en envio UNICAST de una particion",\
109                "052-Error en envio UNICAST de un fichero",\
110                "053-Error en la recepcion UNICAST de una particion",\
111                "054-Error en la recepcion UNICAST de un fichero",\
112                "055-Error en la generacion de sintaxis de transferenica Multicast",\
113                "056-Error en envio MULTICAST de un fichero",\
114                "057-Error en la recepcion MULTICAST de un fichero",\
115                "058-Error en envio MULTICAST de una particion",\
116                "059-Error en la recepcion MULTICAST de una particion",\
117                "060-Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER",\
118                "061-Error no definido",\
119                "062-Error no definido",\
120                "063-Error no definido",\
121                "064-Error no definido",\
122                "065-Error no definido",\
123                "066-Error no definido",\
124                "067-Error no definido",\
125                "068-Error no definido",\
126                "069-Error no definido",\
127                "070-Error al montar una imagen sincronizada.",\
128                "071-Imagen no sincronizable (es monolitica).",\
129                "072-Error al desmontar la imagen.",\
130                "073-No se detectan diferencias entre la imagen basica y la particion.",\
131                "074-Error al sincronizar, puede afectar la creacion/restauracion de la imagen.",\
132                "Error desconocido "
133        };
134        #define MAXERRORSCRIPT 74               // Error máximo cometido
135// ________________________________________________________________________________________________________
136// Prototipo de funciones
137// ________________________________________________________________________________________________________
138BOOLEAN autoexecCliente(TRAMA*);
139BOOLEAN RESPUESTA_AutoexecCliente(TRAMA*);
140void procesaComandos(TRAMA*);
141
142BOOLEAN tomaConfiguracion(char*);
143BOOLEAN tomaIPlocal(void);
144void scriptLog(const char *,int );
145
146BOOLEAN gestionaTrama(TRAMA *);
147BOOLEAN inclusionCliente();
148char* LeeConfiguracion();
149BOOLEAN RESPUESTA_InclusionCliente(TRAMA *);
150
151BOOLEAN comandosPendientes(TRAMA*);
152BOOLEAN NoComandosPtes(TRAMA *);
153
154BOOLEAN respuestaEjecucionComando(TRAMA *,int,char*);
155BOOLEAN Sondeo(TRAMA *);
156BOOLEAN Actualizar(TRAMA *);
157int Purgar(TRAMA* );
158
159BOOLEAN ConsolaRemota(TRAMA*);
160
161BOOLEAN Arrancar(TRAMA *);
162BOOLEAN Apagar(TRAMA *);
163BOOLEAN Reiniciar(TRAMA *);
164BOOLEAN IniciarSesion(TRAMA *);
165BOOLEAN CrearImagen(TRAMA *);
166BOOLEAN CrearImagenBasica(TRAMA *);
167BOOLEAN CrearSoftIncremental(TRAMA*);
168
169BOOLEAN InventarioHardware(TRAMA *);
170BOOLEAN InventariandoSoftware(TRAMA *,BOOLEAN,char*);
171BOOLEAN EjecutarScript(TRAMA *);
172BOOLEAN ejecutaArchivo(char*,TRAMA*);
173
174BOOLEAN cuestionCache(char*);
175int cargaPaginaWeb(char *);
176void muestraMenu(void);
177void muestraMensaje(int idx,char*);
178
179BOOLEAN enviaMensajeServidor(SOCKET *,TRAMA *,char);
180
181
182
183
Note: See TracBrowser for help on using the repository browser.