|  | package scsi | 
|  |  | 
|  | import "errors" | 
|  |  | 
|  | type InformationalExceptions struct { | 
|  | InformationalSenseCode AdditionalSenseCode | 
|  | Temperature            uint8 | 
|  | } | 
|  |  | 
|  | func (d *Device) GetInformationalExceptions() (*InformationalExceptions, error) { | 
|  | raw, err := d.LogSenseParameters(LogSenseRequest{PageCode: 0x0b}) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | if len(raw[0x1]) == 0 { | 
|  | return nil, errors.New("mandatory parameter 0001h missing") | 
|  | } | 
|  | param1 := raw[0x01][0] | 
|  | if len(param1.Data) < 3 { | 
|  | return nil, errors.New("parameter 0001h too short") | 
|  | } | 
|  | return &InformationalExceptions{ | 
|  | InformationalSenseCode: AdditionalSenseCode(uint16(param1.Data[0])<<8 | uint16(param1.Data[1])), | 
|  | Temperature:            param1.Data[2], | 
|  | }, nil | 
|  | } |