Example #1
0
AST* readASTMisc(BufferedReader *reader) {
    uint8_t type = reader->readByte();
    if (VERBOSITY("parsing") >= 2)
        printf("type = %d\n", type);
    if (type == 0)
        return NULL;

    uint8_t checkbyte = reader->readByte();
    assert(checkbyte == 0xae);

    switch (type) {
        case AST_TYPE::alias:
            return read_alias(reader);
        case AST_TYPE::arguments:
            return read_arguments(reader);
        case AST_TYPE::comprehension:
            return read_comprehension(reader);
        case AST_TYPE::keyword:
            return read_keyword(reader);
        case AST_TYPE::Module:
            return read_module(reader);
        default:
            fprintf(stderr, "Unknown node type (parser.cpp:" STRINGIFY(__LINE__) "): %d\n", type);
            exit(1);
            break;
    }
}
Example #2
0
QtNetSNMP::QMIBTree *QtNetSNMP::QSNMPManager::getMIBModule(const QString& module) throw(QSNMPException)
{
    if(module.isEmpty())
        return _core -> getMIBTree(read_all_mibs());
    else if(getModulesInstalled().indexOf(module) == -1)
        throw QSNMPException("QSNMPManager :: Get MIB Module :: Module not found");

    return _core -> getMIBTree(read_module(module.toStdString().c_str()));
}
Example #3
0
int SnmpInit(void) {
	syslog(LOG_DEBUG,"*** Initialise SNMP ***");

  init_snmp("CrateTest");									  // I never saw this name used !?!
	init_mib();																// init MIB processing
  if(!read_module("WIENER-CRATE-MIB")) {		// read specific mibs
    syslog(LOG_ERR,"Unable to load SNMP MIB file \"%s\"","WIENER-CRATE-MIB");
    return 0;
  }
  syslog(LOG_DEBUG,"*** Translate OIDs ***");
	
  lengthSysMainSwitch = MAX_OID_LEN;
  if(!get_node(S_sysMainSwitch,oidSysMainSwitch,&lengthSysMainSwitch)) {
		syslog(LOG_ERR,"OID \"sysMainSwitch.0\"not found"); return false;
  } 

  lengthOutputMeasurementSenseVoltageAll = MAX_OID_LEN;
  if(!get_node(S_outputMeasurementSenseVoltageAll,oidOutputMeasurementSenseVoltageAll,&lengthOutputMeasurementSenseVoltageAll)) {
		syslog(LOG_ERR,"OID \"sysMainSwitch.0\"not found"); return false;
  } 

  lengthFanAirTemperature = MAX_OID_LEN;
  if(!get_node(S_fanAirTemperature,oidFanAirTemperature,&lengthFanAirTemperature)) {
		syslog(LOG_ERR,"OID \"fanAirTemperature.0\"not found"); return false;
  } 

  for(int j = 0; j < 8; j++)
  {
	lengthSensorTemperature[j] = MAX_OID_LEN;
	if(!get_node(S_sensorTemperature[j],oidSensorTemperature[j],&lengthSensorTemperature[j])) {
		syslog(LOG_ERR,"OID \"sensorTemperature.0\"not found"); return false;
  } 
  }

  for(int j = 0; j < 12; j++)
  {
	lengthOutputMeasurementSenseVoltage[j] = MAX_OID_LEN;
	if(!get_node(S_outputMeasurementSenseVoltage[j],oidOutputMeasurementSenseVoltage[j],&lengthOutputMeasurementSenseVoltage[j])) {
		syslog(LOG_ERR,"OID \"outputMeasurementSenseVoltage.1\"not found"); return false;
	 }
	lengthOutputVoltage[j] = MAX_OID_LEN;
	if(!get_node(S_outputVoltage[j],oidOutputVoltage[j],&lengthOutputVoltage[j])) {
		syslog(LOG_ERR,"OID \"outputVoltage.1\"not found"); return false;
	}
	lengthOutputMeasurementCurrent[j] = MAX_OID_LEN;
		if(!get_node(S_outputMeasurementCurrent[j],oidOutputMeasurementCurrent[j],&lengthOutputMeasurementCurrent[j])) {
			syslog(LOG_ERR,"OID \"outputMeasurementCurrent.1\"not found"); return false;
		}
	lengthOutputStatus[j] = MAX_OID_LEN;
		if(!get_node(S_outputStatus[j],oidOutputStatus[j],&lengthOutputStatus[j])) {
			syslog(LOG_ERR,"OID \"outputStatus.1\"not found"); return false;
		} 
	lengthChannelSwitch[j] = MAX_OID_LEN;
		if(!get_node(S_outputSwitch[j],oidChannelSwitch[j],&lengthChannelSwitch[j])) {
			syslog(LOG_ERR,"OID \"channelSwitch.1\"not found"); return false;
		} 
//	lengthOutputRampUp[j] = MAX_OID_LEN;
//		if(!get_node(S_outputRampUp[j],oidOutputRampUp[j],&lengthOutputRampUp[j])) {
//			syslog(LOG_ERR,"OID \"outputRampUp.1\"not found"); return false;
//		} 
//	lengthOutputRampDown[j] = MAX_OID_LEN;
//		if(!get_node(S_outputRampDown[j],oidOutputRampDown[j],&lengthOutputRampDown[j])) {
//			syslog(LOG_ERR,"OID \"outputRampDown.1\"not found"); return false;
//		} 
  }


  syslog(LOG_DEBUG,"*** Initialise SNMP done ***");
  SOCK_STARTUP;															// only in main thread
  return 1;
}
Example #4
0
int EScriptProgram::read(const char *fname)
{
    FILE* fp = NULL;

    try
    {
        name = fname;

        fp = fopen(fname, "rb");
	    if (!fp)
            throw runtime_error( string("Unable to open ") + fname + " for reading." );

	    BSCRIPT_FILE_HDR hdr;
        if (fread( &hdr, sizeof hdr, 1, fp ) != 1)
	    {
            cerr << "Error loading script " << fname
                 << ": error reading header" << endl;
		    fclose(fp);
		    return -1;
	    }
	    if (hdr.magic2[0] != BSCRIPT_FILE_MAGIC0 ||
            hdr.magic2[1] != BSCRIPT_FILE_MAGIC1)
	    {
            cerr << "Error loading script " << fname 
                 << ": bad magic value '" << hdr.magic2[0] << hdr.magic2[1] << "'" << endl;
		    fclose(fp);
		    return -1;
	    }
		// auto-check for latest version (see filefmt.h for setting)
	    if (hdr.version != ESCRIPT_FILE_VER_CURRENT)
	    {
            cerr << "Error loading script " << fname 
                 << ": Recompile required. Bad version number " << hdr.version << endl;
		    fclose(fp);
		    return -1;
	    }
        version = hdr.version;
        nglobals = hdr.globals;
	    BSCRIPT_SECTION_HDR sechdr;
	    while (fread( &sechdr, sizeof sechdr, 1, fp ) == 1)
	    {
		    switch( sechdr.type )
		    {
                case BSCRIPT_SECTION_PROGDEF:
                    if (read_progdef_hdr(fp))
                    {
                        cerr << "Error loading script " << fname
                             << ": error reading progdef section" << endl;
                        fclose(fp);
                        return -1;
                    }
                    break;

			    case BSCRIPT_SECTION_MODULE:
				    if (read_module(fp))
				    {
                        cerr << "Error loading script " << fname
                             << ": error reading module section" << endl;
					    fclose(fp);
					    return -1;
				    }
				    break;
			    case BSCRIPT_SECTION_CODE:
				    tokens.read(fp);
				    break;
			    case BSCRIPT_SECTION_SYMBOLS:
				    symbols.read(fp);
				    break;
                case BSCRIPT_SECTION_GLOBALVARNAMES:
                    if (read_globalvarnames(fp))
                    {
                        cerr << "Error loading script " << fname
                             << ": error reading global variable name section" << endl;
					    fclose(fp);
					    return -1;
                    }
                    break;
                case BSCRIPT_SECTION_EXPORTED_FUNCTIONS:
                    if (read_exported_functions(fp, &sechdr))
                    {
                        cerr << "Error loading script " << fname
                             << ": error reading exported functions section" << endl;
                        fclose(fp);
                        return -1;
                    }
                    break;
			    default:
                        cerr << "Error loading script " << fname
                             << ": unknown section type " << int(sechdr.type) << endl;
				    fclose(fp);
				    return -1;
		    }
	    }
        fclose(fp);

        return create_instructions();
    }
    catch( std::exception& ex )
    {
        cerr << "Exception caught while loading script " << fname << ": " << ex.what() << endl;
        if (fp != NULL)
            fclose(fp);
        return -1;
    }
#ifndef WIN32
    catch(...)
    {
        cerr << "Exception caught while loading script " << fname << endl;
        if (fp != NULL)
            fclose(fp);
        return -1;
    }
#endif
}