00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <med.h>
00021 #include <med_config.h>
00022 #include <med_outils.h>
00023 #include <string.h>
00024 #include <stdlib.h>
00025
00026
00027 #include <2.3.6/med23v30.h>
00028 #include <2.3.6/med23v30_proto.h>
00029 #include "2.3.6/med23v30_misc.h"
00030
00031 void _MEDequivalenceCorrespondenceSizeInfo236( int dummy, ...) {
00032
00033 va_list params;
00034 va_start(params,dummy);
00035
00036 const med_idt fid = va_arg(params,const med_idt );
00037 const char * const meshname = va_arg(params,const char * const );
00038 const char * const equivname= va_arg(params,const char * const );
00039 const med_int numdt = va_arg(params,const med_int );
00040 const med_int numit = va_arg(params,const med_int );
00041 const int corit = va_arg(params,const int );
00042 med_entity_type * const entitype = va_arg(params,med_entity_type * const );
00043 med_geometry_type* const geotype = va_arg(params,med_geometry_type* const );
00044 med_int * const nentity = va_arg(params,med_int * const );
00045 med_err * fret = va_arg(params,med_err * );
00046
00047 med_err _ret=-1,_err=-1;
00048 char _path[MED_TAILLE_MAA+MED_TAILLE_EQS+2*MED_TAILLE_NOM+1+
00049 2*MED_TAILLE_NOM_ENTITE+1+1]=MED_MAA;
00050 char _entgeoname[2*MED_TAILLE_NOM_ENTITE+2]="";
00051 med_size _nocstpncorrespondence=0;
00052 med_int _intentitytype;
00053 med_int _intgeotype;
00054 int _num = corit -1;
00055
00056 if ( (numdt != MED_NO_DT) || (numit != MED_NO_IT) ) {
00057 MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_PARAMETER,"");
00058 ISCRUTE(numdt);ISCRUTE(numit); goto ERROR;
00059 }
00060
00061
00062
00063
00064 _MEDmodeErreurVerrouiller();
00065
00066 strcat(_path,meshname);
00067 strcat(_path,MED_EQS);
00068 strcat(_path,equivname);
00069 strcat(_path,"/");
00070
00071
00072
00073
00074
00075 if ( _MEDobjectGetName(fid, _path ,_num, &_path[strlen(_path)]) < 0 ) {
00076 MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(corit);
00077 goto ERROR;
00078 }
00079
00080 if ( _MEDattributeNumRdByName(fid, _path, MED_NOM_ENT,MED_INTERNAL_INT,(unsigned char *)&_intentitytype) < 0 ) {
00081 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_ENT);
00082 SSCRUTE(_path);ISCRUTE(_intentitytype);goto ERROR;
00083 }
00084 *entitype = (med_entity_type) _intentitytype;
00085
00086 if ( _MEDattributeNumRdByName(fid, _path,MED_NOM_GEO,MED_INTERNAL_INT,(unsigned char *)&_intgeotype) < 0) {
00087 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_GEO);
00088 SSCRUTE(_path);ISCRUTE(_intgeotype);goto ERROR;
00089 }
00090 *geotype = (med_geometry_type) _intgeotype;
00091
00092
00093 if ( _MEDattributeNumRdByName(fid, _path, MED_NOM_NBR,MED_INTERNAL_INT, (unsigned char *) nentity) < 0) {
00094 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_EQUIVALENCE_MSG);
00095 SSCRUTE(_path);SSCRUTE(MED_NOM_NBR);ISCRUTE(*nentity);
00096 goto ERROR;
00097 }
00098
00099 _ret = 0;
00100 ERROR:
00101
00102 va_end(params);
00103 *fret = _ret;
00104
00105 return;
00106 }