Documentation
¶
Index ¶
- Constants
- func FormatUsers(users []*User) string
- func ParseCipherSuitesData(cipherSuitesData []byte) ([]types.CipherSuiteRecord, error)
- type ActivateSessionRequest
- type ActivateSessionResponse
- type AdditionalDeviceSupport
- type CloseSessionRequest
- type CloseSessionResponse
- type ColdResetRequest
- type ColdResetResponse
- type CommandRangeMask
- type EnableMessageChannelReceiveRequest
- type EnableMessageChannelReceiveResponse
- type GetAuthCodeRequest
- type GetAuthCodeResponse
- type GetBTInterfaceCapabilitiesRequest
- type GetBTInterfaceCapabilitiesResponse
- type GetChannelAccessRequest
- type GetChannelAccessResponse
- type GetChannelAuthenticationCapabilitiesRequest
- type GetChannelAuthenticationCapabilitiesResponse
- type GetChannelCipherSuitesRequest
- type GetChannelCipherSuitesResponse
- type GetChannelInfoRequest
- type GetChannelInfoResponse
- type GetCommandEnablesRequest
- type GetCommandEnablesResponse
- type GetCommandSubfunctionEnablesRequest
- type GetCommandSubfunctionEnablesResponse
- type GetCommandSubfunctionSupportRequest
- type GetCommandSubfunctionSupportResponse
- type GetCommandSupportRequest
- type GetCommandSupportResponse
- type GetConfigurableCommandSubfunctionsRequest
- type GetConfigurableCommandSubfunctionsResponse
- type GetConfigurableCommandsRequest
- type GetConfigurableCommandsResponse
- type GetDeviceGUIDRequest
- type GetDeviceGUIDResponse
- type GetDeviceIDRequest
- type GetDeviceIDResponse
- type GetNetFnSupportRequest
- type GetNetFnSupportResponse
- type GetSelfTestResultsRequest
- type GetSelfTestResultsResponse
- type GetSessionChallengeRequest
- type GetSessionChallengeResponse
- type GetSessionInfoRequest
- type GetSessionInfoResponse
- type GetSystemGUIDRequest
- type GetSystemGUIDResponse
- type GetSystemInfoParamRequest
- type GetSystemInfoParamResponse
- type GetSystemInterfaceCapabilitiesRequest
- type GetSystemInterfaceCapabilitiesResponse
- type GetUserAccessRequest
- type GetUserAccessResponse
- type GetUserPayloadAccessRequest
- type GetUserPayloadAccessResponse
- type GetUsernameRequest
- type GetUsernameResponse
- type GetWatchdogTimerRequest
- type GetWatchdogTimerResponse
- type InterruptType
- type LUNSupport
- type ManufacturingTestOnRequest
- type ManufacturingTestOnResponse
- type MasterWriteReadRequest
- type MasterWriteReadResponse
- type PasswordOperation
- type PreTimeoutInterrupt
- type ResetWatchdogTimerRequest
- type ResetWatchdogTimerResponse
- type SendMessageRequest
- type SendMessageResponse
- type SetChannelAccessRequest
- type SetChannelAccessResponse
- type SetCommandEnablesRequest
- type SetCommandEnablesResponse
- type SetCommandSubfunctionEnablesRequest
- type SetCommandSubfunctionEnablesResponse
- type SetSessionPrivilegeLevelRequest
- type SetSessionPrivilegeLevelResponse
- type SetSystemInfoParamRequest
- type SetSystemInfoParamResponse
- type SetUserAccessRequest
- type SetUserAccessResponse
- type SetUserPasswordRequest
- type SetUserPasswordResponse
- type SetUserPayloadAccessOperation
- type SetUserPayloadAccessRequest
- type SetUserPayloadAccessResponse
- type SetUsernameRequest
- type SetUsernameResponse
- type SetWatchdogTimerRequest
- type SetWatchdogTimerResponse
- type SystemInterfaceType
- type TimeoutAction
- type TimerUse
- type User
- type WarmResetRequest
- type WarmResetResponse
Constants ¶
const ( CommandRangeMask007F uint8 = 0x00 CommandRangeMask80FF uint8 = 0x01 )
const (
MaxCipherSuiteListIndex uint8 = 0x3f
)
Variables ¶
This section is empty.
Functions ¶
func FormatUsers ¶
func ParseCipherSuitesData ¶
func ParseCipherSuitesData(cipherSuitesData []byte) ([]types.CipherSuiteRecord, error)
Types ¶
type ActivateSessionRequest ¶
type ActivateSessionRequest struct {
// Authentication Type for session.
// The selected type will be used for session activation and for all subsequent authenticated packets under the session, unless "Per-message Authentication" or "User Level Authentication" are disabled.
// (See v1.5§6.11.4 / v2.0§6.12.4, Per-Message and User Level Authentication Disables, for more information.)
//
// This value must match with the Authentication Type used in the Get Session Challenge request for the session. In addition, for multi-session channels this value must also match the authentication type used in the Session Header.
AuthTypeForSession types.AuthType
// Maximum privilege level requested. Indicates the highest privilege level that
// may be requested for this session. This privilege level must be less than
// or equal to the privilege limit for the channel and the privilege limit for the
// user in order for the Activate Session command to be successful
// (completion code = 00h). Once the Activate Session command has been
// successful, the requested privilege level becomes a 'session limit' that
// cannot be raised beyond the requested level, even if the user and/or
// channel privilege level limits would allow it. I.e. it takes precedence over
// the channel and user privilege level limits.
//
// [7:4] - reserved
// [3:0] - Requested Maximum Privilege Level
// 0h = reserved
// 1h = Callback level
// 2h = User level
// 3h = Operator level
// 4h = Administrator level
// 5h = OEM Proprietary level
// all other = reserved
MaxPrivilegeLevel types.PrivilegeLevel
// For multi-session channels: (e.g. LAN channel):
// Challenge String data from corresponding Get Session Challenge response.
//
// For single-session channels that lack session header (e.g. serial/modem in Basic Mode):
// Clear text password or AuthCode. See v1.5§18.15.1 / v2.0§22.17.1, AuthCode Algorithms.
Challenge [16]byte // uint16
// Initial Outbound Sequence Number = Starting sequence number that remote console wants used for messages from the BMC. (LS byte first). Must be non-null in order to establish a session. 0000_0000h = reserved. Can be any random value.
//
// The BMC must increment the outbound session sequence number by one (1) for
// each subsequent outbound message from the BMC (include ActivateSessionResponse)
//
// The BMC sets the incremented number to Sequence field of SessionHeader.
InitialOutboundSequenceNumber uint32
}
v1.5§18.15 / v2.0§22.17 Activate Session Command
func (*ActivateSessionRequest) Command ¶
func (req *ActivateSessionRequest) Command() types.Command
func (*ActivateSessionRequest) Pack ¶
func (req *ActivateSessionRequest) Pack() []byte
type ActivateSessionResponse ¶
type ActivateSessionResponse struct {
// Authentication Type for remainder of session
AuthType types.AuthType
// use this for remainder of session.
// While atypical, the BMC is allowed to change the Session ID from the one that passed in the request.
SessionID uint32
// Initial inbound seq# = Sequence number that BMC wants remote console to use for subsequent messages in the session. The BMC returns a non-null value for multi-session connections and returns null (all 0s) for single-session connections.
//
// The remote console must increment the inbound session sequence number by one (1) for each subsequent message it sends to the BMC.
InitialInboundSequenceNumber uint32
// Maximum privilege level allowed for this session
// [7:4] - reserved
// [3:0] - Maximum Privilege Level allowed
// 0h = reserved
// 1h = Callback level
// 2h = User level
// 3h = Operator level
// 4h = Administrator level
// 5h = OEM Proprietary level
// all other = reserved
MaxPrivilegeLevel uint8
}
func (*ActivateSessionResponse) Format ¶
func (res *ActivateSessionResponse) Format() string
func (*ActivateSessionResponse) Unpack ¶
func (res *ActivateSessionResponse) Unpack(data []byte) error
type AdditionalDeviceSupport ¶
type AdditionalDeviceSupport struct {
SupportChassis bool
SupportBridge bool
SupportIPMBEventGenerator bool
SupportIPMBEventReceiver bool
SupportFRUInventory bool
SupportSEL bool
SupportSDRRepo bool
SupportSensor bool
}
Additional Device Support (formerly called IPM Device Support). Lists the IPMI 'logical device' commands and functions that the controller supports that are in addition to the mandatory IPM and Application commands. [7] Chassis Device (device functions as chassis device per ICMB spec.) [6] Bridge (device responds to Bridge NetFn commands) [5] IPMB Event Generator (device generates event messages [platform event request messages] onto the IPMB) [4] IPMB Event Receiver (device accepts event messages [platform event request messages] from the IPMB) [3] FRU Inventory Device [2] SEL Device [1] SDR Repository Device [0] Sensor Device
type CloseSessionRequest ¶
type CloseSessionRequest struct {
// For IPMI v2.0/RMCP+ this is the Managed System Session ID value that was generated by the BMC, not the ID from the remote console. If Session ID = 0000_0000h then an implementation can optionally enable this command to take an additional byte of parameter data that allows a session handle to be used to close a session.
SessionID uint32
// Session Handle. (only present if Session ID = 0000_0000h)
SessionHandle uint8
}
func (*CloseSessionRequest) Command ¶
func (req *CloseSessionRequest) Command() types.Command
func (*CloseSessionRequest) Pack ¶
func (req *CloseSessionRequest) Pack() []byte
type CloseSessionResponse ¶
type CloseSessionResponse struct {
}
func (*CloseSessionResponse) Format ¶
func (res *CloseSessionResponse) Format() string
func (*CloseSessionResponse) Unpack ¶
func (res *CloseSessionResponse) Unpack(msg []byte) error
type ColdResetRequest ¶
type ColdResetRequest struct {
}
func (*ColdResetRequest) Command ¶
func (req *ColdResetRequest) Command() types.Command
func (*ColdResetRequest) Pack ¶
func (req *ColdResetRequest) Pack() []byte
type ColdResetResponse ¶
type ColdResetResponse struct {
}
func (*ColdResetResponse) Format ¶
func (res *ColdResetResponse) Format() string
func (*ColdResetResponse) Unpack ¶
func (res *ColdResetResponse) Unpack(msg []byte) error
type CommandRangeMask ¶
type CommandRangeMask uint8
type EnableMessageChannelReceiveRequest ¶
type EnableMessageChannelReceiveRequest struct {
ChannelNumber uint8
// [7:2] - reserved
// [1:0] - 00b = disable channel
// 01b = enable channel
// 10b = get channel enable/disable state
// 11b = reserved
ChannelState uint8
}
func (*EnableMessageChannelReceiveRequest) Command ¶
func (req *EnableMessageChannelReceiveRequest) Command() types.Command
func (*EnableMessageChannelReceiveRequest) Pack ¶
func (req *EnableMessageChannelReceiveRequest) Pack() []byte
type EnableMessageChannelReceiveResponse ¶
func (*EnableMessageChannelReceiveResponse) Format ¶
func (res *EnableMessageChannelReceiveResponse) Format() string
func (*EnableMessageChannelReceiveResponse) Unpack ¶
func (res *EnableMessageChannelReceiveResponse) Unpack(msg []byte) error
type GetAuthCodeRequest ¶
type GetAuthCodeRequest struct {
AuthType types.AuthType
ChannelNumber uint8
UserID uint8
// data to hash (must be 16 bytes)
Data [16]byte
}
GetAuthCodeRequest sends a block of data to the BMC, whereupon the BMC will return a hash of the data together concatenated with the internally stored password for the given channel and user. See 22.21.
type GetAuthCodeResponse ¶
type GetAuthCodeResponse struct {
types.CompletionCode
// For IPMI v1.5 AuthCode Number:
AuthCode [16]byte
// For IPMI v2.0 Integrity Algorithm Number
// Resultant hash, per selected Integrity algorithm. Up to 20 bytes. An
// implementation can elect to return a variable length field based on the size of
// the hash for the given integrity algorithm, or can return a fixed field where the
// hash data is followed by 00h bytes as needed to pad the data to 20 bytes.
Hash []byte
}
type GetBTInterfaceCapabilitiesRequest ¶
type GetBTInterfaceCapabilitiesRequest struct {
}
func (*GetBTInterfaceCapabilitiesRequest) Command ¶
func (req *GetBTInterfaceCapabilitiesRequest) Command() types.Command
func (*GetBTInterfaceCapabilitiesRequest) Pack ¶
func (req *GetBTInterfaceCapabilitiesRequest) Pack() []byte
type GetBTInterfaceCapabilitiesResponse ¶
type GetBTInterfaceCapabilitiesResponse struct {
OutstandingRequestsCountSupported uint8
InputBufferMessageSizeBytes uint8
OutputBufferMessageSizeBytes uint8
BMCRequestToResponseTimeSec uint8
RecommendedRetries uint8
}
func (*GetBTInterfaceCapabilitiesResponse) Format ¶
func (res *GetBTInterfaceCapabilitiesResponse) Format() string
func (*GetBTInterfaceCapabilitiesResponse) Unpack ¶
func (res *GetBTInterfaceCapabilitiesResponse) Unpack(msg []byte) error
type GetChannelAccessRequest ¶
type GetChannelAccessRequest struct {
ChannelNumber uint8
AccessOption types.ChannelAccessOption
}
22.23 Get Channel Access Command
func (*GetChannelAccessRequest) Command ¶
func (req *GetChannelAccessRequest) Command() types.Command
func (*GetChannelAccessRequest) Pack ¶
func (req *GetChannelAccessRequest) Pack() []byte
type GetChannelAccessResponse ¶
type GetChannelAccessResponse struct {
PEFAlertingDisabled bool
PerMsgAuthDisabled bool
UserLevelAuthDisabled bool
AccessMode types.ChannelAccessMode
MaxPrivilegeLevel types.PrivilegeLevel
}
func (*GetChannelAccessResponse) Format ¶
func (res *GetChannelAccessResponse) Format() string
func (*GetChannelAccessResponse) Unpack ¶
func (res *GetChannelAccessResponse) Unpack(msg []byte) error
type GetChannelAuthenticationCapabilitiesRequest ¶
type GetChannelAuthenticationCapabilitiesRequest struct {
// [7]
// - 1b = get IPMI v2.0+ extended data.
// If the given channel supports authentication but does not support RMCP+
// (e.g. a serial channel), then the Response data should return with bit [5] of byte 4 = 0b, byte 5 should return 01h,
//
// - 0b = Backward compatible with IPMI v1.5. Response data only returns
// bytes 1:9, bit [7] of byte 3 (Authentication Type Support) and bit [5] of byte 4 returns as 0b, bit [5] of byte 5 returns 00h.
// [6:4] - reserved
IPMIv20Extended bool
// [3:0] - channel number.
// 0h-Bh, Fh = channel numbers
// Eh = retrieve information for channel this request was issued on
ChannelNumber uint8
// Requested Maximum Privilege Level
MaximumPrivilegeLevel types.PrivilegeLevel
}
22.13 Get Channel Authentication Capabilities. Retrieves capability information about the channel the message is delivered over, or for a particular channel, including authentication algorithm support for the given privilege level. Sent in unauthenticated (clear) format. When activating a session, the privilege level here is normally the same Requested Maximum Privilege used in Activate Session.
func (*GetChannelAuthenticationCapabilitiesRequest) Command ¶
func (req *GetChannelAuthenticationCapabilitiesRequest) Command() types.Command
func (*GetChannelAuthenticationCapabilitiesRequest) Pack ¶
func (req *GetChannelAuthenticationCapabilitiesRequest) Pack() []byte
type GetChannelAuthenticationCapabilitiesResponse ¶
type GetChannelAuthenticationCapabilitiesResponse struct {
// Channel number that the Authentication Capabilities is being returned for.
// If the channel number in the request was set to Eh, this will return
// the channel number for the channel that the request was received on
ChannelNumber uint8
// Returns the setting of the Authentication Type Enable field from the
// configuration parameters for the given channel that corresponds to
// the Requested Maximum Privilege Level.
// [7] -
// 1b = IPMI v2.0+ extended capabilities available. See Extended Capabilities field, below.
// 0b = IPMI v1.5 support only.
IPMIv20ExtendedAvailable bool
// [5:0] - IPMI v1.5 Authentication type(s) enabled for given Requested Maximum Privilege Level
AuthTypeNoneSupported bool // bit 0
AuthTypeMD2Supported bool // bit 1
AuthTypeMD5Supported bool // bit 2
AuthTypePasswordSupported bool // bit 4
AuthTypeOEMProprietarySupported bool // bit 5
// [5] - Kg status (two-key login status).
// Applies to v2.0/RMCP+ RAKP Authentication only. Otherwise, ignore as reserved.
// 0b = Kg is set to default (all 0s).
// 1b = Kg is set to non-zero value.
KgStatus bool
// [4] - Per-message Authentication status
// 0b = Per-message Authentication is enabled.
// 1b = Per-message Authentication is disabled.
// Authentication Type "none" accepted for packets to the BMC after the session has been activated.
PerMessageAuthenticationDisabled bool
// [3] - User Level Authentication status
// 0b = User Level Authentication is enabled.
// 1b = User Level Authentication is disabled.
// Authentication Type "none" accepted for User Level commands to the BMC.
UserLevelAuthenticationDisabled bool
// [2:0] - Anonymous Login status
// This parameter returns values that tells the remote console whether
// there are users on the system that have "null" usernames.
// This can be used to guide the way the remote console presents login options to the user.
// (see IPMI v1.5 specification sections 6.9.1, "Anonymous Login" Convention and 6.9.2, Anonymous Login )
// [2] - 1b = Non-null usernames enabled. (One or more users are enabled that have non-null usernames).
// [1] - 1b = Null usernames enabled (One or more users that have a null username, but non-null password, are presently enabled)
// [0] - 1b = Anonymous Login enabled (A user that has a null username and null password is presently enabled)
NonNullUsernamesEnabled bool
NullUsernamesEnabled bool
AnonymousLoginEnabled bool
// For IPMI v1.5: - reserved
// For IPMI v2.0+: - Extended Capabilities
// [7:2] - reserved
// [1] - 1b = channel supports IPMI v2.0 connections.
// [0] - 1b = channel supports IPMI v1.5 connections.
SupportIPMIv15 bool
SupportIPMIv20 bool
// IANA Enterprise Number for OEM/Organization that specified the particular
// OEM Authentication Type for RMCP. Least significant byte first.
// ONLY 3 bytes occupied. Return 00h, 00h, 00h if no OEM authentication type available.
OEMID uint32
// Additional OEM-specific information for the OEM Authentication Type for RMCP.
// Return 00h if no OEM authentication type available.
OEMAuxiliaryData uint8
}
func (*GetChannelAuthenticationCapabilitiesResponse) ChooseAuthType ¶
func (res *GetChannelAuthenticationCapabilitiesResponse) ChooseAuthType() types.AuthType
func (*GetChannelAuthenticationCapabilitiesResponse) Format ¶
func (res *GetChannelAuthenticationCapabilitiesResponse) Format() string
func (*GetChannelAuthenticationCapabilitiesResponse) Unpack ¶
func (res *GetChannelAuthenticationCapabilitiesResponse) Unpack(msg []byte) error
type GetChannelCipherSuitesRequest ¶
type GetChannelCipherSuitesRequest struct {
// 0h-Bh, Fh = channel numbers
// Eh = retrieve information for channel this request was issued on
ChannelNumber uint8
PayloadType types.PayloadType
ListIndex uint8
}
22.15 Get Channel Cipher Suites Command. This command can be executed prior to establishing a session with the BMC. It looks up authentication, integrity, and confidentiality algorithms supported as combined cipher suites. Applies only to implementations that support IPMI v2.0/RMCP+ sessions.
func (*GetChannelCipherSuitesRequest) Command ¶
func (req *GetChannelCipherSuitesRequest) Command() types.Command
func (*GetChannelCipherSuitesRequest) Pack ¶
func (req *GetChannelCipherSuitesRequest) Pack() []byte
type GetChannelCipherSuitesResponse ¶
func (*GetChannelCipherSuitesResponse) Format ¶
func (res *GetChannelCipherSuitesResponse) Format() string
func (*GetChannelCipherSuitesResponse) Unpack ¶
func (res *GetChannelCipherSuitesResponse) Unpack(msg []byte) error
type GetChannelInfoRequest ¶
type GetChannelInfoRequest struct {
ChannelNumber uint8
}
22.24 Get Channel Info Command
func (*GetChannelInfoRequest) Command ¶
func (req *GetChannelInfoRequest) Command() types.Command
func (*GetChannelInfoRequest) Pack ¶
func (req *GetChannelInfoRequest) Pack() []byte
type GetChannelInfoResponse ¶
type GetChannelInfoResponse struct {
ActualChannelNumber uint8
ChannelMedium types.ChannelMedium // Channel Medium Type Numbers
ChannelProtocol types.ChannelProtocol // Channel Protocol Type Numbers
SessionSupport uint8
ActiveSessionCount uint8
VendorID uint32 // (IANA Enterprise Number) for OEM/Organization that specified the Channel Protocol.
// Auxiliary Channel Info
Auxiliary []byte // Auxiliary Channel Info Raw Data, 2 bytes
// For Channel = Fh (System Interface)
SMSInterruptType InterruptType
EventMessageBufferInterruptType InterruptType
}
func (*GetChannelInfoResponse) Format ¶
func (res *GetChannelInfoResponse) Format() string
func (*GetChannelInfoResponse) Unpack ¶
func (res *GetChannelInfoResponse) Unpack(msg []byte) error
type GetCommandEnablesRequest ¶
type GetCommandEnablesRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn types.NetFn
LUN uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*GetCommandEnablesRequest) Command ¶
func (req *GetCommandEnablesRequest) Command() types.Command
func (*GetCommandEnablesRequest) Pack ¶
func (req *GetCommandEnablesRequest) Pack() []byte
type GetCommandEnablesResponse ¶
type GetCommandEnablesResponse struct {
// Todo
CommandEnableMask []byte
}
func (*GetCommandEnablesResponse) Format ¶
func (res *GetCommandEnablesResponse) Format() string
func (*GetCommandEnablesResponse) Unpack ¶
func (res *GetCommandEnablesResponse) Unpack(msg []byte) error
type GetCommandSubfunctionEnablesRequest ¶
type GetCommandSubfunctionEnablesRequest struct {
ChannelNumber uint8
NetFn types.NetFn
LUN uint8
Cmd uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*GetCommandSubfunctionEnablesRequest) Command ¶
func (req *GetCommandSubfunctionEnablesRequest) Command() types.Command
func (*GetCommandSubfunctionEnablesRequest) Pack ¶
func (req *GetCommandSubfunctionEnablesRequest) Pack() []byte
type GetCommandSubfunctionEnablesResponse ¶
type GetCommandSubfunctionEnablesResponse struct {
SubfunctionEnables []bool
}
func (*GetCommandSubfunctionEnablesResponse) Format ¶
func (res *GetCommandSubfunctionEnablesResponse) Format() string
func (*GetCommandSubfunctionEnablesResponse) Unpack ¶
func (res *GetCommandSubfunctionEnablesResponse) Unpack(msg []byte) error
type GetCommandSubfunctionSupportRequest ¶
type GetCommandSubfunctionSupportRequest struct {
ChannelNumber uint8
NetFn types.NetFn
LUN uint8
Cmd uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*GetCommandSubfunctionSupportRequest) Command ¶
func (req *GetCommandSubfunctionSupportRequest) Command() types.Command
func (*GetCommandSubfunctionSupportRequest) Pack ¶
func (req *GetCommandSubfunctionSupportRequest) Pack() []byte
type GetCommandSubfunctionSupportResponse ¶
type GetCommandSubfunctionSupportResponse struct {
SpecificationType uint8
ErrataVersion uint8
OEMGroupBody uint8
SpecificationVersion uint8
SpecificationRevision uint8
// Todo
SupportMask []byte
}
func (*GetCommandSubfunctionSupportResponse) Format ¶
func (res *GetCommandSubfunctionSupportResponse) Format() string
func (*GetCommandSubfunctionSupportResponse) Unpack ¶
func (res *GetCommandSubfunctionSupportResponse) Unpack(msg []byte) error
type GetCommandSupportRequest ¶
type GetCommandSupportRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn types.NetFn
LUN uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*GetCommandSupportRequest) Command ¶
func (req *GetCommandSupportRequest) Command() types.Command
func (*GetCommandSupportRequest) Pack ¶
func (req *GetCommandSupportRequest) Pack() []byte
type GetCommandSupportResponse ¶
type GetCommandSupportResponse struct {
// Todo
CommandSupportMask []byte
}
func (*GetCommandSupportResponse) Format ¶
func (res *GetCommandSupportResponse) Format() string
func (*GetCommandSupportResponse) Unpack ¶
func (res *GetCommandSupportResponse) Unpack(msg []byte) error
type GetConfigurableCommandSubfunctionsRequest ¶
type GetConfigurableCommandSubfunctionsRequest struct {
ChannelNumber uint8
NetFn types.NetFn
LUN uint8
Cmd uint8
CodeForNetFn2C uint8 // For Network Function = 2Ch
OEMIANA uint32 // For Network Function = 2Eh
}
21.6 Get Configurable Command Sub-functions Command
func (*GetConfigurableCommandSubfunctionsRequest) Command ¶
func (req *GetConfigurableCommandSubfunctionsRequest) Command() types.Command
func (*GetConfigurableCommandSubfunctionsRequest) Pack ¶
func (req *GetConfigurableCommandSubfunctionsRequest) Pack() []byte
type GetConfigurableCommandSubfunctionsResponse ¶
type GetConfigurableCommandSubfunctionsResponse struct {
// the index corresponds to sub-function number
// index 0 -> sub-function 0
// index 1 -> sub-function 1
SubfunctionsSupport []bool
}
func (*GetConfigurableCommandSubfunctionsResponse) Format ¶
func (res *GetConfigurableCommandSubfunctionsResponse) Format() string
func (*GetConfigurableCommandSubfunctionsResponse) Unpack ¶
func (res *GetConfigurableCommandSubfunctionsResponse) Unpack(msg []byte) error
type GetConfigurableCommandsRequest ¶
type GetConfigurableCommandsRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn types.NetFn
LUN uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*GetConfigurableCommandsRequest) Command ¶
func (req *GetConfigurableCommandsRequest) Command() types.Command
func (*GetConfigurableCommandsRequest) Pack ¶
func (req *GetConfigurableCommandsRequest) Pack() []byte
type GetConfigurableCommandsResponse ¶
type GetConfigurableCommandsResponse struct {
// Todo
CommandSupportMask []byte
}
func (*GetConfigurableCommandsResponse) Format ¶
func (res *GetConfigurableCommandsResponse) Format() string
func (*GetConfigurableCommandsResponse) Unpack ¶
func (res *GetConfigurableCommandsResponse) Unpack(msg []byte) error
type GetDeviceGUIDRequest ¶
type GetDeviceGUIDRequest struct {
}
20.8 Get Device GUID Command
func (*GetDeviceGUIDRequest) Command ¶
func (req *GetDeviceGUIDRequest) Command() types.Command
func (*GetDeviceGUIDRequest) Pack ¶
func (req *GetDeviceGUIDRequest) Pack() []byte
type GetDeviceGUIDResponse ¶
type GetDeviceGUIDResponse struct {
GUID [16]byte
}
func (*GetDeviceGUIDResponse) Format ¶
func (res *GetDeviceGUIDResponse) Format() string
func (*GetDeviceGUIDResponse) Unpack ¶
func (res *GetDeviceGUIDResponse) Unpack(msg []byte) error
type GetDeviceIDRequest ¶
type GetDeviceIDRequest struct {
}
20.1 Get Device ID Command
func (*GetDeviceIDRequest) Command ¶
func (req *GetDeviceIDRequest) Command() types.Command
func (*GetDeviceIDRequest) Pack ¶
func (req *GetDeviceIDRequest) Pack() []byte
type GetDeviceIDResponse ¶
type GetDeviceIDResponse struct {
DeviceID uint8
// [7] 1 = device provides Device SDRs
// 0 = device does not provide Device SDRs
// [6:4] reserved. Return as 0.
ProvideDeviceSDRs bool
// [3:0] Device Revision, binary encoded
DeviceRevision uint8
// [7] Device available: 0=normal operation, 1= device firmware, SDR
// Repository update or self-initialization in progress. [Firmware / SDR
// Repository updates can be differentiated by issuing a Get SDR
// command and checking the completion code.]
DeviceAvailable bool
// [6:0] Major Firmware Revision, binary encoded
MajorFirmwareRevision uint8
// BCD encoded
MinorFirmwareRevision uint8
// Holds IPMI Command Specification Version. BCD encoded.
// 00h = reserved.
// Bits 7:4 hold the Least Significant digit of the revision, while
// bits 3:0 hold the Most Significant bits.
// E.g. a value of 51h indicates revision 1.5 functionality.
// 02h for implementations that provide IPMI v2.0 capabilities
// per this specification.
MajorIPMIVersion uint8
MinorIPMIVersion uint8
AdditionalDeviceSupport
// Manufacturer ID, LS Byte first. The manufacturer ID is a 20-bit value that is
// derived from the IANA Private Enterprise ID (see below).
// Most significant four bits = reserved (0000b).
// 000000h = unspecified. 0FFFFFh = reserved. This value is binary encoded.
// E.g. the ID for the IPMI forum is 7154 decimal, which is 1BF2h, which would
// be stored in this record as F2h, 1Bh, 00h for bytes 8 through 10, respectively
ManufacturerID uint32 // only 3 bytes used
// Product ID, LS Byte first. This field can be used to provide a number that
// identifies a particular system, module, add-in card, or board set. The number
// is specified according to the manufacturer given by Manufacturer ID (see
// below).
// 0000h = unspecified. FFFFh = reserved.
ProductID uint16
// Auxiliary Firmware Revision Information. This field is optional. If present, it
// holds additional information about the firmware revision, such as boot block or
// internal data structure version numbers. The meanings of the numbers are
// specific to the vendor identified by Manufacturer ID (see below). When the
// vendor-specific definition is not known, generic utilities should display each
// byte as 2-digit hexadecimal numbers, with byte 13 displayed first as the most-significant byte.
AuxiliaryFirmwareRevision []byte // 4 bytes
}
func (*GetDeviceIDResponse) FirmwareVersionStr ¶
func (res *GetDeviceIDResponse) FirmwareVersionStr() string
func (*GetDeviceIDResponse) Format ¶
func (res *GetDeviceIDResponse) Format() string
func (*GetDeviceIDResponse) Unpack ¶
func (res *GetDeviceIDResponse) Unpack(msg []byte) error
type GetNetFnSupportRequest ¶
type GetNetFnSupportRequest struct {
ChannelNumber uint8
}
func (*GetNetFnSupportRequest) Command ¶
func (req *GetNetFnSupportRequest) Command() types.Command
func (*GetNetFnSupportRequest) Pack ¶
func (req *GetNetFnSupportRequest) Pack() []byte
type GetNetFnSupportResponse ¶
type GetNetFnSupportResponse struct {
LUN3Support LUNSupport
LUN2Support LUNSupport
LUN1Support LUNSupport
LUN0Support LUNSupport
// Todo
NetFnPairsSupport []byte
}
func (*GetNetFnSupportResponse) Format ¶
func (res *GetNetFnSupportResponse) Format() string
func (*GetNetFnSupportResponse) Unpack ¶
func (res *GetNetFnSupportResponse) Unpack(msg []byte) error
type GetSelfTestResultsRequest ¶
type GetSelfTestResultsRequest struct {
}
func (*GetSelfTestResultsRequest) Command ¶
func (req *GetSelfTestResultsRequest) Command() types.Command
func (*GetSelfTestResultsRequest) Pack ¶
func (req *GetSelfTestResultsRequest) Pack() []byte
type GetSelfTestResultsResponse ¶
func (*GetSelfTestResultsResponse) Format ¶
func (res *GetSelfTestResultsResponse) Format() string
func (*GetSelfTestResultsResponse) Unpack ¶
func (res *GetSelfTestResultsResponse) Unpack(msg []byte) error
type GetSessionChallengeRequest ¶
type GetSessionChallengeRequest struct {
// Authentication Type for Challenge
// indicating what type of authentication type the console wants to use.
AuthType types.AuthType
// Sixteen-bytes. All 0s for null user name (User 1)
Username [16]byte
}
v1.5§18.14 / v2.0§22.16 Get Session Challenge. Selects which BMC-supported authentication type the remote console wants to use, and a username that selects user information for the session.
func (*GetSessionChallengeRequest) Command ¶
func (req *GetSessionChallengeRequest) Command() types.Command
func (*GetSessionChallengeRequest) Pack ¶
func (req *GetSessionChallengeRequest) Pack() []byte
type GetSessionChallengeResponse ¶
type GetSessionChallengeResponse struct {
TemporarySessionID uint32 // LS byte first
Challenge [16]byte
}
func (*GetSessionChallengeResponse) Format ¶
func (res *GetSessionChallengeResponse) Format() string
func (*GetSessionChallengeResponse) Unpack ¶
func (res *GetSessionChallengeResponse) Unpack(msg []byte) error
type GetSessionInfoRequest ¶
type GetSessionInfoRequest struct {
// Session index
// 00h = Return info for active session associated with session this command was received over.
// N = get info for Nth active session
// FEh = Look up session info according to Session Handle passed in this request.
// FFh = Look up session info according to Session ID passed in this request.
SessionIndex uint8
SessionHandle uint8
SessionID uint32
}
22.20 Get Session Info Command
func (*GetSessionInfoRequest) Command ¶
func (req *GetSessionInfoRequest) Command() types.Command
func (*GetSessionInfoRequest) Pack ¶
func (req *GetSessionInfoRequest) Pack() []byte
type GetSessionInfoResponse ¶
type GetSessionInfoResponse struct {
SessionHandle uint8 // Session Handle presently assigned to active session.
PossibleActiveSessions uint8 // This value reflects the number of possible entries (slots) in the sessions table.
CurrentActiveSessions uint8 // Number of currently active sessions on all channels on this controller
UserID uint8
OperatingPrivilegeLevel types.PrivilegeLevel
// [7:4] - Session protocol auxiliary data
// For Channel Type = 802.3 LAN:
// 0h = IPMI v1.5
// 1h = IPMI v2.0/RMCP+
AuxiliaryData uint8 // 4bits
ChannelNumber uint8 // 4bits
// if Channel Type = 802.3 LAN:
RemoteConsoleIPAddr net.IP // IP Address of remote console (MS-byte first).
RemoteConsoleMacAddr net.HardwareAddr // 6 bytes, MAC Address (MS-byte first)
RemoteConsolePort uint16 // Port Number of remote console (LS-byte first)
// if Channel Type = asynch. serial/modem
SessionChannelActivityType uint8
DestinationSelector uint8
RemoteConsoleIPAddr_PPP uint32 // If PPP connection: IP address of remote console. (MS-byte first) 00h, 00h, 00h, 00h otherwise.
// if Channel Type = asynch. serial/modem and connection is PPP:
RemoteConsolePort_PPP uint16
}
func (*GetSessionInfoResponse) Format ¶
func (res *GetSessionInfoResponse) Format() string
func (*GetSessionInfoResponse) Unpack ¶
func (res *GetSessionInfoResponse) Unpack(msg []byte) error
type GetSystemGUIDRequest ¶
type GetSystemGUIDRequest struct {
}
22.14 Get System GUID Command
func (*GetSystemGUIDRequest) Command ¶
func (req *GetSystemGUIDRequest) Command() types.Command
func (*GetSystemGUIDRequest) Pack ¶
func (req *GetSystemGUIDRequest) Pack() []byte
type GetSystemGUIDResponse ¶
type GetSystemGUIDResponse struct {
// Note that the individual fields within the GUID are stored least-significant byte first
GUID [16]byte
}
func (*GetSystemGUIDResponse) Format ¶
func (res *GetSystemGUIDResponse) Format() string
func (*GetSystemGUIDResponse) Unpack ¶
func (res *GetSystemGUIDResponse) Unpack(msg []byte) error
type GetSystemInfoParamRequest ¶
type GetSystemInfoParamRequest struct {
GetParamRevisionOnly bool
ParamSelector types.SystemInfoParamSelector
SetSelector uint8
BlockSelector uint8
}
22.14b Get System Info Parameters Command
func (*GetSystemInfoParamRequest) Command ¶
func (req *GetSystemInfoParamRequest) Command() types.Command
func (*GetSystemInfoParamRequest) Pack ¶
func (req *GetSystemInfoParamRequest) Pack() []byte
type GetSystemInfoParamResponse ¶
func (*GetSystemInfoParamResponse) Format ¶
func (res *GetSystemInfoParamResponse) Format() string
func (*GetSystemInfoParamResponse) Unpack ¶
func (res *GetSystemInfoParamResponse) Unpack(msg []byte) error
type GetSystemInterfaceCapabilitiesRequest ¶
type GetSystemInterfaceCapabilitiesRequest struct {
SystemInterfaceType SystemInterfaceType
}
func (*GetSystemInterfaceCapabilitiesRequest) Command ¶
func (req *GetSystemInterfaceCapabilitiesRequest) Command() types.Command
func (*GetSystemInterfaceCapabilitiesRequest) Pack ¶
func (req *GetSystemInterfaceCapabilitiesRequest) Pack() []byte
type GetSystemInterfaceCapabilitiesResponse ¶
type GetSystemInterfaceCapabilitiesResponse struct {
// For System Interface Type = SSIF
TransactionSupportMask uint8
PECSupported bool
SSIFVersion uint8
InputMessageSizeBytes uint8
OutputMessageSizeBytes uint8
// For System Interface Type = KCS or SMIC
SystemInterfaceVersion uint8
InputMaximumMessageSizeBytes uint8
}
func (*GetSystemInterfaceCapabilitiesResponse) Format ¶
func (res *GetSystemInterfaceCapabilitiesResponse) Format() string
func (*GetSystemInterfaceCapabilitiesResponse) Unpack ¶
func (res *GetSystemInterfaceCapabilitiesResponse) Unpack(msg []byte) error
type GetUserAccessRequest ¶
v1.5§18.24 / v2.0§22.27 Get User Access Command
func (*GetUserAccessRequest) Command ¶
func (req *GetUserAccessRequest) Command() types.Command
func (*GetUserAccessRequest) Pack ¶
func (req *GetUserAccessRequest) Pack() []byte
type GetUserAccessResponse ¶
type GetUserAccessResponse struct {
// Maximum number of User IDs. 1-based. Count includes User 1. A value of 1
// indicates only User 1 is supported.
MaxUsersIDCount uint8
// [7:6] - User ID Enable status (for IPMI v2.0 errata 3 and later implementations).
// 00b = User ID enable status unspecified. (For backward compatibility
// with pre-errata 3 implementations. IPMI errata 3 and later
// implementations should return the 01b and 10b responses.)
// 01b = User ID enabled via Set User Password command.
// 10b = User ID disabled via Set User Password command.
// 11b = reserved
EnableStatus uint8
// [5:0] - count of currently enabled user IDs on this channel (Indicates how
// many User ID slots are presently in use.)
EnabledUserIDsCount uint8
// Count of User IDs with fixed names, including User 1 (1-based). Fixed names
// in addition to User 1 are required to be associated with sequential user IDs
// starting from User ID 2.
FixedNameUseIDsCount uint8
// [6] - 0b = user access available during call-in or callback direct connection
// 1b = user access available only during callback connection
CallbackOnly bool
// [5] - 0b = user disabled for link authentication
// 1b = user enabled for link authentication
LinkAuthEnabled bool
// [4] - 0b = user disabled for IPMI Messaging
// 1b = user enabled for IPMI Messaging
IPMIMessagingEnabled bool
// [3:0] - User Privilege Limit for given Channel
MaxPrivLevel types.PrivilegeLevel
}
func (*GetUserAccessResponse) Format ¶
func (res *GetUserAccessResponse) Format() string
func (*GetUserAccessResponse) Unpack ¶
func (res *GetUserAccessResponse) Unpack(msg []byte) error
type GetUserPayloadAccessRequest ¶
24.7 Get User Payload Access Command
func (*GetUserPayloadAccessRequest) Command ¶
func (req *GetUserPayloadAccessRequest) Command() types.Command
func (*GetUserPayloadAccessRequest) Pack ¶
func (req *GetUserPayloadAccessRequest) Pack() []byte
type GetUserPayloadAccessResponse ¶
type GetUserPayloadAccessResponse struct {
PayloadTypeSOL bool
PayloadTypeOEM0 bool
PayloadTypeOEM1 bool
PayloadTypeOEM2 bool
PayloadTypeOEM3 bool
PayloadTypeOEM4 bool
PayloadTypeOEM5 bool
PayloadTypeOEM6 bool
PayloadTypeOEM7 bool
}
func (*GetUserPayloadAccessResponse) Format ¶
func (res *GetUserPayloadAccessResponse) Format() string
func (*GetUserPayloadAccessResponse) Unpack ¶
func (res *GetUserPayloadAccessResponse) Unpack(msg []byte) error
type GetUsernameRequest ¶
type GetUsernameRequest struct {
// [5:0] - User ID. 000000b = reserved. (User ID 1 is permanently associated with User 1, the null user name).
UserID uint8
}
22.29 Get User Name Command
func (*GetUsernameRequest) Command ¶
func (req *GetUsernameRequest) Command() types.Command
func (*GetUsernameRequest) Pack ¶
func (req *GetUsernameRequest) Pack() []byte
type GetUsernameResponse ¶
type GetUsernameResponse struct {
Username string
}
func (*GetUsernameResponse) Format ¶
func (res *GetUsernameResponse) Format() string
func (*GetUsernameResponse) Unpack ¶
func (res *GetUsernameResponse) Unpack(msg []byte) error
type GetWatchdogTimerRequest ¶
type GetWatchdogTimerRequest struct {
}
27.7 Get Watchdog Timer Command
func (*GetWatchdogTimerRequest) Command ¶
func (req *GetWatchdogTimerRequest) Command() types.Command
func (*GetWatchdogTimerRequest) Pack ¶
func (req *GetWatchdogTimerRequest) Pack() []byte
type GetWatchdogTimerResponse ¶
type GetWatchdogTimerResponse struct {
DontLog bool
TimerIsStarted bool
TimerUse TimerUse
PreTimeoutInterrupt PreTimeoutInterrupt
TimeoutAction TimeoutAction
PreTimeoutIntervalSec uint8
ExpirationFlags uint8
InitialCountdown uint16
PresentCountdown uint16
}
func (*GetWatchdogTimerResponse) Format ¶
func (res *GetWatchdogTimerResponse) Format() string
func (*GetWatchdogTimerResponse) Unpack ¶
func (res *GetWatchdogTimerResponse) Unpack(msg []byte) error
type InterruptType ¶
type InterruptType uint8
func (InterruptType) String ¶
func (typ InterruptType) String() string
type LUNSupport ¶
type LUNSupport uint8
func (LUNSupport) String ¶
func (l LUNSupport) String() string
type ManufacturingTestOnRequest ¶
type ManufacturingTestOnRequest struct {
}
func (*ManufacturingTestOnRequest) Command ¶
func (req *ManufacturingTestOnRequest) Command() types.Command
func (*ManufacturingTestOnRequest) Pack ¶
func (req *ManufacturingTestOnRequest) Pack() []byte
type ManufacturingTestOnResponse ¶
type ManufacturingTestOnResponse struct {
}
func (*ManufacturingTestOnResponse) Format ¶
func (res *ManufacturingTestOnResponse) Format() string
func (*ManufacturingTestOnResponse) Unpack ¶
func (res *ManufacturingTestOnResponse) Unpack(msg []byte) error
type MasterWriteReadRequest ¶
type MasterWriteReadRequest struct {
// [7:4] channel number (Ignored when bus type = 1b)
ChannelNumber uint8
// [3:1] bus ID, 0-based (always 000b for public bus [bus type = 0b])
BusID uint8
// [0] bus type:
// - 0b = public (e.g. IPMB or PCI Management Bus.
// The channel number value is used to select the target bus.)
// - 1b = private bus (The bus ID value is used to select the target bus.)
BusTypeIsPrivate bool
SlaveAddress uint8
ReadCount uint8
// Data to write. This command should support at least 35 bytes of write data
Data []byte
}
func (*MasterWriteReadRequest) Command ¶
func (req *MasterWriteReadRequest) Command() types.Command
func (*MasterWriteReadRequest) Pack ¶
func (req *MasterWriteReadRequest) Pack() []byte
type MasterWriteReadResponse ¶
type MasterWriteReadResponse struct {
// Bytes read from specified slave address.
// This field will be absent if the read count is 0.
// The controller terminates the I2C transaction with a STOP condition after reading the requested number of bytes.
Data []byte
}
func (*MasterWriteReadResponse) Format ¶
func (res *MasterWriteReadResponse) Format() string
func (*MasterWriteReadResponse) Unpack ¶
func (res *MasterWriteReadResponse) Unpack(msg []byte) error
type PasswordOperation ¶
type PasswordOperation uint8
const ( PasswordOperationDisableUser PasswordOperation = 0x00 PasswordOperationEnableUser PasswordOperation = 0x01 PasswordOperationSetPassword PasswordOperation = 0x02 PasswordOperationTestPassword PasswordOperation = 0x03 )
type PreTimeoutInterrupt ¶
type PreTimeoutInterrupt uint8
const ( PreTimeoutInterruptNone PreTimeoutInterrupt = 0x00 PreTimeoutInterruptSMI PreTimeoutInterrupt = 0x01 PreTimeoutInterruptNMI PreTimeoutInterrupt = 0x02 PreTimeoutInterruptMessaging PreTimeoutInterrupt = 0x03 )
func (PreTimeoutInterrupt) String ¶
func (t PreTimeoutInterrupt) String() string
type ResetWatchdogTimerRequest ¶
type ResetWatchdogTimerRequest struct {
}
func (*ResetWatchdogTimerRequest) Command ¶
func (req *ResetWatchdogTimerRequest) Command() types.Command
func (*ResetWatchdogTimerRequest) Pack ¶
func (req *ResetWatchdogTimerRequest) Pack() []byte
type ResetWatchdogTimerResponse ¶
type ResetWatchdogTimerResponse struct {
}
func (*ResetWatchdogTimerResponse) Format ¶
func (res *ResetWatchdogTimerResponse) Format() string
func (*ResetWatchdogTimerResponse) Unpack ¶
func (res *ResetWatchdogTimerResponse) Unpack(msg []byte) error
type SendMessageRequest ¶
type SendMessageRequest struct {
// [7:6] 00b = No tracking
// 01b = Track Request.
// 10b = Send Raw. (optional)
// 11b = reserved
TrackMask uint8
Encrypted bool
Authenticated bool
ChannelNumber uint8
// Todo
MessageData []byte
}
func (SendMessageRequest) Command ¶
func (req SendMessageRequest) Command() types.Command
func (*SendMessageRequest) Pack ¶
func (req *SendMessageRequest) Pack() []byte
type SendMessageResponse ¶
type SendMessageResponse struct {
// This data will only be present when using the Send Message command to
// originate requests from IPMB or PCI Management Bus to other channels
// such as LAN or serial/modem. It is not present in the response to a
// Send Message command delivered via the System Interface.
Data []byte
}
func (*SendMessageResponse) Format ¶
func (res *SendMessageResponse) Format() string
func (*SendMessageResponse) Unpack ¶
func (res *SendMessageResponse) Unpack(msg []byte) error
type SetChannelAccessRequest ¶
type SetChannelAccessRequest struct {
ChannelNumber uint8
// [7:6] - 00b = don't set or change Channel Access
// 01b = set non-volatile Channel Access according to bits [5:0]
// 10b = set volatile (active) setting of Channel Access according to bit [5:0]
// 11b = reserved
AccessOption uint8
DisablePEFAlerting bool
DisablePerMsgAuth bool
DisableUserLevelAuth bool
AccessMode types.ChannelAccessMode
PrivilegeOption uint8
MaxPrivilegeLevel uint8
}
func (*SetChannelAccessRequest) Command ¶
func (req *SetChannelAccessRequest) Command() types.Command
func (*SetChannelAccessRequest) Pack ¶
func (req *SetChannelAccessRequest) Pack() []byte
type SetChannelAccessResponse ¶
type SetChannelAccessResponse struct {
}
func (*SetChannelAccessResponse) Format ¶
func (res *SetChannelAccessResponse) Format() string
func (*SetChannelAccessResponse) Unpack ¶
func (res *SetChannelAccessResponse) Unpack(msg []byte) error
type SetCommandEnablesRequest ¶
type SetCommandEnablesRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn types.NetFn
LUN uint8
// if CommandRangeMask == CommandRangeMask007F
CommandsMaskBytes [16]byte
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
}
func (*SetCommandEnablesRequest) Command ¶
func (req *SetCommandEnablesRequest) Command() types.Command
func (*SetCommandEnablesRequest) Pack ¶
func (req *SetCommandEnablesRequest) Pack() []byte
type SetCommandEnablesResponse ¶
type SetCommandEnablesResponse struct {
}
func (*SetCommandEnablesResponse) Format ¶
func (res *SetCommandEnablesResponse) Format() string
func (*SetCommandEnablesResponse) Unpack ¶
func (res *SetCommandEnablesResponse) Unpack(msg []byte) error
type SetCommandSubfunctionEnablesRequest ¶
type SetCommandSubfunctionEnablesRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn types.NetFn
LUN uint8
Cmd uint8
CodeForNetFn2C uint8
OEMIANA uint32 // 3 bytes only
SubfunctionEnables []bool
}
func (*SetCommandSubfunctionEnablesRequest) Command ¶
func (req *SetCommandSubfunctionEnablesRequest) Command() types.Command
func (*SetCommandSubfunctionEnablesRequest) Pack ¶
func (req *SetCommandSubfunctionEnablesRequest) Pack() []byte
type SetCommandSubfunctionEnablesResponse ¶
type SetCommandSubfunctionEnablesResponse struct {
}
func (*SetCommandSubfunctionEnablesResponse) Format ¶
func (res *SetCommandSubfunctionEnablesResponse) Format() string
func (*SetCommandSubfunctionEnablesResponse) Unpack ¶
func (res *SetCommandSubfunctionEnablesResponse) Unpack(msg []byte) error
type SetSessionPrivilegeLevelRequest ¶
type SetSessionPrivilegeLevelRequest struct {
PrivilegeLevel types.PrivilegeLevel
}
v1.5§18.16 / v2.0§22.18 Set Session Privilege Level Command
func (*SetSessionPrivilegeLevelRequest) Command ¶
func (req *SetSessionPrivilegeLevelRequest) Command() types.Command
func (*SetSessionPrivilegeLevelRequest) Pack ¶
func (req *SetSessionPrivilegeLevelRequest) Pack() []byte
type SetSessionPrivilegeLevelResponse ¶
type SetSessionPrivilegeLevelResponse struct {
// New Privilege Level (or present level if 'return present privilege level' was selected.)
PrivilegeLevel uint8
}
func (*SetSessionPrivilegeLevelResponse) Format ¶
func (res *SetSessionPrivilegeLevelResponse) Format() string
func (*SetSessionPrivilegeLevelResponse) Unpack ¶
func (res *SetSessionPrivilegeLevelResponse) Unpack(msg []byte) error
type SetSystemInfoParamRequest ¶
type SetSystemInfoParamRequest struct {
ParamSelector types.SystemInfoParamSelector
ParamData []byte
}
22.14a Set System Info Parameters Command
func (*SetSystemInfoParamRequest) Command ¶
func (req *SetSystemInfoParamRequest) Command() types.Command
func (*SetSystemInfoParamRequest) Pack ¶
func (req *SetSystemInfoParamRequest) Pack() []byte
type SetSystemInfoParamResponse ¶
type SetSystemInfoParamResponse struct {
}
func (*SetSystemInfoParamResponse) Format ¶
func (res *SetSystemInfoParamResponse) Format() string
func (*SetSystemInfoParamResponse) Unpack ¶
func (res *SetSystemInfoParamResponse) Unpack(msg []byte) error
type SetUserAccessRequest ¶
type SetUserAccessRequest struct {
EnableChanging bool
RestrictedToCallback bool
EnableLinkAuth bool
EnableIPMIMessaging bool
ChannelNumber uint8
UserID uint8
MaxPrivLevel uint8
SessionLimit uint8
}
func (*SetUserAccessRequest) Command ¶
func (req *SetUserAccessRequest) Command() types.Command
func (*SetUserAccessRequest) Pack ¶
func (req *SetUserAccessRequest) Pack() []byte
type SetUserAccessResponse ¶
type SetUserAccessResponse struct {
}
func (*SetUserAccessResponse) Format ¶
func (res *SetUserAccessResponse) Format() string
func (*SetUserAccessResponse) Unpack ¶
func (res *SetUserAccessResponse) Unpack(msg []byte) error
type SetUserPasswordRequest ¶
type SetUserPasswordRequest struct {
// [5:0] - User ID. 000000b = reserved. (User ID 1 is permanently associated with User 1, the null user name).
UserID uint8
// The BMC shall maintain an internal tag that indicates whether
// the password was set as a 16-byte or as a 20-byte password.
Stored20 bool
Operation PasswordOperation
Password string
}
func (*SetUserPasswordRequest) Command ¶
func (req *SetUserPasswordRequest) Command() types.Command
func (*SetUserPasswordRequest) Pack ¶
func (req *SetUserPasswordRequest) Pack() []byte
type SetUserPasswordResponse ¶
type SetUserPasswordResponse struct {
}
func (*SetUserPasswordResponse) Format ¶
func (res *SetUserPasswordResponse) Format() string
func (*SetUserPasswordResponse) Unpack ¶
func (res *SetUserPasswordResponse) Unpack(msg []byte) error
type SetUserPayloadAccessOperation ¶
type SetUserPayloadAccessOperation uint8
const ( SetUserPayloadAccessOperationEnable SetUserPayloadAccessOperation = 0x00 SetUserPayloadAccessOperationDisable SetUserPayloadAccessOperation = 0x01 )
type SetUserPayloadAccessRequest ¶
type SetUserPayloadAccessRequest struct {
ChannelNumber uint8
UserID uint8
Operation SetUserPayloadAccessOperation
PayloadTypeSOL bool
PayloadTypeOEM0 bool
PayloadTypeOEM1 bool
PayloadTypeOEM2 bool
PayloadTypeOEM3 bool
PayloadTypeOEM4 bool
PayloadTypeOEM5 bool
PayloadTypeOEM6 bool
PayloadTypeOEM7 bool
}
24.6 Set User Payload Access Command
func (*SetUserPayloadAccessRequest) Command ¶
func (req *SetUserPayloadAccessRequest) Command() types.Command
func (*SetUserPayloadAccessRequest) Pack ¶
func (req *SetUserPayloadAccessRequest) Pack() []byte
type SetUserPayloadAccessResponse ¶
type SetUserPayloadAccessResponse struct {
}
func (*SetUserPayloadAccessResponse) Format ¶
func (res *SetUserPayloadAccessResponse) Format() string
func (*SetUserPayloadAccessResponse) Unpack ¶
func (res *SetUserPayloadAccessResponse) Unpack(msg []byte) error
type SetUsernameRequest ¶
type SetUsernameRequest struct {
// [5:0] - User ID. 000000b = reserved. (User ID 1 is permanently associated with User 1, the null user name).
UserID uint8
// User Name String in ASCII, 16 bytes, max. Strings with fewer than 16
// characters are terminated with a null (00h) character and 00h padded to 16
// bytes. When the string is read back using the Get User Name command,
// those bytes shall be returned as 0s.
// Here if string length is longer than 16, it would be auto truncated.
Username string
}
func (*SetUsernameRequest) Command ¶
func (req *SetUsernameRequest) Command() types.Command
func (*SetUsernameRequest) Pack ¶
func (req *SetUsernameRequest) Pack() []byte
type SetUsernameResponse ¶
type SetUsernameResponse struct {
}
func (*SetUsernameResponse) Format ¶
func (res *SetUsernameResponse) Format() string
func (*SetUsernameResponse) Unpack ¶
func (res *SetUsernameResponse) Unpack(msg []byte) error
type SetWatchdogTimerRequest ¶
type SetWatchdogTimerRequest struct {
DontLog bool
DontStopTimer bool
TimerUse TimerUse
PreTimeoutInterrupt PreTimeoutInterrupt
TimeoutAction TimeoutAction
PreTimeoutIntervalSec uint8
ExpirationFlags uint8
InitialCountdown uint16
}
func (*SetWatchdogTimerRequest) Command ¶
func (req *SetWatchdogTimerRequest) Command() types.Command
func (*SetWatchdogTimerRequest) Pack ¶
func (req *SetWatchdogTimerRequest) Pack() []byte
type SetWatchdogTimerResponse ¶
type SetWatchdogTimerResponse struct {
}
func (*SetWatchdogTimerResponse) Format ¶
func (res *SetWatchdogTimerResponse) Format() string
func (*SetWatchdogTimerResponse) Unpack ¶
func (res *SetWatchdogTimerResponse) Unpack(msg []byte) error
type SystemInterfaceType ¶
type SystemInterfaceType uint8
const ( SystemInterfaceTypeSSIF SystemInterfaceType = 0x00 SystemInterfaceTypeKCS SystemInterfaceType = 0x01 SystemInterfaceTypeSMIC SystemInterfaceType = 0x02 )
type TimeoutAction ¶
type TimeoutAction uint8
const ( TimeoutActionNoAction TimeoutAction = 0x00 TimeoutActionHardReset TimeoutAction = 0x01 TimeoutActionPowerDown TimeoutAction = 0x02 TimeoutActionPowerCycle TimeoutAction = 0x03 )
func (TimeoutAction) String ¶
func (t TimeoutAction) String() string
type WarmResetRequest ¶
type WarmResetRequest struct {
}
func (*WarmResetRequest) Command ¶
func (req *WarmResetRequest) Command() types.Command
func (*WarmResetRequest) Pack ¶
func (req *WarmResetRequest) Pack() []byte
type WarmResetResponse ¶
type WarmResetResponse struct {
}
func (*WarmResetResponse) Format ¶
func (res *WarmResetResponse) Format() string
func (*WarmResetResponse) Unpack ¶
func (res *WarmResetResponse) Unpack(msg []byte) error
Source Files
¶
- cmd_activate_session.go
- cmd_close_session.go
- cmd_cold_reset.go
- cmd_enable_message_channel_receive.go
- cmd_get_auth_code.go
- cmd_get_bt_interface_capabilities.go
- cmd_get_channel_access.go
- cmd_get_channel_authentication_capabilities.go
- cmd_get_channel_cipher_suites.go
- cmd_get_channel_info.go
- cmd_get_command_enables.go
- cmd_get_command_subfunction_enables.go
- cmd_get_command_subfunction_support.go
- cmd_get_command_support.go
- cmd_get_configurable_commands.go
- cmd_get_configurable_commands_subfunctions.go
- cmd_get_device_guid.go
- cmd_get_device_id.go
- cmd_get_netfn_support.go
- cmd_get_self_test_results.go
- cmd_get_session_challenge.go
- cmd_get_session_info.go
- cmd_get_system_guid.go
- cmd_get_system_info_params.go
- cmd_get_system_interface_capabilities.go
- cmd_get_user_access.go
- cmd_get_user_payload_access.go
- cmd_get_username.go
- cmd_get_watchdog_timer.go
- cmd_manufacturing_test_on.go
- cmd_master_write_read.go
- cmd_reset_watchdog_timer.go
- cmd_send_message.go
- cmd_set_channel_access.go
- cmd_set_command_enables.go
- cmd_set_command_subfunction_enables.go
- cmd_set_session_privilege_level.go
- cmd_set_system_info_params.go
- cmd_set_user_access.go
- cmd_set_user_password.go
- cmd_set_user_payload_access.go
- cmd_set_username.go
- cmd_set_watchdog_timer.go
- cmd_warm_reset.go