Files
2025-04-07 07:44:27 -07:00

97 lines
1.7 KiB
C#

using System.Runtime.InteropServices;
namespace LibreHardwareMonitor.Interop;
internal static class Ipmi
{
// Ported from ipmiutil
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
internal struct Sdr
{
public ushort recid;
public byte sdrver;
public byte rectype;
public byte reclen;
public byte sens_ownid;
public byte sens_ownlun;
public byte sens_num;
public byte entity_id;
public byte entity_inst;
public byte sens_init;
public byte sens_capab;
public byte sens_type;
public byte ev_type;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]
public string data1;
public byte sens_units;
public byte sens_base;
public byte sens_mod;
public byte linear;
public byte m;
public byte m_t;
public byte b;
public byte b_a;
public byte a_ax;
public byte rx_bx;
public byte flags;
public byte nom_reading;
public byte norm_max;
public byte norm_min;
public byte sens_max_reading;
public byte sens_min_reading;
public byte unr_threshold;
public byte ucr_threshold;
public byte unc_threshold;
public byte lnr_threshold;
public byte lcr_threshold;
public byte lnc_threshold;
public byte pos_hysteresis;
public byte neg_hysteresis;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
public string data3;
public byte id_strlen;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string id_string;
}
}