1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
struct Carte
{
char Mot_cle [12];
char gere;
char Valeur [17];
};
struct Carte T_cartes[14]={{"Unit Dsname" , 'N', " "},
{"Type Alloc" , 'N', " "},
{"Disq Primair", 'N', " "},
{"Disq Second" , 'N', " "},
{"Lrecl" , 'N', " "},
{"DCB Blksize" , 'N', " "},
{"Bufno" , 'N', " "},
{"Prefix" , 'N', " "},
{"Nom Procmef" , 'N', " "},
{"Nom Procran" , 'N', " "},
{"Volume1" , 'N', " "},
{"Volume2" , 'N', " "},
{"Volume3" , 'N', " "},
{"Timestamp" , 'N', " "}};
int rc;
int lrc;
int NewDeb;
char * motcle;
char * val;
char * ligne;
char * sep;
ZoneErreur *pZErr;
/*------------------------------------------------------------------*/
/* Ouverture du fichier parametre */
/*------------------------------------------------------------------*/
int P201_Lecture_parametres_allocation_01(T_cartes){
errno = 0;
FILE *fp = fopen(getenv("dd_F2CAAL"), "r");
P202_Init_cartes_alloc_02(T_cartes);
if (fp == NULL){
strcpy(pZErr->Code, "GEN011");
FormatMsg(pZErr->Code, pZErr->Libelle,F2CAAL, "fopen",errno);
rc = 1;
/* fichier inexistant */
}
else
{
int i = 0;
do{
fegts(ligne, '80', fp);
P203_Controle_carte_alloc_02 (ligne, T_cartes, i);
i++;
}while (ligne != EOF); //&& (resu != FALSE));
}
/* fichier existant */
// goto FERMEFIC;
}
int P202_Controle_carte_alloc_02 (ligne, T_cartes, i){
/*Analyse de la ligne*/
sep = strchr(ligne, '=');
motcle = strncpy(T_cartes[i].Mot_cle, ligne, sep - ligne);
val = strcpy(T_cartes[i].Valeur, sep +1);
/*Test de la ligne et des differentes valeurs*/
if (motcle == "UNIT DSNAME"){
strncpy(T_cartes[0].Valeur, val + 1, 6);
T_cartes[0].gere = 'Y';
}else if (motcle == "TYPE ALLOC"){
if(!strcmp(val,"TRK")||(!strcmp(val,"CYL"){
strncpy(T_cartes[1].Valeur, val + 1, 3);
val[4] = 0;
}else if (strtol(val, NULL, 10)){
strncpy(T_cartes[1].Valeur, val + 1, 5);
}
T_cartes[1].gere = 'Y';
}else if (motcle == "DISC PRIMAIR"){
if (strtol(val, NULL, 10)){
strncpy(T_cartes[2].Valeur, val + 1, 8);
}
T_cartes[2].gere = 'Y';
}else if (motcle == "DISC SECOND"){
if (strtol(val, NULL, 10)){
strncpy(T_cartes[3].Valeur, val + 1, 8);
}
T_cartes[3].gere = 'Y';
}else if (motcle == "LRECL"){
if ((strtol(val, NULL, 10)) && ((strtol(val, NULL, 10)>=925)&& ((strtol(val, NULL, 10)<=32460){
strncpy(T_cartes[4].Valeur, val + 1, 5);
}
T_cartes[4].gere = 'Y';
}else if (motcle == "DCB BLKSIZE"){
if ((strtol(val, NULL, 10)) && ((strtol(val, NULL, 10)>0){
strncpy(T_cartes[5].Valeur, val + 1, 5);
}
T_cartes[5].gere = 'Y';
}else if (motcle == "BUFNO"){
if ((strtol(val, NULL, 10)) && ((strtol(val, NULL, 10)>0){
strncpy(T_cartes[6].Valeur, val + 1, 3);
}
T_cartes[6].gere = 'Y';
}else if (motcle == "PREFIX"){
// Création de la fonction Determiner_longueur_utile_03(Alloc_valeur(1:27),27)
}else if (motcle == "NOM PROCMEF"){
strncpy(T_cartes[8].Valeur, val + 1, 8);
T_cartes[8].gere = 'Y';
}else if (motcle == "NOM PROCRAN"){
strncpy(T_cartes[9].Valeur, val + 1, 8);
T_cartes[9].gere = 'Y';
}else if (motcle == "VOLUME1"){
strncpy(T_cartes[10].Valeur, val + 1, 8);
T_cartes[10].gere = 'Y';
}else if (motcle == "VOLUME2"){
strncpy(T_cartes[11].Valeur, val + 1, 8);
T_cartes[11].gere = 'Y';
}else if (motcle == "VOLUME3"){
strncpy(T_cartes[12].Valeur, val + 1, 8);
T_cartes[12].gere = 'Y';
}else (motcle == "TIMESTAMP"){
if((val == 'O') || (val == 'N'){
strncpy(T_cartes[13].Valeur, val + 1, 1);
}
T_cartes[13].gere = 'Y';
}
} |
Partager