def dump(): if HpiCore.my_ep is not None: print "My Entity: %s" % HpiUtil.fromSaHpiEntityPathT( HpiCore.my_ep ) print "Defined Domains:" for d in HpiCore.domains.itervalues(): ldid = d.getLocalDid() rdid = d.getRemoteDid() host = d.getRemoteHost() port = d.getRemotePort() root = HpiUtil.fromSaHpiEntityPathT( d.getEntityRoot() ) print " id %u => id %u, host %s, port %u, root %s" % ( ldid, rdid, host, port, root )
if rv != SA_OK: print "ERROR: oHpiDomainAdd: %s " % HpiUtil.fromSaErrorT( rv ) exit() print "DID %u" % did ( rv, sid ) = saHpiSessionOpen( did, None ) if rv != SA_OK: print "ERROR: saHpiSessionOpen: %s " % HpiUtil.fromSaErrorT( rv ) exit() print "SID %u" % sid ( rv, my_ep ) = saHpiMyEntityPathGet( sid ) if rv == SA_OK: print "My entity: %s" % HpiUtil.fromSaHpiEntityPathT( my_ep ) print "Resource List:" eid = SAHPI_FIRST_ENTRY next_eid = SAHPI_FIRST_ENTRY while eid != SAHPI_LAST_ENTRY: ( rv, next_eid, rpte ) = saHpiRptEntryGet( sid, eid ) if ( eid == SAHPI_FIRST_ENTRY ) and ( rv == SA_ERR_HPI_NOT_PRESENT ): break if rv != SA_OK: print "ERROR: saHpiRptEntryGet: %s " % HpiUtil.fromSaErrorT( rv ) exit() tag = HpiUtil.fromSaHpiTextBufferT( rpte.ResourceTag ) ep = HpiUtil.fromSaHpiEntityPathT( rpte.ResourceEntity ) print " HPI Resource %u: %s: %s" % ( rpte.ResourceId, tag, ep )
if len( sys.argv ) != 2: print "Usage: %s <entity_path>" % sys.argv[0] exit() try: parent = HpiUtil.toSaHpiEntityPathT( sys.argv[1] ) except ValueError: print "Invalid entity path: %s" % sys.argv[1] exit() ( rv, sid ) = saHpiSessionOpen( SAHPI_UNSPECIFIED_DOMAIN_ID, None ) if rv != SA_OK: print "ERROR: saHpiSessionOpen: %s " % HpiUtil.fromSaErrorT( rv ) exit() print "Entity %s" % HpiUtil.fromSaHpiEntityPathT( parent ) for child in HpiIterators.ChildEntities( sid, parent ): print " Child Entity %s" % HpiUtil.fromSaHpiEntityPathT( child ) for rid in HpiIterators.EntityResources( sid, parent ): print " Resource %d" % rid for rdrtype in [ SAHPI_CTRL_RDR, SAHPI_SENSOR_RDR, SAHPI_INVENTORY_RDR, SAHPI_WATCHDOG_RDR, SAHPI_ANNUNCIATOR_RDR, SAHPI_DIMI_RDR, SAHPI_FUMI_RDR ]: for ( rid, instrid ) in HpiIterators.EntityInstruments( sid, parent, rdrtype ):