public static IEnumerable <EventLogEntryEx> EventLogEntries(long sid, long rid, bool readforward = true) { long eid = readforward ? HpiConst.SAHPI_OLDEST_ENTRY : HpiConst.SAHPI_NEWEST_ENTRY; long prev_eid, next_eid; do { EventLogEntryEx ex = new EventLogEntryEx(); long rv = Api.saHpiEventLogEntryGet(sid, rid, eid, out prev_eid, out next_eid, out ex.EventLogEntry, out ex.Rdr, out ex.RptEntry); if (rv == HpiConst.SA_ERR_HPI_NOT_PRESENT) { yield break; } if (rv != HpiConst.SA_OK) { yield break; } eid = readforward ? next_eid : prev_eid; yield return(ex); } while (eid != HpiConst.SAHPI_NO_MORE_ENTRIES); }
public static IEnumerable<EventLogEntryEx> EventLogEntries( long sid, long rid, bool readforward = true ) { long eid = readforward ? HpiConst.SAHPI_OLDEST_ENTRY : HpiConst.SAHPI_NEWEST_ENTRY; long prev_eid, next_eid; do { EventLogEntryEx ex = new EventLogEntryEx(); long rv = Api.saHpiEventLogEntryGet( sid, rid, eid, out prev_eid, out next_eid, out ex.EventLogEntry, out ex.Rdr, out ex.RptEntry ); if ( rv == HpiConst.SA_ERR_HPI_NOT_PRESENT ) { yield break; } if ( rv != HpiConst.SA_OK ) { yield break; } eid = readforward ? next_eid : prev_eid; yield return ex; } while ( eid != HpiConst.SAHPI_NO_MORE_ENTRIES ); }