Beispiel #1
0
            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);
            }
Beispiel #2
0
 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 );
 }