summaryrefslogtreecommitdiffstats
path: root/admin/Services/includes/ogAdmLib.h
blob: a964fa9a7e49348ee60d5a8f3e46e3d1b69cffd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

#define LONPRM 512
#define LONGITUD_PARAMETROS 4000	// Longitud mínima de la información de la trama (parametros)
#define LONGITUD_CABECERATRAMA	11 // Longitud mínima de la trama completa
#define LONGITUD_TRAMA LONGITUD_PARAMETROS+LONGITUD_CABECERATRAMA	// Longitud mínima de la trama completa

#define LEER		0
#define ESCRIBIR	1

#define TRUE 1
#define FALSE 0

#define true 1
#define false 0

#define ACCION_EXITOSA		"1" // Finalizada con éxito
#define ACCION_FALLIDA		"2" // Finalizada con errores
#define ACCION_TERMINADA	"3" // Finalizada manualmente con indicación de éxito
#define ACCION_ABORTADA		"4" // Finalizada manualmente con indicación de errores
#define ACCION_SINERRORES	"5" // Activa y sin ningn error
#define ACCION_CONERRORES	"6" // Activa y con algn error

#define ACCION_DETENIDA		"0" // Acción momentanemente parada
#define ACCION_INICIADA			"1" // Acción activa
#define ACCION_FINALIZADA 	"2" // Acción finalizada

#define SOCKET_ERROR            (-1)
#define INVALID_SOCKET  (SOCKET)(~0)
#define MAXCNX 5		// Mximos intentos de conexin al servidor HIDRA

#define PUERTOMINUSER 40000
#define PUERTOMAXUSER 60000

#define MAX_NUM_CSADDRS        20
#define MAX_INTERFACE_LIST     20

#define COMILLAS_SIMPES 0x27
#define DOBLES_COMILLAS 0x22
#define BARRA_INVERTIDA 0x5c

#define LITAMBITO_CENTROS		"centros"
#define LITAMBITO_GRUPOSAULAS		"gruposaulas"
#define LITAMBITO_AULAS			"aulas"
#define LITAMBITO_GRUPOSORDENADORES	"gruposordenadores"
#define LITAMBITO_ORDENADORES		"ordenadores"

#define MAXCMD_PARAMETROS  200  // Máximo número de parámetros de una trama de comandos
#define MAXIMOS_SOCKETS    4000 // Máximo número de conexiones con ordenadores clientes
#define MAXIMOS_SRVRMB		200 // Máximo número de servidores rembo
#define MAXLON_PARAMETROSIPH  3000 // Máxima longitud de un parametro iph

#define MAXHARDWARE 128 //	 MÁXIMOS ELEMENTOS HARDSWARE A DETECTAR
#define MAXSOFTWARE 2048 //	 MÁXIMOS ELEMENTOS SOFTWARE A DETECTAR

#define PROCESOS 0x01

#define EJECUCION_PROCEDIMIENTO	0x0000 // Acción Procedimiento
#define EJECUCION_COMANDO	0x0001 // Acción Comando
#define EJECUCION_TAREA		0x0002 // Acción Tarea
#define EJECUCION_TRABAJO		0x0003 // Acción Trabajo
#define EJECUCION_RESERVA   0x0004//Acción Reserva

#define EJECUTOR_servidorHIDRA	0x0001 // Ejecutor Servidor hidra
#define EJECUTOR_clienteREMBO	0x0002 // Ejecutor cliente rembo
#define EJECUTOR_servidorREMBO	0x0003 // Ejecutor Servidor rembo

#define CLIENTE_REMBO	"RMB" // Sistema operativo Rembo
#define CLIENTE_OCUPADO	"BSY" // Cliente ocupado
#define CLIENTE_APAGADO	"OFF" // Cliente apagado
#define CLIENTE_INICIANDO	"INI" // Cliente iniciando

// Variables y estructuras

typedef struct{		// EstructUra de la trama recibida
	char arroba;	// cabecera de la trama
	char identificador[9];	// identificador de la trama
	char ejecutor;	// ejecutor de la trama 1=el servidor rembo  2=el cliente rembo
	char parametros[LONGITUD_PARAMETROS]; // Contenido de la trama (par?etros)
}TRAMA;

char szPathFileCfg[512];
char szPathFileLog[512];

typedef unsigned long DWORD;
typedef unsigned short  WORD;
typedef  int  BOOLEAN;
typedef char  BYTE;
typedef  int  SOCKET;

// Prototipos de funciones

void INTROaFINCAD(char* );
void FINCADaINTRO(char*,char*);
SOCKET AbreConexion(char *,int);
int cuenta_ipes(char*);
int IgualIP(char *,char *);
void RegistraLog(const char *,int);
struct tm * TomaHora();
char * toma_parametro(const char* ,char *);
char* copia_parametro(const char*,char *);
int SplitParametros(char**,char*, char*);
int recibe_trama(SOCKET sock,TRAMA* trama);
char* Encriptar(char *);
char * Desencriptar(char *);