/* %----------------------------------------------------------------------------- % PROJET : STS INTERFACE % % MODULE : HEADER STS INTERFACE % % VERSION : cf #define ci-après % % FICHIER : sts.h % % Déclaration des prototypes des fonctions STS - INTERFACE %----------------------------------------------------------------------------- % % EDS DHU - 09/04/03 - Création du .h % % EDS OCL - 06/06/03 - Defect 91 : Rectification du prototype de InitTrace() % % EDS OCL - 04/07/03 - Defect 115 : Nettoyage de stsitf.h (devenu sts.h) % %----------------------------------------------------------------------------- */ #ifndef __STSITF_H #define __STSITF_H #define __STSITF_VERSION "0103" /* Ne pas oublier d'impacter idef.h aussi */ #ifdef __cplusplus extern "C" { #endif /* % Bibliothèques ANSI ou système %------------------------------ */ /* % Fichiers h inclus %------------------ */ #include "sys_dep.h" /* % Macros et Constantes %--------------------- */ /* OCL - Defect 115 : Suppression du #define G_xxx ici même */ /* OCL - Defect 115 : Suppression du second #ifdef _cplusplus ici même */ /********************************************************************************* ************************* Fonctions réentrantes ********************************* *********************************************************************************/ /* %----------------------------------------------------------------------------- % STS_Tarification % % Rôle : Tarification de la part complémentaire des actes de la facture % % Paramètres d'entrée : % MotifAppel (char) : 1er appel ('P') ou Appel sur echec de % tarification ('E'). % ZDonneesEntree (void*) : Zone d'échange fournie par le Progiciel % contenant toutes les informations sur la facture % TailleDonneesEntree (size_t) : Taille de la zone d'échange Zin % % Paramètres de sortie : % ZDonneesSortie (void**) : Zone d'échange fournie par le module STS appelé % contenant toutes les informations modifiées de la facture % en entrée et de nouvelles informations. % TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout % % Valeur retournée : % OK si pas d'erreur % ERR_STS_NON_INITIALISE si module STS non initialisé % et les codes d'erreurs de la tarification du module STS appelé % %----------------------------------------------------------------------------- */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef unsigned short (API_ENTRY FARPTR STS_Tarification)(char MotifAppel, void FARPTR ZDonneesEntree, size_t TailleDonneesEntree, void FARPTR FARPTR ZDonneesSortie, size_t FARPTR TailleDonneesSortie); /* Fonction simplifiée */ /* OCL - Defect 115 : Remplacement STS_SIM par SGD */ #ifdef SGD typedef unsigned short (API_ENTRY FARPTR STS_Tarification_S)(char MotifAppel, unsigned short NumeroSession); #endif /* %----------------------------------------------------------------------------- % STS_Assistance % % Rôle : Assistance à la facturation. % % Paramètres d'entrée : % MotifAppel (char) : 1er appel ('P') ou Appel sur echec de % tarification ('E'). % PorteeAppel (ushort) : 0 pour une assistance sur toute la facture. % 1..n pour une assistance sur un acte de rang donné /zone % ZDonneesEntree (void*) : Zone d'échange fournie par le Progiciel % contenant toutes les informations sur la facture % TailleDonneesEntree (size_t) : Taille de la zone d'échange Zin % % Paramètres de sortie : % ZDonneesSortie (void**) : Zone d'échange fournie par le module STS appelé % TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout % % Valeur retournée : (idem Tarification) % OK si pas d'erreur % ERR_STS_NON_INITIALISE si module STS non initialisé % et les codes d'erreurs de la tarification du module STS appelé % %----------------------------------------------------------------------------- */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef unsigned short (API_ENTRY FARPTR STS_Assistance)(char MotifAppel, unsigned short PorteeAppel, void FARPTR ZDonneesEntree, size_t TailleDonneesEntree, void FARPTR FARPTR ZDonneesSortie, size_t FARPTR TailleDonneesSortie); /* Fonction simplifiée */ #ifdef SGD typedef unsigned short (API_ENTRY FARPTR STS_Assistance_S)(char MotifAppel, unsigned short PorteeAppel, unsigned short NumeroSession); #endif /* %----------------------------------------------------------------------------- % STS_LireVersion % % Rôle : Lecture de la version de ce module et du fichier de ces tables externes % dans le groupe 3780. Appeller la lecture de version de chaque module STS % puis recopier la réponse 3780 de chacun dans la zone de sortie. % % Paramètres d'entrée : aucun % % Paramètres de sortie : % ZDonneesSortie (void**) : Zone d'échange fournie par ce module % contenant les versions (grp 3780) demandées. % TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout % % Valeur retournée : % OK si pas d'erreur % ERR_STS_NON_INITIALISE si module STS non initialisé % ERR_ZOUT si ZDonneesSortie==NULL ou TailleDonneesSortie==NULL % ERR_ZONE_ALLOC si mémoire insuffisante pour allouer la Zout % %----------------------------------------------------------------------------- */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef unsigned short (API_ENTRY FARPTR STS_LireVersion)(void FARPTR FARPTR ZDonneesSortie, size_t FARPTR TailleDonneesSortie); /* Fonction simplifiée */ #ifdef SGD typedef unsigned short (API_ENTRY FARPTR STS_LireVersion_S)(unsigned short NumeroSession); #endif /* %----------------------------------------------------------------------------- % STS_InitTrace % % Rôle : Initialisation des traces du module STS-Interface dans un fichier log. % Cette fonction permet d'activer ou désactiver (niveau 0) les % traces. Une activation requiert un nom de fichier et un mode % d'ouverture. Un changement de niveau peut se faire sur le même % fichier ou sur un différent s'il est précisé en entrée % % Paramètres d'entrée : % NomFichier (char*) : Chemin et nom de fichier de trace % ModeOuverture (char*) : Mode d'ouverture du fichier de trace % "a", "w" (,"ab", "wb"). % Module (ushort) : n° de module 0 à 5 (6=TOUS) % Niveau (uchar) : Niveau de trace : 0 signifie pas de trace, 1 % signifie traces de profondeur 8 et >=2 signifie traces sans limite % de profondeur et activation traces module STS_SI % % Paramètres de sortie : aucun % % Valeur retournée : % OK si pas d'erreur % ERR_PARAM si NomFichier/ModeOuverture incorrect quand Niveau > 0 % ERR_TRACE_FILE si erreur d'ouverture du fichier de trace % %----------------------------------------------------------------------------- */ /* OCL - Defect 91 : Rectification du prototype de InitTrace() */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef unsigned short (API_ENTRY FARPTR STS_InitTrace)(const char FARPTR pathConf, const char FARPTR ModeOuverture, unsigned short Module, unsigned char Niveau); /********************************************************************************* ************************* Fonctions d'initialisation et de terminaison ********* *********************************************************************************/ /* %----------------------------------------------------------------------------- % STS_InitLIB % % Rôle : Initialisation du module STS-Interface : Chargement des tables externes % et suivi de parc. Appel de l'nitialisation de chaque module STS % % Paramètres d'entrée : aucun % % Paramètres de sortie : aucun % % Valeur retournée : % OK si pas d'erreur % ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) % ERR_MEM_DISPO si plus de mémoire disponible % ERR_PKG_PATH_INI si le chemin d'accès au fichier binaire est % inconnu (fichier de configuration inaccessible ou information % manquante) % ERR_ITF_PKG_ACCES si fichier binaire de table inaccessible % ERR_ITF_PKG_VER si version du fichier incohérent avec version du % module STS-Interface (dans les deux sens) % ERR_ITF_PKG_CRC si CRC du fichier binaire est incorrect % ERR_ITF_PKG_FORME si format du fichier incorrect % ERR_ITF_PKG_INCPT s'il manque une table dans le fichier binaire % ERR_ITF_PKG_NOM si le nom du fichier est différent du nom dans % l'en-tête du fichier. % les codes suivants ne sont pas des erreurs fatales (non bloquant) % mais juste des avertissements % WAR_STS_DEJA_INITIALISE si module déjà initialisé % WAR_ADM_PATH si chemin au suivi de parc non trouvé dans fichier % de configuration des produits SV % WAR_ADM_FILE si impossible de créer les fichiers de suivi de % parc % ET les codes de retour de chaque module STS appelé % %----------------------------------------------------------------------------- */ /* extern unsigned short API_ENTRY STS_InitLIB(); */ /* %----------------------------------------------------------------------------- % STS_InitLIB2 % % Rôle : Initialisation du module STS-Interface : Chargement des tables externes % et suivi de parc. Appel de l'nitialisation de chaque module STS % % Paramètres d'entrée : % NomFichierIni (char*) : Chemin et nom du fichier de configuration des % produits SESAM Vitale du poste de travail (sesam.ini) % % Paramètres de sortie : aucun % % Valeur retournée : % OK si pas d'erreur % ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) % ERR_MEM_DISPO si plus de mémoire disponible % ERR_PKG_PATH_INI si le chemin d'accès au fichier binaire est % inconnu (fichier de configuration inaccessible ou information % manquante) % ERR_ITF_PKG_ACCES si fichier binaire de table inaccessible % ERR_ITF_PKG_VER si version du fichier incohérent avec version du % module STS-Interface (dans les deux sens) % ERR_ITF_PKG_CRC si CRC du fichier binaire est incorrect % ERR_ITF_PKG_FORME si format du fichier incorrect % ERR_ITF_PKG_INCPT s'il manque une table dans le fichier binaire % ERR_ITF_PKG_NOM si le nom du fichier est différent du nom dans % l'en-tête du fichier. % les codes suivants ne sont pas des erreurs fatales (non bloquant) % mais juste des avertissements % WAR_STS_DEJA_INITIALISE si module déjà initialisé % WAR_ADM_PATH si chemin au suivi de parc non trouvé dans fichier % de configuration des produits SV % WAR_ADM_FILE si impossible de créer les fichiers de suivi de % parc % ET les codes de retour de chaque module STS appelé % %----------------------------------------------------------------------------- */ typedef unsigned short (API_ENTRY FARPTR STS_InitLIB2)(const char FARPTR nomFichierIni); /* %----------------------------------------------------------------------------- % STS_TermLIB % % Rôle : Terminaison du module STS-Interface : Déchargement des tables externes. % % Paramètres d'entrée : aucun % % Paramètres de sortie : aucun % % Valeur retournée : % OK si pas d'erreur % ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) % %----------------------------------------------------------------------------- */ typedef unsigned short (API_ENTRY FARPTR STS_TermLIB)(void); /********************************************************************************* ************************* Fonctions de gestion de la mémoire ******************* *********************************************************************************/ /* %----------------------------------------------------------------------------- % STS_AllouerZoneMem % % Rôle : Allocation d'une zone d'échange de sortie par STS Interface. % Cette fonction permet la réallocation d'une zone d'échange. % L'allocation d'une nouvelle zone d'échange nécessite un pointeur % NULL en entrée ! % Cette fonctio est à utiliser conjointement avec STS_LibererZoneMem % pour faciliter le Debugage (zone allouée par l'écrivain) % % Paramètres d'entrée : % Taille (size_t) : Taille de la zone d'échange à allouer. % % Paramètres d'entrée et de sortie : % Zone (void**) : Zone d'échange préallouée en entrée (ou NULL). % Zone allouée (réallouée) par le module STS-Interface. % % Valeur retournée : % OK si pas d'erreur % ERR_ZOUT si Zone==NULL ou Taille==0 % ERR_ZONE_ALLOC si plus de mémoire disponible % %----------------------------------------------------------------------------- */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef unsigned short (API_ENTRY FARPTR STS_AllouerZoneMem)(void FARPTR FARPTR Zone, size_t Taille); /* %----------------------------------------------------------------------------- % STS_LibererZoneMem % % Rôle : Libération de la zone d'échange de sortie par STS Interface. % % Paramètres d'entrée : % Zone (void*) : Zone d'échange à libérer (allouée précédemment par % le module STS-Interce par STS_AllouerZoneMem). % % Paramètres de sortie : aucun % % Valeur retournée : aucune % %----------------------------------------------------------------------------- */ /* OCL - Defect 115 : Remplacement PTR par FARPTR */ typedef void (API_ENTRY FARPTR STS_LibererZoneMem)(void FARPTR Zone); #ifdef __cplusplus } #endif #endif /* __STSITF_H */