source: admin/Sources/Services/ogAdmServer/sources/ogAdmServer.h @ e2ed552

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 e2ed552 was 3ec149c, checked in by alonso <alonso@…>, 15 years ago

git-svn-id: https://opengnsys.es/svn/trunk@1314 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 4.9 KB
Line 
1// ********************************************************************************************************
2// Servicio: ogAdmServer
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: ogAdmServer.h
7// Descripción: Este fichero implementa el servicio de administración 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 <netinet/in.h>
19#include <arpa/inet.h>
20#include </usr/include/mysql/mysql.h>
21#include "Database.h"
22#include "ogAdmLib.h"
23// ________________________________________________________________________________________________________
24// Variables globales
25// ________________________________________________________________________________________________________
26char servidoradm[LONPRM];       // Dirección IP del servidor de administración
27char puerto[LONPRM];    // Puerto de comunicación
28char usuario[LONPRM];   // Usuario de acceso a la base de datos
29char pasguor[LONPRM];   // Password del usuario
30char datasource[LONPRM];        // Dirección IP del gestor de base de datos
31char catalog[LONPRM];   // Nombre de la base de datos
32char aulaup[LONPRM];    // Conmutador para registro automático de clientes
33
34typedef struct{ // Estructura usada para guardar información de los clientes
35        char ip[LONIP]; // IP del cliente
36        char estado[4]; // Tipo de Sistema Operativo en que se encuentra el cliente
37        SOCKET sock; // Socket por el que se comunica
38}SOCKETCL;
39SOCKETCL tbsockets[MAXIMOS_CLIENTES];
40
41BOOLEAN swcSocket; // Switch para indicar si se debe cerrar el socket del cliente
42
43typedef struct{  // Estructura usada para referenciar las funciones que procesan las tramas
44        char nf[LONFUN]; // Nombre de la función
45        BOOLEAN (*fptr)(SOCKET*,TRAMA*); // Puntero a la función que procesa la trama
46}MSGFUN;
47MSGFUN tbfuncionesServer[MAXIMAS_FUNCIONES];
48// ________________________________________________________________________________________________________
49// Prototipo de funciones
50// ________________________________________________________________________________________________________
51
52BOOLEAN tomaConfiguracion(char*);
53BOOLEAN gestionaTrama(SOCKET*);
54BOOLEAN Sondeo(SOCKET*,TRAMA*);
55BOOLEAN respuestaSondeo(SOCKET *,TRAMA*);
56BOOLEAN InclusionCliente(SOCKET*,TRAMA*);
57BOOLEAN registraCliente(char *);
58
59BOOLEAN procesoInclusionCliente(SOCKET*,TRAMA*);
60BOOLEAN clienteExistente(char *,int *);
61BOOLEAN clienteDisponible(char *,int *);
62BOOLEAN hayHueco(int *);
63BOOLEAN actualizaConfiguracion(Database , Table ,char* ,int);
64BOOLEAN AutoexecCliente(SOCKET *, TRAMA *);
65BOOLEAN recorreProcedimientos(Database ,char* ,FILE*,char*);
66
67BOOLEAN tomaRepositorio(Database ,Table ,char*,int*);
68BOOLEAN buscaComandos(char *,TRAMA *,int *);
69BOOLEAN DisponibilidadComandos(SOCKET*,TRAMA*);
70BOOLEAN respuestaEstandar(TRAMA *,char **,char **,char ** ,Database *,Table *);
71BOOLEAN respuestaConsola(SOCKET *,TRAMA *,int);
72BOOLEAN enviaComando(TRAMA *ptrTrama,const char*);
73
74BOOLEAN Actualizar(SOCKET *, TRAMA* );
75BOOLEAN Purgar(SOCKET *, TRAMA* );
76
77BOOLEAN ConsolaRemota(SOCKET *,TRAMA*);
78BOOLEAN RESPUESTA_ConsolaRemota(SOCKET *,TRAMA*);
79BOOLEAN EcoConsola(SOCKET *,TRAMA*);
80
81BOOLEAN Comando(SOCKET *,TRAMA *);
82BOOLEAN RESPUESTA_Comando(SOCKET *,TRAMA *);
83
84BOOLEAN Arrancar(SOCKET *,TRAMA *);
85BOOLEAN Levanta(char*);
86BOOLEAN WakeUp(SOCKET *,char *);
87void PasaHexBin(char *,char *);
88BOOLEAN RESPUESTA_Arrancar(SOCKET *,TRAMA*);
89BOOLEAN Apagar(SOCKET *,TRAMA *);
90BOOLEAN RESPUESTA_Apagar(SOCKET *,TRAMA *);
91BOOLEAN Reiniciar(SOCKET *,TRAMA *);
92BOOLEAN RESPUESTA_Reiniciar(SOCKET *,TRAMA *);
93BOOLEAN IniciarSesion(SOCKET *,TRAMA *);
94BOOLEAN RESPUESTA_IniciarSesion(SOCKET *,TRAMA *);
95BOOLEAN CrearImagen(SOCKET *,TRAMA *);
96BOOLEAN RESPUESTA_CrearImagen(SOCKET *,TRAMA *);
97BOOLEAN actualizaCreacionImagen(Database,Table,char*,char*,char*,char*,char*);
98BOOLEAN RestaurarImagen(SOCKET *,TRAMA *);
99BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *,TRAMA *);
100BOOLEAN actualizaRestauracionImagen(Database,Table,char*,char*,char*,char*);
101BOOLEAN Configurar(SOCKET *,TRAMA* );
102BOOLEAN RESPUESTA_Configurar(SOCKET *,TRAMA* );
103BOOLEAN actualizaConfigurar(Database , Table , char* );
104BOOLEAN InventarioHardware(SOCKET *,TRAMA *);
105BOOLEAN RESPUESTA_InventarioHardware(SOCKET *,TRAMA *);
106BOOLEAN actualizaHardware(Database, Table,char* ,char*,char*,char*);
107BOOLEAN cuestionPerfilHardware(Database,Table,char*,char*,int,char*,char*,int *,int);
108BOOLEAN actualizaSoftware(Database , Table , char* , char* , char*,char*,char*);
109BOOLEAN cuestionPerfilSoftware(Database, Table, char*, char*,int,char*,char*,char*,int *,int);
110
111BOOLEAN enviaArchivo(SOCKET *, TRAMA *);
112BOOLEAN recibeArchivo(SOCKET *, TRAMA *);
113BOOLEAN envioProgramacion(SOCKET *, TRAMA *);
114
115int checkDato(Database,Table,char*,const char*,const char*,const char*);
116
117
118
Note: See TracBrowser for help on using the repository browser.