/* getrd get raw data */ int getrd (unsigned char *data, int *mdat, struct cmd *pcmd) { int err; if ( pcmd->netflg == 0 ) /* read serial interface */ { if ( ( err = getsrd(data, mdat, pcmd)) == -1) return(-1); } else if (pcmd->netflg == 1 ) /* read network interface */ { if ( ( err = getnrd(data, mdat, pcmd)) == -1) return(-1); } return(0); }
/* getrd get raw data */ int getrd (char *data, int *mdat, struct cmd *pcmd) { int err; /* read answer of weather station from serial port */ if ( pcmd->netflg == 0 ) { if ( ( err = getsrd(data, mdat, pcmd)) == -1) return(-1); } else if (pcmd->netflg == 1 ) { if ( ( err = getnrd(data, mdat, pcmd)) == -1) return(-1); } return(0); }
short xOPNNRD(char *module,char *name,int line,char *program) { short x,nrdno; NRDbuffer *NRDtmp; #ifdef INFORMIX_ISAM short a=0; #endif #ifdef USE_RDA_DIAGNOSTICS if(diagnrd || diagnrd_field) { prterr("DIAG OPNNRD Opening File Definition [%s] [%s] at line [%d] program [%s].",module,name,line,program); } #endif /* USE_RDA_DIAGNOSTICS */ x=getnrd(module,name); if(x<0) { prterr("Error can't read File Definition [%s] [%s] from Binary Library [%s.FIL] at line [%d] program [%s].",module,name,module,line,program); return(-1); } NRDtmp=NRDbuf+x; nrdno=x; switch(NRDtmp->db_engine) { case NRDRdaEngine: NRDtmp->dtanum=OPNNRDrda(NRDtmp); if(NRDtmp->dtanum==NULL) { freenrd(NRDtmp); prterr("Error couldn't open Actual RDA Database File [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.dat] and Index File [%s.idx] are available.",module,name,line,program,name,name); return(-1); } break; #ifdef INFORMIX_ISAM case NRDInformixIsamEngine: a=OPNNRDisam(NRDtmp); if(a==(-1)) { freenrd(NRDtmp); prterr("Error couldn't open Actual Informix-OnLine Database File [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.dat] and Index File [%s.idx] are available.",module,name,line,program,name,name); return(-1); } break; #endif #ifdef USE_MYISAM case NRDMyIsamEngine: if(OPNNRDmyisam(NRDtmp)) { freenrd(NRDtmp); prterr("Error couldn't open Actual MYSQL Embedded Database Table [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.MYD] is available.",module,name,line,program,name); return(-1); } break; #endif #ifdef USE_MYSQL case NRDMySQLXpertEngine: if(!OPNNRDmysqlxpert(NRDtmp)) { freenrd(NRDtmp); prterr("Error couldn't open Actual MYSQL Server Database Table [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.MYD] is available.",module,name,line,program,name); return(-1); } break; case NRDMySQLEngine: case NRDMySQLAutoEngine: if(!OPNNRDmysql(NRDtmp)) { freenrd(NRDtmp); prterr("Error couldn't open Actual MYSQL Server Database Table [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.MYD] is available.",module,name,line,program,name); return(-1); } break; #endif #ifdef USE_BERKELEY_BTREE case NRDBerkeleyBtree: NRDtmp->dbp=OPNNRDberkeley(NRDtmp); if(NRDtmp->dbp==NULL) { freenrd(NRDtmp); prterr("Error couldn't open Actual Berkeley Btree Database File [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.dat] and Index File [%s.idx] are available.",module,name,line,program,name,name); return(-1); } NRDtmp->varfile=VARRECORDS(nrdno); break; #endif #ifdef USE_CTREE case NRDCtreeEngine: case NRDLocalCtreeEngine: NRDtmp->filenum=OPNNRDctree(NRDtmp,FALSE); if(NRDtmp->filenum==(-1)) { freenrd(NRDtmp); prterr("Error couldn't open Actual C-tree Database File [%s] [%s] at line [%d] program [%s]. Verify the Data File [%s.dat] and Index File [%s.idx] are available.",module,name,line,program,name,name); return(-1); } NRDtmp->varfile=VARRECORDS(nrdno); break; #endif default: prterr("Error Unknown Database Engine [%d] for File Definition [%s] [%s] at line [%d] program [%s].",NRDtmp->db_engine,module,name,line,program); return(-1); } return nrdno; }