source: ogServer-Git/src/ogAdmLib.h @ 1855b68

Last change on this file since 1855b68 was d6789f1, checked in by OpenGnSys Support Team <soporte-og@…>, 4 years ago

#971 linkage error after split

/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmServer.h:25: multiple definition of `servidoradm'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmServer.h:25: first defined here
/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmServer.h:26: multiple definition of `puerto'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmServer.h:26: first defined here
/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmServer.h:35: multiple definition of `tbsockets'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmServer.h:35: first defined here
/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmLib.h:81: multiple definition of `ndebug'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmLib.h:81: first defined here
/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmLib.h:80: multiple definition of `szPathFileLog'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmLib.h:80: first defined here
/usr/bin/ld: src/cfg.o:/home/opengnsys/ogServer/src/ogAdmLib.h:80: multiple definition of `szPathFileCfg'; src/ogAdmServer.o:/home/javi/trabajo/soleta/opengnsys/ogServer/src/ogAdmLib.h:80: first defined here

  • Property mode set to 100644
File size: 5.3 KB
Line 
1// **************************************************************************************************************************************************
2// Libreria: ogAdmLib
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: ogAdmLib.h
7// Descripción: Este fichero implementa el archivo de cabecera de la libreria  ogAdmLib
8// **************************************************************************************************************************************************
9// ________________________________________________________________________________________________________
10// Valores definidos
11// ________________________________________________________________________________________________________
12#define LONSTD 1024     // Longitud de memoria estandar
13#define LONINT 16       // Longitud de memoria estandar para un número entero
14#define LONFIL 1024     // Longitud de memoria estandar para nombres de archivo completos (incluido path)
15#define LONIP 16        // Longitud de memoria estandar para cadenas que contiene una dirección IP
16#define LONMAC 16       // Longitud de memoria estandar para cadenas que contiene una dirección MAC
17#define LONSQL 8192     // Longitud de memoria estandar para una sentencia SQL
18#define LONPRM 4098     // Longitud estandar de los parámetros del fichero de configuración del servicio
19#define LONSCP 4098     // Longitud estandar de los parámetros de las tramas
20#define LONFUN 512      // Longitud estandar de los nombres de las funciones que procesan las tramas
21#define LONSUC 4098     // Longitud de los mensajes de sucesos
22#define LONBLK 8192     // Longitud de los paquetes de tramas leidos cada vez
23#define MAXPRM 20       // Máximo número de parámeros del fichero de configuración del servicio
24#define MAXPAR 128      // Maximo numero de particiones manejadas por el sistema, ahora con GPT es 128
25#define MAXLONURL 1024 // Longitud máxima de una dirección url con parámetros
26
27#define LONHEXPRM 5 // Longitud del campo que contiene el tamaño de la cadena de parámetros
28#define LONGITUD_CABECERATRAMA 16       // Longitud de la cabecera de las tramas
29#define LONGITUD_PARAMETROS 8192        // Longitud estandar de la información de la trama (parámetros)
30#define MAXCMD_PARAMETROS  200  // Máximo número de parámetros de una trama
31
32#define MAXIMOS_CLIENTES        4000    // Máximo número de conexiones con ordenadores clientes
33#define MAXIMAS_FUNCIONES       LONSTD  // Máximo número de funciones que procesan los mensajes entre servicio y clientes
34
35#define CLIENTE_OCUPADO "BSY" // Cliente ocupado
36#define CLIENTE_APAGADO "OFF" // Cliente apagado
37#define CLIENTE_INICIANDO "INI" // Cliente iniciando
38
39#define ACCION_SINRESULTADO 0 // Sin resultado
40#define ACCION_EXITOSA  1 // Finalizada con éxito
41#define ACCION_FALLIDA  2 // Finalizada con errores
42
43#define ACCION_INICIADA 1 // Acción activa
44#define ACCION_DETENIDA 2 // Acción momentanemente parada
45#define ACCION_FINALIZADA 3 // Accion finalizada
46
47#define EJECUCION_COMANDO 1
48#define EJECUCION_PROCEDIMIENTO 2
49#define EJECUCION_TAREA 3
50#define EJECUCION_RESERVA 4
51
52#define AMBITO_CENTROS 0x01
53#define AMBITO_GRUPOSAULAS 0x02
54#define AMBITO_AULAS 0x04
55#define AMBITO_GRUPOSORDENADORES 0x08
56#define AMBITO_ORDENADORES 0x10
57
58#define ANNOREF 2009 // Año de referencia base
59
60#define PUERTO_WAKEUP   9 // Puerto wake up
61
62#define MAXHARDWARE 128 //       Máximos elementos hardware a detectar
63#define MAXSOFTWARE 8096 //      Máximos elementos software a detectar
64// ________________________________________________________________________________________________________
65// Tipos definidos
66// ________________________________________________________________________________________________________
67typedef unsigned long DWORD;
68typedef unsigned short  WORD;
69typedef int  BOOLEAN;
70typedef char BYTE;
71typedef int  SOCKET;
72typedef  void* LPVOID;
73
74#define TRUE 1
75#define FALSE 0
76
77extern char szPathFileCfg[4096],szPathFileLog[4096];
78extern int ndebug; // Nivel de debuger
79
80typedef struct{         // Estructura de las tramas
81        char arroba;    // Caracter arroba siempre
82        char identificador[14]; // Identificador de la trama, siempre JMMLCAMDJ_MCDJ
83        char tipo;      // Tipo de mensaje
84        long lonprm;    // Longitud en hexadecimal de los parámetros
85        char *parametros; // Parámetros de la trama
86}TRAMA;
87// ________________________________________________________________________________________________________
88// Prototipo de funciones
89// ________________________________________________________________________________________________________
90BOOLEAN validacionParametros(int,char**,int);
91char* reservaMemoria(int);
92char* ampliaMemoria(char*,int);
93void liberaMemoria(void*);
94BOOLEAN initParametros(TRAMA*,int);
95int splitCadena(char **,char *, char);
96char* StrToUpper(char *);
97void FINCADaINTRO(TRAMA*);
98char *tomaParametro(const char*,TRAMA*);
99char *copiaParametro(const char*,TRAMA *);
100BOOLEAN contieneIP(char *,char *);
101char* rTrim(char *);
102BOOLEAN enviaMensaje(SOCKET *,TRAMA *,char);
103BOOLEAN mandaTrama(SOCKET*,TRAMA*);
104BOOLEAN sendData(SOCKET *, char* ,int );
105BOOLEAN enviaTrama(SOCKET *,TRAMA *);
106TRAMA* recibeTrama(SOCKET*);
107char* escaparCadena(char *cadena);
108
109#include <stddef.h> /* for offsetof. */
110
111#define container_of(ptr, type, member) ({                      \
112        typeof( ((type *)0)->member ) *__mptr = (ptr);          \
113        (type *)( (char *)__mptr - offsetof(type,member) );})
114
115#include <stdbool.h>
116
117bool tomaConfiguracion(const char *filecfg);
Note: See TracBrowser for help on using the repository browser.