| 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 |  | 
|---|