| [3308] | 1 | #ifndef FSVCACHE_H_SEEN | 
|---|
|  | 2 | #define  FSVCACHE_H_SEEN | 
|---|
|  | 3 |  | 
|---|
|  | 4 | #include <stdio.h> | 
|---|
|  | 5 | #include "machdefs.h" | 
|---|
|  | 6 |  | 
|---|
|  | 7 | #include "filecache.h" | 
|---|
|  | 8 |  | 
|---|
|  | 9 | #ifdef __cplusplus | 
|---|
|  | 10 | extern "C" { | 
|---|
|  | 11 | #endif | 
|---|
|  | 12 |  | 
|---|
|  | 13 |  | 
|---|
|  | 14 | /*    Structure du fichier de suivi :                             */ | 
|---|
|  | 15 | /*           1) Entete : Structure entetesuivi                    */ | 
|---|
|  | 16 | /*           2) Zone commentaire   (1 * Rec0 )                    */ | 
|---|
|  | 17 | /*           3) Enregistrement Info generale fichier  (1 * Rec1)  */ | 
|---|
|  | 18 | /*           4) Enregistrements info etoiles  (NbStars * Rec2)    */ | 
|---|
|  | 19 | /*           5) Enregistrements mesures                           */ | 
|---|
|  | 20 | /*                1 * Rec3 + NbStars * Rec4                       */ | 
|---|
|  | 21 | /*                Rec3 contient le temps des mesures,             */ | 
|---|
|  | 22 | /*                Rec4 contient l'info mesures                    */ | 
|---|
|  | 23 | /*                Rec3 et Rec4 correspondent a un ensemble de     */ | 
|---|
|  | 24 | /*                NItem mesures.                                  */ | 
|---|
|  | 25 | /*           le groupe (5) peut etre repete plusieurs fois        */ | 
|---|
|  | 26 |  | 
|---|
|  | 27 |  | 
|---|
|  | 28 |  | 
|---|
|  | 29 | struct entetesuivi | 
|---|
|  | 30 | { | 
|---|
|  | 31 | int_4 FileSize;             /*  Taille totale fichier  */ | 
|---|
|  | 32 | int_4 HSize;                /*  Taille entete          */ | 
|---|
|  | 33 | uint_2 RecSize[5];          /*  Tailles Rec 0/1/2/3    */ | 
|---|
|  | 34 | uint_2 NItem;               /*  Nb de mesures / Record */ | 
|---|
|  | 35 | int_4 NbStars;              /*  Nb. total d'etoiles    */ | 
|---|
|  | 36 | int_4 NbMesTot;             /*  Nb. total de mesures   */ | 
|---|
|  | 37 | uint_2 FmtSize[5];          /*  Longueur des formats   */ | 
|---|
|  | 38 | uint_2 Swap;                /*  Sens de byte-swap      */ | 
|---|
|  | 39 | uint_2 Type;                /*  Type de suivi          */ | 
|---|
|  | 40 | int_4  FgCorrupt;           /*  test fichier corrompu  */ | 
|---|
|  | 41 | }; | 
|---|
|  | 42 |  | 
|---|
|  | 43 | typedef  struct entetesuivi  ENTETESUIVI; | 
|---|
|  | 44 |  | 
|---|
|  | 45 | struct suivifip | 
|---|
|  | 46 | { | 
|---|
|  | 47 | FILE *fip; | 
|---|
|  | 48 | FILECACHE *fcp; | 
|---|
|  | 49 | ENTETESUIVI Head; | 
|---|
|  | 50 | char *Nom; | 
|---|
|  | 51 | int_4 OffsetMes; | 
|---|
|  | 52 | int FgRW; | 
|---|
|  | 53 | int FgSwap; | 
|---|
|  | 54 | char* RecFmt[5]; | 
|---|
|  | 55 | }; | 
|---|
|  | 56 |  | 
|---|
|  | 57 | typedef  struct suivifip  SUIVIFIP; | 
|---|
|  | 58 |  | 
|---|
|  | 59 |  | 
|---|
|  | 60 | /*    Pour l'IBMVM, Je redefinis les noms  (Pb = Max 8 car)   */ | 
|---|
|  | 61 | #ifdef IBMVM | 
|---|
|  | 62 |  | 
|---|
|  | 63 | #define   SuiviCreate           SuvCreat | 
|---|
|  | 64 | #define   SuiviOpen             SuvOpen | 
|---|
|  | 65 | #define   SuiviClose            SuvClos | 
|---|
|  | 66 | #define   SuiviGetNbStars       SuvGNbSt | 
|---|
|  | 67 | #define   SuiviGetNbMesures     SuvGNMes | 
|---|
|  | 68 | #define   SuiviGetNbytstars     SuvGNByt | 
|---|
|  | 69 | #define   SuiviGetType          SuvGTyp | 
|---|
|  | 70 | #define   SuiviWriteComment     SuvWrCom | 
|---|
|  | 71 | #define   SuiviReadComment      SuvRdCom | 
|---|
|  | 72 | #define   SuiviWriteGlobInfo    SuvWrGlI | 
|---|
|  | 73 | #define   SuiviReadGlobInfo     SuvRdGlI | 
|---|
|  | 74 | #define   SuiviWriteStarInfo    SuvWrStI | 
|---|
|  | 75 | #define   SuiviReadStarInfo     SuvRdStI | 
|---|
|  | 76 | #define   SuiviAddMesure        SuvAdMes | 
|---|
|  | 77 | #define   SuiviWriteTimeInfo    SuvWrTmI | 
|---|
|  | 78 | #define   SuiviWriteMesure      SuvWrMes | 
|---|
|  | 79 | #define   SuiviReadTimeInfo     SuvRdTmI | 
|---|
|  | 80 | #define   SuiviReadMesures      SuvRdMes | 
|---|
|  | 81 |  | 
|---|
|  | 82 | #endif | 
|---|
|  | 83 |  | 
|---|
|  | 84 |  | 
|---|
|  | 85 | /*     Flag d'ouverture fichier  Lecture / Lecture-Ecriture    */ | 
|---|
|  | 86 |  | 
|---|
|  | 87 | #define    SUOF_RO     0 | 
|---|
|  | 88 | #define    SUOF_RW     1 | 
|---|
|  | 89 | #define    SUOF_RO_MEM     10 | 
|---|
|  | 90 | #define    SUOF_RW_MEM     11 | 
|---|
|  | 91 | #define    SUOF_RO_MEM2    20 | 
|---|
|  | 92 | #define    SUOF_RW_MEM2    21 | 
|---|
|  | 93 | #define    SUOF_RO_MEM3    30 | 
|---|
|  | 94 | #define    SUOF_RW_MEM3    31 | 
|---|
|  | 95 | #define    SUOF_RO_MEM4    40 | 
|---|
|  | 96 | #define    SUOF_RW_MEM4    41 | 
|---|
|  | 97 |  | 
|---|
|  | 98 |  | 
|---|
|  | 99 | int SuiviCreate(char *filename, int typ, int rec0size, char *rec1fmt, | 
|---|
|  | 100 | char *rec2fmt, char *rec3fmt, char *rec4fmt, int nitem); | 
|---|
|  | 101 |  | 
|---|
|  | 102 | SUIVIFIP *SuiviOpen(char *filename, int rw); | 
|---|
|  | 103 |  | 
|---|
|  | 104 | int SuiviClose(SUIVIFIP *suivfip); | 
|---|
|  | 105 |  | 
|---|
|  | 106 | int_4 SuiviGetNbStars(SUIVIFIP *suivfip); | 
|---|
|  | 107 |  | 
|---|
|  | 108 | int_4 SuiviGetNbMesures(SUIVIFIP *suivfip); | 
|---|
|  | 109 |  | 
|---|
|  | 110 | int_4 SuiviGetNbytStars(SUIVIFIP *suivfip); | 
|---|
|  | 111 |  | 
|---|
|  | 112 | int_4 SuiviGetType(SUIVIFIP *suivfip); | 
|---|
|  | 113 |  | 
|---|
|  | 114 | int_4 SuiviGetSize(SUIVIFIP *suivfip); | 
|---|
|  | 115 |  | 
|---|
|  | 116 | int_4 SuiviPredictSize(SUIVIFIP *sfip, int nbst, int nbmes); | 
|---|
|  | 117 |  | 
|---|
|  | 118 | void  SuiviSetPrtLevel(int lev); | 
|---|
|  | 119 |  | 
|---|
|  | 120 | int SuiviWriteComment(SUIVIFIP *suivfip, char *buff); | 
|---|
|  | 121 |  | 
|---|
|  | 122 | int SuiviReadComment(SUIVIFIP *suivfip, char *buff); | 
|---|
|  | 123 |  | 
|---|
|  | 124 | int SuiviWriteGlobInfo(SUIVIFIP *suivfip, char *buff); | 
|---|
|  | 125 |  | 
|---|
|  | 126 | int SuiviReadGlobInfo(SUIVIFIP *suivfip, char *buff); | 
|---|
|  | 127 |  | 
|---|
|  | 128 | int SuiviWriteStarInfo(SUIVIFIP *suivfip, int_4 num, char *buff); | 
|---|
|  | 129 |  | 
|---|
|  | 130 | int SuiviReadStarInfo(SUIVIFIP *suivfip, int_4 num, char *buff); | 
|---|
|  | 131 |  | 
|---|
|  | 132 | int SuiviAddMesure(SUIVIFIP *suivfip, char *buff); | 
|---|
|  | 133 |  | 
|---|
|  | 134 | int SuiviWriteTimeInfo(SUIVIFIP *suivfip, int_4 numes, char *buff); | 
|---|
|  | 135 |  | 
|---|
|  | 136 | int SuiviWriteMesure(SUIVIFIP *suivfip, int_4 numet, | 
|---|
|  | 137 | int_4 nummes, char *buff); | 
|---|
|  | 138 |  | 
|---|
|  | 139 | int SuiviReadTimeInfo(SUIVIFIP *suivfip, int_4 debut, | 
|---|
|  | 140 | int_4 fin, char *buff); | 
|---|
|  | 141 |  | 
|---|
|  | 142 | int SuiviReadMesures(SUIVIFIP *suivfip, int_4 numet, | 
|---|
|  | 143 | int_4 debut, int_4 fin, char *buff); | 
|---|
|  | 144 | #ifdef __cplusplus | 
|---|
|  | 145 | } | 
|---|
|  | 146 | #endif | 
|---|
|  | 147 |  | 
|---|
|  | 148 | #endif | 
|---|
|  | 149 |  | 
|---|