# FSP (v1.0)

# HMCX = 0x0005
GET_PLATFORM_SRC = 0,B,0,2,8,SHORT+SHORT+BYTE
INTERFACE_CAPABILITIES = 0,5,0,4,8,INT+DATA
GET_COMMAND_FAILED_LOG = 0,5,0,6,8
GET_HMC_POLLING_FREQUENCY = 0,5,0,8,8
SET_HMC_POLLING_FREQUENCY = 0,5,0,9,8,SHORT+BYTE+BYTE
GET_INTERFACE_IMPLEMENTATION_LIMITS = 0,5,0,A,8
GET_MASTER_HMC = 0,5,0,C,8
SET_MASTER_HMC = 0,5,0,D,8,BYTE


GET_HMC_LOCK_STATUS_V3 = 0,5,0,13,8,SHORT+SHORT+SHORT+PAD2+INT+SHORT+DATA
SET_HMC_LOCKS_V2 = 0,5,0,16,8,SHORT+PAD2+SHORT+SHORT+DATA
RESET_HMC_LOCKS_V2 = 0,5,0,18,8,SHORT+SHORT+SHORT+SHORT+DATA


GET_EVENT_NOTIFICATION_MASK = 0,5,1,2,8
SET_EVENT_NOTIFICATION_MASK = 0,5,1,3,8,PAD2+SHORT+DATA
ACKNOWLEDGE_OUTSTANDING_EVENTS = 0,5,1,7,8
GET_PENDING_EVENTS = 0,5,1,8,8
GET_OUTSTANDING_EVENTS = 0,5,1,8,8
SET_NOTIFICATION_EVENT = 0,5,1,11,8,SHORT+SHORT+DATA
GET_HMC_BROADCAST_EVENT = 0,5,1,14,8,SHORT
GET_CURRENT_HMC_BROADCAST_SEQUENCE_NUMBER = 0,5,1,16,8
QUERY_FSP_COMMUNICATION_STATE = 0,5,1,1C,8

GET_CEC_TIME_OF_DAY = 0,11,4,2,8
SET_CEC_TIME_OF_DAY = 0,11,84,3,8,SHORT+BYTE+BYTE+BYTE+BYTE+BYTE+PAD1+LONG

GET_CEC_NAME = 0,5,11,4,8
SET_CEC_NAME = 0,5,11,5,8,DATA
GET_CEC_STATE = 0,5,11,6,8
GET_CEC_STATE_V3 = 0,5,11,C,8
SET_CEC_STATE = 0,5,11,7,8,BYTE
GET_STORAGE_CLUSTER_VPD = 0,5,11,15,8
GET_PROCESSOR_FEATURE_CODE = 0,5,11,16,8

GET_LOCATION_CODE_LIST = 0,5,80,6,8,SHORT+SHORT+BYTE+BYTE+DATA

//for BPA
GET_BPA_LOCATION_CODE_LIST = 0,1A,90,1,8,SHORT+SHORT+BYTE+BYTE+DATA



ACKNOWLEDGE_PLATFORM_DUMP = 0,5,1D,5,8,PAD+PAD+SHORT+INT

ACKNOWLEDGE_PLATFORM_DUMP_V2 = 0,5,1D,5,8,PAD+PAD+SHORT+INT+SHORT+DATA

TRANSITION_HYPERVISOR_STATE = 0,5,0,21,8,BYTE

#rename for SET CEC STATE v 1.05
GET_CEC_TRANSITION = 0,5,11,7,8,BYTE+BYTE+BYTE

GET_PLATFORM_IPL_PARAMETERS = 0,10,11,10,8
SET_PLATFORM_IPL_PARAMETERS = 0,10,11,11,8,INT+SHORT+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+SHORT+BYTE+BYTE+BYTE+BYTE+BYTE+BYTE+SHORT+BYTE+BYTE
GET_ORIGINAL_PLATFORM_IPL_SIDE = 0,10,11,14,8

REBOOT_SERVICE_PROCESSOR = 0,D,12,1,8,PAD
BROADCAST_MESSAGE = 0,5,0,19,8,SHORT+BYTE+BYTE+SHORT+SHORT+INT+SHORT+DATA+DATA
SET_HMC_LOCKS = 0,5,0,15,8,SHORT+SHORT+SHORT+PAD+PAD+DATA
RESET_HMC_LOCKS = 0,5,0,17,8,SHORT+SHORT+SHORT+PAD+PAD+DATA
GET_HMC_LOCK_STATUS = 0,5,0,1C,8,SHORT+SHORT+SHORT+PAD+PAD+INT+SHORT+DATA
GET_HMC_INFORMATION = 0,5,0,1A,8

# FILE IO
OPEN_FILE = 0,5,2,4,8,PAD+PAD+SHORT+INT+BYTE+BYTE+PAD+PAD+INT+INT
READ_FILE = 0,5,2,6,8,PAD+PAD+SHORT+INT+INT+INT
WRITE_FILE = 0,5,2,7,8,PAD+PAD+SHORT+INT+INT+INT+DATA
CLOSE_FILE = 0,5,2,5,8,PAD+PAD+SHORT+INT+BYTE
GET_FILE_INSTANCE_LIST_2 = 0,5,2,A,8,PAD2+SHORT+INT
GET_FILE_INSTANCE_LIST = 0,5,2,A,8,PAD2+SHORT+INT

#POWR cmds
GET_CEC_CONFIG_ID = 0,5,80,4,8
SET_CEC_CONFIG_ID = 0,5,80,3,8,INT
SET_CEC_CONFIG_ID_WITHOUT_RESET = 0,5,80,E,8,INT
GET_IO_DRAWER_CONFIG_ID = 0,5,80,9,8
GET_IO_DRAWER_CONFIG_ID_2 = 0,5,80,9,8
SET_IO_DRAWER_MTMS = 0,5,80,5,8,SHORT+DATA+DATA+DATA+BYTE+BYTE+DATA
SET_IO_DRAWER_CONFIG_ID = 0,5,80,8,8,SHORT+SHORT+BYTE+BYTE+DATA
CLEAR_INACTIVE = 0,5,80,20,8


# HMC_VTERM (VSER) = 0x0004
GET_MAX_HMC_VIRTUAL_SERIAL_CONNECTIONS = 0,4,21,2,8
OPEN_VIRTUAL_SERIAL_CONNECTION = 0,4,21,6,8,SHORT+SHORT+SHORT
CLOSE_VIRTUAL_SERIAL_CONNECTION = 0,4,21,7,8,SHORT+SHORT+BYTE
SEND_VIRTUAL_SERIAL_DATA = 0,4,21,9,0,SHORT+SHORT+SHORT+DATA

# This command is async only
RECEIVE_VIRTUAL_SERIAL_DATA = 0,4,21,A,0
SET_FLOW_CONTROL_ON_OFF = 0,4,21,B,8,SHORT+SHORT+BYTE
GET_VIRTUAL_SERIAL_BUFFER_STATUS = 0,4,21,C,8,SHORT+SHORT

# NETS = 0x0007
GET_ENCLOSURE_TYPE_AND_INTERFACE_VERSION_NUMBER = 0,7,0,2,8,INT+INT+SHORT+CHAR
PLATFORM_PASSWORD = 0,7,74,12,8,DATA
SET_PASSWORDS = 0,7,87,41,8,BYTE+PAD3+DATA+DATA
DISCONNECT_HMC = 0,7,0,6,8,INT+SHORT+CHAR+INT+SHORT+CHAR

# CODE_UPDATE (cupd) = 0x000C
START_CODE_UPDATE = 0,C,0,7,8,BYTE+PAD+SHORT
START_CODE_UPDATE_LR = 0,C,80,7,8,BYTE+PAD+SHORT
CODE_UPDATE_COMPLETE = 0,C,0,D,8,BYTE+PAD3
CODE_COMMIT = 0,C,80,F,8,BYTE
DELETE_LID = 0,C,80,B,8,INT
WRITE_LID = 0,C,80,9,8,INT+BYTE+PAD3+INT+INT+INT+DATA
WRITE_LID_PARTIAL = 0,C,80,15,8,INT+INT+INT+INT+BYTE+PAD3+DATA
SET_CODE_UPDATE_POLICY = 0,C,0,11,8,BYTE
GET_CODE_UPDATE_STATUS = 0,C,0,12,8
GET_CODE_UPDATE_STATUS2 = 0,C,0,12,8
READ_LID = 0,C,0,8,8,INT+INT+INT
READ_LID_PARTIAL = 0,C,0,14,8,INT+INT+INT
READ_LID_SPECIAL = 0,C,0,16,8,SHORT+BYTE+PAD+INT+INT
REFRESH_PLCK_TIMER = 0,C,0,17,8

# Virtual Operator Panel (vpnl) = 0x000D
CEC_POWER_TRANSITION = 0,D,0,1,8,BYTE
CEC_RE_IPL = 0,D,3,1,8
LAMP_TEST = 0,D,4,1,8

# ERROR_LOG (errl) = 0x000E
GET_CURRENT_FSP_LOG_ENTRY_ID = 0,E,0,2,8,SHORT
GET_LIST_OFPLATFORM_EVENTS_LOG_EVENTS = 0,E,0,4,8,BYTE+BYTE+SHORT+INT+INT
ACKNOWLEDGE_PLATFORM_EVENT_LOG_ENTRY = 0,E,0,5,8,INT

#DUMP COMMANDS
GET_DUMP_PARAMETERS = 0,D,2A,6,8
SET_DUMP_PARAMETERS = 0,D,2A,7,8,SHORT+BYTE+BYTE+BYTE
INITIAL_SYSTEM_DUMP = 0,D,AA,9,8,BYTE
INITIAL_SYSTEM_DUMP_V2 = 0,D,AA,9,8,BYTE+BYTE+BYTE+BYTE+SHORT+DATA
DUMP_SERVICE_PROCESSOR = 0,D,12,3,8
DUMP_SERVICE_PROCESSOR_V2 = 0,D,12,3,8,SHORT+DATA
QUERY_DUMP_OWNERSHIP = 0,5,D,6,8,SHORT+SHORT+INT

#LED COMMANDS (iled) = 0x000F
GET_SYSATTN_LED = 0,F,0,2,8,BYTE
SET_SYSATTN_LED = 0,F,0,3,8,BYTE+BYTE
GET_FRU_IDENTIFY_LED = 0,F,80,4,8,BYTE+BYTE+DATA
SET_FRU_IDENTIFY_LED = 0,F,80,5,8,SHORT+SHORT+PAD3+BYTE+BYTE+BYTE+DATA

#Redundant Fsp commands
INITIATE_ADMINISTRATIVE_FAILOVER = 0,18,10,0,8
INITIATE_CODEUPDATE_FAILOVER = 0,18,10,7,8
SET_REDUNDANT_FSP_POLICIES = 0,18,90,1,8,INT+BYTE+BYTE
SET_REDUNDANT_FSP_POLICIES_V2 = 0,18,90,8,8,INT+BYTE
GET_REDUNDANT_FSP_INFORMATION = 0,18,0,2,8
GET_REDUNDANT_FSP_INFO_V2 = 0,18,0,2,8
GET_REDUNDANT_FSP_INFO_V3 = 0,18,0,2,8



#BPA LED COMMANDS (iled) = 0x000F
GET_BPA_FRU_IDENTIFY_LED = 0,1A,90,4,8,SHORT+BYTE+BYTE+DATA
SET_BPA_FRU_IDENTIFY_LED = 0,1A,90,5,8,SHORT+SHORT+PAD3+BYTE+BYTE+BYTE+DATA


# PHYP (v3.0M)
# Cmd Router
ROUTER_OPEN_SESSION = 80,0,0,1,80,SHORT+SHORT+SHORT+DATA
GET_NUMBER_OF_HMC_INFO_SLOTS = 80,0,1,1,80
GET_HMC_INFO = 80,0,1,2,80,SHORT
SET_HMC_INFO = 80,0,81,2,80,SHORT+SHORT+DATA
ECHO = 80,0,1,3,80,DATA

# LPAR Commands
LPAR_OPEN_SESSION = 80,1,0,1,80,SHORT+SHORT+SHORT+DATA
LPAR_ASYNC_ACKNOWLEDGE = 80,1,0,3,40
SMA_ASYNC_ACKNOWLEDGE = 80,1,0,4,40
HEA_ASYNC_ACKNOWLEDGE = 80,1,0,5,40
GET_NUMBER_OF_LPAR_SLOTS = 80,1,1,1,80
GET_HYPERVISOR_CAPABILITIES = 80,1,1,2,80
PHYP_EXCHANGE_CAPABILITIES = 80,1,1,A,80,INT+DATA
GET_HYPERVISOR_CONFIG_STATE_AND_POWER_POLICY = 80,1,1,3,80
#SET_HYPERVISOR_CONFIG_STATE = 80,1,81,3,80,BYTE
SET_HYPERVISOR_POWER_OFF_POLICY = 80,1,81,4,80,BYTE
GET_HYPERVISOR_CAPABILITY_VALUES = 80,1,1,5,80
GET_HYPERVISOR_CONFIGURABLE_PROCESSING_AND_MEMORY = 80,1,1,6,80
GET_HYPERVISOR_AVAILABLE_PROCESSING_AND_MEMORY = 80,1,1,7,80
GET_HYPERVISOR_MEMORY_STATISTICS = 80,1,1,8,80
#GET_HYPERVISOR_GLOBAL_ATTRIBUTES = 80,1,1,8,80
#SET_HYPERVISOR_GLOBAL_ATTRIBUTES = 80,1,81,8,80,BYTE
GET_MAXIMUM_SYSTEM_RESOURCE_CAPACITY = 80,1,1,E,80
GET_ALL_LPAR_SLOT_DEFINITION_STATES = 80,1,2,1,80
GET_LPAR_SLOT_DEFINITION_STATE = 80,1,2,2,80,SHORT
SET_LPAR_SLOT_DEFINITION_STATE = 80,1,82,2,80,SHORT+BYTE
GET_LPAR_NAME = 80,1,2,3,80,SHORT
SET_LPAR_NAME = 80,1,82,3,80,SHORT+SHORT+DATA
GET_SERVICE_LPAR_ID = 80,1,2,4,80
SET_SERVICE_LPAR_ID = 80,1,82,4,80,SHORT
GET_LPAR_ATTRIBUTES = 80,1,2,10,80,SHORT
GET_LPAR_ATTRIBUTES_V2 = 80,1,2,10,80,SHORT
#SET_LPAR_POWER_ON_WITH_HYPERVISOR = 80,1,82,10,80,SHORT+BYTE
SET_LPAR_ATTRIBUTES = 80,1,82,10,80,SHORT+BYTE
SET_PARTITION_AVAILABILITY_PRIORITIES = 80,1,82,1D,80,SHORT+DATA
SET_LPAR_HOSTING_PARTITION_ID = 80,1,82,12,80,SHORT+BYTE+PAD+DATA
SET_LPAR_CLUSTER_GROUP_ID = 80,1,82,13,80,SHORT+SHORT
SET_LPAR_SHARED_POOL_UTIL_AUTH = 80,1,82,14,80,SHORT+BYTE
GET_LPAR_CONFIG_VPD = 80,1,2,15,80,SHORT
#GET_LPAR_TCPIP_INFO = 80,1,2,17,80,SHORT
GET_LPAR_REDUNDANT_ERROR_PATH = 80,1,2,18,80,SHORT
SET_LPAR_REDUNDANT_ERROR_PATH = 80,1,82,18,80,SHORT+BYTE
GET_CURRENT_LPAR_PROCESSING = 80,1,3,1,80,SHORT
GET_PENDING_LPAR_PROCESSING = 80,1,3,2,80,SHORT
GET_CURRENT_DEDICATED_LPAR_PROCESSING = 80,1,3,1,80,SHORT  
GET_PENDING_DEDICATED_LPAR_PROCESSING = 80,1,3,2,80,SHORT   
SET_PENDING_LPAR_SHARED_PROCESSING = 80,1,83,2,80,SHORT+PAD2+BYTE+BYTE+SHORT+SHORT+SHORT+INT+INT+INT+BYTE
SET_PENDING_LPAR_DED_PROCESSING = 80,1,83,2,80,SHORT+PAD2+BYTE+BYTE+SHORT+SHORT+SHORT
SET_PENDING_DEDICATED_LPAR_PROCESSING = 80,1,83,2,80,SHORT+PAD2+BYTE+BYTE+SHORT+SHORT+SHORT+BYTE
SET_PENDING_LPAR_PROCESSING_MODE = 80,1,83,3,80,SHORT+BYTE+BYTE
SET_PENDING_DEDICATED_LPAR_PROCESSING_MODE = 80,1,83,3,80,SHORT+BYTE+BYTE+BYTE
GET_RUNTIME_LPAR_PROCESSING = 80,1,3,4,80,SHORT
GET_RUNTIME_DEDICATED_LPAR_PROCESSING = 80,1,3,4,80,SHORT
GET_CURRENT_AND_PENDING_SHARED_PROCESSING_RESOURCES = 80,1,3,6,80,BYTE
GET_PROC_POOL_UTILIZATION = 80,1,0,7,80,BYTE
GET_CURRENT_AND_PENDING_LPAR_MEMORY = 80,1,4,1,80,SHORT
SET_PENDING_LPAR_MEMORY = 80,1,84,1,80,SHORT+BYTE+PAD+INT+INT+INT
GET_RUNTIME_LPAR_MEMORY = 80,1,4,3,80,SHORT
GET_REQUIRED_MINIMUM_MEMORY_FOR_MAXIMUM = 80,1,4,4,80,BYTE+BYTE+PAD2+INT

#for huge page memory
GET_CURRENT_PENDING_RUNTIME_HUGE_PAGE_MEMORY = 80,1,4,5,80,SHORT
SET_PENDING_HUGE_PAGE_MEMORY = 80,1,84,5,80,SHORT+SHORT+SHORT+SHORT
GET_HYPERVISOR_CONFIGURABLE_HUGE_PAGE_MEMORY = 80,1,1,9,80
EXCHANGE_CAPABILITIES = 80,1,1,A,80,INT
QUERY_SYSTEM_MEMORY_INFORMATION = 0,5,1,17,8
REQUEST_HUGE_PAGES = 0,5,11,18,8,SHORT

#for BSR
GET_BSR_CAPABILITIES = 80,1,1,D,80
GET_LPAR_BSR_ASSIGNMENT = 80,1,3,8,80,SHORT
SET_LPAR_BSR_ASSIGNMENT = 80,1,83,8,80,SHORT+PAD2+INT


#for MegaMouth partition
MM_GET_CURR_PEND_LPAR_MEM = 80,1,4,2,80,SHORT
MM_SET_PEND_LPAR_MEM = 80,1,84,2,80,SHORT+PAD2+INT+INT+INT+INT+INT+INT


# Physical I/O
GET_ALL_IO_UNIT_IDS_OLD = 80,1,5,1,80
GET_ALL_IO_UNIT_IDS = 80,1,5,1,80,SHORT

GET_IO_UNIT_INFO = 80,1,5,2,80,SHORT
GET_IO_INFO = 80,1,5,2,80,SHORT+PAD2+DATA

GET_IO_BUS_INFO = 80,1,5,3,80,SHORT
GET_IO_SLOT_INFO = 80,1,5,4,80,SHORT+SHORT+INT
#remove this after we stop support PHYP 360
GET_IO_SLOT_INFO_OLD = 80,1,5,4,80,SHORT+SHORT+INT
GET_ALL_IO_BUS_INFO = 80,1,5,9,80,SHORT+INT
GET_COMMON_IO_SLOT_INFO = 80,1,5,A,80,SHORT+SHORT+INT
SET_IO_SLOT_OWNER_AND_POOL_ID = 80,1,85,4,80,INT+SHORT+SHORT+BYTE
GET_TAGGED_IO_FOR_OS400_LPAR = 80,1,5,5,80,SHORT
SET_TAGGED_IO_FOR_OS400_LPAR = 80,1,85,5,80,SHORT+PAD2+INT+INT+INT+INT+INT
GET_LPAR_IO_POOL_CONFIGURATION = 80,1,5,6,80,SHORT
SET_LPAR_IO_POOL_CONFIGURATION = 80,1,85,6,80,SHORT+SHORT+DATA
GET_IO_SLOT_VPD = 80,1,5,7,80,SHORT+SHORT+INT
CLEAR_NON_REPORTING_BUS = 80,1,85,8,80,SHORT
GET_NODE_CCM_BUS_LIST = 80,1,5,C,80

# Interactive and Database capacity
GET_CURRENT_AND_PENDING_LPAR_INTERACTIVE_PERFORMANCE = 80,1,A,1,80,SHORT
SET_PENDING_LPAR_INTERACTIVE_PERFORMANCE = 80,1,8A,2,80,SHORT+SHORT+SHORT+SHORT
GET_VALID_INTERACTIVE_RANGE = 80,1,A,3,80,INT
GET_RUNTIME_INTERACTIVE_PERFORMANCE = 80,1,A,4,80,SHORT

# Virtual I/O
GET_VIRTUAL_IO_CAPABILITIES = 80,1,B,1,80
GET_VIRTUAL_IO_SLOT_STATE = 80,1,B,2,80,SHORT+SHORT+SHORT
SET_LPAR_PENDING_MAXIMUM_NUMBER_OF_VIRTUAL_SLOTS = 80,1,8B,2,80,SHORT+SHORT
CLEAR_VIRTUAL_IO_SLOT_CONFIGURATION_STATE = 80,1,8B,3,80,SHORT+SHORT
GET_VIRTUAL_ETHERNET_SLOT_CONFIGURATION = 80,1,B,4,80,SHORT+SHORT
SET_VIRTUAL_ETHERNET_SLOT_CONFIGURATION = 80,1,8B,4,80,SHORT+SHORT+PAD2+BYTE+BYTE+SHORT+BYTE+BYTE+DATA+SHORT+DATA
GET_LPAR_VIRTUAL_OPTICONNECT_INFORMATION = 80,1,B,5,80,SHORT
SET_LPAR_VIRTUAL_OPTICONNECT_INFORMATION = 80,1,8B,5,80,SHORT+BYTE+BYTE
GET_LPAR_VIRTUAL_SERIAL_SCSI_CONFIGURATION = 80,1,B,6,80,SHORT+SHORT
SET_LPAR_VIRTUAL_SERIAL_SCSI_CONFIGURATION = 80,1,8B,6,80,SHORT+SHORT+BYTE+BYTE+BYTE+BYTE+SHORT+SHORT
GET_VIRTUAL_SERIAL_SERVER_CONNECTION_STATUS = 80,1,B,7,80,SHORT+SHORT+SHORT
GET_SHARED_MEMORY_CLUSTER_IO = 80,1,B,8,80,SHORT+SHORT
SET_SHARED_MEMORY_CLUSTER_IO = 80,1,8B,8,80,SHORT+SHORT+INT+SHORT+SHORT+SHORT+BYTE
GET_VIRTUAL_IO_SLOT_DRC_INDEX_AND_NAME = 80,1,B,9,80,SHORT+SHORT
GET_VIO_CONNECTION_STATUS = 80,1,B,A,80,SHORT+SHORT


# Shared I/O (SMA)
GET_CEC_SMA_INFO = 80,1,C,1,80
GET_SMA_ASSIGNMENT_INFO = 80,1,C,2,80,INT
SET_SMA_ASSIGNMENT_INFO = 80,1,8C,2,80,INT+SHORT+BYTE+PAD1+PAD2
GET_MESSAGE_PASSING_STATE = 0,5,F,6,8
GET_SMA_TOPOLOGY_INFO = 0,6,8F,0,80
GET_SMA_LINK_INFO = 0,6,8F,2,80

# IB Adapter (HCA)
GET_HCA_INFO = 80,1,C,3,80,SHORT
GET_HCA_CAPABILITIES_INFO = 80,1,C,5,80,INT
GET_HCA_ASSIGNMENT_INFO = 80,1,C,6,80,INT+SHORT
SET_HCA_ASSIGNMENT_INFO = 80,1,8C,6,80,INT+SHORT+SHORT+SHORT+PAD2+INT+INT+INT+INT+PAD4+LONG
GET_HCA_NONCONFIG_LIST = 80,1,C,B,80,SHORT

#HEA
GET_ALL_PHYSICAL_HEA_INFO = 80,1,C,11,80,SHORT
GET_PHYSICAL_HEA_CAPABILITIES_INFO = 80,1,C,12,80,INT
GET_HEA_PHYSICAL_PORT_CONFIG_INFO = 80,1,C,17,80,INT+BYTE+BYTE
GET_HEA_PHYSICAL_PORT_STATUS = 80,1,C,18,80,INT+BYTE+BYTE
GET_HEA_PORT_GROUP_INFO = 80,1,C,1A,80,INT+BYTE
DELETE_HEA_LOGICAL_PORT_ASSIGNMENT = 80,1,8C,16,80,INT+SHORT
DELETE_LOGICAL_HEA = 80,1,8C,15,80,INT+SHORT
SET_LOGICAL_HEA_ASSIGNMENT_INFO = 80,1,8C,13,80,INT+SHORT+PAD2+SHORT+SHORT+INT+INT+INT
SET_LOGICAL_PORT_ASSIGNMENT_INFO = 80,1,8C,14,80,INT+SHORT+BYTE+PAD1+SHORT+DATA
GET_HEA_PHYSICAL_PORT_COUNTERS = 80,1,C,19,80,INT+BYTE+BYTE
SET_HEA_PHYSICAL_PORT_CONFIG = 80,1,8C,17,80,INT+BYTE+BYTE+SHORT+SHORT+BYTE+BYTE+BYTE
SET_HEA_PORT_GROUP_CONFIG = 80,1,8C,1B,80,INT+PAD1+BYTE+SHORT
GET_HEA_LOGICAL_PORT_INFO_PER_PORT_GROUP = 80,1,C,1C,80,INT+BYTE+PAD1+SHORT
GET_LOGICAL_HEA_ASSIGNMENT_INFO = 80,1,C,13,80,INT+SHORT
GET_LOGICAL_PORT_ASSIGNMENT_INFO = 80,1,C,1D,80,INT+SHORT+SHORT
GET_IO_SLOT_LOCK_OWNERS = 80,2,3,4,80,INT+SHORT
GET_NONFUNCTIONAL_HEA_CONFIG_INFO = 80,1,C,1E,80,SHORT+SHORT
GET_HEA_LOGICAL_PORT_SLOT_LOCK_INFO = 80,2,3,E,80,INT

GET_PHYSICAL_HEA_CAPABILITIES_INFO_V2 = 80,1,C,12,80,INT
GET_LOGICAL_HEA_ASSIGNMENT_INFO_V2 = 80,1,C,13,80,INT+SHORT
SET_LOGICAL_HEA_ASSIGNMENT_INFO_V2 = 80,1,8C,13,80,INT+SHORT+PAD2+SHORT+SHORT+INT+INT+INT+BYTE
GET_HEA_PHYSICAL_PORT_LOC_CODE = 80,1,C,1F,80,INT+BYTE+BYTE

#LPAR Misc
LIST_PHYP_IP_CONFIG_INTF = 80,1,D,1,80
ADD_PHYP_IP_CONFIG_INTF = 80,1,8D,2,80,INT+DATA+DATA+DATA+DATA+BYTE+BYTE+BYTE+PAD1
REMOVE_PHYP_IP_CONFIG_INTF = 80,1,8D,3,80,INT
SET_PHYP_IP_INTF_ACT_STATE = 80,1,8D,4,80,INT+BYTE+PAD3

# Backup/Recovery
GET_LPAR_CONFIGURATION_IMAGE_SIZE = 80,1,FE,1,80
GET_LPAR_CONFIGURATION_IMAGE_BLOCK = 80,1,FE,2,80,LONG+SHORT
SET_LPAR_CONFIGURATION_IMAGE_BLOCK = 80,1,FE,3,80,LONG+SHORT+DATA
CLEAR_LPAR_CONFIGURATION = 80,1,FE,4,80

# Batch
START_LPAR_BATCH_MODE = 80,1,FF,1,80,SHORT
COMMIT_LPAR_BATCH = 80,1,FF,2,80,BYTE

# iSeries DLPAR
DLPAR_OPEN_SESSION = 80,2,0,1,80,SHORT+SHORT+PAD2
DLPAR_CLOSE_SESSION = 80,2,0,2,80
VARY_ON_OFF_PROCESSING = 80,2,80,4,80,SHORT+SHORT+SHORT+SHORT+INT+SHORT
VARY_ON_OFF_MEMORY = 80,2,80,2,80,SHORT+SHORT+INT
VARY_ON_OFF_IO_SLOT = 80,2,80,3,80,SHORT+SHORT+INT+BYTE+BYTE
QUERY_OUTSTANDING_DLPAR_COMMANDS = 80,2,3,5,80
SET_PEND_SLOT_LOCK_OWNER = 80,2,83,4,80,INT+SHORT
CLEAR_HMC_SLOT_LOCK = 80,2,83,D,80,INT+SHORT


# VSP Commands (Based on spec 3.00f)
VSP_OPEN_SESSION = 80,3,0,1,80,SHORT+SHORT+SHORT+BYTE
VSP_ASYNC_ACKNOWLEDGE = 80,3,0,3,40
VSP_SRC_ASYNC_ACKNOWLEDGE = 80,3,2,3,40
VSP_CLOSE_SESSION = 80,3,0,2,80
POWER_ON = 80,3,81,1,80,SHORT
POWER_OFF = 80,3,81,2,80,SHORT
GET_PARTITION_VSP_ATTRIBUTES = 80,3,1,3,80,SHORT
#remove this after we stop support PHYP 360
GET_PARTITION_VSP_ATTRIBUTES_OLD = 80,3,1,3,80,SHORT
#new format
SET_PARTITION_VSP_ATTRIBUTES = 80,3,81,3,80,SHORT+BYTE+BYTE+BYTE+BYTE+BYTE
#old format remove this after we stop PHYP 360
SET_PARTITION_VSP_ATTRIBUTES_OLD = 80,3,81,3,80,SHORT+BYTE+BYTE+BYTE+BYTE
GET_SUPPORTED_VIRTUAL_PANEL_FUNCTIONS = 80,3,1,5,80,SHORT
PUSH_VIRTUAL_PANEL_FUNCTION = 80,3,81,5,80,SHORT+BYTE
GET_PARTITION_CURR_SRC_AND_SEQUENCE_NUMBER = 80,3,1,6,80,SHORT
GET_PARTITION_SRC_FROM_SEQUENCE_NUMBER = 80,3,1,7,80,SHORT+PAD2+INT
GET_VSP_CAPABILITIES = 80,3,1,8,80,SHORT+INT
INIT_FIRE_HOSE_DUMP = 80,3,80,3,80,SHORT

# CoD Commands
COD_AND_AP_OPEN_SESSION = 80,4,0,1,80,SHORT+SHORT+SHORT+DATA
COD_AND_AP_CLOSE_SESSION = 80,4,0,2,80
GET_SYSTEM_CPW = 80,4,1,1,80
GET_COD_STATE = 80,4,1,2,80
GET_COD_CTA_VALUE = 80,4,1,3,80
SET_COD_CTA_VALUE = 80,4,81,3,80,BYTE
SET_COD_RECOVERY_COMPLETE = 80,4,81,4,80,BYTE
GET_COD_CAPABILITIES = 80,4,1,5,80
SET_COD_KEY = 80,4,81,6,80,BYTE+PAD1+SHORT+DATA
MANAGE_ONOFF_PROCESSORS = 80,4,81,9,80,INT+INT
MANAGE_ONOFF_MEMORY = 80,4,81,F,80,INT+INT
MANAGE_METERED_PROCESSORS = 80,4,81,A,80,INT
DISABLE_TRIAL_RESOURCES = 80,4,81,D,80,BYTE
GET_ACTIVATION_INCREMENTS = 80,4,1,8,80
MANAGE_UTILITY_PROCESSORS = 80,4,81,18,80,INT
SET_UTILITY_USAGE_LIMIT = 80,4,81,19,80,SHORT
#CoD Async
COD_ASYNC_ACKNOWLEDGE = 80,4,0,3,40
#CoD Processor Info
GET_COD_PROCESSOR_INFO = 80,4,1,7,80
GET_ONOFF_COD_PROCESSOR_INFO = 80,4,1,9,80
GET_METERED_COD_PROCESSOR_INFO = 80,4,1,A,80
GET_SHARED_PROCESSOR_POOL_UTILIZATION = 80,4,1,B,80
GET_TRIAL_COD_PROCESSOR_INFO = 80,4,1,C,80
GET_UTILITY_PROCESSOR_INFO = 80,4,1,18,80
GET_UTILITY_DAILY_USAGE_INFO = 80,4,1,1A,80
#CoD Memory Info
GET_COD_MEMORY_INFO = 80,4,1,E,80
GET_ONOFF_COD_MEMORY_INFO = 80,4,1,F,80
GET_TRIAL_COD_MEMORY_INFO = 80,4,1,10,80
#CoD Billing Info
GET_ONOFF_COD_PROC_BILLING_INFO = 80,4,1,12,80
GET_ONOFF_COD_MEM_BILLING_INFO = 80,4,1,13,80
#CoD Order Info
GET_COD_ORDER_INFO = 80,4,1,11,80,BYTE+BYTE
#CoD History Log
GET_COD_HISTORY_LOG = 80,4,1,14,80,SHORT
#Get Max OS/400 processors
GET_OS400_CAPACITY = 80,4,1,15,80
#Mobile CoD
GET_MOBILE_COD_REMOVAL_SIGNATURE = 80,4,1,16,80,BYTE+PAD3
#Enhanced Manage On/Off CoD
GET_ONOFF_COD_BILLING_CHARGES = 80,4,1,17,80,BYTE+BYTE+PAD2+INT+INT


#FoD Commands
SET_FOD_KEY = 80,4,82,6,80,BYTE+PAD1+SHORT+DATA
GET_FOD_ORDER_INFO = 80,4,2,11,80,INT
GET_FOD_HISTORY_LOG = 80,4,2,14,80,SHORT

# IO Concurrent
IO_MAINT_OPEN_SESSION = 80,5,0,1,80,SHORT+SHORT+SHORT+SHORT+DATA
GET_POWER_DOMAIN = 80,5,1,1,80,SHORT+CHAR
GET_POWER_DOMAIN_POWER_STATE = 80,5,1,9,80,SHORT+CHAR
GET_POWER_FAULT_STATUS_REQUEST = 80,5,1,A,80,SHORT+CHAR
ACQUIRE_POWER_DOMAIN_SERVICE_LOCK = 80,5,1,5,80,SHORT+CHAR
RELEASE_POWER_DOMAIN_SERVICE_LOCK = 80,5,1,6,80,SHORT+CHAR
POWER_ON_POWER_DOMAIN = 80,5,1,8,80,SHORT+CHAR
POWER_OFF_POWER_DOMAIN = 80,5,1,7,80,SHORT+CHAR
CAN_VARY_OFF_POWER_DOMAIN = 80,5,1,2,80,BYTE+PAD7+SHORT+CHAR
VARY_OFF_POWER_DOMAIN = 80,5,1,3,80,SHORT+CHAR
VARY_ON_POWER_DOMAIN = 80,5,1,4,80,SHORT+CHAR
HYP_PIPE_REQUEST = 80,5,3,1,80,SHORT+SHORT+PAD4+LONG+LONG+SHORT+BYTE+PAD5+SHORT+CHAR
HYP_PIPE_REQ_EXCH_CAPS = 80,5,3,1,80,SHORT+SHORT+PAD4+LONG+LONG+SHORT+PAD6+LONG
HYP_PIPE_RESP_ACKNOWLEDGE = 80,5,3,2,40,LONG
GET_REMAINING_RESP_DATA = 80,5,4,1,80,INT
HYP_PIPE_CANCEL_REQUEST = 80,5,3,3,80,LONG
DISCARD_REMAINING_RESP_DATA = 80,5,4,2,80,INT
OPEN_PHYP_FILE = 80,5,6,1,80,PAD2+SHORT+INT+BYTE+BYTE+PAD2+INT+INT
WRITE_PHYP_FILE = 80,5,6,2,80,PAD2+SHORT+INT+INT+INT+DATA
CLOSE_PHYP_FILE = 80,5,6,4,80,PAD2+SHORT+INT+BYTE
GET_FIRMWARE_UPDATE_STATUS = 80,5,6,5,80
START_FIRMWARE_UPDATE = 80,5,6,6,80,BYTE+PAD+SHORT

#Utilization Data Collection
EXCHANGE_UTILIZATION_CAPABILITIES = 80,6,1,4,80,INT+DATA
GET_SUPPORTED_UTILIZATION_ATTRIBUTES = 80,6,1,1,80
RETRIEVE_UTILIZATION_DATA = 80,6,1,2,80,INT+PAD4+DATA
RETRIEVE_UTILIZATION_DATA_V2 = 80,6,1,2,80,INT+PAD4+DATA

# Long Utilization Data Collection
RETRIEVE_UTILIZATION_DATA_LONG = 80,6,1,2,80,INT+PAD4+DATA
GET_REMAINING_UTILIZATION_DATA = 80,5,1,3

#Platform CM commands
QUERY_PLATFORM_CM_SUPPORT = 0,1C,0,F,8
GET_NODE_CONFIG = 0,1C,80,1,8,BYTE
GET_GXPLUS_CONFIG = 0,1C,80,2,8,BYTE
GET_FSP_CONFIG = 0,1C,80,3,8,BYTE
GET_COLD_REPAIR_FSP_CONFIG = 0,1C,0,10,8
GET_CLOCKCARD_CONFIG = 0,1C,80,4,8,BYTE
GET_OPPANEL_CONFIG = 0,1C,80,5,8,BYTE
QUERY_FSP_CM_SERVICE_LOCK = 0,1C,0,9,8
ACQUIRE_FSP_CM_SERVICE_LOCK = 0,1C,90,A,8,INT+SHORT+DATA
RELEASE_FSP_CM_SERVICE_LOCK = 0,1C,90,B,8,INT+SHORT+DATA
ACTIVATE_POWER_DOMAIN = 0,1C,90,D,8,INT+SHORT+DATA
ACTIVATE_POWER_DOMAIN_V2 = 0,1C,90,11,8,INT+SHORT+DATA+BYTE
DEACTIVATE_POWER_DOMAIN = 0,1C,10,E,8,INT+SHORT+DATA

ACTIVATE_FSP = 0,18,10,3,8,SHORT+DATA
DEACTIVATE_FSP = 0,18,10,4,8,SHORT+DATA
CLEANUP_FSP = 0,18,10,5,8,SHORT+DATA

GXPLUS_SLOT_RESERVE = 0,1C,10,C,8,BYTE+BYTE+PAD2+SHORT+DATA
SERVICE_PROC_BEGIN = 80,5,5,1,80,SHORT+PAD6
SERVICE_PROC_END = 80,5,5,2,80,SHORT+PAD6
CM_PHYP_EXCHANGE_CAPABILITIES = 80,5,0,3,80,SHORT+DATA
#Platform CM Phyp Async
REPORT_CMD_STATUS_ASYNC_ACKNOWLEDGE = 80,5,5,3,40

#MegaMouth commands
MM_GET_IO_HUBS = 80,5,7,1,80
MM_GET_RIO_BUSES = 80,5,7,2,80,INT
MM_GET_RIO_TOPOLOGY = 80,5,7,3,80,INT
MM_SET_MULTI_HUB_MODE = 80,5,87,4,80,INT+BYTE
MM_GET_MULTI_HUB_MODE = 80,5,7,4,80,INT
MM_GET_REMAINING_DATA = 80,5,4,1,80,INT

#Lpar migration commands

GET_PAR_MIG_COMPATIBILITY_DATA = 80,7,1,1,80,SHORT
CHK_PAR_MIG_COMPATIBILITY_DATA = 80,7,1,2,80,INT+BYTE+DATA
SET_SUSPENSION_ENABLED_MODE = 80,7,81,3,80,SHORT+BYTE+BYTE+LONG+SHORT
CLEAR_SUSPENSION_ENABLED_MODE = 80,7,81,5,80,SHORT
SET_FINAL_PAR_MIG_MODE = 80,7,81,4,80,SHORT+BYTE
EXTRACT_INACT_MIG_STATE = 80,7,1,6,80,SHORT
INSERT_INACT_MIG_STATE = 80,7,81,6,80,SHORT+BYTE+INT+DATA
GET_PAR_MIG_STATE = 80,7,1,7,80,SHORT
GET_MIG_CORRELATION_DATA = 80,7,1,8,80,SHORT
SET_MIG_CORRELATION_DATA = 80,7,81,8,80,SHORT+DATA
CLEAR_MIG_CORRELATION_DATA = 80,7,81,9,80,SHORT
GET_MIG_PARTITIONS_INFO = 80,7,1,A,80

GET_PHYP_MIG_CAPABILITIES = 80,1,1,B,80
GET_MSP_ATTRIBUTE = 80,1,2,19,80,SHORT
SET_MSP_ATTRIBUTE = 80,1,82,19,80,SHORT+BYTE
GET_PAR_COMPATIBILITY_MODES = 80,1,2,1A,80,SHORT
SET_PAR_COMPATIBILITY_MODES = 80,1,82,1A,80,SHORT+PAD6+LONG+LONG+LONG
GET_TIME_REFERENCE_ATTRIBUTE = 80,1,2,1B,80,SHORT
SET_TIME_REFERENCE_ATTRIBUTE = 80,1,82,1B,80,SHORT+BYTE
SET_VASI_ADAPTER_INFO = 80,1,8B,B,80,SHORT+SHORT

MIG_ASYNC_ACKNOWLEDGE = 80,7,0,3,40

#BPA Command
BPA_GET_ENV_INFO = 00,1A,82,60,80,INT
BPA_GET_CEC_ENV_INFO = 00,1A,82,60,80,INT
BPA_SET_FRAME_NUM = 00,1A,86,30,80,INT+SHORT
BPA_GET_FRAME_NUM = 00,1A,86,40,80,INT
BPA_GET_FRAME_INFO = 00,1A,89,C0,80,INT
BPA_ACDL = 00,1A,8A,00,80,INT
BPA_GET_BPC_STATE = 00,1A,89,D0,80,INT
BPA_LOCK = 00,1A,81,30,80,INT
BPA_REMOVE_DRAWER = 00,1A,84,00,80,INT+BYTE+CHAR
BPA_ADD_DRAWER = 00,1A,84,10,80,INT+BYTE+CHAR
BPA_SET_LOCK = 00,1A,81,30,80,INT+SHORT+CHAR
BPA_CLEAR_LOCK = 00,1A,81,30,80,INT+SHORT+CHAR
BPA_QUERY_LOCK = 00,1A,81,30,80,INT
BPA_RESET_LOCK = 00,1A,81,30,80,INT
BPA_QUERY_FRU_REDUNDANCY = 00,1A,89,B0,80,INT+BYTE+CHAR 
BPA_DEACTIVATE_FRU = 00,1A,81,00,80,INT+BYTE+CHAR
BPA_ACTIVATE_FRU = 00,1A,81,10,80,INT+BYTE+CHAR
BPA_START_ACDL = 00,1A,8A,00,80,INT
BPA_GET_ACDL_STATUS = 00,1A,8A,10,80,INT
BPA_POWERON_CAGE = 00,1A,88,20,80,INT+BYTE
BPA_POWERON_UNOWNEDCAGE = 00,1A,88,20,80,INT
BPA_SET_BPC_NAME = 0,5,91,5,8,DATA
BPA_POWER_ON_CAGE_LC = 00,1A,88,20,80,INT+BYTE+CHAR
BPA_POWEROFF_CAGE = 00,1A,88,10,80,INT+BYTE
BPA_GET_BPC_LOC_CODE = 00,1A,83,80,80,INT+BYTE+BYTE
BPA_SEND_OFFLINE_MESSAGE = 00,1A,8D,E0,80,INT+INT
BPA_READ_POWER_STATUS = 00,1A,89,70,80,INT

#ANN command to SPCN
ANN_ADD_REMOVE_CMD = 0,8,80,1,80,INT+SHORT+SHORT+BYTE+BYTE+SHORT+BYTE+PAD3+CHAR
CLEAR_IO_TABLE = 0,8,80,1,80,INT+SHORT+SHORT+BYTE+BYTE+SHORT
