source: admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h @ 986f850

918-git-images-111dconfigfileconfigure-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-instalacionwebconsole3
Last change on this file since 986f850 was 12a35e7, checked in by ramon <ramongomez@…>, 12 years ago

#579: Corregir erratas.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@3629 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 6.6 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
44pid_t  pidbrowser; // Identificador del proceso que se crea para mostrar una página web con el browser
45pid_t  pidbash; // Identificador del proceso que se crea cuando se conmuta el browser
46
47char urlmenu[MAXLONURL]; // Url de la pagina de menu para el browser
48char urlmsg[MAXLONURL]; // Url de la página de mensajed para el browser
49
50
51typedef struct{  // Estructura usada para referenciar las funciones que procesan las tramas
52        char nf[LONFUN]; // Nombre de la función
53        BOOLEAN (*fptr)(TRAMA*); // Puntero a la función que procesa la trama
54}MSGFUN;
55MSGFUN tbfuncionesClient[MAXIMAS_FUNCIONES];
56// ________________________________________________________________________________________________________
57// Tabla de errores de la ejecución de los scripts
58// ________________________________________________________________________________________________________
59char* tbErroresScripts[]={"Se han generado errores desconocidos. No se puede continuar la ejecución de este módulo",\
60                "001-Formato de ejecución incorrecto.",\
61                "002-Fichero o dispositivo no encontrado",\
62                "003-Error en partición de disco",\
63                "004-Partición o fichero bloqueado",\
64                "005-Error al crear o restaurar una imagen",\
65                "006-Sin sistema operativo",\
66                "007-Programa o función BOOLEAN no ejecutable",\
67                "008-Error en la creación del archivo de eco para consola remota",\
68                "009-Error en la lectura del archivo temporal de intercambio",\
69                "010-Error al ejecutar la llamada a la interface de administración",\
70                "011-La información retornada por la interface de administración excede de la longitud permitida",\
71                "012-Error en el envío de fichero por la red",\
72                "013-Error en la creación del proceso hijo",\
73                "014-Error de escritura en destino",\
74                "015-Sin Cache en el Cliente",\
75                "016-No hay espacio en la cache para almacenar fichero-imagen",\
76                "017-Error al Reducir el Sistema Archivos",\
77                "018-Error al Expandir el Sistema Archivos",\
78                "019-Error no definido",\
79                "020-Error no definido",\
80                "021-Error no definido",\
81                "022-Error no definido",\
82                "023-Error no definido",\
83                "024-Error no definido",\
84                "025-Error no definido",\
85                "026-Error no definido",\
86                "027-Error no definido",\
87                "028-Error no definido",\
88                "029-Error no definido",\
89                "030-Error al restaurar imagen - Imagen mas grande que particion",\
90                "031-Error no definido",\
91                "032-Error no definido",\
92                "033-Error no definido",\
93                "034-Error no definido",\
94                "035-Error no definido",\
95                "036-Error no definido",\
96                "037-Error no definido",\
97                "038-Error no definido",\
98                "039-Error no definido",\
99                "040-Error no definido",\
100                "041-Error no definido",\
101                "042-Error no definido",\
102                "043-Error no definido",\
103                "044-Error no definido",\
104                "045-Error no definido",\
105                "046-Error no definido",\
106                "047-Error no definido",\
107                "048-Error no definido",\
108                "049-Error no definido",\
109                "050-Error en la generación de sintaxis de transferenica unicast",\
110                "051-Error en envio UNICAST de una particion",\
111                "052-Error en envio UNICAST de un fichero",\
112                "053-Error en la recepcion UNICAST de una particion",\
113                "054-Error en la recepcion UNICAST de un fichero",\
114                "055-Error en la generacion de sintaxis de transferenica Multicast",\
115                "056-Error en envio MULTICAST de un fichero",\
116                "057-Error en la recepcion MULTICAST de un fichero",\
117                "058-Error en envio MULTICAST de una particion",\
118                "059-Error en la recepcion MULTICAST de una particion",\
119                "060-Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER",\
120                "Error desconocido "
121        };
122        #define MAXERRORSCRIPT 60               // Error máximo cometido
123// ________________________________________________________________________________________________________
124// Prototipo de funciones
125// ________________________________________________________________________________________________________
126BOOLEAN autoexecCliente(TRAMA*);
127BOOLEAN RESPUESTA_AutoexecCliente(TRAMA*);
128void procesaComandos(TRAMA*);
129
130BOOLEAN tomaConfiguracion(char*);
131BOOLEAN tomaIPlocal(void);
132void scriptLog(const char *,int );
133
134BOOLEAN gestionaTrama(TRAMA *);
135BOOLEAN inclusionCliente();
136char* LeeConfiguracion();
137BOOLEAN RESPUESTA_InclusionCliente(TRAMA *);
138
139BOOLEAN comandosPendientes(TRAMA*);
140BOOLEAN NoComandosPtes(TRAMA *);
141
142BOOLEAN respuestaEjecucionComando(TRAMA *,int,char*);
143BOOLEAN Sondeo(TRAMA *);
144BOOLEAN Actualizar(TRAMA *);
145int Purgar(TRAMA* );
146
147BOOLEAN ConsolaRemota(TRAMA*);
148
149BOOLEAN Arrancar(TRAMA *);
150BOOLEAN Apagar(TRAMA *);
151BOOLEAN Reiniciar(TRAMA *);
152BOOLEAN IniciarSesion(TRAMA *);
153BOOLEAN CrearImagen(TRAMA *);
154BOOLEAN CrearImagenBasica(TRAMA *);
155BOOLEAN CrearSoftIncremental(TRAMA*);
156
157BOOLEAN InventarioHardware(TRAMA *);
158BOOLEAN InventariandoSoftware(TRAMA *,BOOLEAN,char*);
159BOOLEAN EjecutarScript(TRAMA *);
160BOOLEAN ejecutaArchivo(char*,TRAMA*);
161
162BOOLEAN cuestionCache(char*);
163int cargaPaginaWeb(char *);
164void muestraMenu(void);
165void muestraMensaje(int idx,char*);
166
167BOOLEAN enviaMensajeServidor(SOCKET *,TRAMA *,char);
168
169
170
171
Note: See TracBrowser for help on using the repository browser.