/* * ------------------------------------------------------------------- * (c) 2001 GIE SESAM-VITALE * * PROJET : Services de Gestion de Donnees * * FICHIER : sgd.h (v4) * * Declaration des prototypes des fonctions SGD pour les progiciels. * ------------------------------------------------------------------- */ #ifndef __SGD_H__ #define __SGD_H__ #ifdef __cplusplus extern "C" { #endif /* * Inclusions */ #include #include "mc_sys_def.h" /* Reservation d'un session d'echange. */ extern unsigned short API_ENTRY SGD_ReserverSession (size_t Taille, unsigned short* NumeroSession); /* Redimensionnement d'une zone d'entree interne. */ extern unsigned short API_ENTRY SGD_RedimensionnerBuffer (unsigned short NumeroSession, size_t NouvelleTaille); /* Liberation d'une session d'echange. */ extern unsigned short API_ENTRY SGD_LibererSession (unsigned short NumeroSession); /* Ajout d'un groupe. */ extern unsigned short API_ENTRY SGD_AjouterGroupe (unsigned short NumeroSession, unsigned short IdGroupe); /* Ajout d'un champ. */ extern unsigned short API_ENTRY SGD_AjouterChamp (unsigned short NumeroSession, const char* ValeurChamp); /* Ajout d'un champ d'octets. */ extern unsigned short API_ENTRY SGD_AjouterChampBin (unsigned short NumeroSession, const char* ValeurChamp, size_t TailleChamp); /* Ajout d'un champ d'octets d'un Fichier. */ extern unsigned short API_ENTRY SGD_AjouterChampFichier (unsigned short NumeroSession, const char* NomFichier); /* Lecture du numero du groupe suivant. */ extern unsigned short API_ENTRY SGD_LireGroupeSuivant (unsigned short NumeroSession, unsigned short IdGroupeCourant, unsigned short OccurrenceGroupeCourant, unsigned short* IdGroupeSuivant, unsigned short* OccurrenceGroupeSuivant); /* Lecture d'un champ. */ extern unsigned short API_ENTRY SGD_LireChamp (unsigned short NumeroSession, unsigned short IdGroupe, unsigned short OccurrenceGroupe, unsigned short NumeroChamp, char* ValeurChamp, size_t* TailleMax); /* Lecture d'un champ d'octets. */ extern unsigned short API_ENTRY SGD_LireChampBin (unsigned short NumeroSession, unsigned short IdGroupe, unsigned short OccurrenceGroupe, unsigned short NumeroChamp, char* ValeurChamp, size_t* TailleMax); /* Lecture d'un champ vers un fichier. */ extern unsigned short API_ENTRY SGD_LireChampFichier (unsigned short NumeroSession, unsigned short IdGroupe, unsigned short OccurrenceGroupe, unsigned short NumeroChamp, const char* NomFichier); /* Activation de la trace. */ extern unsigned short API_ENTRY SGD_InitTrace (const char* NomFichier, const char* ModeOuverture, unsigned short Module, unsigned char Niveau); /*Initialisation de SGD*/ unsigned short API_ENTRY SGD_Init(const char *fichierSesam); /* Transmission de la zone d'entrée. */ extern unsigned short API_ENTRY SGD_LireZoneIn(unsigned short NumeroSession, void** ZDonneesEntree, size_t* TailleDonneesEntree); /* Transmission de la zone de sortie. */ typedef void (API_ENTRY *LibererZoneMem) (void* Zone); extern unsigned short API_ENTRY SGD_EcrireZoneOut(unsigned short NumeroSession, void* ZDonneesSortie, size_t TailleDonneesSortie, LibererZoneMem Fonction); #ifdef __cplusplus } #endif #endif