source: admin/Services/ogAdmAgent/sources/ogAdmAgent.h @ 1a9dea4

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 1a9dea4 was 5ea3638, checked in by alonso <alonso@…>, 15 years ago

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

  • Property mode set to 100644
File size: 3.8 KB
Line 
1// *************************************************************************
2// Aplicación: OPENGNSYS
3// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
4// Fecha Creación: Año 2003-2004
5// Fecha Última modificación: Marzo-2006
6// Nombre del fichero: ogAdmServer.php
7// Descripción :
8//              Este fichero aporta las funciones de localización y ejecución de tareas, trabajos o reservas.
9//              Necesita el servicio ogAdmServer para su envio a la red.
10// *********************************************************************************************************************************************************
11#include <sys/types.h>
12#include <sys/socket.h>
13#include <netinet/in.h>
14#include <arpa/inet.h>
15#include <stdio.h>
16#include <stdlib.h>
17#include <string.h>
18#include <errno.h>
19#include <unistd.h>
20#include <time.h>
21#include <ctype.h>
22#include </usr/include/mysql/mysql.h>
23#include <pthread.h>
24#include "Database.h"
25#include "ogAdmLib.h"
26
27
28
29#define SERVIDORHIDRA   "127.0.0.1" // Servidor Hidra
30#define PUERTO_DEFAULT  2003    // Puerto por defecto
31#define USUARIO "usuhidra" // Usuario por defecto
32#define PASGUOR "passusuhidra" // Password por defecto
33#define DATASOURCE      "127.0.0.1" // Servidor de base de datos
34#define CATALOG "BDHidra" // Base de datos
35#define CADENACONEXION "Provider=SQLOLEDB.1;Initial Catalog=%s;Data Source=%s;Packet Size=4096;"
36
37#define LONGITUD_PARAMETROS 4000        // Longitud máxima de la información de la trama (parametros)
38
39#define PROCESOS 0x01
40
41#define ACCION_EXITOSA                  "1" // Finalizada con exito
42#define ACCION_FALLIDA                  "2" // Finalizada con errores
43#define ACCION_TERMINADA                "3" // Finalizada manualmente con indicacion de exito
44#define ACCION_ABORTADA         "4" // Finalizada manualmente con indicacion de errores
45#define ACCION_SINERRORES       "5" // Activa y sin ningún error
46#define ACCION_CONERRORES       "6" // Activa y con algún error
47
48#define ACCION_DETENIDA         "0" // Acción momentanemente parada
49#define ACCION_INICIADA         "1" // Acción activa
50#define ACCION_FINALIZADA               "2" // Accion finalizada
51
52#define EJECUCION_COMANDO       0x0001 // Accion Comando
53#define EJECUCION_TAREA         0x0002 // Accion Tarea
54#define EJECUCION_TRABAJO       0x0003 // Accion Trabajo
55#define EJECUCION_RESERVA       0x0004 // Reserva de aulas
56
57#define CHKREGISTRY(f) if (!(f)) { return 0;}
58#define HIVE HKEY_LOCAL_MACHINE                         // Rama del registro donde estarán los parametros de conexión
59#define BASEKEY "SOFTWARE\\Alonsoft"    // Key del registro para parametros de conexión
60#define BASE "SOFTWARE\\Alonsoft\\Hidra"        // SubKey del registro para parametros de conexión
61
62char servidorhidra[20];
63int puerto;     // Puerto
64char usuario[20];
65char pasguor[20];
66char datasource[20];
67char catalog[50];
68char cadenaconexion[1024];
69
70FILE *FLog; // Fichero de log
71
72BYTE    HEX_annos[9];
73WORD    HEX_meses[13];
74LONG    HEX_dias[32];
75WORD    HEX_horas[13];
76BYTE    HEX_diasemana[8];
77BYTE    HEX_semanas[7];
78
79WORD    dias_meses[13];
80
81typedef struct{         // Estructura de la trama recibida
82                char arroba;    // Caracter arroba siempre
83                char identificador[9];  // Identificador de la trama, siempre JMMLCAMDJ:
84                char ejecutor;  // Identificador del encargado de ejecutar la función ( 1= Servidor  2=Cliente rembo:
85                char parametros[LONGITUD_PARAMETROS]; // Contenido de la trama (parámetros)
86}TRAMA;
87
88// Prototipo de funciones
89void inicializa(void);
90void Pausa(int);
91int GestionaProgramacion(SYSTEMTIME);
92int busca_accion(WORD ,WORD ,WORD ,WORD ,WORD,WORD );
93int busca_reserva(WORD ,WORD ,WORD ,WORD ,WORD,WORD );
94
95int DiadelaSemana(WORD ,WORD ,WORD );
96bool bisiesto(WORD );
97int SemanadelMes(int ,int );
98int EjecutarTrabajo(int ,Database,char* );
99int EjecutarTarea(int ,int ,int ,int ,Database,char* );
100int EjecutarReserva(int,Database,char*);
101
102int envia_comando(char*);
103SOCKET AbreConexion(char*,int);
104int     TomaConfiguracion(void);
105int manda_trama(SOCKET ,TRAMA* );
Note: See TracBrowser for help on using the repository browser.