source: ogServer-Git/src/ogAdmLib.h @ 5a3fd51

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

#988 remove legacy configuration file

Add getopt parser and use json configuration file instead.

  • Property mode set to 100644
File size: 4.8 KB
RevLine 
[cf7bbda]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 MAXIMAS_FUNCIONES       LONSTD  // Máximo número de funciones que procesan los mensajes entre servicio y clientes
33
34#define CLIENTE_OCUPADO "BSY" // Cliente ocupado
35#define CLIENTE_APAGADO "OFF" // Cliente apagado
36#define CLIENTE_INICIANDO "INI" // Cliente iniciando
37
38#define ACCION_SINRESULTADO 0 // Sin resultado
39#define ACCION_EXITOSA  1 // Finalizada con éxito
40#define ACCION_FALLIDA  2 // Finalizada con errores
41
42#define ACCION_INICIADA 1 // Acción activa
43#define ACCION_DETENIDA 2 // Acción momentanemente parada
44#define ACCION_FINALIZADA 3 // Accion finalizada
45
46#define EJECUCION_COMANDO 1
47#define EJECUCION_PROCEDIMIENTO 2
48#define EJECUCION_TAREA 3
49#define EJECUCION_RESERVA 4
50
51#define AMBITO_CENTROS 0x01
52#define AMBITO_GRUPOSAULAS 0x02
53#define AMBITO_AULAS 0x04
54#define AMBITO_GRUPOSORDENADORES 0x08
55#define AMBITO_ORDENADORES 0x10
56
57#define ANNOREF 2009 // Año de referencia base
58
59#define PUERTO_WAKEUP   9 // Puerto wake up
60
61#define MAXHARDWARE 128 //       Máximos elementos hardware a detectar
62#define MAXSOFTWARE 8096 //      Máximos elementos software a detectar
63// ________________________________________________________________________________________________________
64// Tipos definidos
65// ________________________________________________________________________________________________________
66typedef unsigned long DWORD;
67typedef unsigned short  WORD;
68typedef int  BOOLEAN;
69typedef char BYTE;
70typedef int  SOCKET;
71typedef  void* LPVOID;
72
73#define TRUE 1
74#define FALSE 0
75
76typedef struct{         // Estructura de las tramas
77        char arroba;    // Caracter arroba siempre
78        char identificador[14]; // Identificador de la trama, siempre JMMLCAMDJ_MCDJ
79        char tipo;      // Tipo de mensaje
80        long lonprm;    // Longitud en hexadecimal de los parámetros
81        char *parametros; // Parámetros de la trama
82}TRAMA;
83// ________________________________________________________________________________________________________
84// Prototipo de funciones
85// ________________________________________________________________________________________________________
86int splitCadena(char **,char *, char);
87char* StrToUpper(char *);
88void FINCADaINTRO(TRAMA*);
89char *tomaParametro(const char*,TRAMA*);
90char *copiaParametro(const char*,TRAMA *);
91BOOLEAN contieneIP(char *,char *);
92char* rTrim(char *);
93BOOLEAN enviaMensaje(SOCKET *,TRAMA *,char);
94BOOLEAN enviaTrama(SOCKET *,TRAMA *);
95TRAMA* recibeTrama(SOCKET*);
96char* escaparCadena(char *cadena);
97
98#include <stddef.h> /* for offsetof. */
99
100#define container_of(ptr, type, member) ({                      \
101        typeof( ((type *)0)->member ) *__mptr = (ptr);          \
102        (type *)( (char *)__mptr - offsetof(type,member) );})
Note: See TracBrowser for help on using the repository browser.