/*------------------------------------------------------------------- Fichier : $monmodule$.e Objet : En-tete de $monmodule$ Module : $Mon Module$ Auteur-Date : DUVAL-Jean-Pierre - Novembre 2003. --------------------------------------------------------------------- Observations Substituer $monmodule$ par le nom du module en minuscule -> upskrn. Substituer $MonModule$ par le nom du module en maj/minuscule -> UpsKrn. Substituer $Mon Module$ par le libelle du module -> Up ! Kernel. ---------------------------------------------------------------------*/ /**********************************/ #if !defined(PasseModule$MonModule$) /**********************************/ #define PasseModule$MonModule$ 1 /**********************/ #if defined(__cplusplus) /**********************/ extern "C" { /****/ #endif /****/ #define UpsCon$MonModule$_1 123 /* Constante : A */ #define UpsCon$MonModule$_2 123.456 /* Constante : B */ /*--------------------*/ /* Enumere A */ /*--------------------*/ #define UpsEnu$MonModule$_1_1 1 /* Valeur : A */ #define UpsEnu$MonModule$_1_2 2 /* Valeur : B */ /*--------------------*/ /* Enumere B */ /*--------------------*/ #define UpsEnu$MonModule$_2_1 1 /* Valeur : A */ #define UpsEnu$MonModule$_2_2 2 /* Valeur : B */ /****************************************************************/ typedef struct upstyp$monmodule$_1_1_0_0 /* Objet : Proprietes du type A. */ /****************************************************************/ { TypUpsVmUnsignedChar UpsChamp1; /* A:Enumere. */ TypUpsVmLong UpsChamp2; /* B:Entier. */ TypUpsVmDouble UpsChamp3; /* C:Reel. */ TypUpsVmAdresse UpsChamp4; /* D:Caractere. */ TypUpsVmAdresse UpsChamp5; /* E:Objet. */ } UpsTyp$MonModule$_1_1_0_0; /****************************************************************/ typedef struct typprm$monmodule$_1_5_1 /* Objet : A.P(A:Enumere, B:Entier, C:Reel, D:Caractere, */ /* E:Objet); */ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_1_5_1; /****************************************************************/ typedef struct typprm$monmodule$_1_6_1 /* Objet : A.F(A:Enumere, B:Entier, C:Reel, D:Caractere, */ /* E:Objet) Retourner Objet; */ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_1_6_1; /****************************************************************/ typedef struct upstrttyp$monmodule$_1_1_0_0 /* Objet : Methodes du type A. */ /****************************************************************/ { TypUpsVmEnteteMethodes EnteteMethodes; /* Entete des methodes. */ TypUpsVmVoid UpsVmAPI (*Trt_5_1)(TypUpsVmSession *Session, TypUpsVmAdresse *AdresseObjet, TypPrm$MonModule$_1_5_1 *UpsPrm); /* Procedure A.P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmAdresse UpsVmAPI *(*Trt_6_1)(TypUpsVmSession *Session, TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *AdresseObjet, TypPrm$MonModule$_1_6_1 *UpsPrm); /* Fonction A.F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ TypUpsVmCoAppel CoTrt_1_1; /* Procedure A.P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmCoAppel CoTrt_2_1; /* Fonction A.F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ } UpsTrtTyp$MonModule$_1_1_0_0; /*--------------------------------------------------------------*/ /* La version courante est la 1.0.0. */ /*--------------------------------------------------------------*/ typedef UpsTyp$MonModule$_1_1_0_0 UpsTyp$MonModule$_1; typedef UpsTrt$MonModule$_1_1_0_0 UpsTrt$MonModule$_1; /****************************************************************/ typedef struct upstyp$monmodule$_2_1_0_0 /* Objet : Proprietes du type B. */ /****************************************************************/ { TypUpsVmUnsignedChar UpsChamp1; /* A:Enumere. */ TypUpsVmLong UpsChamp2; /* B:Entier. */ TypUpsVmDouble UpsChamp3; /* C:Reel. */ TypUpsVmAdresse UpsChamp4; /* D:Caractere. */ TypUpsVmAdresse UpsChamp5; /* E:Objet. */ } UpsTyp$MonModule$_2_1_0_0; /****************************************************************/ typedef struct typprm$monmodule$_2_5_1 /* Objet : B.P(A:Enumere, B:Entier, C:Reel, D:Caractere, */ /* E:Objet); */ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_2_5_1; /****************************************************************/ typedef struct typprm$monmodule$_2_6_1 /* Objet : B.F(A:Enumere, B:Entier, C:Reel, D:Caractere, */ /* E:Objet) Retourner Objet; */ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_2_6_1; /****************************************************************/ typedef struct upstrttyp$monmodule$_2_1_0_0 /* Objet : Methodes du type B. */ /****************************************************************/ { TypUpsVmEnteteMethodes EnteteMethodes; /* Entete des methodes. */ TypUpsVmVoid UpsVmAPI (*Trt_5_1)(TypUpsVmSession *Session, TypUpsVmAdresse *AdresseObjet, TypPrm$MonModule$_2_5_1 *UpsPrm); /* Procedure B.P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmAdresse UpsVmAPI *(*Trt_6_1)(TypUpsVmSession *Session, TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *AdresseObjet, TypPrm$MonModule$_2_6_1 *UpsPrm); /* Fonction B.F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ TypUpsVmCoAppel CoTrt_1_1; /* Procedure B.P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmCoAppel CoTrt_2_1; /* Fonction B.F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ } UpsTrtTyp$MonModule$_2_1_0_0; /*--------------------------------------------------------------*/ /* La version courante est la 1.0.0. */ /*--------------------------------------------------------------*/ typedef UpsTyp$MonModule$_2_1_0_0 UpsTyp$MonModule$_2; typedef UpsTrt$MonModule$_2_1_0_0 UpsTrt$MonModule$_2; /****************************************************************/ typedef struct typ$monmodule$donnees /* Objet: Interface des donnees de $Mon Module$. */ /****************************************************************/ { TypUpsVmEnteteDonneesModule EnteteDonneesModule; /* Entete generique du module. */ } *Typ$MonModule$Donnees; /****************************************************************/ typedef struct typprm$monmodule$_1_1 /* Objet : P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet);*/ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_1_1; /****************************************************************/ typedef struct typprm$monmodule$_2_1 /* Objet : F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) */ /* Retourner Objet; */ /****************************************************************/ { TypUpsVmUnsignedChar UpsVar1; /* A:Enumere. */ TypUpsVmLong UpsVar2; /* B:Entier. */ TypUpsVmDouble UpsVar3; /* C:Reel. */ TypUpsVmAdresse UpsVar4; /* D:Caractere. */ TypUpsVmAdresse UpsVar5; /* E:Objet. */ } TypPrm$MonModul$_2_1; /****************************************************************/ typedef struct typ$monmodule$traitements_1_0_0 /* Objet: Interface des traitements de $Mon Module$. */ /****************************************************************/ { TypUpsVmEnteteMethodesModule EnteteMethodesModule; /* Methodes generiques au module. */ /*--------------------------------------------------------------*/ /* Procedures et fonctions. */ /*--------------------------------------------------------------*/ TypUpsVmVoid UpsVmAPI (*Trt_1_1)(TypUpsVmSession *Session, TypPrm$MonModule$_1_1 *UpsPrm); /* Procedure P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmAdresse UpsVmAPI *(*Trt_2_1)(TypUpsVmSession *Session, TypUpsVmAdresse *AdresseResultat, TypPrm$MonModule$_2_1 *UpsPrm); /* F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ TypUpsVmCoAppel CoTrt_1_1; /* Procedure P(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet); */ TypUpsVmCoAppel CoTrt_2_1; /* F(A:Enumere, B:Entier, C:Reel, D:Caractere, E:Objet) Retourner Objet; */ /*--------------------------------------------------------------*/ /* Tables des methodes. */ /*--------------------------------------------------------------*/ UpsTrtTyp$MonModule$_1 *UpsTrt1; /* Methodes du type A. */ UpsTrtTyp$MonModule$_2 *UpsTrt2; /* Methodes du type B. */ /*--------------------------------------------------------------*/ /* Types et interfaces. */ /*--------------------------------------------------------------*/ TypUpsVmAdresse UpsVmAPI *(*UpsType1_get)(TypUpsVmSession *Session); /* Type A. */ TypUpsVmLong UpsVmAPI (*UpsIndex1_get)(TypUpsVmSession *Session, TypUpsVmShort Numero); /* Type A. */ TypUpsVmAdresse UpsVmAPI *(*UpsType2_get)(TypUpsVmSession *Session); /* Type B. */ TypUpsVmLong UpsVmAPI (*UpsIndex2_get)(TypUpsVmSession *Session, TypUpsVmShort Numero); /* Type B. */ /*--------------------------------------------------------------*/ /* Variables globales. */ /*--------------------------------------------------------------*/ TypUpsVmUnsignedChar UpsVmAPI (*UpsVar1_get)(TypUpsVmSession *Session); /* A:Enumere. */ TypUpsVmVoid UpsVmAPI (*UpsVar1_set)(TypUpsVmSession *Session, TypUpsVmUnsignedChar UpsPrm); /* A:Enumere. */ TypUpsVmLong UpsVmAPI (*UpsVar2_get)(TypUpsVmSession *Session); /* B:Enumere. */ TypUpsVmVoid UpsVmAPI (*UpsVar2_set)(TypUpsVmSession *Session, TypUpsVmLong UpsPrm, enum EnuUpsVmOperateur Operateur); /* B:Enumere. */ TypUpsVmLong UpsVmAPI (*UpsVar2_inc)(TypUpsVmSession *Session, TypUpsVmChar Incrementer, TypUpsVmChar Prefixe); /* B. */ TypUpsVmDouble UpsVmAPI (*UpsVar3_get)(TypUpsVmSession *Session); /* C:Enumere. */ TypUpsVmVoid UpsVmAPI (*UpsVar3_set)(TypUpsVmSession *Session, TypUpsVmDouble UpsPrm, enum EnuUpsVmOperateur Operateur); /* C:Enumere. */ TypUpsVmDouble UpsVmAPI (*UpsVar3_inc)(TypUpsVmSession *Session, TypUpsVmChar Incrementer, TypUpsVmChar Prefixe); /* C. */ TypUpsVmAdresse UpsVmAPI *(*UpsVar4_get)(TypUpsVmSession *Session); /* D:Caractere. */ TypUpsVmVoid UpsVmAPI (*UpsVar4_set)(TypUpsVmSession *Session, TypUpsVmAdresse *UpsPrm); /* D:Caractere. */ TypUpsVmAdresse UpsVmAPI *(*UpsVar5_get)(TypUpsVmSession *Session); /* E:Objet. */ TypUpsVmVoid UpsVmAPI (*UpsVar5_set)(TypUpsVmSession *Session, TypUpsVmAdresse *UpsPrm); /* E:Objet. */ /*--------------------------------------------------------------*/ /* Exceptions. */ /*--------------------------------------------------------------*/ TypUpsVmAdresse UpsVmAPI *(*UpsException1_get)(TypUpsVmSession *Session); /* Exception A. */ TypUpsVmAdresse UpsVmAPI *(*UpsException2_get)(TypUpsVmSession *Session); /* Exception B. */ /*--------------------------------------------------------------*/ /* Files d'attente. */ /*--------------------------------------------------------------*/ TypUpsVmAdresse UpsVmAPI *(*UpsFileDAttente1_get)(TypUpsVmSession *Session); /* File d'attente A. */ TypUpsVmAdresse UpsVmAPI *(*UpsFileDAttente2_get)(TypUpsVmSession *Session); /* File d'attente B. */ /*--------------------------------------------------------------*/ /* Entrepots. */ /*--------------------------------------------------------------*/ TypUpsVmAdresse UpsVmAPI *(*UpsEntrepot1_get)(TypUpsVmSession *Session); /* Entrepot A. */ TypUpsVmUnsignedShort UpsVmAPI (*UpsNumeroEntrepot1_get)(TypUpsVmSession *Session); /* Numero de l'entrepot A. */ TypUpsVmAdresse UpsVmAPI *(*UpsEntrepot2_get)(TypUpsVmSession *Session); /* Entrepot B. */ TypUpsVmUnsignedShort UpsVmAPI (*UpsNumeroEntrepot2_get)(TypUpsVmSession *Session); /* Numero de l'entrepot B. */ /*--------------------------------------------------------------*/ /* Application Program Interfaces proprietaires. */ /*--------------------------------------------------------------*/ } *Typ$MonModule$Traitements_1_0_0; /*--------------------------------------------------------------*/ /* La version courante est la 1.0.0. */ /*--------------------------------------------------------------*/ typedef Typ$MonModule$Traitements_1_0_0 Typ$MonModule$Traitements; /**********************/ #if defined(__cplusplus) /**********************/ } /****/ #endif /****/ /****/ #endif /****/