/* ***********************IMPORTANT *********************************************
 *  Copyright (C) 2004-2007 Thierry Lagarde <tlagarde@users.sourceforge.net>
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License.
 *
 *
 *                      ********************
 *
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Library General Public License for more details.
 *
 *
 *                      ********************
 *
 *
 * You are highly encouraged to send your changes to <tlagarde@users.sourceforge.net>
 * for possible incorporation into the main distribution.
 * By sending these changes to <tlagarde@users.sourceforge.net>,
 * it is assumed that you are offering <tlagarde@users.sourceforge.net>
 * the unlimited, non-exclusive right to reuse, modify, and relicense the code.
 *
 *
 *                      ********************
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 **************************************************************************************/
#ifndef         __COMMUN
#define         __COMMUN

#include <glib.h>
#include "../Reseau.h"
#include "../Liste_Equipement.h"
#include "../Declaration_Constante.h"

#if defined(__x86_64__) || defined(__powerpc64__) || defined(__sparc_v9__)
#define __WORDSIZE_COMPAT32 1
#endif

#define MAX_PORTS  30
#define TAILLE_MAX_VERSION_AGENT 34
#define TAILLE_MAX_DONNEE_BRUT 10000
#define TAILLE_MAX_CHAINE_INFO_PING_TIME 15
#define TAILLE_INFO_ERREUR_CRITIQUE 2000
#define TAILLE_INFO_LOG_EQUIPEMENT 1500
gint      Mon_Pid;


enum enum_Type_message {
	INFO = 0,
	WARNING,
	ERREUR
};

enum enum_ID_Info {
	AGENT_VERSION = 0,
	AJOUT_PORT,
	AJOUT_SIGNATURE,
	RESTAURATION_MACHINE,
	AJOUT_RESEAU_PRIVEE,
	DEMANDE_LISTE_INTERFACE,
	NOUVELLE_INTERFACE,
	FIN_LISTE_INTERFACE,
	DEMARRAGE_AGENT,
	DEMANDE_ARRET_AGENT,
	RETOUR_MESSAGE,
	RETOUR_ERREUR_CRITIQUE,
	INFO_AGENT,
	NOUVEAU_EQUIPEMENT,
	DEMANDE_NESSUS,
	DEMARRAGE_NESSUS,
	RETOUR_NESSUS_INFO,
	RETOUR_NESSUS_DONNEE,
	RETOUR_NESSUS_FIN,
	DEMANDE_RAFRAICHIR_ETAT_EQUIMEMENT,
	RETOUR_RAFRAICHIR_ETAT_EQUIMEMENT,
	DEMANDE_RAFRAICHIR_LISTE_PORTS,
	RETOUR_RAFRAICHIR_LISTE_PORTS,
	DEMANDE_RAFRAICHIR_ENREGISTREMENT_SAMBA,
	RETOUR_RAFRAICHIR_ENREGISTREMENT_SAMBA,
	DEMANDE_RAFRAICHIR_SIGNATURE,
	RETOUR_RAFRAICHIR_SIGNATURE,





	DEMANDE_NOTIFICATION_WARNING_ETAT_EQUIPEMENT,
	DEMANDE_NOTIFICATION_WARNING_ETAT_PORT,



	DEMANDE_NOTIFICATION_CRITIQUE_ETAT_EQUIPEMENT,
	DEMANDE_NOTIFICATION_CRITIQUE_ETAT_PORT,

	RETOUR_NOTIFICATION_CHANGEMENT_ETAT_EQUIPEMENT,
	RETOUR_NOTIFICATION_CHANGEMENT_ETAT_PORT,

	ANNULATION_NOTIFICATION_ETAT_EQUIPEMENT,
	ANNULATION_NOTIFICATION_ETAT_PORT,

	ACTIVE_ALERTE_INTRUS,
	DESACTIVE_ALERTE_INTRUS,
	ALERTE_INTRUS,	
	DEMANDE_MODIFIE_NIVEAU_DEBUG,
	RETOUR_LISTE_SNMP,
	DEMANDE_LANCEMENT_SCRIPT,
	RETOUR_SCRIPT,
	RETOUR_SCRIPT_TERMINER,
	DEMANDE_RAFRAICHIR_EQUIPEMENT,
	RETOUR_RAFRAICHIR_EQUIPEMENT,
	IP_RETROUVER,
	IP_PERDU,
	IP_MODIFIER,
	DEMANDE_LISTE_SNMP,
	DEL_GLIST_SNMP,
	DEMANDE_LISTE_SNMP_ALL,
	DEMANDE_WAKE_UP,
	DEMANDE_LOG_EQUIPEMENT,
	RETOUR_LOG_EQUIPEMENT,
	RETOUR_RAFRAICHIR_NOM_UTILISATEUR,
	AFFICHE_NOUVEAU_EQUIPEMENT,
	DEMANDE_SNMP_SCALAIRE,
	RETOUR_SNMP_SCALAIRE
};


struct struct_Info_TCP {
	gint      ID_Info;
	gint	  Taille_Donnee;
	gint	  Ckecksum;
	gchar     Donnee[TAILLE_MAX_DONNEE_BRUT];
};

struct struct_Info_Entete {
	gint      ID_Info;
	gint	  Taille_Donnee;
	gint	  Ckecksum;
};

struct struct_Ports {
	gint      Num_Port;
	time_t64  Derniere_Modification_Etat_Port;
	unsigned char Flags;
};

struct struct_Ports_Rafraichir {
	gint      Num_Port;
	time_t64  Derniere_Modification_Etat_Port;
	gboolean  Etat_Port;
	gboolean  Notification_Active;
	unsigned char Flags;
};

struct struct_Agent_Version {
	gchar     Version[TAILLE_MAX_VERSION_AGENT + 1];
	gint      pid;
	gint      Taille_Struct;
};

struct struct_Ajout_Port {
	gint      Num_Port;
	gboolean  Serveur;
};

struct struct_Ajout_Signature {
	gchar     Nom_Signature[20 + 1];
	gboolean  Requete_Netbios;
	gchar     Signature[32 + 1];
};

struct struct_Restauration_Machine {
	unsigned char Adresse_Ip_Char[15 + 1];
	unsigned char Adresse_MAC_Char[17 + 1];
	struct struct_Ports Port[MAX_PORTS];
	gboolean  Ip_Dynamic;
};

struct struct_Ajout_Reseau_Privee {
	gint      Masque;
	gint      A;
	gint      B;
	gint      C;
};

struct struct_Demande_Liste_Interface {
	gchar	  Rien; 
};

#define TAILLE_NOM_INTERFACE_STRUCT_NOUVELLE_INTERFACE 100
#define TAILLE_NOM_ID_STRUCT_NOUVELLE_INTERFACE 100
struct struct_Nouvelle_Interface {
	gchar     Interface[TAILLE_NOM_INTERFACE_STRUCT_NOUVELLE_INTERFACE];
	gchar     Ip[16];
};

struct struct_Fin_Liste_Interface {
	gchar	  Rien; 
};

struct struct_Demarrage_Agent {
	gint      ID_Reseau;
	gchar     nom[TAILLE_NOM_ID_STRUCT_NOUVELLE_INTERFACE];
	char      Interface[TAILLE_NOM_INTERFACE_STRUCT_NOUVELLE_INTERFACE];
	char      Communaute_Snmp[20];
	int       Nb_Thread_Max;
	gboolean  Autoriser_A_Scanner;
	gint      Niveau_Debugage;
	gboolean  Normal_Mode;
	gboolean  Ip_Dynamic;
};

struct struct_Demande_Arret_Agent {
	gint      ID_Reseau;
};

struct struct_Retour_Message {
	gint      ID_Reseau;
	gint      Type_message;
	gchar     File[100];
	gchar     Fonction[100];
	gint      Line;
	gchar     Message[255];
};


struct struct_Retour_Erreur_Critique {
	gint      ID_Reseau;
	gint      Type_message;
	gchar     Thread[100];
	gchar     Objet[100];
	gchar     Info[TAILLE_INFO_ERREUR_CRITIQUE];
};

struct struct_Info_Agent {
	gint      ID_Reseau;
	gint      Octet_Envoyer;
	gint      Octet_Recu;
	gint      Nb_Machine_Dans_La_Liste;
	gint      Nb_Machine_En_Cours_De_Scan;
	gint      Nb_Machine_En_Attente_De_Scan;
};

#define TAILLE_CHAINE_NOM_DNS 50
struct struct_Nouveau_Equipement {
	gint      ID_Reseau;
	gboolean  Agent_AutoScan;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	unsigned char Adresse_Ip_Char[15 + 1];
	unsigned char Adresse_MAC_Char[17 + 1];

	struct struct_Reponse Reponse_Signature[NB_SCAN_OS];
	gint      Port_Signature_Ouvert;  
	gint      Port_Signature_Fermer;
	struct struct_Reponse_debug Reponse_Signature_Debug[NB_SCAN_OS];
	char      Entete_FTP[500];
	gint  		 Temps_Scan_Service_Ftp;
	char      Entete_HTTP[500];
	gint  Temps_Scan_Service_Http;
	char      Entete_IMAP[500];
	gint  Temps_Scan_Service_Imap;
	char      Entete_SMTP[500];
	gint  		 Temps_Scan_Service_Smtp;
	char      Entete_SSH[500];
	gint  		 Temps_Scan_Service_Ssh;	
	char      Entete_TELNET[1000];
	gint  Temps_Scan_Service_Telnet; 
	struct struct_Smb Smb;
	struct struct_Ports Port_Ouvert[MAX_PORTS];
	struct struct_Ports Port_Fermer[MAX_PORTS];
	struct struct_Ports Port_Firewalled[MAX_PORTS];
	gint	  Liste_Etat_Udp[NB_PORT_UDP]; 
	int       Nb_Port_Total_Scanner;
	int       Nb_Port_Ouvert;
	int       Nb_Port_Fermer;
	int       Nb_Port_Firewaller;
	gboolean  Snmp_Ouvert;
	gchar     Nom_DNS[TAILLE_CHAINE_NOM_DNS + 1];
	struct Struct_Snmp Snmp;
	gboolean  GateWay;
	gboolean  Routage;
    
	gint  Temps_Scan_Complet; 
	gint  Temps_Resolv_DNS;
	gint  Temps_Scan_Port;
	gint  Temps_Scan_Port_Udp;
	gint  Temps_Scan_Signature;
	gint  Temps_Samba;
	gint  Temps_Scan_Snmp;
};

struct struct_Demande_Nessus {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	unsigned char Adresse_Client[15 + 1];
	unsigned char Adresse_Serveur[15 + 1];
	gchar     Utilisateur_Nessus[15];
	gchar     Password_Nessus[15];
};

struct struct_Demarrage_Nessus {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Nessus_Info {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gchar     Type[4 + 1];
	gchar     Info[255];
};

struct struct_Retour_Nessus_Donnee {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gchar     Info[255 + 1];
};

struct struct_Retour_Nessus_Fin {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Demande_Rachaichir_Etat_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Rachaichir_Etat_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gboolean  Equipement_Allumer;
	time_t64  Derniere_Modification_Etat_Equipement;
};

struct struct_Demande_Rachaichir_Liste_Ports {
};

struct struct_Retour_Rachaichir_Liste_Ports {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      Num_Port;
	gboolean  Etat_Port;
	time_t64  Derniere_Modification_Etat_Port;
};

struct struct_Demande_Rachaichir_Enregistrement_Samba {
};

struct struct_Retour_Rachaichir_Enregistrement_Samba {
};

struct struct_Demande_Rafraichir_Signature {
};

struct struct_Retour_Rachaichir_Signature {
};

struct struct_Demande_Notication_Warning_Etat_Equipement {
};

struct struct_Demande_Notication_Warning_Etat_Port {
};

struct struct_Demande_Notication_Critique_Etat_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Demande_Notication_Critique_Etat_Port {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      Num_Port;
};

struct struct_Retour_Notification_Changement_Etat_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Notification_Changement_Etat_Port {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      Num_Port;
};

struct struct_Annulation_Notification_Etat_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Annulation_Notification_Etat_Port {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      Num_Port;
};

struct struct_Active_Alerte_Intrus {
	gint      ID_Reseau;
};

struct struct_Desactive_Alerte_Intrus {
	gint      ID_Reseau;
};

struct struct_Alerte_Intrus {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Demande_Modifie_Niveau_Debug {
};


struct struct_Retour_Liste_SNMP {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      ID_Snmp;
	gboolean  Tout_Donnee_Transferer;
	struct struct_Info_Liste_Snmp Liste_Donnee[NB_MAX_LIGNE_LISTE_SNMP];
};

struct struct_Demande_Lancement_Script {
	gint      ID_Reseau;
	gchar     Script[255];
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Script {
	gint      ID_Reseau;
	gchar     Retour_Console[255];
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];;
};

struct struct_Retour_Script_Terminer {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Demande_Rafraichir_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Rafraichir_Equipement {
	gint      ID_Reseau;
	gboolean  Agent_AutoScan;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gboolean  Scan_Accompli;

	struct struct_Reponse Reponse_Signature[NB_SCAN_OS];
	gint      Port_Signature_Ouvert;  
	gint      Port_Signature_Fermer;
	struct struct_Reponse_debug Reponse_Signature_Debug[NB_SCAN_OS];
    char      Entete_FTP[500];
	gint  		 Temps_Scan_Service_Ftp;
	char      Entete_HTTP[500];
	gint  Temps_Scan_Service_Http;
	char      Entete_IMAP[500];
	gint  Temps_Scan_Service_Imap;
	char      Entete_SMTP[500];
	gint  		 Temps_Scan_Service_Smtp;
	char      Entete_SSH[500];
	gint  		 Temps_Scan_Service_Ssh;
	char      Entete_TELNET[1000];
	gint  Temps_Scan_Service_Telnet; 
	struct struct_Smb Smb;
	struct struct_Ports_Rafraichir Port_Ouvert[MAX_PORTS];
	struct struct_Ports Port_Fermer[MAX_PORTS];
	struct struct_Ports Port_Firewalled[MAX_PORTS];
	gint	  Liste_Etat_Udp[NB_PORT_UDP]; 
	int       Nb_Port_Total_Scanner;
	int       Nb_Port_Ouvert;
	int       Nb_Port_Fermer;
	int       Nb_Port_Firewaller;
	gboolean  Snmp_Ouvert;
	gchar     Nom_DNS[TAILLE_CHAINE_NOM_DNS + 1];
	gboolean  GateWay;
	gboolean  Routage;
    
	gint  Temps_Scan_Complet; 
	gint  Temps_Resolv_DNS;
	gint  Temps_Scan_Port;
	gint  Temps_Scan_Port_Udp;
	gint  Temps_Scan_Signature;
	gint  Temps_Samba;
	gint  Temps_Scan_Snmp;
};

struct struct_Ip_Retrouver {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Ip_Perdu {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Ip_Modifier {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	unsigned char Nouvelle_Adresse_Ip[4 + 1];
};

/*struct struct_Info_Ping_Time {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gchar     Info_Ping_Time[TAILLE_MAX_CHAINE_INFO_PING_TIME];
};*/

struct struct_Demande_Liste_SNMP {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      ID_Snmp;
};


struct struct_Del_Glist_SNMP {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gint      ID_Snmp;
};


struct struct_Demande_Liste_SNMP_All {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};


struct struct_Demande_WakeUp {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};


struct struct_Demande_Log_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_Log_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gchar     Info[TAILLE_INFO_LOG_EQUIPEMENT];
};

struct struct_Retour_Rafraichir_Nom_Utilisateur {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	unsigned char Utilisateur[16 + 1];
};

struct struct_Retour_Affiche_Nouveau_Equipement {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	gboolean  Intrus;
};

struct struct_Demande_SNMP_Scalaire {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
};

struct struct_Retour_SNMP_Scalaire {
	gint      ID_Reseau;
	unsigned char ID_Equipement[MAC_ADDR_LEN + IP_ADDR_LEN + 1];
	struct Struct_Snmp Snmp;
};

struct struct_ALL {
	struct struct_Info_TCP 			struct02;
	struct struct_Info_Entete 			struct03;
	struct struct_Ports 			struct04;
	struct struct_Ports_Rafraichir 			struct05;
	struct struct_Agent_Version 			struct06;
	struct struct_Ajout_Port 			struct07;
	struct struct_Ajout_Signature 			struct08;
	struct struct_Restauration_Machine 			struct09;
	struct struct_Ajout_Reseau_Privee 			struct10;
	struct struct_Demande_Liste_Interface 			struct11;
	struct struct_Nouvelle_Interface 			struct12;
	struct struct_Fin_Liste_Interface 			struct13;
	struct struct_Demarrage_Agent 			struct14;
	struct struct_Demande_Arret_Agent 			struct15;
	struct struct_Retour_Message 			struct16;
	struct struct_Retour_Erreur_Critique 			struct17;
	struct struct_Info_Agent 			struct18;
	struct struct_Nouveau_Equipement 			struct19;
	struct struct_Demande_Nessus  			struct20;
	struct struct_Demarrage_Nessus 			struct21;
	struct struct_Retour_Nessus_Info 			struct22;
	struct struct_Retour_Nessus_Donnee 			struct23;
	struct struct_Retour_Nessus_Fin 			struct24;
	struct struct_Demande_Rachaichir_Etat_Equipement 			struct25;
	struct struct_Retour_Rachaichir_Etat_Equipement 			struct26;
	struct struct_Demande_Rachaichir_Liste_Ports 			struct27;
	struct struct_Retour_Rachaichir_Liste_Ports 			struct28;
	struct struct_Demande_Rachaichir_Enregistrement_Samba 			struct29;
	struct struct_Retour_Rachaichir_Enregistrement_Samba 			struct30;
	struct struct_Demande_Rafraichir_Signature 			struct31;
	struct struct_Retour_Rachaichir_Signature 			struct32;
	struct struct_Demande_Notication_Warning_Etat_Equipement 			struct33;
	struct struct_Demande_Notication_Warning_Etat_Port 			struct34;
	struct struct_Demande_Notication_Critique_Etat_Equipement 			struct35;
	struct struct_Demande_Notication_Critique_Etat_Port 			struct36;
	struct struct_Retour_Notification_Changement_Etat_Equipement 			struct37;
	struct struct_Retour_Notification_Changement_Etat_Port 			struct38;
	struct struct_Annulation_Notification_Etat_Equipement 			struct39;
	struct struct_Annulation_Notification_Etat_Port 			struct40;
	struct struct_Active_Alerte_Intrus  			struct41;
	struct struct_Desactive_Alerte_Intrus 			struct42;
	struct struct_Alerte_Intrus 			struct43;
	struct struct_Demande_Modifie_Niveau_Debug 			struct44;
	struct struct_Retour_Liste_SNMP 			struct45;
	struct struct_Demande_Lancement_Script 			struct46;
	struct struct_Retour_Script 			struct47;
	struct struct_Retour_Script_Terminer 			struct48;
	struct struct_Demande_Rafraichir_Equipement 			struct49;
	struct struct_Retour_Rafraichir_Equipement 			struct50;
	struct struct_Ip_Retrouver 			struct51;
	struct struct_Ip_Perdu 			struct52;
	struct struct_Ip_Modifier 			struct53;
	struct struct_Demande_Liste_SNMP 			struct55;
	struct struct_Del_Glist_SNMP 			struct56;
	struct struct_Demande_Liste_SNMP_All 			struct57;
	struct struct_Demande_WakeUp  			struct58;
	struct struct_Demande_Log_Equipement struct59;
	struct struct_Retour_Log_Equipement struct60;
	struct struct_Retour_Rafraichir_Nom_Utilisateur struct61;
	struct struct_Retour_Affiche_Nouveau_Equipement  struct62;
	struct struct_Demande_SNMP_Scalaire   struct63;
	struct struct_Retour_SNMP_Scalaire   struct64;
};


void      Communication_Envoie_Donnee (gint ID_Info, gpointer * Donnee, gint Taille_Donnee);
gint Calculer_Ckecksum(gint *Donnee, gint Taille_Donnee);
#endif
