source: admin/Services/ogAdmServer/sources/ogAdmServer.h @ 74c04a0

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 74c04a0 was 74c04a0, checked in by alonso <alonso@…>, 15 years ago

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

  • Property mode set to 100644
File size: 6.0 KB
Line 
1//****************************************************************************************************************************************************
2//      Aplicación OpenGNSys
3//      Autor: José Manuel Alonso.
4//      Licencia: Open Source
5//      Fichero: ogAdmServer.h
6//      Descripción:
7//              Este módulo de la aplicación OpenGNSys implementa las comunicaciones con el Servidor.
8// ****************************************************************************************************************************************************
9#include <sys/types.h>
10#include <sys/socket.h>
11#include <netinet/in.h>
12#include <arpa/inet.h>
13#include <stdio.h>
14#include <stdlib.h>
15#include <string.h>
16#include <errno.h>
17#include <unistd.h>
18#include <time.h>
19#include <ctype.h>
20#include </usr/include/mysql/mysql.h>
21#include <pthread.h>
22#include "Database.h"
23#include "ogAdmLib.h"
24
25#define AUTOINCORPORACION_OFF   0x0000 // Los ordenadores no se pueden dar de alta autmáticamente
26#define AUTOINCORPORACION_ONA   0x0001 // Los ordenadores se pueden dar de alta automáticamente si existe el aula
27#define AUTOINCORPORACION_ONX   0x0002 // Los ordenadores se pueden dar de alta automáticamente y si no existe el aula la crea
28
29char ecofile[512],msglog[512];
30FILE *FLog,*Fconfig;
31char AulaUp[2];
32int aulaup;     // Switch para permitir  que un ordenador se de de alta automáticamente en un aula existenta
33                        // Valores:
34                        //      0: El ordenador No se da de alta automáticamente en un aula
35                        //      1: El ordenador se da de alta en un aula si existe
36                        //      2: El ordenador se da de alta en un aula si existe y si no existe la crea para darse de alta
37
38char IPlocal[20]; // Ip local
39char servidorhidra[20]; // IP servidor HIDRA
40char Puerto[20]; // Puerto Unicode
41int puerto; // Puerto
42char usuario[20];
43char pasguor[20];
44char datasource[20];
45char catalog[50];
46
47
48struct s_socketCLRMB{ // Estructura usada para guardar información de los clientes
49        char ip[16]; // IP del cliente
50        char estado[4]; // Tipo de sistema Operativo del cliente "RMB"=rembo,"W98"=windows98,"W2K"=windows 2000, etc
51        SOCKET sock; // Socket por el que se comunica
52        char ipsrvdhcp[16]; // IP del servidor dhcp
53        char ipsrvrmb[16]; // IP del servidor rembo
54};
55struct s_socketCLRMB tbsockets[MAXIMOS_SOCKETS];
56
57struct s_socketSRVRMB{ // Estructura usada para guardar información de los servidores REMBO
58        char ip[16]; // IP del servidor rembo
59        int puertorepo;
60        char ipes[MAXLON_PARAMETROSIPH]; // IP de los clientes rembo
61        int swenv; // Switch de envio
62
63};
64struct s_socketSRVRMB tbsocketsSRVRMB[MAXIMOS_SRVRMB];
65
66static pthread_mutex_t guardia; // Controla acceso exclusivo de hebras
67
68// Prototipo de funciones
69void* GestionaConexion(void*);
70void gestiona_comando(SOCKET s,TRAMA trama);
71int manda_comando(SOCKET sock,char* parametros);
72int manda_trama(SOCKET sock,TRAMA* trama);
73int manda_trama_servidorrembo(char* ,char *,int);
74SOCKET UDPConnect(char *);
75int envia_comandos(SOCKET ,TRAMA* , char* ,int);
76int hay_hueco(int *);
77BOOLEAN cliente_existente(char *,int*);
78int hay_huecoservidorrembo(int *);
79BOOLEAN servidorrembo_existente(char *,int*);
80char * corte_iph(char *);
81char * escaparComillas(char*);
82int respuesta_cortesia(SOCKET );
83int NoComandosPendientes(SOCKET);
84int Coloca_estado(char *,const char *,SOCKET);
85int actualiza_configuracion(Database , Table ,char* ,int,int ,char* );
86int actualiza_hardware(Database , Table ,char* ,char* ,char*);
87int actualiza_software(Database , Table ,char* ,char*,char*,char* ,char*);
88int CuestionPerfilHardware(Database , Table ,int ,char* ,int *,int ,char*);
89int CuestionPerfilSoftware(Database, Table ,int ,char* ,int *,int,char *,char*);
90
91void TomaParticiones(char*, char* ,int );
92int     Toma_menu(Database,Table,char*,int,int);
93int RecuperaItem(SOCKET,char *);
94int ComandosPendientes(SOCKET ,char *);
95int procesaCOMANDOS(SOCKET ,char *);
96int DisponibilidadComandos(SOCKET ,char *);
97
98int InclusionCliente(SOCKET,char *);
99int inclusion_srvRMB(char *,int);
100int inclusion_REPO(SOCKET,char *);
101int inclusion_cliWINLNX(SOCKET ,char *);
102
103int Sondeo(SOCKET ,char *);
104int EcoConsola(SOCKET ,char *);
105int enviaEcoConsola(SOCKET ,const char *);
106int Arrancar(char *);
107int Actualizar(char *);
108int FicheroOperador(char *);
109int IconoItem(TRAMA*);
110int Conmutar(char *);
111int ConsolaRemota(char *);
112int RenovarItems(char *);
113
114void PurgarTablaSockets(char *);
115int borra_entrada(int);
116int RESPUESTA_Arrancar(SOCKET ,char *);
117int RESPUESTA_Apagar(SOCKET ,char *);
118int RESPUESTA_Reiniciar(SOCKET ,char *);
119int RESPUESTA_IniciarSesion(SOCKET ,char *);
120int RESPUESTA_Actualizar(SOCKET,char *);
121int RESPUESTA_ExecShell(SOCKET ,char *);
122int RespuestaEstandar(char *,char *,char *,char*,Database, Table);
123int RESPUESTA_CrearPerfilSoftware(SOCKET ,char *);
124int RESPUESTA_CrearSoftwareIncremental(SOCKET,char *);
125int RESPUESTA_RestaurarImagen(SOCKET,char *);
126int RESPUESTA_ParticionaryFormatear(SOCKET ,char *);
127int RESPUESTA_Configurar(SOCKET ,char *);
128int RESPUESTA_TomaConfiguracion(SOCKET ,char *);
129int RESPUESTA_TomaHardware(SOCKET ,char *);
130int RESPUESTA_TomaSoftware(SOCKET ,char *);
131
132int     RESPUESTA_inclusionREPO(TRAMA*);
133
134int Actualiza_ordenador_imagen(char *,const char *,char *,Database);
135int Actualiza_ordenador_perfil(char *,char *, char*, Database);
136int busca_comandos(char* ,char*,char *,int *);
137int InsertaNotificaciones(int,int,int,char *,Database);
138int comprueba_resultados(int ,Database );
139int comprueba_finalizada(int ,char *,Database );
140
141void EnviaServidoresRembo(char*,int);
142void DesmarcaServidoresRembo(void);
143void MarcaServidoresRembo(char*,char*);
144
145int EjecutarItem(SOCKET,char *);
146BOOLEAN TomaIPServidorRembo(char*,int*);
147 
148void envia_tarea(char* );
149int EjecutarTarea(int ,int ,int ,int , Database,char * );
150int EjecutarTrabajo(int ,Database,char *  );
151int cuestion_nuevoordenador(Database,Table ,int*,char *,char *,char *,char *,char*,char*,char*);
152int alta_ordenador(Database db,Table tbl,int*,char *,char *,char*,int,int,int);
153int Toma_idservidorres(Database ,Table ,char*,char*,int*,int*);
154int tomaIpRepoPort(char *,char *,char *);
155void cambiacarac(char *,char , char );
156int TomaConfiguracion(char* );
157
158unsigned int TomaEnvio();
159int recibeFichero(char *,char *,char *,char *);
Note: See TracBrowser for help on using the repository browser.