From 5d7304d8b15bb51eceb99ab157178efdcb28f1be Mon Sep 17 00:00:00 2001 From: ManojKiran Eda Date: Fri, 20 Jan 2023 21:39:14 +0530 Subject: [PATCH] 1050: Master rebase with GHE patches (#4) Signed-off-by: Manojkiran Eda Change-Id: I25ca186037c455837de05c0cf35cf0209760a5f1 --- abi/aarch64/gcc.dump | 3022 +++++++++------- abi/x86_64/gcc.dump | 3087 ++++++++++------- include/libpldm/meson.build | 2 + include/libpldm/oem/ibm/libpldm/fru_oem_ibm.h | 2 + include/libpldm/oem/ibm/libpldm/pdr_oem_ibm.h | 42 + .../oem/ibm/libpldm/state_set_oem_ibm.h | 30 + include/libpldm/pdr.h | 219 +- include/libpldm/pdr_data.h | 41 + include/libpldm/platform.h | 11 +- include/libpldm/pldm_types.h | 6 +- include/libpldm/state_set.h | 10 +- include/libpldm/states.h | 6 + src/meson.build | 2 + src/oem/ibm/meson.build | 3 +- src/oem/ibm/pdr.c | 72 + src/pdr.c | 1200 ++++++- tests/libpldm_pdr_test.cpp | 488 ++- tests/libpldm_utils_test.cpp | 14 +- 18 files changed, 5448 insertions(+), 2809 deletions(-) create mode 100755 include/libpldm/oem/ibm/libpldm/pdr_oem_ibm.h create mode 100755 include/libpldm/pdr_data.h create mode 100644 src/oem/ibm/pdr.c diff --git a/abi/aarch64/gcc.dump b/abi/aarch64/gcc.dump index 9c40176d2..d6201d1cb 100644 --- a/abi/aarch64/gcc.dump +++ b/abi/aarch64/gcc.dump @@ -13,6 +13,7 @@ $VAR1 = { 'host.h' => 1, 'instance-id.h' => 1, 'pdr.h' => 1, + 'pdr_oem_ibm.h' => 1, 'platform.h' => 1, 'platform_oem_ibm.h' => 1, 'pldm.h' => 1, @@ -23,6 +24,7 @@ $VAR1 = { 'LibraryVersion' => '0.3.0', 'NameSpaces' => {}, 'Needed' => { + 'ld-linux-aarch64.so.1' => 1, 'libc.so.6' => 1 }, 'PublicABI' => '1', @@ -71,6 +73,100 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_req' }, + '102729' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'dec', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'dec2bcd32' + }, + '102821' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'bcd', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'bcd2dec32' + }, + '103231' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'version', + 'type' => '3250' + }, + '1' => { + 'name' => 'buffer', + 'type' => '11261' + }, + '2' => { + 'name' => 'buffer_size', + 'type' => '123' + } + }, + 'Return' => '12204', + 'ShortName' => 'ver2str' + }, + '103359' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'data', + 'type' => '1434' + }, + '1' => { + 'name' => 'size', + 'type' => '123' + } + }, + 'Return' => '168', + 'ShortName' => 'crc8' + }, + '104630' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104838' + }, + '1' => { + 'name' => 'tid', + 'type' => '103955' + }, + '2' => { + 'name' => 'iid', + 'type' => '103967' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_free' + }, + '104843' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104838' + }, + '1' => { + 'name' => 'tid', + 'type' => '103955' + }, + '2' => { + 'name' => 'iid', + 'type' => '105244' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_alloc' + }, '10505' => { 'Header' => 'bios.h', 'Param' => { @@ -115,6 +211,66 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_date_time_resp' }, + '105249' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104838' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_destroy' + }, + '105334' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '105420' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init_default' + }, + '105425' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '105420' + }, + '1' => { + 'name' => 'dbpath', + 'type' => '12199' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init' + }, + '106572' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '105910' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6087' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + } + }, + 'Return' => '106019', + 'ShortName' => 'pldm_send' + }, '10693' => { 'Header' => 'bios.h', 'Param' => { @@ -158,6 +314,92 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_date_time_resp' }, + '106988' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '105910' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6087' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + }, + '4' => { + 'name' => 'pldm_resp_msg', + 'type' => '69741' + }, + '5' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '106019', + 'ShortName' => 'pldm_send_recv' + }, + '107464' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '105910' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '3' => { + 'name' => 'pldm_resp_msg', + 'type' => '69741' + }, + '4' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '106019', + 'ShortName' => 'pldm_recv' + }, + '107687' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '105910' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_resp_msg', + 'type' => '69741' + }, + '3' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '106019', + 'ShortName' => 'pldm_recv_any' + }, + '108129' => { + 'Header' => 'pldm.h', + 'Return' => '106019', + 'ShortName' => 'pldm_open' + }, '10972' => { 'Header' => 'bios.h', 'Param' => { @@ -173,7 +415,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_date_time_req' }, - '111614' => { + '120708' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -192,7 +434,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_resp' }, - '111797' => { + '120891' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -213,7 +455,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '54682' + 'type' => '54689' }, '5' => { 'name' => 'file_meta_data_1', @@ -236,7 +478,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_req' }, - '112015' => { + '121109' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -255,7 +497,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_resp' }, - '112122' => { + '121216' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -272,7 +514,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '45543' + 'type' => '45550' }, '4' => { 'name' => 'file_meta_data_1', @@ -298,7 +540,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_req' }, - '112415' => { + '121509' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -317,7 +559,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_resp' }, - '112593' => { + '121687' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -361,7 +603,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_req' }, - '112791' => { + '121885' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -380,7 +622,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_resp' }, - '112893' => { + '121987' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -423,7 +665,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_req' }, - '113186' => { + '122280' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -442,7 +684,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_resp' }, - '113293' => { + '122387' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -469,7 +711,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_req' }, - '113511' => { + '122605' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -488,7 +730,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_resp' }, - '113684' => { + '122778' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -515,7 +757,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_req' }, - '113820' => { + '122914' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -538,7 +780,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_resp' }, - '113947' => { + '123041' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -573,7 +815,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_req' }, - '114205' => { + '123299' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -600,7 +842,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_resp' }, - '114418' => { + '123512' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -631,7 +873,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_req' }, - '114568' => { + '123662' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -650,7 +892,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_resp' }, - '114675' => { + '123769' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -667,7 +909,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '45543' + 'type' => '45550' }, '4' => { 'name' => 'msg', @@ -677,7 +919,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_req' }, - '114893' => { + '123987' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -696,7 +938,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_resp' }, - '115066' => { + '124160' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -717,13 +959,13 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '54682' + 'type' => '54689' } }, 'Return' => '74', 'ShortName' => 'decode_new_file_req' }, - '115202' => { + '124296' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -746,7 +988,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_resp' }, - '115329' => { + '124423' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -775,7 +1017,7 @@ $VAR1 = { }, '6' => { 'name' => 'address', - 'type' => '45543' + 'type' => '45550' }, '7' => { 'name' => 'msg', @@ -785,7 +1027,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_req' }, - '115607' => { + '124701' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -812,7 +1054,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_resp' }, - '115820' => { + '124914' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -841,13 +1083,13 @@ $VAR1 = { }, '6' => { 'name' => 'address', - 'type' => '54682' + 'type' => '54689' } }, 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_req' }, - '115984' => { + '125078' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -870,7 +1112,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_resp' }, - '116182' => { + '125276' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -893,7 +1135,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_resp' }, - '116304' => { + '125398' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -920,7 +1162,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_req' }, - '116522' => { + '125616' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -951,7 +1193,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_req' }, - '116671' => { + '125765' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -974,7 +1216,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_resp' }, - '116869' => { + '125963' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1001,7 +1243,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_resp' }, - '116999' => { + '126093' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1028,7 +1270,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_req' }, - '117217' => { + '126311' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1055,7 +1297,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_req' }, - '117346' => { + '126440' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1090,7 +1332,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_resp' }, - '117512' => { + '126606' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1117,7 +1359,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_req' }, - '117721' => { + '126815' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1152,7 +1394,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_resp' }, - '118004' => { + '127098' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1179,7 +1421,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_req' }, - '118133' => { + '127227' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1202,7 +1444,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_resp' }, - '118254' => { + '127348' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1227,7 +1469,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '45543' + 'type' => '45550' }, '6' => { 'name' => 'msg', @@ -1237,7 +1479,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_req' }, - '118501' => { + '127595' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1264,7 +1506,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_resp' }, - '118705' => { + '127799' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1289,13 +1531,13 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '54682' + 'type' => '54689' } }, 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_req' }, - '119651' => { + '128745' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1326,7 +1568,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_resp' }, - '119882' => { + '128976' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1345,7 +1587,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_req' }, - '119970' => { + '129064' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1372,7 +1614,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_resp' }, - '120103' => { + '129197' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1395,7 +1637,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_req' }, - '121142' => { + '130243' => { 'Header' => 'platform_oem_ibm.h', 'Param' => { '0' => { @@ -1430,6 +1672,36 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_bios_attribute_update_event_req' }, + '131421' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'entityType', + 'type' => '4895' + }, + '2' => { + 'name' => 'entityInstance', + 'type' => '4895' + } + }, + 'Return' => '4895', + 'ShortName' => 'pldm_find_container_id' + }, + '131799' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'record_handle', + 'type' => '11475' + } + }, + 'Return' => '6265', + 'ShortName' => 'isHBRange' + }, '1440' => { 'Header' => 'base.h', 'Param' => { @@ -1457,7 +1729,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_header_only' }, - '15842' => { + '15849' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1502,7 +1774,7 @@ $VAR1 = { }, '9' => { 'name' => 'event_data', - 'type' => '16585' + 'type' => '16592' } }, 'Return' => '74', @@ -1535,7 +1807,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cc_only_resp' }, - '16595' => { + '16602' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1570,7 +1842,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_req' }, - '17133' => { + '17140' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1589,7 +1861,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_resp' }, - '17291' => { + '17298' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1620,7 +1892,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_req' }, - '17762' => { + '17769' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1639,7 +1911,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_resp' }, - '18080' => { + '18087' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1709,7 +1981,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_multipart_receive_req' }, - '18327' => { + '18334' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1732,7 +2004,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_req' }, - '18697' => { + '18704' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1783,7 +2055,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_resp' }, - '19116' => { + '19123' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1830,7 +2102,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_resp' }, - '20010' => { + '20017' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1853,7 +2125,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_req' }, - '20215' => { + '20222' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1899,7 +2171,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_tid_req' }, - '21444' => { + '21451' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1926,7 +2198,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_pdr_repository_chg_event_data' }, - '21833' => { + '21840' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1947,11 +2219,11 @@ $VAR1 = { }, '4' => { 'name' => 'change_entries', - 'type' => '22152' + 'type' => '22159' }, '5' => { 'name' => 'event_data', - 'type' => '22167' + 'type' => '22174' }, '6' => { 'name' => 'actual_change_records_size', @@ -1965,7 +2237,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_pdr_repository_chg_event_data' }, - '22177' => { + '22184' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2023,7 +2295,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_tid_resp' }, - '23123' => { + '23130' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2042,7 +2314,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_numeric_effecter_value_req' }, - '23441' => { + '23448' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2104,7 +2376,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_tid_resp' }, - '23834' => { + '23841' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2123,7 +2395,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_numeric_effecter_value_req' }, - '24018' => { + '24025' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2136,7 +2408,7 @@ $VAR1 = { }, '2' => { 'name' => 'pdr_value', - 'type' => '28491' + 'type' => '28498' } }, 'Return' => '74', @@ -2215,7 +2487,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_version_req' }, - '28496' => { + '28503' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2246,7 +2518,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_numeric_sensor_data' }, - '29314' => { + '29321' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2308,7 +2580,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_resp' }, - '29733' => { + '29740' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2331,7 +2603,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_op_data' }, - '30101' => { + '30108' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2358,7 +2630,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_event_data' }, - '30509' => { + '30516' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2379,7 +2651,7 @@ $VAR1 = { }, '4' => { 'name' => 'synchrony_config_support', - 'type' => '31174' + 'type' => '31181' }, '5' => { 'name' => 'number_event_class_returned', @@ -2397,7 +2669,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_supported_resp' }, - '31179' => { + '31186' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2416,7 +2688,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_supported_req' }, - '31363' => { + '31370' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2439,7 +2711,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_buffer_size_resp' }, - '31732' => { + '31739' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2458,7 +2730,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_buffer_size_req' }, - '31916' => { + '31923' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2481,7 +2753,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_resp' }, - '32285' => { + '32292' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2547,7 +2819,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_req' }, - '32610' => { + '32617' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2602,7 +2874,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_resp' }, - '33508' => { + '33515' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2625,7 +2897,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_resp' }, - '33713' => { + '33720' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2656,7 +2928,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_poll_for_platform_event_message_req' }, - '34185' => { + '34192' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2710,12 +2982,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_resp' }, - '34627' => { + '34634' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'event_data', - 'type' => '34806' + 'type' => '34813' }, '1' => { 'name' => 'event_data_size', @@ -2727,7 +2999,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_event_class', - 'type' => '12774' + 'type' => '12781' }, '4' => { 'name' => 'sensor_offset', @@ -2743,13 +3015,13 @@ $VAR1 = { }, '7' => { 'name' => 'actual_event_data_size', - 'type' => '20609' + 'type' => '20616' } }, 'Return' => '74', 'ShortName' => 'encode_sensor_event_data' }, - '34821' => { + '34828' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2766,7 +3038,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_rearm', - 'type' => '31174' + 'type' => '31181' }, '4' => { 'name' => 'reserved', @@ -2776,7 +3048,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_req' }, - '35242' => { + '35249' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2797,13 +3069,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '35771' + 'type' => '35778' } }, 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_resp' }, - '35776' => { + '35783' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2853,7 +3125,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_types_resp' }, - '36002' => { + '36009' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2870,7 +3142,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '35771' + 'type' => '35778' }, '4' => { 'name' => 'msg', @@ -2880,7 +3152,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_state_sensor_readings_resp' }, - '36270' => { + '36277' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2899,7 +3171,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_numeric_effecter_value_resp' }, - '36353' => { + '36360' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2930,7 +3202,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_req' }, - '36662' => { + '36669' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2953,7 +3225,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_resp' }, - '36841' => { + '36848' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3003,7 +3275,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_commands_resp' }, - '37473' => { + '37480' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3050,7 +3322,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_pdr_resp' }, - '38119' => { + '38126' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3089,7 +3361,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_req' }, - '38408' => { + '38415' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3159,7 +3431,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_req' }, - '39096' => { + '39103' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3206,7 +3478,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_repository_info_resp' }, - '39427' => { + '39434' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3249,7 +3521,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_resp' }, - '39820' => { + '39827' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3307,7 +3579,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_types_resp' }, - '40345' => { + '40352' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3328,13 +3600,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '40809' + 'type' => '40816' } }, 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_req' }, - '40814' => { + '40821' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3353,7 +3625,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_resp' }, - '40893' => { + '40900' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3370,7 +3642,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '40809' + 'type' => '40816' }, '4' => { 'name' => 'msg', @@ -3380,7 +3652,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_req' }, - '41151' => { + '41158' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3399,12 +3671,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_resp' }, - '41302' => { + '41309' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'sensor', - 'type' => '41614' + 'type' => '41621' }, '1' => { 'name' => 'allocation_size', @@ -3412,7 +3684,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '41624' + 'type' => '41631' }, '3' => { 'name' => 'possible_states_size', @@ -3420,18 +3692,18 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '20609' + 'type' => '20616' } }, 'Return' => '74', 'ShortName' => 'encode_state_sensor_pdr' }, - '41634' => { + '41641' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'effecter', - 'type' => '41946' + 'type' => '41953' }, '1' => { 'name' => 'allocation_size', @@ -3439,7 +3711,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '41956' + 'type' => '41963' }, '3' => { 'name' => 'possible_states_size', @@ -3447,7 +3719,7 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '20609' + 'type' => '20616' } }, 'Return' => '74', @@ -3521,7 +3793,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pack_pldm_header' }, - '46848' => { + '46855' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -3536,7 +3808,7 @@ $VAR1 = { 'Return' => '180', 'ShortName' => 'crc32' }, - '46963' => { + '46970' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3551,7 +3823,7 @@ $VAR1 = { 'Return' => '6265', 'ShortName' => 'pldm_bios_table_checksum' }, - '47108' => { + '47115' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3582,7 +3854,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_copy_and_update' }, - '47724' => { + '47731' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3598,10 +3870,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '47719', + 'Return' => '47726', 'ShortName' => 'pldm_bios_table_attr_value_find_by_handle' }, - '47987' => { + '47994' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3617,10 +3889,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48134', + 'Return' => '48141', 'ShortName' => 'pldm_bios_table_attr_find_by_string_handle' }, - '48255' => { + '48262' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3636,10 +3908,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48134', + 'Return' => '48141', 'ShortName' => 'pldm_bios_table_attr_find_by_handle' }, - '48518' => { + '48525' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3655,10 +3927,10 @@ $VAR1 = { 'type' => '12199' } }, - 'Return' => '48723', + 'Return' => '48730', 'ShortName' => 'pldm_bios_table_string_find_by_string' }, - '48892' => { + '48899' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3674,54 +3946,54 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48723', + 'Return' => '48730', 'ShortName' => 'pldm_bios_table_string_find_by_handle' }, - '49654' => { + '49661' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47714' + 'type' => '47721' } }, 'Return' => '1434', 'ShortName' => 'pldm_bios_table_iter_value' }, - '49709' => { + '49716' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47714' + 'type' => '47721' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_next' }, - '49801' => { + '49808' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '49856' + 'type' => '49863' } }, 'Return' => '6265', 'ShortName' => 'pldm_bios_table_iter_is_end' }, - '49861' => { + '49868' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47714' + 'type' => '47721' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_free' }, - '49932' => { + '49939' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3734,13 +4006,13 @@ $VAR1 = { }, '2' => { 'name' => 'type', - 'type' => '45555' + 'type' => '45562' } }, - 'Return' => '47714', + 'Return' => '47721', 'ShortName' => 'pldm_bios_table_iter_create' }, - '50171' => { + '50178' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3759,7 +4031,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_append_pad_checksum' }, - '50606' => { + '50613' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3770,40 +4042,40 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_pad_checksum_size' }, - '50901' => { + '50908' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_handle' }, - '50956' => { + '50963' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_length' }, - '51420' => { + '51427' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, - 'Return' => '45543', + 'Return' => '45550', 'ShortName' => 'pldm_bios_table_attr_value_entry_integer_decode_cv' }, - '51494' => { + '51501' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3824,13 +4096,13 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '45543' + 'type' => '45550' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_check' }, - '51705' => { + '51712' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3851,18 +4123,18 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '45543' + 'type' => '45550' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer' }, - '51992' => { + '51999' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_length' }, - '52134' => { + '52141' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3893,12 +4165,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_check' }, - '52383' => { + '52390' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' }, '1' => { 'name' => 'current_string', @@ -3908,18 +4180,18 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_string' }, - '52478' => { + '52485' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_length' }, - '52553' => { + '52560' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3950,7 +4222,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string' }, - '52907' => { + '52914' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3961,7 +4233,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_length' }, - '53075' => { + '53082' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3992,12 +4264,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_check' }, - '53324' => { + '53331' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' }, '1' => { 'name' => 'handles', @@ -4011,18 +4283,18 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_handles' }, - '53498' => { + '53505' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_number' }, - '53553' => { + '53560' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4053,7 +4325,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum' }, - '53906' => { + '53913' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4064,42 +4336,42 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_length' }, - '53961' => { + '53968' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_type' }, - '54016' => { + '54023' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47719' + 'type' => '47726' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_handle' }, - '54555' => { + '54562' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'lower', - 'type' => '54682' + 'type' => '54689' }, '2' => { 'name' => 'upper', - 'type' => '54682' + 'type' => '54689' }, '3' => { 'name' => 'scalar', @@ -4107,13 +4379,13 @@ $VAR1 = { }, '4' => { 'name' => 'def', - 'type' => '54682' + 'type' => '54689' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_decode' }, - '54697' => { + '54704' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4126,28 +4398,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '54886' + 'type' => '54893' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_check' }, - '54891' => { + '54898' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '54886' + 'type' => '54893' }, '1' => { 'name' => 'errmsg', - 'type' => '55148' + 'type' => '55155' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_info_check' }, - '55153' => { + '55160' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4160,23 +4432,23 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '54886' + 'type' => '54893' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode' }, - '55471' => { + '55478' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_length' }, - '55613' => { + '55620' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'buffer', @@ -4190,45 +4462,45 @@ $VAR1 = { 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string' }, - '55809' => { + '55816' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_min_length' }, - '55884' => { + '55891' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_max_length' }, - '55959' => { + '55966' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_string_type' }, - '56034' => { + '56041' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'def_string_length', @@ -4238,7 +4510,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string_length_check' }, - '56210' => { + '56217' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4251,28 +4523,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '56477' + 'type' => '56484' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_check' }, - '56482' => { + '56489' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '56477' + 'type' => '56484' }, '1' => { 'name' => 'errmsg', - 'type' => '55148' + 'type' => '55155' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_info_check' }, - '56751' => { + '56758' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4283,12 +4555,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_length' }, - '56966' => { + '56973' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'def_indices', @@ -4302,12 +4574,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_indices' }, - '57166' => { + '57173' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'pv_hdls', @@ -4321,12 +4593,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_hdls_check' }, - '57317' => { + '57324' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'def_num', @@ -4336,12 +4608,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_num_check' }, - '57482' => { + '57489' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' }, '1' => { 'name' => 'pv_num', @@ -4351,7 +4623,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num_check' }, - '57548' => { + '57555' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4364,13 +4636,13 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '57801' + 'type' => '57808' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_check' }, - '57806' => { + '57813' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4385,45 +4657,45 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_length' }, - '57872' => { + '57879' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_decode_string_handle' }, - '57925' => { + '57932' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_type' }, - '57978' => { + '57985' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48134' + 'type' => '48141' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_handle' }, - '58513' => { + '58520' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48723' + 'type' => '48730' }, '1' => { 'name' => 'buffer', @@ -4437,29 +4709,29 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_check' }, - '58679' => { + '58686' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48723' + 'type' => '48730' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_length' }, - '58732' => { + '58739' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48723' + 'type' => '48730' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_string_entry_decode_handle' }, - '58785' => { + '58792' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4482,7 +4754,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_encode_check' }, - '59012' => { + '59019' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4599,7 +4871,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_req' }, - '64580' => { + '64587' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -4610,7 +4882,7 @@ $VAR1 = { 'Return' => '6265', 'ShortName' => 'is_transfer_flag_valid' }, - '64731' => { + '64738' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4627,11 +4899,11 @@ $VAR1 = { }, '3' => { 'name' => 'non_functioning_component_indication', - 'type' => '64915' + 'type' => '64922' }, '4' => { 'name' => 'non_functioning_component_bitmap', - 'type' => '64920' + 'type' => '64927' } }, 'Return' => '74', @@ -4660,7 +4932,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_resp' }, - '64930' => { + '64937' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4679,7 +4951,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_req' }, - '65083' => { + '65090' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4698,7 +4970,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_cancel_update_component_resp' }, - '65165' => { + '65172' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4717,7 +4989,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_component_req' }, - '65318' => { + '65325' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4758,13 +5030,13 @@ $VAR1 = { }, '9' => { 'name' => 'update_option_flags_enabled', - 'type' => '65659' + 'type' => '65666' } }, 'Return' => '74', 'ShortName' => 'decode_get_status_resp' }, - '65669' => { + '65676' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4783,7 +5055,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_status_req' }, - '65822' => { + '65829' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4806,7 +5078,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_activate_firmware_resp' }, - '65948' => { + '65955' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4829,7 +5101,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_activate_firmware_req' }, - '66169' => { + '66176' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4852,7 +5124,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_apply_complete_resp' }, - '66341' => { + '66348' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4869,13 +5141,13 @@ $VAR1 = { }, '3' => { 'name' => 'comp_activation_methods_modification', - 'type' => '66463' + 'type' => '66470' } }, 'Return' => '74', 'ShortName' => 'decode_apply_complete_req' }, - '66473' => { + '66480' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4898,7 +5170,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_verify_complete_resp' }, - '66645' => { + '66652' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4917,7 +5189,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_verify_complete_req' }, - '66727' => { + '66734' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4940,7 +5212,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_transfer_complete_resp' }, - '66899' => { + '66906' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4982,7 +5254,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_resp' }, - '66981' => { + '66988' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5005,7 +5277,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_firmware_data_resp' }, - '67153' => { + '67160' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5028,7 +5300,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_firmware_data_req' }, - '67285' => { + '67292' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5053,7 +5325,7 @@ $VAR1 = { }, '5' => { 'name' => 'update_option_flags_enabled', - 'type' => '65659' + 'type' => '65666' }, '6' => { 'name' => 'time_before_req_fw_data', @@ -5063,7 +5335,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_update_component_resp' }, - '67521' => { + '67528' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5100,7 +5372,7 @@ $VAR1 = { }, '6' => { 'name' => 'update_option_flags', - 'type' => '60414' + 'type' => '60421' }, '7' => { 'name' => 'comp_ver_str_type', @@ -5112,13 +5384,13 @@ $VAR1 = { }, '9' => { 'name' => 'comp_ver_str', - 'type' => '67925' + 'type' => '67932' } }, 'Return' => '74', 'ShortName' => 'encode_update_component_req' }, - '67935' => { + '67942' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5184,7 +5456,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_req' }, - '68131' => { + '68138' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5225,7 +5497,7 @@ $VAR1 = { }, '8' => { 'name' => 'comp_ver_str', - 'type' => '67925' + 'type' => '67932' }, '9' => { 'name' => 'msg', @@ -5235,7 +5507,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pass_component_table_req' }, - '68544' => { + '68551' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5262,7 +5534,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_update_resp' }, - '68685' => { + '68692' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5295,7 +5567,7 @@ $VAR1 = { }, '7' => { 'name' => 'comp_img_set_ver_str', - 'type' => '67925' + 'type' => '67932' }, '8' => { 'name' => 'msg', @@ -5309,7 +5581,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_update_req' }, - '69050' => { + '69057' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5322,7 +5594,7 @@ $VAR1 = { }, '2' => { 'name' => 'component_data', - 'type' => '69206' + 'type' => '69213' }, '3' => { 'name' => 'active_comp_ver_str', @@ -5336,7 +5608,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp_comp_entry' }, - '69216' => { + '69223' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5349,7 +5621,7 @@ $VAR1 = { }, '2' => { 'name' => 'resp_data', - 'type' => '69436' + 'type' => '69443' }, '3' => { 'name' => 'active_comp_image_set_ver_str', @@ -5367,7 +5639,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp' }, - '69441' => { + '69448' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5386,7 +5658,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_firmware_parameters_req' }, - '69578' => { + '69585' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5411,13 +5683,13 @@ $VAR1 = { }, '5' => { 'name' => 'descriptor_data', - 'type' => '69734' + 'type' => '69741' } }, 'Return' => '74', 'ShortName' => 'decode_query_device_identifiers_resp' }, - '69744' => { + '69751' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5436,7 +5708,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_query_device_identifiers_req' }, - '69881' => { + '69888' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5449,7 +5721,7 @@ $VAR1 = { }, '2' => { 'name' => 'pldm_comp_image_info', - 'type' => '70028' + 'type' => '70035' }, '3' => { 'name' => 'comp_version_str', @@ -5459,7 +5731,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_comp_image_info' }, - '70033' => { + '70040' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5486,7 +5758,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_vendor_defined_descriptor_value' }, - '70212' => { + '70219' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5509,7 +5781,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_descriptor_type_length_value' }, - '70384' => { + '70391' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5526,7 +5798,7 @@ $VAR1 = { }, '3' => { 'name' => 'fw_device_id_record', - 'type' => '70651' + 'type' => '70658' }, '4' => { 'name' => 'applicable_components', @@ -5548,7 +5820,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_firmware_device_id_record' }, - '70656' => { + '70663' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5561,7 +5833,7 @@ $VAR1 = { }, '2' => { 'name' => 'package_header_info', - 'type' => '70803' + 'type' => '70810' }, '3' => { 'name' => 'package_version_str', @@ -5594,7 +5866,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_resp' }, - '72994' => { + '73001' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5648,7 +5920,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_req' }, - '73217' => { + '73224' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5675,7 +5947,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_fru_record_table_req' }, - '73384' => { + '73391' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5710,7 +5982,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp' }, - '73632' => { + '73639' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5749,7 +6021,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp_safe' }, - '73890' => { + '73897' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5776,7 +6048,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_req' }, - '74108' => { + '74115' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5807,7 +6079,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_resp' }, - '74269' => { + '74276' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5846,7 +6118,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_resp' }, - '74578' => { + '74585' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5908,7 +6180,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_resp' }, - '74766' => { + '74773' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5951,7 +6223,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_req' }, - '75059' => { + '75066' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5986,7 +6258,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'get_fru_record_by_option' }, - '75741' => { + '75748' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6064,7 +6336,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_req' }, - '76004' => { + '76011' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6091,7 +6363,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_resp' }, - '76208' => { + '76215' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6114,7 +6386,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_req' }, - '76324' => { + '76331' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6161,7 +6433,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_resp' }, - '76628' => { + '76635' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6209,7 +6481,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_metadata_resp' }, - '76835' => { + '76842' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6228,29 +6500,6 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_req' }, - '78459' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'pdr', - 'type' => '6087' - }, - '1' => { - 'name' => 'pdr_len', - 'type' => '4895' - }, - '2' => { - 'name' => 'num_entities', - 'type' => '8822' - }, - '3' => { - 'name' => 'entities', - 'type' => '79109' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_extract' - }, '7865' => { 'Header' => 'bios.h', 'Param' => { @@ -6286,103 +6535,128 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_current_value_by_handle_resp' }, - '79150' => { - 'Header' => 'pdr.h', + '79712' => { + 'Header' => 'pdr_oem_ibm.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '79205' + 'name' => 'repo', + 'type' => '79734' } }, - 'Return' => '6265', - 'ShortName' => 'pldm_is_empty_entity_assoc_tree' + 'Return' => '77503', + 'ShortName' => 'pldm_pdr_find_last_local_record' }, - '79210' => { + '79795' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '79205' + 'name' => 'entity', + 'offset' => '-8', + 'type' => '77582' + }, + '1' => { + 'name' => 'parent', + 'offset' => '-16', + 'type' => '77582' + }, + '2' => { + 'name' => 'remote_container_id', + 'type' => '4895' + }, + '3' => { + 'name' => 'first_child', + 'type' => '79656' + }, + '4' => { + 'name' => 'next_sibling', + 'type' => '79656' + }, + '5' => { + 'name' => 'association_type', + 'type' => '168' } }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy_root' + 'Return' => '79656', + 'ShortName' => 'init_pldm_entity_node' }, - '79373' => { + '79980' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'org_tree', - 'type' => '79205' + 'name' => 'pdr', + 'type' => '6087' }, '1' => { - 'name' => 'new_tree', - 'type' => '79205' + 'name' => 'pdr_len', + 'type' => '4895' + }, + '2' => { + 'name' => 'num_entities', + 'type' => '8822' + }, + '3' => { + 'name' => 'entities', + 'type' => '80630' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_copy_root' + 'ShortName' => 'pldm_entity_association_pdr_extract' }, - '79589' => { + '80671' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79205' - }, - '1' => { - 'name' => 'entity', - 'type' => '79114' + 'type' => '80726' } }, - 'Return' => '78347', - 'ShortName' => 'pldm_entity_association_tree_find' + 'Return' => '6265', + 'ShortName' => 'pldm_is_empty_entity_assoc_tree' }, - '80542' => { + '80731' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80878' + 'name' => 'tree', + 'type' => '80726' } }, 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_remote_pdrs' + 'ShortName' => 'pldm_entity_association_tree_destroy_root' }, - '80904' => { + '80894' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80878' + 'name' => 'org_tree', + 'type' => '80726' }, '1' => { - 'name' => 'terminus_handle', - 'type' => '4895' + 'name' => 'new_tree', + 'type' => '80726' } }, 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' + 'ShortName' => 'pldm_entity_association_tree_copy_root' }, - '81277' => { + '81110' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79205' + 'type' => '80726' }, '1' => { 'name' => 'entity', - 'offset' => '-8', - 'type' => '77488' + 'type' => '80635' }, '2' => { - 'name' => 'node', - 'type' => '79584' + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '1', - 'ShortName' => 'pldm_find_entity_ref_in_tree' + 'Return' => '79656', + 'ShortName' => 'pldm_entity_association_tree_find' }, '8158' => { 'Header' => 'bios.h', @@ -6411,59 +6685,51 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_req' }, - '81906' => { + '82117' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '78347' - }, - '1' => { 'name' => 'repo', - 'type' => '80878' - }, - '2' => { - 'name' => 'entities', - 'type' => '79109' - }, - '3' => { - 'name' => 'num_entities', - 'type' => '123' - }, - '4' => { - 'name' => 'is_remote', - 'type' => '6265' - }, - '5' => { - 'name' => 'terminus_handle', - 'type' => '4895' + 'type' => '82453' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add_from_node' + 'ShortName' => 'pldm_pdr_remove_remote_pdrs' }, - '82200' => { + '82479' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '79205' - }, - '1' => { 'name' => 'repo', - 'type' => '80878' + 'type' => '82453' }, - '2' => { - 'name' => 'is_remote', - 'type' => '6265' - }, - '3' => { + '1' => { 'name' => 'terminus_handle', 'type' => '4895' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add' + 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' + }, + '82752' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '80726' + }, + '1' => { + 'name' => 'entity', + 'offset' => '-8', + 'type' => '77582' + }, + '2' => { + 'name' => 'node', + 'type' => '81105' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_find_entity_ref_in_tree' }, '8304' => { 'Header' => 'bios.h', @@ -6496,57 +6762,62 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_resp' }, - '83835' => { + '83143' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'parent', - 'type' => '78347' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'node', - 'type' => '79114' + 'name' => 'entity', + 'offset' => '-8', + 'type' => '77582' + }, + '2' => { + 'name' => 'parent', + 'offset' => '-16', + 'type' => '77582' + }, + '3' => { + 'name' => 'event_data_op', + 'type' => '2034' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'bmc_record_handle', + 'type' => '180' } }, - 'Return' => '6265', - 'ShortName' => 'pldm_is_current_parent_child' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_add_contained_entity' }, - '84073' => { + '83930' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '78347' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'association_type', - 'type' => '168' - } - }, - 'Return' => '168', - 'ShortName' => 'pldm_entity_get_num_children' - }, - '84395' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '78347' - } - }, - 'Return' => '6265', - 'ShortName' => 'pldm_entity_is_exist_parent' - }, - '84529' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '78347' + 'name' => 'entity', + 'offset' => '-8', + 'type' => '77582' + }, + '2' => { + 'name' => 'event_data_op', + 'type' => '2034' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '77488', - 'ShortName' => 'pldm_entity_get_parent' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_remove_contained_entity' }, '8460' => { 'Header' => 'bios.h', @@ -6575,78 +6846,63 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_attribute_current_value_by_handle_req' }, - '84684' => { + '85206' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78347' - } - }, - 'Return' => '6265', - 'ShortName' => 'pldm_entity_is_node_parent' - }, - '84839' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '79205' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy' - }, - '85122' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '79205' + 'type' => '79656' }, '1' => { - 'name' => 'entities', - 'type' => '79109' + 'name' => 'repo', + 'type' => '82453' }, '2' => { - 'name' => 'size', - 'type' => '8822' + 'name' => 'entities', + 'type' => '80630' + }, + '3' => { + 'name' => 'num_entities', + 'type' => '123' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '4895' + }, + '6' => { + 'name' => 'record_handle', + 'type' => '180' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_visit' + 'ShortName' => 'pldm_entity_association_pdr_add_from_node' }, - '86158' => { + '85522' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79205' + 'type' => '80726' }, '1' => { - 'name' => 'entity', - 'type' => '79114' + 'name' => 'repo', + 'type' => '82453' }, '2' => { - 'name' => 'entity_instance_number', - 'type' => '4895' + 'name' => 'is_remote', + 'type' => '6265' }, '3' => { - 'name' => 'parent', - 'type' => '78347' - }, - '4' => { - 'name' => 'association_type', - 'type' => '168' + 'name' => 'terminus_handle', + 'type' => '4895' } }, - 'Return' => '78347', - 'ShortName' => 'pldm_entity_association_tree_add' - }, - '86595' => { - 'Header' => 'pdr.h', - 'Return' => '79205', - 'ShortName' => 'pldm_entity_association_tree_init' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_pdr_add' }, '8672' => { 'Header' => 'bios.h', @@ -6679,74 +6935,84 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_resp' }, - '86827' => { + '87157' => { 'Header' => 'pdr.h', 'Param' => { '0' => { + 'name' => 'parent', + 'type' => '79656' + }, + '1' => { 'name' => 'node', - 'type' => '78347' + 'type' => '80635' } }, - 'Return' => '77488', - 'ShortName' => 'pldm_entity_extract' + 'Return' => '6265', + 'ShortName' => 'pldm_is_current_parent_child' }, - '87613' => { + '87395' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80537' + 'name' => 'node', + 'type' => '79656' }, '1' => { - 'name' => 'terminus_handle', - 'type' => '4895' - }, - '2' => { - 'name' => 'tid', - 'type' => '168' - }, - '3' => { - 'name' => 'tl_eid', + 'name' => 'association_type', 'type' => '168' - }, - '4' => { - 'name' => 'valid_bit', - 'type' => '6265' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_update_TL_pdr' + 'Return' => '168', + 'ShortName' => 'pldm_entity_get_num_children' }, - '87953' => { + '87717' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80537' + 'name' => 'node', + 'type' => '79656' + } + }, + 'Return' => '6265', + 'ShortName' => 'pldm_entity_is_exist_parent' + }, + '87851' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '79656' + } + }, + 'Return' => '77582', + 'ShortName' => 'pldm_entity_get_parent' + }, + '88006' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '79656' + } + }, + 'Return' => '6265', + 'ShortName' => 'pldm_entity_is_node_parent' + }, + '88161' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '80726' }, '1' => { - 'name' => 'fru_rsi', - 'type' => '4895' - }, - '2' => { - 'name' => 'terminus_handle', - 'type' => '8294' - }, - '3' => { - 'name' => 'entity_type', - 'type' => '8294' - }, - '4' => { - 'name' => 'entity_instance_num', - 'type' => '8294' - }, - '5' => { - 'name' => 'container_id', - 'type' => '8294' + 'name' => 'entity', + 'offset' => '-40', + 'type' => '77582' } }, - 'Return' => '87938', - 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_delete_node' }, '8832' => { 'Header' => 'bios.h', @@ -6775,115 +7041,35 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_req' }, - '88547' => { + '88562' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80878' - }, - '1' => { - 'name' => 'terminus_handle', - 'type' => '4895' - }, - '2' => { - 'name' => 'fru_rsi', - 'type' => '4895' - }, - '3' => { - 'name' => 'entity_type', - 'type' => '4895' - }, - '4' => { - 'name' => 'entity_instance_num', - 'type' => '4895' - }, - '5' => { - 'name' => 'container_id', - 'type' => '4895' - }, - '6' => { - 'name' => 'bmc_record_handle', - 'type' => '180' + 'name' => 'tree', + 'type' => '80726' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add_fru_record_set' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_destroy' }, - '88864' => { + '88845' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'record', - 'type' => '87938' + 'name' => 'tree', + 'type' => '80726' + }, + '1' => { + 'name' => 'entities', + 'type' => '80630' + }, + '2' => { + 'name' => 'size', + 'type' => '8822' } }, - 'Return' => '6265', - 'ShortName' => 'pldm_pdr_record_is_remote' - }, - '89019' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80537' - }, - '1' => { - 'name' => 'record', - 'type' => '87938' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_handle' - }, - '89232' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80537' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_repo_size' - }, - '89363' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80537' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_count' - }, - '89494' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80537' - }, - '1' => { - 'name' => 'pdr_type', - 'type' => '168' - }, - '2' => { - 'name' => 'curr_record', - 'type' => '87938' - }, - '3' => { - 'name' => 'data', - 'type' => '69734' - }, - '4' => { - 'name' => 'size', - 'type' => '2039' - } - }, - 'Return' => '87938', - 'ShortName' => 'pldm_pdr_find_record_by_type' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_visit' }, '8973' => { 'Header' => 'bios.h', @@ -6912,106 +7098,120 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_req' }, - '89759' => { + '89988' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80537' + 'name' => 'tree', + 'type' => '80726' }, '1' => { - 'name' => 'curr_record', - 'type' => '87938' + 'name' => 'entity', + 'type' => '80635' }, '2' => { - 'name' => 'data', - 'type' => '69734' + 'name' => 'entity_instance_number', + 'type' => '4895' }, '3' => { - 'name' => 'size', - 'type' => '2039' + 'name' => 'parent', + 'type' => '79656' }, '4' => { - 'name' => 'next_record_handle', - 'type' => '2039' + 'name' => 'association_type', + 'type' => '168' + }, + '5' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '6' => { + 'name' => 'is_update_container_id', + 'type' => '6265' + }, + '7' => { + 'name' => 'container_id', + 'type' => '4895' } }, - 'Return' => '87938', - 'ShortName' => 'pldm_pdr_get_next_record' + 'Return' => '79656', + 'ShortName' => 'pldm_entity_association_tree_add' }, - '90288' => { + '90490' => { + 'Header' => 'pdr.h', + 'Return' => '80726', + 'ShortName' => 'pldm_entity_association_tree_init' + }, + '90722' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80537' - }, - '1' => { - 'name' => 'record_handle', - 'type' => '180' - }, - '2' => { - 'name' => 'data', - 'type' => '69734' - }, - '3' => { - 'name' => 'size', - 'type' => '2039' - }, - '4' => { - 'name' => 'next_record_handle', - 'type' => '2039' + 'name' => 'entity', + 'type' => '90717' } }, - 'Return' => '87938', - 'ShortName' => 'pldm_pdr_find_record' + 'Return' => '4895', + 'ShortName' => 'pldm_extract_host_container_id' }, - '90748' => { + '90924' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80878' + 'name' => 'node', + 'type' => '79656' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_destroy' + 'Return' => '77582', + 'ShortName' => 'pldm_entity_extract' }, - '91006' => { + '90994' => { 'Header' => 'pdr.h', - 'Return' => '80878', - 'ShortName' => 'pldm_pdr_init' + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '80726' + } + }, + 'Return' => '4895', + 'ShortName' => 'next_container_id' }, - '91181' => { + '91192' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80878' + 'type' => '82453' }, '1' => { - 'name' => 'data', - 'type' => '6087' + 'name' => 'sensor_id', + 'type' => '4895' }, '2' => { - 'name' => 'size', - 'type' => '180' - }, - '3' => { - 'name' => 'record_handle', - 'type' => '180' - }, - '4' => { 'name' => 'is_remote', 'type' => '6265' + } + }, + 'Return' => '4895', + 'ShortName' => 'pldm_delete_by_sensor_id' + }, + '91573' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82453' }, - '5' => { - 'name' => 'terminus_handle', + '1' => { + 'name' => 'effecter_id', 'type' => '4895' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add' + 'Return' => '4895', + 'ShortName' => 'pldm_delete_by_effecter_id' }, '9179' => { 'Header' => 'bios.h', @@ -7048,61 +7248,161 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_resp' }, - '93717' => { - 'Header' => 'utils.h', + '91933' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'sensorId', + 'type' => '4895' + }, + '2' => { + 'name' => 'instanceNumber', + 'type' => '4895' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_sensor' + }, + '92211' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '4895' + }, + '2' => { + 'name' => 'instanceNumber', + 'type' => '4895' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_effecter' + }, + '92468' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'dec', + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'sensorId', + 'type' => '4895' + }, + '2' => { + 'name' => 'containerId', + 'type' => '4895' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_sensor' + }, + '92725' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '4895' + }, + '2' => { + 'name' => 'containerId', + 'type' => '4895' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_effecter' + }, + '93017' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'record_handle', 'type' => '180' } }, - 'Return' => '180', - 'ShortName' => 'dec2bcd32' + 'Return' => '77582', + 'ShortName' => 'pldm_get_entity_from_record_handle' }, - '93809' => { - 'Header' => 'utils.h', + '93405' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'bcd', + 'name' => 'repo', + 'type' => '82453' + }, + '1' => { + 'name' => 'record_handle', 'type' => '180' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '180', - 'ShortName' => 'bcd2dec32' + 'Return' => '1', + 'ShortName' => 'pldm_delete_by_record_handle' }, - '94219' => { - 'Header' => 'utils.h', + '94145' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'version', - 'type' => '3250' + 'name' => 'repo', + 'type' => '79734' }, '1' => { - 'name' => 'buffer', - 'type' => '11261' + 'name' => 'terminus_handle', + 'type' => '4895' }, '2' => { - 'name' => 'buffer_size', - 'type' => '123' + 'name' => 'tid', + 'type' => '168' + }, + '3' => { + 'name' => 'tl_eid', + 'type' => '168' + }, + '4' => { + 'name' => 'valid_bit', + 'type' => '6265' } }, - 'Return' => '12204', - 'ShortName' => 'ver2str' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_update_TL_pdr' }, - '94347' => { - 'Header' => 'utils.h', + '94485' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'data', - 'type' => '1434' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'size', - 'type' => '123' + 'name' => 'fru_rsi', + 'type' => '4895' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '168', - 'ShortName' => 'crc8' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_remove_fru_record_set_by_rsi' }, '9456' => { 'Header' => 'bios.h', @@ -7123,6 +7423,41 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_resp' }, + '94840' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'fru_rsi', + 'type' => '4895' + }, + '2' => { + 'name' => 'terminus_handle', + 'type' => '8294' + }, + '3' => { + 'name' => 'entity_type', + 'type' => '8294' + }, + '4' => { + 'name' => 'entity_instance_num', + 'type' => '8294' + }, + '5' => { + 'name' => 'container_id', + 'type' => '8294' + }, + '6' => { + 'name' => 'is_remote', + 'type' => '6265' + } + }, + 'Return' => '94470', + 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' + }, '9534' => { 'Header' => 'bios.h', 'Param' => { @@ -7146,80 +7481,146 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_resp' }, - '95618' => { - 'Header' => 'instance-id.h', + '95449' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95826' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'tid', - 'type' => '94943' + 'name' => 'terminus_handle', + 'type' => '4895' }, '2' => { - 'name' => 'iid', - 'type' => '94955' + 'name' => 'fru_rsi', + 'type' => '4895' + }, + '3' => { + 'name' => 'entity_type', + 'type' => '4895' + }, + '4' => { + 'name' => 'entity_instance_num', + 'type' => '4895' + }, + '5' => { + 'name' => 'container_id', + 'type' => '4895' + }, + '6' => { + 'name' => 'bmc_record_handle', + 'type' => '180' + }, + '7' => { + 'name' => 'hotplug', + 'type' => '6265' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_free' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_fru_record_set' }, - '95831' => { - 'Header' => 'instance-id.h', + '95862' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95826' + 'name' => 'record', + 'type' => '94470' + } + }, + 'Return' => '6265', + 'ShortName' => 'pldm_pdr_record_is_remote' + }, + '96017' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' }, '1' => { - 'name' => 'tid', - 'type' => '94943' - }, - '2' => { - 'name' => 'iid', - 'type' => '96232' + 'name' => 'record', + 'type' => '94470' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_alloc' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_handle' }, - '96237' => { - 'Header' => 'instance-id.h', + '96235' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95826' + 'name' => 'repo', + 'type' => '79734' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_destroy' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_repo_size' }, - '96322' => { - 'Header' => 'instance-id.h', + '96369' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '96408' + 'name' => 'repo', + 'type' => '79734' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init_default' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_count' }, - '96413' => { - 'Header' => 'instance-id.h', + '96503' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '96408' + 'name' => 'repo', + 'type' => '79734' }, '1' => { - 'name' => 'dbpath', - 'type' => '12199' + 'name' => 'pdr_type', + 'type' => '168' + }, + '2' => { + 'name' => 'curr_record', + 'type' => '94470' + }, + '3' => { + 'name' => 'data', + 'type' => '69741' + }, + '4' => { + 'name' => 'size', + 'type' => '2039' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init' + 'Return' => '94470', + 'ShortName' => 'pldm_pdr_find_record_by_type' + }, + '96777' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'curr_record', + 'type' => '94470' + }, + '2' => { + 'name' => 'data', + 'type' => '69741' + }, + '3' => { + 'name' => 'size', + 'type' => '2039' + }, + '4' => { + 'name' => 'next_record_handle', + 'type' => '2039' + } + }, + 'Return' => '94470', + 'ShortName' => 'pldm_pdr_get_next_record' }, '9723' => { 'Header' => 'bios.h', @@ -7260,114 +7661,168 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_req' }, - '97524' => { - 'Header' => 'pldm.h', + '97296' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96894' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6087' + 'name' => 'prev_record_handle', + 'type' => '2039' + } + }, + 'Return' => '6265', + 'ShortName' => 'pldm_pdr_find_prev_record_handle' + }, + '97531' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '79734' + }, + '1' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '2' => { + 'name' => 'data', + 'type' => '69741' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'size', + 'type' => '2039' + }, + '4' => { + 'name' => 'next_record_handle', + 'type' => '2039' + } + }, + 'Return' => '94470', + 'ShortName' => 'pldm_pdr_find_record' + }, + '98002' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82453' } }, - 'Return' => '97003', - 'ShortName' => 'pldm_send' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_destroy' }, - '97940' => { - 'Header' => 'pldm.h', + '98260' => { + 'Header' => 'pdr.h', + 'Return' => '82453', + 'ShortName' => 'pldm_pdr_init' + }, + '98435' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96894' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6087' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6087' + 'name' => 'size', + 'type' => '180' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'record_handle', + 'type' => '180' }, '4' => { - 'name' => 'pldm_resp_msg', - 'type' => '69734' + 'name' => 'is_remote', + 'type' => '6265' }, '5' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'type' => '4895' } }, - 'Return' => '97003', - 'ShortName' => 'pldm_send_recv' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_after_prev_record' }, - '98416' => { - 'Header' => 'pldm.h', + '98857' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96894' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6087' }, '2' => { - 'name' => 'instance_id', - 'type' => '168' + 'name' => 'size', + 'type' => '180' }, '3' => { - 'name' => 'pldm_resp_msg', - 'type' => '69734' + 'name' => 'record_handle', + 'type' => '180' }, '4' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'type' => '4895' } }, - 'Return' => '97003', - 'ShortName' => 'pldm_recv' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_hotplug_record' }, - '98639' => { - 'Header' => 'pldm.h', + '99279' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96894' + 'name' => 'repo', + 'type' => '82453' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6087' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'record_handle', + 'type' => '180' }, - '2' => { - 'name' => 'pldm_resp_msg', - 'type' => '69734' + '4' => { + 'name' => 'is_remote', + 'type' => '6265' }, - '3' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + '5' => { + 'name' => 'terminus_handle', + 'type' => '4895' } }, - 'Return' => '97003', - 'ShortName' => 'pldm_recv_any' - }, - '99081' => { - 'Header' => 'pldm.h', - 'Return' => '97003', - 'ShortName' => 'pldm_open' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add' } }, 'SymbolVersion' => {}, @@ -7569,10 +8024,14 @@ $VAR1 = { 'encode_write_file_resp' => 1, 'entity_association_tree_find' => 1, 'find_entity_ref_in_tree' => 1, + 'find_record_handle_by_contained_entity' => 1, 'get_fru_record_by_option' => 1, + 'init_pldm_entity_node' => 1, + 'isHBRange' => 1, 'is_present' => 1, 'is_time_legal' => 1, 'is_transfer_flag_valid' => 1, + 'next_container_id' => 1, 'pack_pldm_header' => 1, 'pldm_bios_table_append_pad_checksum' => 1, 'pldm_bios_table_attr_entry_decode_attribute_handle' => 1, @@ -7633,12 +8092,21 @@ $VAR1 = { 'pldm_bios_table_string_entry_encode_length' => 1, 'pldm_bios_table_string_find_by_handle' => 1, 'pldm_bios_table_string_find_by_string' => 1, - 'pldm_close' => 1, + 'pldm_change_container_id_of_effecter' => 1, + 'pldm_change_container_id_of_sensor' => 1, + 'pldm_change_instance_number_of_effecter' => 1, + 'pldm_change_instance_number_of_sensor' => 1, + 'pldm_delete_by_effecter_id' => 1, + 'pldm_delete_by_record_handle' => 1, + 'pldm_delete_by_sensor_id' => 1, 'pldm_entity_association_pdr_add' => 1, + 'pldm_entity_association_pdr_add_contained_entity' => 1, 'pldm_entity_association_pdr_add_from_node' => 1, 'pldm_entity_association_pdr_extract' => 1, + 'pldm_entity_association_pdr_remove_contained_entity' => 1, 'pldm_entity_association_tree_add' => 1, 'pldm_entity_association_tree_copy_root' => 1, + 'pldm_entity_association_tree_delete_node' => 1, 'pldm_entity_association_tree_destroy' => 1, 'pldm_entity_association_tree_destroy_root' => 1, 'pldm_entity_association_tree_find' => 1, @@ -7649,7 +8117,10 @@ $VAR1 = { 'pldm_entity_get_parent' => 1, 'pldm_entity_is_exist_parent' => 1, 'pldm_entity_is_node_parent' => 1, + 'pldm_extract_host_container_id' => 1, + 'pldm_find_container_id' => 1, 'pldm_find_entity_ref_in_tree' => 1, + 'pldm_get_entity_from_record_handle' => 1, 'pldm_instance_db_destroy' => 1, 'pldm_instance_db_init' => 1, 'pldm_instance_db_init_default' => 1, @@ -7659,8 +8130,12 @@ $VAR1 = { 'pldm_is_empty_entity_assoc_tree' => 1, 'pldm_open' => 1, 'pldm_pdr_add' => 1, + 'pldm_pdr_add_after_prev_record' => 1, 'pldm_pdr_add_fru_record_set' => 1, + 'pldm_pdr_add_hotplug_record' => 1, 'pldm_pdr_destroy' => 1, + 'pldm_pdr_find_last_local_record' => 1, + 'pldm_pdr_find_prev_record_handle' => 1, 'pldm_pdr_find_record' => 1, 'pldm_pdr_find_record_by_type' => 1, 'pldm_pdr_fru_record_set_find_by_rsi' => 1, @@ -7670,6 +8145,7 @@ $VAR1 = { 'pldm_pdr_get_repo_size' => 1, 'pldm_pdr_init' => 1, 'pldm_pdr_record_is_remote' => 1, + 'pldm_pdr_remove_fru_record_set_by_rsi' => 1, 'pldm_pdr_remove_pdrs_by_terminus_handle' => 1, 'pldm_pdr_remove_remote_pdrs' => 1, 'pldm_pdr_update_TL_pdr' => 1, @@ -7692,6 +8168,163 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Intrinsic' }, + '103955' => { + 'BaseType' => '168', + 'Header' => 'base.h', + 'Line' => '14', + 'Name' => 'pldm_tid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '103967' => { + 'BaseType' => '168', + 'Header' => 'instance-id.h', + 'Line' => '11', + 'Name' => 'pldm_instance_id_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '104344' => { + 'Header' => undef, + 'Line' => '18', + 'Memb' => { + '0' => { + 'name' => 'prev', + 'offset' => '0', + 'type' => '103967' + }, + '1' => { + 'name' => 'allocations', + 'offset' => '4', + 'type' => '180' + } + }, + 'Name' => 'struct pldm_tid_state', + 'PrivateABI' => 1, + 'Size' => '8', + 'Type' => 'Struct' + }, + '104383' => { + 'Header' => undef, + 'Line' => '23', + 'Memb' => { + '0' => { + 'name' => 'state', + 'offset' => '0', + 'type' => '104425' + }, + '1' => { + 'name' => 'lock_db_fd', + 'offset' => '8264', + 'type' => '74' + } + }, + 'Name' => 'struct pldm_instance_db', + 'PrivateABI' => 1, + 'Size' => '2052', + 'Type' => 'Struct' + }, + '104425' => { + 'BaseType' => '104344', + 'Name' => 'struct pldm_tid_state[256]', + 'Size' => '2048', + 'Type' => 'Array' + }, + '104838' => { + 'BaseType' => '104383', + 'Name' => 'struct pldm_instance_db*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '105244' => { + 'BaseType' => '103967', + 'Name' => 'pldm_instance_id_t*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '105420' => { + 'BaseType' => '104838', + 'Name' => 'struct pldm_instance_db**', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '105910' => { + 'BaseType' => '168', + 'Header' => 'pldm.h', + 'Line' => '12', + 'Name' => 'mctp_eid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '105922' => { + 'Header' => 'pldm.h', + 'Line' => '14', + 'Memb' => { + '0' => { + 'name' => 'PLDM_REQUESTER_SUCCESS', + 'value' => '0' + }, + '1' => { + 'name' => 'PLDM_REQUESTER_OPEN_FAIL', + 'value' => '18446744073709551615 (-1)' + }, + '10' => { + 'name' => 'PLDM_REQUESTER_SETUP_FAIL', + 'value' => '18446744073709551606 (-10)' + }, + '11' => { + 'name' => 'PLDM_REQUESTER_INVALID_SETUP', + 'value' => '18446744073709551605 (-11)' + }, + '12' => { + 'name' => 'PLDM_REQUESTER_POLL_FAIL', + 'value' => '18446744073709551604 (-12)' + }, + '2' => { + 'name' => 'PLDM_REQUESTER_NOT_PLDM_MSG', + 'value' => '18446744073709551614 (-2)' + }, + '3' => { + 'name' => 'PLDM_REQUESTER_NOT_RESP_MSG', + 'value' => '18446744073709551613 (-3)' + }, + '4' => { + 'name' => 'PLDM_REQUESTER_NOT_REQ_MSG', + 'value' => '18446744073709551612 (-4)' + }, + '5' => { + 'name' => 'PLDM_REQUESTER_RESP_MSG_TOO_SMALL', + 'value' => '18446744073709551611 (-5)' + }, + '6' => { + 'name' => 'PLDM_REQUESTER_INSTANCE_ID_MISMATCH', + 'value' => '18446744073709551610 (-6)' + }, + '7' => { + 'name' => 'PLDM_REQUESTER_SEND_FAIL', + 'value' => '18446744073709551609 (-7)' + }, + '8' => { + 'name' => 'PLDM_REQUESTER_RECV_FAIL', + 'value' => '18446744073709551608 (-8)' + }, + '9' => { + 'name' => 'PLDM_REQUESTER_INVALID_RECV_LEN', + 'value' => '18446744073709551607 (-9)' + } + }, + 'Name' => 'enum pldm_requester_error_codes', + 'Size' => '4', + 'Type' => 'Enum' + }, + '106019' => { + 'BaseType' => '105922', + 'Header' => 'pldm.h', + 'Line' => '28', + 'Name' => 'pldm_requester_rc_t', + 'Size' => '4', + 'Type' => 'Typedef' + }, '109' => { 'Name' => 'long', 'Size' => '8', @@ -7799,9 +8432,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '12740' => { + '12747' => { 'Header' => 'platform.h', - 'Line' => '237', + 'Line' => '243', 'Memb' => { '0' => { 'name' => 'PLDM_SENSOR_OP_STATE', @@ -7820,15 +8453,15 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Enum' }, - '12774' => { - 'BaseType' => '12740', + '12781' => { + 'BaseType' => '12747', 'Name' => 'enum sensor_event_class_states const', 'Size' => '4', 'Type' => 'Const' }, - '12997' => { + '13004' => { 'Header' => 'platform.h', - 'Line' => '454', + 'Line' => '461', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -7860,14 +8493,14 @@ $VAR1 = { 'Size' => '10', 'Type' => 'Struct' }, - '13076' => { + '13083' => { 'Header' => 'platform.h', - 'Line' => '526', + 'Line' => '533', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '12997' + 'type' => '13004' }, '1' => { 'name' => 'terminus_handle', @@ -7919,9 +8552,9 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '13220' => { + '13227' => { 'Header' => 'platform.h', - 'Line' => '543', + 'Line' => '550', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -7936,27 +8569,27 @@ $VAR1 = { '2' => { 'name' => 'states', 'offset' => '3', - 'type' => '13278' + 'type' => '13285' } }, 'Name' => 'struct state_sensor_possible_states', 'Size' => '4', 'Type' => 'Struct' }, - '13273' => { - 'BaseType' => '13220', + '13280' => { + 'BaseType' => '13227', 'Name' => 'struct state_sensor_possible_states const', 'Size' => '4', 'Type' => 'Const' }, - '13294' => { + '13301' => { 'Header' => 'platform.h', - 'Line' => '553', + 'Line' => '560', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '12997' + 'type' => '13004' }, '1' => { 'name' => 'terminus_handle', @@ -8013,9 +8646,9 @@ $VAR1 = { 'Size' => '26', 'Type' => 'Struct' }, - '13647' => { + '13654' => { 'Header' => 'platform.h', - 'Line' => '708', + 'Line' => '715', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -8047,14 +8680,14 @@ $VAR1 = { 'Size' => '12', 'Type' => 'Struct' }, - '13726' => { + '13733' => { 'Header' => 'platform.h', - 'Line' => '721', + 'Line' => '728', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '13647' + 'type' => '13654' }, '1' => { 'name' => 'terminus_handle', @@ -8139,7 +8772,7 @@ $VAR1 = { '24' => { 'name' => 'hysteresis', 'offset' => '72', - 'type' => '13635' + 'type' => '13642' }, '25' => { 'name' => 'supported_thresholds', @@ -8164,7 +8797,7 @@ $VAR1 = { '29' => { 'name' => 'max_readable', 'offset' => '100', - 'type' => '13635' + 'type' => '13642' }, '3' => { 'name' => 'entity_type', @@ -8174,7 +8807,7 @@ $VAR1 = { '30' => { 'name' => 'min_readable', 'offset' => '104', - 'type' => '13635' + 'type' => '13642' }, '31' => { 'name' => 'range_field_format', @@ -8189,37 +8822,37 @@ $VAR1 = { '33' => { 'name' => 'nominal_value', 'offset' => '118', - 'type' => '13543' + 'type' => '13550' }, '34' => { 'name' => 'normal_max', 'offset' => '128', - 'type' => '13543' + 'type' => '13550' }, '35' => { 'name' => 'normal_min', 'offset' => '132', - 'type' => '13543' + 'type' => '13550' }, '36' => { 'name' => 'warning_high', 'offset' => '136', - 'type' => '13543' + 'type' => '13550' }, '37' => { 'name' => 'warning_low', 'offset' => '146', - 'type' => '13543' + 'type' => '13550' }, '38' => { 'name' => 'critical_high', 'offset' => '150', - 'type' => '13543' + 'type' => '13550' }, '39' => { 'name' => 'critical_low', 'offset' => '256', - 'type' => '13543' + 'type' => '13550' }, '4' => { 'name' => 'entity_instance_num', @@ -8229,12 +8862,12 @@ $VAR1 = { '40' => { 'name' => 'fatal_high', 'offset' => '260', - 'type' => '13543' + 'type' => '13550' }, '41' => { 'name' => 'fatal_low', 'offset' => '264', - 'type' => '13543' + 'type' => '13550' }, '5' => { 'name' => 'container_id', @@ -8275,9 +8908,9 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Typedef' }, - '14286' => { + '14293' => { 'Header' => 'platform.h', - 'Line' => '770', + 'Line' => '777', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8292,28 +8925,28 @@ $VAR1 = { '2' => { 'name' => 'states', 'offset' => '3', - 'type' => '13278' + 'type' => '13285' } }, 'Name' => 'struct state_effecter_possible_states', 'Size' => '4', 'Type' => 'Struct' }, - '14339' => { - 'BaseType' => '14286', - 'Name' => 'struct state_effecter_possible_states const', - 'Size' => '4', - 'Type' => 'Const' - }, '1434' => { 'BaseType' => '1439', 'Name' => 'void const*', 'Size' => '8', 'Type' => 'Pointer' }, - '14344' => { + '14346' => { + 'BaseType' => '14293', + 'Name' => 'struct state_effecter_possible_states const', + 'Size' => '4', + 'Type' => 'Const' + }, + '14351' => { 'Header' => 'platform.h', - 'Line' => '818', + 'Line' => '825', 'Memb' => { '0' => { 'name' => 'set_request', @@ -8330,22 +8963,22 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Struct' }, - '14384' => { - 'BaseType' => '14344', - 'Header' => 'platform.h', - 'Line' => '821', - 'Name' => 'set_effecter_state_field', - 'Size' => '2', - 'Type' => 'Typedef' - }, '1439' => { 'BaseType' => '1', 'Name' => 'void const', 'Type' => 'Const' }, - '14396' => { + '14391' => { + 'BaseType' => '14351', + 'Header' => 'platform.h', + 'Line' => '828', + 'Name' => 'set_effecter_state_field', + 'Size' => '2', + 'Type' => 'Typedef' + }, + '14403' => { 'Header' => 'platform.h', - 'Line' => '827', + 'Line' => '834', 'Memb' => { '0' => { 'name' => 'sensor_op_state', @@ -8372,23 +9005,23 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '14462' => { - 'BaseType' => '14396', + '14469' => { + 'BaseType' => '14403', 'Header' => 'platform.h', - 'Line' => '835', + 'Line' => '842', 'Name' => 'get_sensor_state_field', 'Size' => '4', 'Type' => 'Typedef' }, - '14661' => { + '14668' => { 'BaseType' => '168', 'Name' => 'uint8_t[13]', 'Size' => '13', 'Type' => 'Array' }, - '15143' => { + '15150' => { 'Header' => 'platform.h', - 'Line' => '972', + 'Line' => '979', 'Memb' => { '0' => { 'name' => 'sensor_id', @@ -8410,9 +9043,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '15355' => { + '15362' => { 'Header' => 'platform.h', - 'Line' => '1053', + 'Line' => '1060', 'Memb' => { '0' => { 'name' => 'event_data_format', @@ -8449,7 +9082,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '16585' => { + '16592' => { 'BaseType' => '166', 'Name' => 'void**', 'Size' => '8', @@ -8497,32 +9130,32 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '20609' => { + '20616' => { 'BaseType' => '8822', 'Name' => 'size_t*const', 'Size' => '8', 'Type' => 'Const' }, - '22152' => { - 'BaseType' => '22162', + '22159' => { + 'BaseType' => '22169', 'Name' => 'uint32_t const*const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22157' => { + '22164' => { 'BaseType' => '11475', 'Name' => 'uint32_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22162' => { - 'BaseType' => '22157', + '22169' => { + 'BaseType' => '22164', 'Name' => 'uint32_t const*const', 'Size' => '8', 'Type' => 'Const' }, - '22167' => { - 'BaseType' => '15355', + '22174' => { + 'BaseType' => '15362', 'Name' => 'struct pldm_pdr_repository_chg_event_data*', 'Size' => '8', 'Type' => 'Pointer' @@ -8533,8 +9166,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '28491' => { - 'BaseType' => '13726', + '28498' => { + 'BaseType' => '13733', 'Name' => 'struct pldm_numeric_sensor_value_pdr*', 'Size' => '8', 'Type' => 'Pointer' @@ -8545,20 +9178,20 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '34801' => { - 'BaseType' => '15143', + '34808' => { + 'BaseType' => '15150', 'Name' => 'struct pldm_sensor_event_data*', 'Size' => '8', 'Type' => 'Pointer' }, - '34806' => { - 'BaseType' => '34801', + '34813' => { + 'BaseType' => '34808', 'Name' => 'struct pldm_sensor_event_data*const', 'Size' => '8', 'Type' => 'Const' }, - '35771' => { - 'BaseType' => '14462', + '35778' => { + 'BaseType' => '14469', 'Name' => 'get_sensor_state_field*', 'Size' => '8', 'Type' => 'Pointer' @@ -8568,22 +9201,22 @@ $VAR1 = { 'Line' => '24', 'Memb' => { '0' => { - 'name' => 'alpha', + 'name' => 'major', 'offset' => '0', 'type' => '168' }, '1' => { - 'name' => 'update', + 'name' => 'minor', 'offset' => '1', 'type' => '168' }, '2' => { - 'name' => 'minor', + 'name' => 'update', 'offset' => '2', 'type' => '168' }, '3' => { - 'name' => 'major', + 'name' => 'alpha', 'offset' => '3', 'type' => '168' } @@ -8592,56 +9225,56 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '40809' => { - 'BaseType' => '14384', + '40816' => { + 'BaseType' => '14391', 'Name' => 'set_effecter_state_field*', 'Size' => '8', 'Type' => 'Pointer' }, - '41609' => { - 'BaseType' => '13076', + '41616' => { + 'BaseType' => '13083', 'Name' => 'struct pldm_state_sensor_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '41614' => { - 'BaseType' => '41609', + '41621' => { + 'BaseType' => '41616', 'Name' => 'struct pldm_state_sensor_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '41619' => { - 'BaseType' => '13273', + '41626' => { + 'BaseType' => '13280', 'Name' => 'struct state_sensor_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '41624' => { - 'BaseType' => '41619', + '41631' => { + 'BaseType' => '41626', 'Name' => 'struct state_sensor_possible_states const*const', 'Size' => '8', 'Type' => 'Const' }, - '41941' => { - 'BaseType' => '13294', + '41948' => { + 'BaseType' => '13301', 'Name' => 'struct pldm_state_effecter_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '41946' => { - 'BaseType' => '41941', + '41953' => { + 'BaseType' => '41948', 'Name' => 'struct pldm_state_effecter_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '41951' => { - 'BaseType' => '14339', + '41958' => { + 'BaseType' => '14346', 'Name' => 'struct state_effecter_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '41956' => { - 'BaseType' => '41951', + '41963' => { + 'BaseType' => '41958', 'Name' => 'struct state_effecter_possible_states const*const', 'Size' => '8', 'Type' => 'Const' @@ -8665,7 +9298,7 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '45466' => { + '45473' => { 'BaseType' => '102', 'Header' => undef, 'Line' => '45', @@ -8674,8 +9307,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '45543' => { - 'BaseType' => '45466', + '45550' => { + 'BaseType' => '45473', 'Header' => undef, 'Line' => '27', 'Name' => 'uint64_t', @@ -8683,7 +9316,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '45555' => { + '45562' => { 'Header' => 'bios.h', 'Line' => '38', 'Memb' => { @@ -8710,7 +9343,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '45589' => { + '45596' => { 'Header' => 'bios.h', 'Line' => '47', 'Memb' => { @@ -8727,7 +9360,7 @@ $VAR1 = { '2' => { 'name' => 'name', 'offset' => '4', - 'type' => '45646' + 'type' => '45653' } }, 'Name' => 'struct pldm_bios_string_table_entry', @@ -8740,19 +9373,19 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '45641' => { - 'BaseType' => '45589', + '45648' => { + 'BaseType' => '45596', 'Name' => 'struct pldm_bios_string_table_entry const', 'Size' => '5', 'Type' => 'Const' }, - '45646' => { + '45653' => { 'BaseType' => '116', 'Name' => 'char[1]', 'Size' => '1', 'Type' => 'Array' }, - '45662' => { + '45669' => { 'Header' => 'bios.h', 'Line' => '53', 'Memb' => { @@ -8781,13 +9414,13 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '45727' => { - 'BaseType' => '45662', + '45734' => { + 'BaseType' => '45669', 'Name' => 'struct pldm_bios_attr_table_entry const', 'Size' => '6', 'Type' => 'Const' }, - '45748' => { + '45755' => { 'Header' => 'bios.h', 'Line' => '65', 'Memb' => { @@ -8811,13 +9444,13 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '45800' => { - 'BaseType' => '45748', + '45807' => { + 'BaseType' => '45755', 'Name' => 'struct pldm_bios_attr_val_table_entry const', 'Size' => '4', 'Type' => 'Const' }, - '45869' => { + '45876' => { 'Header' => 'bios_table.h', 'Line' => '204', 'Memb' => { @@ -8839,7 +9472,7 @@ $VAR1 = { '3' => { 'name' => 'pv_handle', 'offset' => '8', - 'type' => '45972' + 'type' => '45979' }, '4' => { 'name' => 'def_num', @@ -8856,19 +9489,19 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '45960' => { - 'BaseType' => '45869', + '45967' => { + 'BaseType' => '45876', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const', 'Size' => '32', 'Type' => 'Const' }, - '45972' => { + '45979' => { 'BaseType' => '11458', 'Name' => 'uint16_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '45982' => { + '45989' => { 'Header' => 'bios_table.h', 'Line' => '292', 'Memb' => { @@ -8917,13 +9550,13 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '46094' => { - 'BaseType' => '45982', + '46101' => { + 'BaseType' => '45989', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const', 'Size' => '24', 'Type' => 'Const' }, - '46104' => { + '46111' => { 'Header' => 'bios_table.h', 'Line' => '382', 'Memb' => { @@ -8940,12 +9573,12 @@ $VAR1 = { '2' => { 'name' => 'lower_bound', 'offset' => '8', - 'type' => '45543' + 'type' => '45550' }, '3' => { 'name' => 'upper_bound', 'offset' => '22', - 'type' => '45543' + 'type' => '45550' }, '4' => { 'name' => 'scalar_increment', @@ -8955,15 +9588,15 @@ $VAR1 = { '5' => { 'name' => 'default_value', 'offset' => '50', - 'type' => '45543' + 'type' => '45550' } }, 'Name' => 'struct pldm_bios_table_attr_entry_integer_info', 'Size' => '40', 'Type' => 'Struct' }, - '46202' => { - 'BaseType' => '46104', + '46209' => { + 'BaseType' => '46111', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const', 'Size' => '40', 'Type' => 'Const' @@ -8974,7 +9607,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '46546' => { + '46553' => { 'Name' => 'size_t(*)(void const*)', 'Param' => { '0' => { @@ -8991,7 +9624,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '46614' => { + '46621' => { 'Header' => undef, 'Line' => '902', 'Memb' => { @@ -9013,7 +9646,7 @@ $VAR1 = { '3' => { 'name' => 'entry_length_handler', 'offset' => '36', - 'type' => '46546' + 'type' => '46553' } }, 'Name' => 'struct pldm_bios_table_iter', @@ -9021,26 +9654,26 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '46684' => { - 'BaseType' => '46614', + '46691' => { + 'BaseType' => '46621', 'Name' => 'struct pldm_bios_table_iter const', 'Size' => '32', 'Type' => 'Const' }, - '47714' => { - 'BaseType' => '46614', + '47721' => { + 'BaseType' => '46621', 'Name' => 'struct pldm_bios_table_iter*', 'Size' => '8', 'Type' => 'Pointer' }, - '47719' => { - 'BaseType' => '45800', + '47726' => { + 'BaseType' => '45807', 'Name' => 'struct pldm_bios_attr_val_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '48134' => { - 'BaseType' => '45727', + '48141' => { + 'BaseType' => '45734', 'Name' => 'struct pldm_bios_attr_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9054,8 +9687,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '48723' => { - 'BaseType' => '45641', + '48730' => { + 'BaseType' => '45648', 'Name' => 'struct pldm_bios_string_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9075,8 +9708,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '49856' => { - 'BaseType' => '46684', + '49863' => { + 'BaseType' => '46691', 'Name' => 'struct pldm_bios_table_iter const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9086,32 +9719,32 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '54682' => { - 'BaseType' => '45543', + '54689' => { + 'BaseType' => '45550', 'Name' => 'uint64_t*', 'Size' => '8', 'Type' => 'Pointer' }, - '54886' => { - 'BaseType' => '46202', + '54893' => { + 'BaseType' => '46209', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '55148' => { + '55155' => { 'BaseType' => '12199', 'Name' => 'char const**', 'Size' => '8', 'Type' => 'Pointer' }, - '56477' => { - 'BaseType' => '46094', + '56484' => { + 'BaseType' => '46101', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '57801' => { - 'BaseType' => '45960', + '57808' => { + 'BaseType' => '45967', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9146,14 +9779,14 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '62911' => { + '62918' => { 'Header' => 'firmware_update.h', 'Line' => '329', 'Memb' => { '0' => { 'name' => 'uuid', 'offset' => '0', - 'type' => '63015' + 'type' => '63022' }, '1' => { 'name' => 'package_header_format_version', @@ -9168,7 +9801,7 @@ $VAR1 = { '3' => { 'name' => 'package_release_date_time', 'offset' => '25', - 'type' => '14661' + 'type' => '14668' }, '4' => { 'name' => 'component_bitmap_bit_length', @@ -9190,13 +9823,13 @@ $VAR1 = { 'Size' => '36', 'Type' => 'Struct' }, - '63015' => { + '63022' => { 'BaseType' => '168', 'Name' => 'uint8_t[16]', 'Size' => '16', 'Type' => 'Array' }, - '63047' => { + '63054' => { 'Header' => 'firmware_update.h', 'Line' => '343', 'Memb' => { @@ -9213,7 +9846,7 @@ $VAR1 = { '2' => { 'name' => 'device_update_option_flags', 'offset' => '3', - 'type' => '60414' + 'type' => '60421' }, '3' => { 'name' => 'comp_image_set_version_string_type', @@ -9235,7 +9868,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '63242' => { + '63249' => { 'Header' => 'firmware_update.h', 'Line' => '377', 'Memb' => { @@ -9257,12 +9890,12 @@ $VAR1 = { '3' => { 'name' => 'comp_options', 'offset' => '8', - 'type' => '59916' + 'type' => '59923' }, '4' => { 'name' => 'requested_comp_activation_method', 'offset' => '16', - 'type' => '59916' + 'type' => '59923' }, '5' => { 'name' => 'comp_location_offset', @@ -9289,7 +9922,7 @@ $VAR1 = { 'Size' => '22', 'Type' => 'Struct' }, - '63424' => { + '63431' => { 'Header' => 'firmware_update.h', 'Line' => '403', 'Memb' => { @@ -9301,7 +9934,7 @@ $VAR1 = { '1' => { 'name' => 'capabilities_during_update', 'offset' => '1', - 'type' => '60414' + 'type' => '60421' }, '2' => { 'name' => 'comp_count', @@ -9333,7 +9966,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '63528' => { + '63535' => { 'Header' => 'firmware_update.h', 'Line' => '417', 'Memb' => { @@ -9350,17 +9983,17 @@ $VAR1 = { '10' => { 'name' => 'pending_comp_release_date', 'offset' => '37', - 'type' => '63710' + 'type' => '63717' }, '11' => { 'name' => 'comp_activation_methods', 'offset' => '51', - 'type' => '59916' + 'type' => '59923' }, '12' => { 'name' => 'capabilities_during_update', 'offset' => '53', - 'type' => '60414' + 'type' => '60421' }, '2' => { 'name' => 'comp_classification_index', @@ -9385,7 +10018,7 @@ $VAR1 = { '6' => { 'name' => 'active_comp_release_date', 'offset' => '17', - 'type' => '63710' + 'type' => '63717' }, '7' => { 'name' => 'pending_comp_comparison_stamp', @@ -9407,13 +10040,13 @@ $VAR1 = { 'Size' => '39', 'Type' => 'Struct' }, - '63710' => { + '63717' => { 'BaseType' => '168', 'Name' => 'uint8_t[8]', 'Size' => '8', 'Type' => 'Array' }, - '64570' => { + '64577' => { 'BaseType' => '6048', 'Name' => 'struct variable_field const', 'Size' => '16', @@ -9425,7 +10058,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '64915' => { + '64922' => { 'BaseType' => '11646', 'Name' => 'bool8_t*', 'Size' => '8', @@ -9436,44 +10069,44 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Intrinsic' }, - '67925' => { - 'BaseType' => '64570', + '67932' => { + 'BaseType' => '64577', 'Name' => 'struct variable_field const*', 'Size' => '8', 'Type' => 'Pointer' }, - '69206' => { - 'BaseType' => '63528', + '69213' => { + 'BaseType' => '63535', 'Name' => 'struct pldm_component_parameter_entry*', 'Size' => '8', 'Type' => 'Pointer' }, - '69436' => { - 'BaseType' => '63424', + '69443' => { + 'BaseType' => '63431', 'Name' => 'struct pldm_get_firmware_parameters_resp*', 'Size' => '8', 'Type' => 'Pointer' }, - '69734' => { + '69741' => { 'BaseType' => '2034', 'Name' => 'uint8_t**', 'Size' => '8', 'Type' => 'Pointer' }, - '70028' => { - 'BaseType' => '63242', + '70035' => { + 'BaseType' => '63249', 'Name' => 'struct pldm_component_image_information*', 'Size' => '8', 'Type' => 'Pointer' }, - '70651' => { - 'BaseType' => '63047', + '70658' => { + 'BaseType' => '63054', 'Name' => 'struct pldm_firmware_device_id_record*', 'Size' => '8', 'Type' => 'Pointer' }, - '70803' => { - 'BaseType' => '62911', + '70810' => { + 'BaseType' => '62918', 'Name' => 'struct pldm_package_header_information*', 'Size' => '8', 'Type' => 'Pointer' @@ -9497,27 +10130,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '77246' => { - 'BaseType' => '77263', - 'Header' => undef, - 'Line' => '15', - 'Name' => 'pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', - 'Type' => 'Typedef' - }, - '77258' => { - 'BaseType' => '77246', - 'Name' => 'pldm_pdr const', - 'Size' => '24', - 'Type' => 'Const' - }, - '77263' => { - 'Header' => undef, - 'Line' => '18', + '77325' => { + 'Header' => 'pdr_data.h', + 'Line' => '12', 'Memb' => { '0' => { - 'name' => 'record_count', + 'name' => 'record_handle', 'offset' => '0', 'type' => '180' }, @@ -9527,42 +10145,56 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'first', + 'name' => 'data', 'offset' => '8', - 'type' => '78342' + 'type' => '2034' }, '3' => { - 'name' => 'last', + 'name' => 'next', 'offset' => '22', - 'type' => '78342' + 'type' => '77414' + }, + '4' => { + 'name' => 'is_remote', + 'offset' => '36', + 'type' => '6265' + }, + '5' => { + 'name' => 'terminus_handle', + 'offset' => '38', + 'type' => '4895' } }, - 'Name' => 'struct pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', + 'Name' => 'struct pldm_pdr_record', + 'Size' => '32', 'Type' => 'Struct' }, - '77328' => { - 'BaseType' => '77345', - 'Header' => undef, - 'Line' => '20', + '77414' => { + 'BaseType' => '77325', + 'Name' => 'struct pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '77426' => { + 'BaseType' => '77325', + 'Header' => 'pdr_data.h', + 'Line' => '19', 'Name' => 'pldm_pdr_record', - 'PrivateABI' => 1, 'Size' => '32', 'Type' => 'Typedef' }, - '77340' => { - 'BaseType' => '77328', + '77438' => { + 'BaseType' => '77426', 'Name' => 'pldm_pdr_record const', 'Size' => '32', 'Type' => 'Const' }, - '77345' => { - 'Header' => undef, - 'Line' => '9', + '77443' => { + 'Header' => 'pdr_data.h', + 'Line' => '21', 'Memb' => { '0' => { - 'name' => 'record_handle', + 'name' => 'record_count', 'offset' => '0', 'type' => '180' }, @@ -9572,34 +10204,43 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'data', + 'name' => 'first', 'offset' => '8', - 'type' => '2034' + 'type' => '77503' }, '3' => { - 'name' => 'next', + 'name' => 'last', 'offset' => '22', - 'type' => '78330' - }, - '4' => { - 'name' => 'is_remote', - 'offset' => '36', - 'type' => '6265' - }, - '5' => { - 'name' => 'terminus_handle', - 'offset' => '38', - 'type' => '4895' + 'type' => '77503' } }, - 'Name' => 'struct pldm_pdr_record', - 'PrivateABI' => 1, - 'Size' => '32', + 'Name' => 'struct pldm_pdr', + 'Size' => '24', 'Type' => 'Struct' }, - '77436' => { + '77503' => { + 'BaseType' => '77426', + 'Name' => 'pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '77508' => { + 'BaseType' => '77443', + 'Header' => 'pdr_data.h', + 'Line' => '26', + 'Name' => 'pldm_pdr', + 'Size' => '24', + 'Type' => 'Typedef' + }, + '77520' => { + 'BaseType' => '77508', + 'Name' => 'pldm_pdr const', + 'Size' => '24', + 'Type' => 'Const' + }, + '77525' => { 'Header' => 'pdr.h', - 'Line' => '250', + 'Line' => '355', 'Memb' => { '0' => { 'name' => 'entity_type', @@ -9621,31 +10262,31 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '77488' => { - 'BaseType' => '77436', + '77582' => { + 'BaseType' => '77525', 'Header' => 'pdr.h', - 'Line' => '254', + 'Line' => '359', 'Name' => 'pldm_entity', 'Size' => '6', 'Type' => 'Typedef' }, - '77532' => { - 'BaseType' => '77544', + '77624' => { + 'BaseType' => '77637', 'Header' => undef, - 'Line' => '264', + 'Line' => '369', 'Name' => 'pldm_entity_association_tree', 'PrivateABI' => 1, 'Size' => '16', 'Type' => 'Typedef' }, - '77544' => { + '77637' => { 'Header' => undef, - 'Line' => '427', + 'Line' => '910', 'Memb' => { '0' => { 'name' => 'root', 'offset' => '0', - 'type' => '78347' + 'type' => '79656' }, '1' => { 'name' => 'last_used_container_id', @@ -9658,28 +10299,34 @@ $VAR1 = { 'Size' => '16', 'Type' => 'Struct' }, - '77587' => { - 'BaseType' => '77604', + '77680' => { + 'BaseType' => '77698', 'Header' => undef, - 'Line' => '269', + 'Line' => '374', 'Name' => 'pldm_entity_node', 'PrivateABI' => 1, 'Size' => '40', 'Type' => 'Typedef' }, - '77604' => { + '77693' => { + 'BaseType' => '77680', + 'Name' => 'pldm_entity_node const', + 'Size' => '40', + 'Type' => 'Const' + }, + '77698' => { 'Header' => undef, - 'Line' => '432', + 'Line' => '915', 'Memb' => { '0' => { 'name' => 'entity', 'offset' => '0', - 'type' => '77488' + 'type' => '77582' }, '1' => { 'name' => 'parent', 'offset' => '6', - 'type' => '77488' + 'type' => '77582' }, '2' => { 'name' => 'remote_container_id', @@ -9689,12 +10336,12 @@ $VAR1 = { '3' => { 'name' => 'first_child', 'offset' => '22', - 'type' => '78347' + 'type' => '79656' }, '4' => { 'name' => 'next_sibling', 'offset' => '36', - 'type' => '78347' + 'type' => '79656' }, '5' => { 'name' => 'association_type', @@ -9707,65 +10354,53 @@ $VAR1 = { 'Size' => '40', 'Type' => 'Struct' }, - '78330' => { - 'BaseType' => '77345', - 'Name' => 'struct pldm_pdr_record*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '78342' => { - 'BaseType' => '77328', - 'Name' => 'pldm_pdr_record*', + '79656' => { + 'BaseType' => '77680', + 'Name' => 'pldm_entity_node*', 'Size' => '8', 'Type' => 'Pointer' }, - '78347' => { - 'BaseType' => '77587', - 'Name' => 'pldm_entity_node*', + '79734' => { + 'BaseType' => '77520', + 'Name' => 'pldm_pdr const*', 'Size' => '8', 'Type' => 'Pointer' }, - '79109' => { - 'BaseType' => '79114', + '80630' => { + 'BaseType' => '80635', 'Name' => 'pldm_entity**', 'Size' => '8', 'Type' => 'Pointer' }, - '79114' => { - 'BaseType' => '77488', + '80635' => { + 'BaseType' => '77582', 'Name' => 'pldm_entity*', 'Size' => '8', 'Type' => 'Pointer' }, - '79205' => { - 'BaseType' => '77532', + '80726' => { + 'BaseType' => '77624', 'Name' => 'pldm_entity_association_tree*', 'Size' => '8', 'Type' => 'Pointer' }, - '79584' => { - 'BaseType' => '78347', + '81' => { + 'Name' => 'unsigned int', + 'Size' => '4', + 'Type' => 'Intrinsic' + }, + '81105' => { + 'BaseType' => '79656', 'Name' => 'pldm_entity_node**', 'Size' => '8', 'Type' => 'Pointer' }, - '80537' => { - 'BaseType' => '77258', - 'Name' => 'pldm_pdr const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '80878' => { - 'BaseType' => '77246', + '82453' => { + 'BaseType' => '77508', 'Name' => 'pldm_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '81' => { - 'Name' => 'unsigned int', - 'Size' => '4', - 'Type' => 'Intrinsic' - }, '825' => { 'BaseType' => '714', 'Name' => 'struct pldm_msg_hdr const', @@ -9809,12 +10444,6 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Array' }, - '87938' => { - 'BaseType' => '77340', - 'Name' => 'pldm_pdr_record const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '8822' => { 'BaseType' => '123', 'Name' => 'size_t*', @@ -9855,169 +10484,24 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Struct' }, - '94943' => { - 'BaseType' => '168', - 'Header' => 'base.h', - 'Line' => '14', - 'Name' => 'pldm_tid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '94955' => { - 'BaseType' => '168', - 'Header' => 'instance-id.h', - 'Line' => '11', - 'Name' => 'pldm_instance_id_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '95332' => { - 'Header' => undef, - 'Line' => '18', - 'Memb' => { - '0' => { - 'name' => 'prev', - 'offset' => '0', - 'type' => '94955' - }, - '1' => { - 'name' => 'allocations', - 'offset' => '4', - 'type' => '180' - } - }, - 'Name' => 'struct pldm_tid_state', - 'PrivateABI' => 1, - 'Size' => '8', - 'Type' => 'Struct' - }, - '95371' => { - 'Header' => undef, - 'Line' => '23', - 'Memb' => { - '0' => { - 'name' => 'state', - 'offset' => '0', - 'type' => '95413' - }, - '1' => { - 'name' => 'lock_db_fd', - 'offset' => '8264', - 'type' => '74' - } - }, - 'Name' => 'struct pldm_instance_db', - 'PrivateABI' => 1, - 'Size' => '2052', - 'Type' => 'Struct' - }, - '95413' => { - 'BaseType' => '95332', - 'Name' => 'struct pldm_tid_state[256]', - 'Size' => '2048', - 'Type' => 'Array' - }, - '95826' => { - 'BaseType' => '95371', - 'Name' => 'struct pldm_instance_db*', + '90717' => { + 'BaseType' => '77693', + 'Name' => 'pldm_entity_node const*', 'Size' => '8', 'Type' => 'Pointer' }, - '96232' => { - 'BaseType' => '94955', - 'Name' => 'pldm_instance_id_t*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '96408' => { - 'BaseType' => '95826', - 'Name' => 'struct pldm_instance_db**', + '94470' => { + 'BaseType' => '77438', + 'Name' => 'pldm_pdr_record const*', 'Size' => '8', 'Type' => 'Pointer' }, - '96894' => { - 'BaseType' => '168', - 'Header' => 'pldm.h', - 'Line' => '12', - 'Name' => 'mctp_eid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, '969' => { 'BaseType' => '890', 'Name' => 'struct pldm_header_info const', 'Size' => '8', 'Type' => 'Const' - }, - '96906' => { - 'Header' => 'pldm.h', - 'Line' => '14', - 'Memb' => { - '0' => { - 'name' => 'PLDM_REQUESTER_SUCCESS', - 'value' => '0' - }, - '1' => { - 'name' => 'PLDM_REQUESTER_OPEN_FAIL', - 'value' => '18446744073709551615 (-1)' - }, - '10' => { - 'name' => 'PLDM_REQUESTER_SETUP_FAIL', - 'value' => '18446744073709551606 (-10)' - }, - '11' => { - 'name' => 'PLDM_REQUESTER_INVALID_SETUP', - 'value' => '18446744073709551605 (-11)' - }, - '12' => { - 'name' => 'PLDM_REQUESTER_POLL_FAIL', - 'value' => '18446744073709551604 (-12)' - }, - '2' => { - 'name' => 'PLDM_REQUESTER_NOT_PLDM_MSG', - 'value' => '18446744073709551614 (-2)' - }, - '3' => { - 'name' => 'PLDM_REQUESTER_NOT_RESP_MSG', - 'value' => '18446744073709551613 (-3)' - }, - '4' => { - 'name' => 'PLDM_REQUESTER_NOT_REQ_MSG', - 'value' => '18446744073709551612 (-4)' - }, - '5' => { - 'name' => 'PLDM_REQUESTER_RESP_MSG_TOO_SMALL', - 'value' => '18446744073709551611 (-5)' - }, - '6' => { - 'name' => 'PLDM_REQUESTER_INSTANCE_ID_MISMATCH', - 'value' => '18446744073709551610 (-6)' - }, - '7' => { - 'name' => 'PLDM_REQUESTER_SEND_FAIL', - 'value' => '18446744073709551609 (-7)' - }, - '8' => { - 'name' => 'PLDM_REQUESTER_RECV_FAIL', - 'value' => '18446744073709551608 (-8)' - }, - '9' => { - 'name' => 'PLDM_REQUESTER_INVALID_RECV_LEN', - 'value' => '18446744073709551607 (-9)' - } - }, - 'Name' => 'enum pldm_requester_error_codes', - 'Size' => '4', - 'Type' => 'Enum' - }, - '97003' => { - 'BaseType' => '96906', - 'Header' => 'pldm.h', - 'Line' => '28', - 'Name' => 'pldm_requester_rc_t', - 'Size' => '4', - 'Type' => 'Typedef' - } + } }, 'UndefinedSymbols' => { 'libpldm.so.0.3.0' => { diff --git a/abi/x86_64/gcc.dump b/abi/x86_64/gcc.dump index 637c8510d..3c3f1a372 100644 --- a/abi/x86_64/gcc.dump +++ b/abi/x86_64/gcc.dump @@ -13,6 +13,7 @@ $VAR1 = { 'host.h' => 1, 'instance-id.h' => 1, 'pdr.h' => 1, + 'pdr_oem_ibm.h' => 1, 'platform.h' => 1, 'platform_oem_ibm.h' => 1, 'pldm.h' => 1, @@ -28,6 +29,42 @@ $VAR1 = { 'PublicABI' => '1', 'Sources' => {}, 'SymbolInfo' => { + '100099' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'data', + 'type' => '6245' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'offset' => '0', + 'type' => '5053' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_hotplug_record' + }, '10033' => { 'Header' => 'bios.h', 'Param' => { @@ -69,10 +106,36 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_req' }, - '100426' => { - 'Header' => 'pldm.h', - 'Return' => '98332', - 'ShortName' => 'pldm_open' + '100524' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'data', + 'type' => '6245' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '5053' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add' }, '10323' => { 'Header' => 'bios.h', @@ -120,6 +183,163 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_req' }, + '103978' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'dec', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'dec2bcd32' + }, + '104107' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'bcd', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'bcd2dec32' + }, + '104508' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'version', + 'type' => '3344' + }, + '1' => { + 'name' => 'buffer', + 'type' => '11614' + }, + '2' => { + 'name' => 'buffer_size', + 'type' => '123' + } + }, + 'Reg' => { + '0' => 'rdi' + }, + 'Return' => '12557', + 'ShortName' => 'ver2str' + }, + '104636' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'data', + 'type' => '1434' + }, + '1' => { + 'name' => 'size', + 'type' => '123' + } + }, + 'Return' => '168', + 'ShortName' => 'crc8' + }, + '105894' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '106117' + }, + '1' => { + 'name' => 'tid', + 'type' => '105216' + }, + '2' => { + 'name' => 'iid', + 'type' => '105228' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_free' + }, + '106122' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '106117' + }, + '1' => { + 'name' => 'tid', + 'type' => '105216' + }, + '2' => { + 'name' => 'iid', + 'type' => '106543' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_alloc' + }, + '106548' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '106117' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_destroy' + }, + '106633' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '106719' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init_default' + }, + '106724' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '106719' + }, + '1' => { + 'name' => 'dbpath', + 'type' => '12552' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init' + }, + '107897' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '107235' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6245' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + } + }, + 'Return' => '107344', + 'ShortName' => 'pldm_send' + }, '10815' => { 'Header' => 'bios.h', 'Param' => { @@ -170,6 +390,92 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_date_time_resp' }, + '108316' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '107235' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6245' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + }, + '4' => { + 'name' => 'pldm_resp_msg', + 'type' => '70872' + }, + '5' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '107344', + 'ShortName' => 'pldm_send_recv' + }, + '108799' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '107235' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '3' => { + 'name' => 'pldm_resp_msg', + 'type' => '70872' + }, + '4' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '107344', + 'ShortName' => 'pldm_recv' + }, + '109025' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '107235' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_resp_msg', + 'type' => '70872' + }, + '3' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '107344', + 'ShortName' => 'pldm_recv_any' + }, + '109470' => { + 'Header' => 'pldm.h', + 'Return' => '107344', + 'ShortName' => 'pldm_open' + }, '11016' => { 'Header' => 'bios.h', 'Param' => { @@ -231,7 +537,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_date_time_req' }, - '113165' => { + '122255' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -250,7 +556,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_resp' }, - '113365' => { + '122455' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -271,7 +577,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '55734' + 'type' => '55741' }, '5' => { 'name' => 'file_meta_data_1', @@ -300,7 +606,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_req' }, - '113597' => { + '122687' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -324,7 +630,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_resp' }, - '113698' => { + '122788' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -341,7 +647,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '46630' + 'type' => '46637' }, '4' => { 'name' => 'file_meta_data_1', @@ -370,7 +676,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_req' }, - '113995' => { + '123085' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -389,7 +695,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_resp' }, - '114190' => { + '123280' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -439,7 +745,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_req' }, - '114402' => { + '123492' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -463,7 +769,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_resp' }, - '114498' => { + '123588' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -509,7 +815,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_req' }, - '114795' => { + '123885' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -533,7 +839,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_resp' }, - '114896' => { + '123986' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -560,7 +866,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_req' }, - '115131' => { + '124221' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -579,7 +885,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_resp' }, - '115321' => { + '124411' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -610,7 +916,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_req' }, - '115463' => { + '124553' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -639,7 +945,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_resp' }, - '115578' => { + '124668' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -675,7 +981,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_req' }, - '115848' => { + '124938' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -702,7 +1008,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_resp' }, - '116078' => { + '125168' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -737,7 +1043,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_req' }, - '116240' => { + '125330' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -761,7 +1067,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_resp' }, - '116341' => { + '125431' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -778,7 +1084,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '46630' + 'type' => '46637' }, '4' => { 'name' => 'msg', @@ -788,7 +1094,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_req' }, - '116576' => { + '125666' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -807,7 +1113,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_resp' }, - '116766' => { + '125856' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -828,7 +1134,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '55734' + 'type' => '55741' } }, 'Reg' => { @@ -838,7 +1144,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_req' }, - '116908' => { + '125998' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -867,7 +1173,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_resp' }, - '117023' => { + '126113' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -897,7 +1203,7 @@ $VAR1 = { '6' => { 'name' => 'address', 'offset' => '0', - 'type' => '46630' + 'type' => '46637' }, '7' => { 'name' => 'msg', @@ -908,7 +1214,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_req' }, - '117308' => { + '126398' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -935,7 +1241,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_resp' }, - '117538' => { + '126628' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -965,7 +1271,7 @@ $VAR1 = { '6' => { 'name' => 'address', 'offset' => '0', - 'type' => '55734' + 'type' => '55741' } }, 'Reg' => { @@ -975,7 +1281,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_req' }, - '117715' => { + '126805' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -998,7 +1304,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_resp' }, - '117930' => { + '127020' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1027,7 +1333,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_resp' }, - '118040' => { + '127130' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1054,7 +1360,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_req' }, - '118275' => { + '127365' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1091,7 +1397,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_req' }, - '118430' => { + '127520' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1114,7 +1420,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_resp' }, - '118645' => { + '127735' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1146,7 +1452,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_resp' }, - '118781' => { + '127871' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1173,7 +1479,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_req' }, - '119016' => { + '128106' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1204,7 +1510,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_req' }, - '119151' => { + '128241' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1244,7 +1550,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_resp' }, - '119324' => { + '128414' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1271,7 +1577,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_req' }, - '119550' => { + '128640' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1307,7 +1613,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_resp' }, - '119847' => { + '128937' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1338,7 +1644,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_req' }, - '119982' => { + '129072' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1367,7 +1673,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_resp' }, - '120091' => { + '129181' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1392,7 +1698,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '46630' + 'type' => '46637' }, '6' => { 'name' => 'msg', @@ -1403,7 +1709,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_req' }, - '120350' => { + '129440' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1430,7 +1736,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_resp' }, - '120571' => { + '129661' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1455,7 +1761,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '55734' + 'type' => '55741' } }, 'Reg' => { @@ -1465,7 +1771,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_req' }, - '121538' => { + '130628' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1496,7 +1802,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_resp' }, - '121786' => { + '130876' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1520,7 +1826,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_req' }, - '121869' => { + '130959' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1551,7 +1857,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_resp' }, - '122008' => { + '131098' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1574,7 +1880,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_req' }, - '123077' => { + '132174' => { 'Header' => 'platform_oem_ibm.h', 'Param' => { '0' => { @@ -1610,6 +1916,36 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_bios_attribute_update_event_req' }, + '133377' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'entityType', + 'type' => '5053' + }, + '2' => { + 'name' => 'entityInstance', + 'type' => '5053' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_find_container_id' + }, + '133755' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'record_handle', + 'type' => '11828' + } + }, + 'Return' => '6423', + 'ShortName' => 'isHBRange' + }, '1440' => { 'Header' => 'base.h', 'Param' => { @@ -1637,7 +1973,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_header_only' }, - '16195' => { + '16202' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1687,7 +2023,7 @@ $VAR1 = { '9' => { 'name' => 'event_data', 'offset' => '24', - 'type' => '16933' + 'type' => '16940' } }, 'Return' => '74', @@ -1720,7 +2056,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cc_only_resp' }, - '16943' => { + '16950' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1756,7 +2092,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_req' }, - '17507' => { + '17514' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1775,7 +2111,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_resp' }, - '17682' => { + '17689' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1806,7 +2142,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_req' }, - '18172' => { + '18179' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1870,7 +2206,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_multipart_receive_req' }, - '18507' => { + '18514' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1901,7 +2237,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_req' }, - '18771' => { + '18778' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1924,7 +2260,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_req' }, - '19159' => { + '19166' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1980,7 +2316,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_resp' }, - '19567' => { + '19574' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2031,7 +2367,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_resp' }, - '20461' => { + '20468' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2054,7 +2390,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_req' }, - '20683' => { + '20690' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2100,7 +2436,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_tid_req' }, - '21973' => { + '21980' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2127,7 +2463,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_pdr_repository_chg_event_data' }, - '22380' => { + '22387' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2148,11 +2484,11 @@ $VAR1 = { }, '4' => { 'name' => 'change_entries', - 'type' => '22708' + 'type' => '22715' }, '5' => { 'name' => 'event_data', - 'type' => '22723' + 'type' => '22730' }, '6' => { 'name' => 'actual_change_records_size', @@ -2171,7 +2507,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_pdr_repository_chg_event_data' }, - '22733' => { + '22740' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2236,7 +2572,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_tid_resp' }, - '23707' => { + '23714' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2255,7 +2591,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_numeric_effecter_value_req' }, - '24042' => { + '24049' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2319,7 +2655,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_tid_resp' }, - '24442' => { + '24449' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2338,7 +2674,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_numeric_effecter_value_req' }, - '24643' => { + '24650' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2351,7 +2687,7 @@ $VAR1 = { }, '2' => { 'name' => 'pdr_value', - 'type' => '29133' + 'type' => '29140' } }, 'Return' => '74', @@ -2442,7 +2778,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_version_req' }, - '29138' => { + '29145' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2473,7 +2809,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_numeric_sensor_data' }, - '29992' => { + '29999' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2536,7 +2872,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_resp' }, - '30429' => { + '30436' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2559,7 +2895,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_op_data' }, - '30815' => { + '30822' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2586,7 +2922,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_event_data' }, - '31242' => { + '31249' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2607,7 +2943,7 @@ $VAR1 = { }, '4' => { 'name' => 'synchrony_config_support', - 'type' => '31917' + 'type' => '31924' }, '5' => { 'name' => 'number_event_class_returned', @@ -2627,7 +2963,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_supported_resp' }, - '31922' => { + '31929' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2646,7 +2982,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_supported_req' }, - '32123' => { + '32130' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2669,7 +3005,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_buffer_size_resp' }, - '32509' => { + '32516' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2688,7 +3024,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_buffer_size_req' }, - '32710' => { + '32717' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2711,7 +3047,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_resp' }, - '33096' => { + '33103' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2752,7 +3088,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_req' }, - '33428' => { + '33435' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2840,7 +3176,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_req' }, - '34339' => { + '34346' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2863,7 +3199,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_resp' }, - '34561' => { + '34568' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2894,7 +3230,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_poll_for_platform_event_message_req' }, - '35051' => { + '35058' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2925,12 +3261,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_req' }, - '35511' => { + '35518' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'event_data', - 'type' => '35705' + 'type' => '35712' }, '1' => { 'name' => 'event_data_size', @@ -2942,7 +3278,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_event_class', - 'type' => '13127' + 'type' => '13134' }, '4' => { 'name' => 'sensor_offset', @@ -2959,7 +3295,7 @@ $VAR1 = { }, '7' => { 'name' => 'actual_event_data_size', - 'type' => '21095' + 'type' => '21102' } }, 'Reg' => { @@ -3000,7 +3336,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_resp' }, - '35720' => { + '35727' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3017,7 +3353,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_rearm', - 'type' => '31917' + 'type' => '31924' }, '4' => { 'name' => 'reserved', @@ -3027,7 +3363,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_req' }, - '36159' => { + '36166' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3048,13 +3384,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '36709' + 'type' => '36716' } }, 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_resp' }, - '36714' => { + '36721' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3110,7 +3446,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_types_resp' }, - '36957' => { + '36964' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3127,7 +3463,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '36709' + 'type' => '36716' }, '4' => { 'name' => 'msg', @@ -3137,7 +3473,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_state_sensor_readings_resp' }, - '37241' => { + '37248' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3161,7 +3497,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_numeric_effecter_value_resp' }, - '37317' => { + '37324' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3192,7 +3528,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_req' }, - '37643' => { + '37650' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3215,7 +3551,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_resp' }, - '37839' => { + '37846' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3265,7 +3601,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_commands_resp' }, - '38496' => { + '38503' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3316,7 +3652,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_pdr_resp' }, - '39141' => { + '39148' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3357,7 +3693,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_req' }, - '39437' => { + '39444' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3437,7 +3773,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_req' }, - '40124' => { + '40131' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3488,7 +3824,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_repository_info_resp' }, - '40450' => { + '40457' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3534,7 +3870,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_resp' }, - '40844' => { + '40851' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3593,7 +3929,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_types_resp' }, - '41382' => { + '41389' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3614,13 +3950,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '41864' + 'type' => '41871' } }, 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_req' }, - '41869' => { + '41876' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3644,7 +3980,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_resp' }, - '41942' => { + '41949' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3661,7 +3997,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '41864' + 'type' => '41871' }, '4' => { 'name' => 'msg', @@ -3671,7 +4007,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_req' }, - '42216' => { + '42223' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3690,12 +4026,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_resp' }, - '42384' => { + '42391' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'sensor', - 'type' => '42696' + 'type' => '42703' }, '1' => { 'name' => 'allocation_size', @@ -3703,7 +4039,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '42706' + 'type' => '42713' }, '3' => { 'name' => 'possible_states_size', @@ -3711,18 +4047,18 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '21095' + 'type' => '21102' } }, 'Return' => '74', 'ShortName' => 'encode_state_sensor_pdr' }, - '42716' => { + '42723' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'effecter', - 'type' => '43028' + 'type' => '43035' }, '1' => { 'name' => 'allocation_size', @@ -3730,7 +4066,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '43038' + 'type' => '43045' }, '3' => { 'name' => 'possible_states_size', @@ -3738,7 +4074,7 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '21095' + 'type' => '21102' } }, 'Return' => '74', @@ -3819,7 +4155,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pack_pldm_header' }, - '47935' => { + '47942' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -3834,7 +4170,7 @@ $VAR1 = { 'Return' => '180', 'ShortName' => 'crc32' }, - '48050' => { + '48057' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3849,7 +4185,7 @@ $VAR1 = { 'Return' => '6423', 'ShortName' => 'pldm_bios_table_checksum' }, - '48195' => { + '48202' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3880,7 +4216,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_copy_and_update' }, - '48813' => { + '48820' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3896,10 +4232,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '48808', + 'Return' => '48815', 'ShortName' => 'pldm_bios_table_attr_value_find_by_handle' }, - '49076' => { + '49083' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3915,10 +4251,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49223', + 'Return' => '49230', 'ShortName' => 'pldm_bios_table_attr_find_by_string_handle' }, - '49344' => { + '49351' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3934,10 +4270,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49223', + 'Return' => '49230', 'ShortName' => 'pldm_bios_table_attr_find_by_handle' }, - '49607' => { + '49614' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3953,10 +4289,10 @@ $VAR1 = { 'type' => '12552' } }, - 'Return' => '49829', + 'Return' => '49836', 'ShortName' => 'pldm_bios_table_string_find_by_string' }, - '49998' => { + '50005' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3972,15 +4308,15 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49829', + 'Return' => '49836', 'ShortName' => 'pldm_bios_table_string_find_by_handle' }, - '50760' => { + '50767' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48803' + 'type' => '48810' } }, 'Reg' => { @@ -3989,23 +4325,23 @@ $VAR1 = { 'Return' => '1434', 'ShortName' => 'pldm_bios_table_iter_value' }, - '50809' => { + '50816' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48803' + 'type' => '48810' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_next' }, - '50901' => { + '50908' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '50950' + 'type' => '50957' } }, 'Reg' => { @@ -4014,18 +4350,18 @@ $VAR1 = { 'Return' => '6423', 'ShortName' => 'pldm_bios_table_iter_is_end' }, - '50955' => { + '50962' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48803' + 'type' => '48810' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_free' }, - '51026' => { + '51033' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4038,13 +4374,13 @@ $VAR1 = { }, '2' => { 'name' => 'type', - 'type' => '46642' + 'type' => '46649' } }, - 'Return' => '48803', + 'Return' => '48810', 'ShortName' => 'pldm_bios_table_iter_create' }, - '51265' => { + '51272' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4063,7 +4399,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_append_pad_checksum' }, - '51700' => { + '51707' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4074,12 +4410,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_pad_checksum_size' }, - '51983' => { + '51990' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { @@ -4088,32 +4424,32 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_handle' }, - '52032' => { + '52039' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_length' }, - '52496' => { + '52503' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { '0' => 'rdi' }, - 'Return' => '46630', + 'Return' => '46637', 'ShortName' => 'pldm_bios_table_attr_value_entry_integer_decode_cv' }, - '52564' => { + '52571' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4134,13 +4470,13 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '46630' + 'type' => '46637' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_check' }, - '52782' => { + '52789' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4161,18 +4497,18 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '46630' + 'type' => '46637' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer' }, - '53069' => { + '53076' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_length' }, - '53211' => { + '53218' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4203,12 +4539,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_check' }, - '53467' => { + '53474' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' }, '1' => { 'name' => 'current_string', @@ -4218,12 +4554,12 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_string' }, - '53562' => { + '53569' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { @@ -4232,7 +4568,7 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_length' }, - '53631' => { + '53638' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4263,7 +4599,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string' }, - '53990' => { + '53997' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4277,7 +4613,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_length' }, - '54152' => { + '54159' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4308,12 +4644,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_check' }, - '54408' => { + '54415' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' }, '1' => { 'name' => 'handles', @@ -4327,12 +4663,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_handles' }, - '54582' => { + '54589' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { @@ -4341,7 +4677,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_number' }, - '54631' => { + '54638' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4372,7 +4708,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum' }, - '54988' => { + '54995' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4386,12 +4722,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_length' }, - '55037' => { + '55044' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { @@ -4400,12 +4736,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_type' }, - '55086' => { + '55093' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48808' + 'type' => '48815' } }, 'Reg' => { @@ -4414,20 +4750,20 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_handle' }, - '55613' => { + '55620' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'lower', - 'type' => '55734' + 'type' => '55741' }, '2' => { 'name' => 'upper', - 'type' => '55734' + 'type' => '55741' }, '3' => { 'name' => 'scalar', @@ -4435,7 +4771,7 @@ $VAR1 = { }, '4' => { 'name' => 'def', - 'type' => '55734' + 'type' => '55741' } }, 'Reg' => { @@ -4448,7 +4784,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_decode' }, - '55749' => { + '55756' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4461,28 +4797,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '55938' + 'type' => '55945' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_check' }, - '55943' => { + '55950' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '55938' + 'type' => '55945' }, '1' => { 'name' => 'errmsg', - 'type' => '56242' + 'type' => '56249' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_info_check' }, - '56247' => { + '56254' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4495,23 +4831,23 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '55938' + 'type' => '55945' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode' }, - '56565' => { + '56572' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_length' }, - '56707' => { + '56714' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'buffer', @@ -4525,12 +4861,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string' }, - '56903' => { + '56910' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4539,12 +4875,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_min_length' }, - '56972' => { + '56979' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4553,12 +4889,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_max_length' }, - '57041' => { + '57048' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4567,12 +4903,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_string_type' }, - '57110' => { + '57117' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'def_string_length', @@ -4582,7 +4918,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string_length_check' }, - '57280' => { + '57287' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4595,28 +4931,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '57547' + 'type' => '57554' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_check' }, - '57552' => { + '57559' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '57547' + 'type' => '57554' }, '1' => { 'name' => 'errmsg', - 'type' => '56242' + 'type' => '56249' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_info_check' }, - '57821' => { + '57828' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4630,12 +4966,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_length' }, - '58033' => { + '58040' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'def_indices', @@ -4649,12 +4985,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_indices' }, - '58233' => { + '58240' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'pv_hdls', @@ -4671,12 +5007,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_hdls_check' }, - '58391' => { + '58398' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'def_num', @@ -4686,12 +5022,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_num_check' }, - '58550' => { + '58557' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' }, '1' => { 'name' => 'pv_num', @@ -4705,7 +5041,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num_check' }, - '58610' => { + '58617' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4718,13 +5054,13 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '58863' + 'type' => '58870' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_check' }, - '58868' => { + '58875' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4743,12 +5079,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_length' }, - '58928' => { + '58935' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4757,12 +5093,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_decode_string_handle' }, - '58975' => { + '58982' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4771,12 +5107,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_type' }, - '59022' => { + '59029' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49223' + 'type' => '49230' } }, 'Reg' => { @@ -4785,12 +5121,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_handle' }, - '59551' => { + '59558' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49829' + 'type' => '49836' }, '1' => { 'name' => 'buffer', @@ -4804,12 +5140,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_check' }, - '59717' => { + '59724' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49829' + 'type' => '49836' } }, 'Reg' => { @@ -4818,12 +5154,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_length' }, - '59764' => { + '59771' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49829' + 'type' => '49836' } }, 'Reg' => { @@ -4832,7 +5168,7 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_string_entry_decode_handle' }, - '59811' => { + '59818' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4855,7 +5191,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_encode_check' }, - '60043' => { + '60050' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4985,7 +5321,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_req' }, - '65614' => { + '65621' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -4996,7 +5332,7 @@ $VAR1 = { 'Return' => '6423', 'ShortName' => 'is_transfer_flag_valid' }, - '65765' => { + '65772' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5013,17 +5349,17 @@ $VAR1 = { }, '3' => { 'name' => 'non_functioning_component_indication', - 'type' => '65952' + 'type' => '65959' }, '4' => { 'name' => 'non_functioning_component_bitmap', - 'type' => '65957' + 'type' => '65964' } }, 'Return' => '74', 'ShortName' => 'decode_cancel_update_resp' }, - '65967' => { + '65974' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5042,7 +5378,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_req' }, - '66137' => { + '66144' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5066,7 +5402,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_cancel_update_component_resp' }, - '66213' => { + '66220' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5085,7 +5421,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_component_req' }, - '66383' => { + '66390' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5130,7 +5466,7 @@ $VAR1 = { '9' => { 'name' => 'update_option_flags_enabled', 'offset' => '24', - 'type' => '66710' + 'type' => '66717' } }, 'Return' => '74', @@ -5159,7 +5495,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_resp' }, - '66720' => { + '66727' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5178,7 +5514,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_status_req' }, - '66890' => { + '66897' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5206,7 +5542,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_activate_firmware_resp' }, - '67016' => { + '67023' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5229,7 +5565,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_activate_firmware_req' }, - '67258' => { + '67265' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5252,7 +5588,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_apply_complete_resp' }, - '67447' => { + '67454' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5269,7 +5605,7 @@ $VAR1 = { }, '3' => { 'name' => 'comp_activation_methods_modification', - 'type' => '67557' + 'type' => '67564' } }, 'Reg' => { @@ -5281,7 +5617,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_apply_complete_req' }, - '67567' => { + '67574' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5304,7 +5640,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_verify_complete_resp' }, - '67756' => { + '67763' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5328,7 +5664,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_verify_complete_req' }, - '67832' => { + '67839' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5351,7 +5687,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_transfer_complete_resp' }, - '68021' => { + '68028' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5375,7 +5711,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_transfer_complete_req' }, - '68097' => { + '68104' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5398,7 +5734,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_firmware_data_resp' }, - '68286' => { + '68293' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5427,7 +5763,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_firmware_data_req' }, - '68406' => { + '68413' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5452,7 +5788,7 @@ $VAR1 = { }, '5' => { 'name' => 'update_option_flags_enabled', - 'type' => '66710' + 'type' => '66717' }, '6' => { 'name' => 'time_before_req_fw_data', @@ -5463,7 +5799,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_update_component_resp' }, - '68640' => { + '68647' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5503,7 +5839,7 @@ $VAR1 = { '6' => { 'name' => 'update_option_flags', 'offset' => '0', - 'type' => '61448' + 'type' => '61455' }, '7' => { 'name' => 'comp_ver_str_type', @@ -5518,7 +5854,7 @@ $VAR1 = { '9' => { 'name' => 'comp_ver_str', 'offset' => '24', - 'type' => '69032' + 'type' => '69039' } }, 'Return' => '74', @@ -5553,7 +5889,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_resp' }, - '69042' => { + '69049' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5580,7 +5916,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pass_component_table_resp' }, - '69241' => { + '69248' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5625,7 +5961,7 @@ $VAR1 = { '8' => { 'name' => 'comp_ver_str', 'offset' => '16', - 'type' => '69032' + 'type' => '69039' }, '9' => { 'name' => 'msg', @@ -5636,7 +5972,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pass_component_table_req' }, - '69651' => { + '69658' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5667,7 +6003,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_update_resp' }, - '69798' => { + '69805' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5702,7 +6038,7 @@ $VAR1 = { '7' => { 'name' => 'comp_img_set_ver_str', 'offset' => '8', - 'type' => '69032' + 'type' => '69039' }, '8' => { 'name' => 'msg', @@ -5759,7 +6095,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_req' }, - '70166' => { + '70173' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5772,7 +6108,7 @@ $VAR1 = { }, '2' => { 'name' => 'component_data', - 'type' => '70334' + 'type' => '70341' }, '3' => { 'name' => 'active_comp_ver_str', @@ -5789,7 +6125,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp_comp_entry' }, - '70344' => { + '70351' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5802,7 +6138,7 @@ $VAR1 = { }, '2' => { 'name' => 'resp_data', - 'type' => '70564' + 'type' => '70571' }, '3' => { 'name' => 'active_comp_image_set_ver_str', @@ -5820,7 +6156,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp' }, - '70569' => { + '70576' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5839,7 +6175,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_firmware_parameters_req' }, - '70709' => { + '70716' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5864,7 +6200,7 @@ $VAR1 = { }, '5' => { 'name' => 'descriptor_data', - 'type' => '70865' + 'type' => '70872' } }, 'Reg' => { @@ -5875,7 +6211,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_query_device_identifiers_resp' }, - '70875' => { + '70882' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5894,7 +6230,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_query_device_identifiers_req' }, - '71015' => { + '71022' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5907,7 +6243,7 @@ $VAR1 = { }, '2' => { 'name' => 'pldm_comp_image_info', - 'type' => '71162' + 'type' => '71169' }, '3' => { 'name' => 'comp_version_str', @@ -5917,7 +6253,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_comp_image_info' }, - '71167' => { + '71174' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5944,7 +6280,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_vendor_defined_descriptor_value' }, - '71349' => { + '71356' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5967,7 +6303,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_descriptor_type_length_value' }, - '71521' => { + '71528' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5984,7 +6320,7 @@ $VAR1 = { }, '3' => { 'name' => 'fw_device_id_record', - 'type' => '71778' + 'type' => '71785' }, '4' => { 'name' => 'applicable_components', @@ -6008,7 +6344,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_firmware_device_id_record' }, - '71783' => { + '71790' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -6021,7 +6357,7 @@ $VAR1 = { }, '2' => { 'name' => 'package_header_info', - 'type' => '71930' + 'type' => '71937' }, '3' => { 'name' => 'package_version_str', @@ -6054,7 +6390,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_resp' }, - '74088' => { + '74095' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6081,7 +6417,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_fru_record_table_resp' }, - '74328' => { + '74335' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6112,7 +6448,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_fru_record_table_req' }, - '74495' => { + '74502' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6148,7 +6484,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp' }, - '74725' => { + '74732' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6189,7 +6525,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp_safe' }, - '74973' => { + '74980' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6247,7 +6583,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_req' }, - '75208' => { + '75215' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6282,7 +6618,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_resp' }, - '75375' => { + '75382' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6323,7 +6659,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_resp' }, - '75693' => { + '75700' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6368,7 +6704,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_req' }, - '75895' => { + '75902' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6414,7 +6750,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_req' }, - '76192' => { + '76199' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6479,7 +6815,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_resp' }, - '76865' => { + '76872' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6525,7 +6861,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_fru_record' }, - '77113' => { + '77120' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6552,7 +6888,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_resp' }, - '77334' => { + '77341' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6581,7 +6917,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_req' }, - '77438' => { + '77445' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6668,7 +7004,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_req' }, - '77741' => { + '77748' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6723,7 +7059,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_metadata_resp' }, - '77951' => { + '77958' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6742,69 +7078,6 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_req' }, - '79601' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'pdr', - 'type' => '6245' - }, - '1' => { - 'name' => 'pdr_len', - 'type' => '5053' - }, - '2' => { - 'name' => 'num_entities', - 'type' => '9084' - }, - '3' => { - 'name' => 'entities', - 'type' => '80251' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_extract' - }, - '80292' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '80341' - } - }, - 'Reg' => { - '0' => 'rdi' - }, - 'Return' => '6423', - 'ShortName' => 'pldm_is_empty_entity_assoc_tree' - }, - '80346' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '80341' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy_root' - }, - '80509' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'org_tree', - 'type' => '80341' - }, - '1' => { - 'name' => 'new_tree', - 'type' => '80341' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_copy_root' - }, '8072' => { 'Header' => 'bios.h', 'Param' => { @@ -6841,119 +7114,155 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_current_value_by_handle_resp' }, - '80725' => { - 'Header' => 'pdr.h', + '80854' => { + 'Header' => 'pdr_oem_ibm.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '80341' - }, - '1' => { - 'name' => 'entity', - 'type' => '80256' + 'name' => 'repo', + 'type' => '80876' } }, - 'Return' => '79489', - 'ShortName' => 'pldm_entity_association_tree_find' + 'Return' => '78645', + 'ShortName' => 'pldm_pdr_find_last_local_record' }, - '81715' => { + '80937' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '82051' + 'name' => 'entity', + 'type' => '78724' + }, + '1' => { + 'name' => 'parent', + 'type' => '78724' + }, + '2' => { + 'name' => 'remote_container_id', + 'type' => '5053' + }, + '3' => { + 'name' => 'first_child', + 'type' => '80798' + }, + '4' => { + 'name' => 'next_sibling', + 'type' => '80798' + }, + '5' => { + 'name' => 'association_type', + 'type' => '168' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_remote_pdrs' + 'Return' => '80798', + 'ShortName' => 'init_pldm_entity_node' }, - '82077' => { + '81122' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '82051' + 'name' => 'pdr', + 'type' => '6245' }, '1' => { - 'name' => 'terminus_handle', + 'name' => 'pdr_len', 'type' => '5053' + }, + '2' => { + 'name' => 'num_entities', + 'type' => '9084' + }, + '3' => { + 'name' => 'entities', + 'type' => '81772' } }, 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' + 'ShortName' => 'pldm_entity_association_pdr_extract' }, - '82450' => { + '81813' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80341' - }, - '1' => { - 'name' => 'entity', - 'type' => '78630' - }, - '2' => { - 'name' => 'node', - 'type' => '80720' + 'type' => '81862' + } + }, + 'Reg' => { + '0' => 'rdi' + }, + 'Return' => '6423', + 'ShortName' => 'pldm_is_empty_entity_assoc_tree' + }, + '81867' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '81862' } }, 'Return' => '1', - 'ShortName' => 'pldm_find_entity_ref_in_tree' + 'ShortName' => 'pldm_entity_association_tree_destroy_root' }, - '83074' => { + '82030' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '79489' + 'name' => 'org_tree', + 'type' => '81862' }, '1' => { - 'name' => 'repo', - 'type' => '82051' - }, - '2' => { - 'name' => 'entities', - 'type' => '80251' - }, - '3' => { - 'name' => 'num_entities', - 'type' => '123' - }, - '4' => { - 'name' => 'is_remote', - 'type' => '6423' - }, - '5' => { - 'name' => 'terminus_handle', - 'type' => '5053' + 'name' => 'new_tree', + 'type' => '81862' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add_from_node' + 'ShortName' => 'pldm_entity_association_tree_copy_root' }, - '83370' => { + '82246' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80341' + 'type' => '81862' }, '1' => { - 'name' => 'repo', - 'type' => '82051' + 'name' => 'entity', + 'type' => '81777' }, '2' => { 'name' => 'is_remote', 'type' => '6423' + } + }, + 'Return' => '80798', + 'ShortName' => 'pldm_entity_association_tree_find' + }, + '83293' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_pdr_remove_remote_pdrs' + }, + '83655' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' }, - '3' => { + '1' => { 'name' => 'terminus_handle', 'type' => '5053' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add' + 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' }, '8379' => { 'Header' => 'bios.h', @@ -6986,35 +7295,78 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_req' }, - '85017' => { + '83928' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'parent', - 'type' => '79489' + 'name' => 'tree', + 'type' => '81862' }, '1' => { + 'name' => 'entity', + 'type' => '78724' + }, + '2' => { 'name' => 'node', - 'type' => '80256' + 'type' => '82241' } }, - 'Return' => '6423', - 'ShortName' => 'pldm_is_current_parent_child' + 'Return' => '1', + 'ShortName' => 'pldm_find_entity_ref_in_tree' }, - '85255' => { + '84319' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '79489' + 'name' => 'repo', + 'type' => '83629' }, '1' => { - 'name' => 'association_type', - 'type' => '168' + 'name' => 'entity', + 'type' => '78724' + }, + '2' => { + 'name' => 'parent', + 'type' => '78724' + }, + '3' => { + 'name' => 'event_data_op', + 'type' => '2082' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'bmc_record_handle', + 'type' => '180' } }, - 'Return' => '168', - 'ShortName' => 'pldm_entity_get_num_children' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_add_contained_entity' + }, + '85108' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'entity', + 'type' => '78724' + }, + '2' => { + 'name' => 'event_data_op', + 'type' => '2082' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6423' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_remove_contained_entity' }, '8531' => { 'Header' => 'bios.h', @@ -7051,68 +7403,64 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_resp' }, - '85577' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '79489' - } - }, - 'Return' => '6423', - 'ShortName' => 'pldm_entity_is_exist_parent' - }, - '85711' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '79489' - } - }, - 'Return' => '78630', - 'ShortName' => 'pldm_entity_get_parent' - }, - '85866' => { + '86385' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '79489' - } - }, - 'Return' => '6423', - 'ShortName' => 'pldm_entity_is_node_parent' - }, - '86021' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '80341' + 'type' => '80798' + }, + '1' => { + 'name' => 'repo', + 'type' => '83629' + }, + '2' => { + 'name' => 'entities', + 'type' => '81772' + }, + '3' => { + 'name' => 'num_entities', + 'type' => '123' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '5053' + }, + '6' => { + 'name' => 'record_handle', + 'offset' => '0', + 'type' => '180' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy' + 'ShortName' => 'pldm_entity_association_pdr_add_from_node' }, - '86304' => { + '86696' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80341' + 'type' => '81862' }, '1' => { - 'name' => 'entities', - 'type' => '80251' + 'name' => 'repo', + 'type' => '83629' }, '2' => { - 'name' => 'size', - 'type' => '9084' + 'name' => 'is_remote', + 'type' => '6423' + }, + '3' => { + 'name' => 'terminus_handle', + 'type' => '5053' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_visit' + 'ShortName' => 'pldm_entity_association_pdr_add' }, '8693' => { 'Header' => 'bios.h', @@ -7141,106 +7489,68 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_attribute_current_value_by_handle_req' }, - '87370' => { + '88343' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '80341' + 'name' => 'parent', + 'type' => '80798' }, '1' => { - 'name' => 'entity', - 'type' => '80256' - }, - '2' => { - 'name' => 'entity_instance_number', - 'type' => '5053' - }, - '3' => { - 'name' => 'parent', - 'type' => '79489' + 'name' => 'node', + 'type' => '81777' + } + }, + 'Return' => '6423', + 'ShortName' => 'pldm_is_current_parent_child' + }, + '88581' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '80798' }, - '4' => { + '1' => { 'name' => 'association_type', 'type' => '168' } }, - 'Return' => '79489', - 'ShortName' => 'pldm_entity_association_tree_add' + 'Return' => '168', + 'ShortName' => 'pldm_entity_get_num_children' }, - '87803' => { + '88903' => { 'Header' => 'pdr.h', - 'Return' => '80341', - 'ShortName' => 'pldm_entity_association_tree_init' + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '80798' + } + }, + 'Return' => '6423', + 'ShortName' => 'pldm_entity_is_exist_parent' }, - '88029' => { + '89037' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '79489' + 'type' => '80798' } }, - 'Return' => '78630', - 'ShortName' => 'pldm_entity_extract' + 'Return' => '78724', + 'ShortName' => 'pldm_entity_get_parent' }, - '88809' => { + '89192' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' - }, - '1' => { - 'name' => 'terminus_handle', - 'type' => '5053' - }, - '2' => { - 'name' => 'tid', - 'type' => '168' - }, - '3' => { - 'name' => 'tl_eid', - 'type' => '168' - }, - '4' => { - 'name' => 'valid_bit', - 'type' => '6423' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_update_TL_pdr' - }, - '89169' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81710' - }, - '1' => { - 'name' => 'fru_rsi', - 'type' => '5053' - }, - '2' => { - 'name' => 'terminus_handle', - 'type' => '8521' - }, - '3' => { - 'name' => 'entity_type', - 'type' => '8521' - }, - '4' => { - 'name' => 'entity_instance_num', - 'type' => '8521' - }, - '5' => { - 'name' => 'container_id', - 'type' => '8521' + 'name' => 'node', + 'type' => '80798' } }, - 'Return' => '89154', - 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' + 'Return' => '6423', + 'ShortName' => 'pldm_entity_is_node_parent' }, '8922' => { 'Header' => 'bios.h', @@ -7277,116 +7587,50 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_resp' }, - '89786' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '82051' - }, - '1' => { - 'name' => 'terminus_handle', - 'type' => '5053' - }, - '2' => { - 'name' => 'fru_rsi', - 'type' => '5053' - }, - '3' => { - 'name' => 'entity_type', - 'type' => '5053' - }, - '4' => { - 'name' => 'entity_instance_num', - 'type' => '5053' - }, - '5' => { - 'name' => 'container_id', - 'type' => '5053' - }, - '6' => { - 'name' => 'bmc_record_handle', - 'offset' => '0', - 'type' => '180' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add_fru_record_set' - }, - '90120' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'record', - 'type' => '89154' - } - }, - 'Return' => '6423', - 'ShortName' => 'pldm_pdr_record_is_remote' - }, - '90275' => { + '89347' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' + 'name' => 'tree', + 'type' => '81862' }, '1' => { - 'name' => 'record', - 'type' => '89154' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_handle' - }, - '90488' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81710' + 'name' => 'entity', + 'type' => '78724' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_repo_size' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_delete_node' }, - '90619' => { + '89761' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' + 'name' => 'tree', + 'type' => '81862' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_count' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_destroy' }, - '90750' => { + '90044' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' + 'name' => 'tree', + 'type' => '81862' }, '1' => { - 'name' => 'pdr_type', - 'type' => '168' + 'name' => 'entities', + 'type' => '81772' }, '2' => { - 'name' => 'curr_record', - 'type' => '89154' - }, - '3' => { - 'name' => 'data', - 'type' => '70865' - }, - '4' => { 'name' => 'size', - 'type' => '2087' + 'type' => '9084' } }, - 'Return' => '89154', - 'ShortName' => 'pldm_pdr_find_record_by_type' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_visit' }, '9094' => { 'Header' => 'bios.h', @@ -7419,75 +7663,87 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_req' }, - '91015' => { + '91217' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' + 'name' => 'tree', + 'type' => '81862' }, '1' => { - 'name' => 'curr_record', - 'type' => '89154' + 'name' => 'entity', + 'type' => '81777' }, '2' => { - 'name' => 'data', - 'type' => '70865' + 'name' => 'entity_instance_number', + 'type' => '5053' }, '3' => { - 'name' => 'size', - 'type' => '2087' + 'name' => 'parent', + 'type' => '80798' }, '4' => { - 'name' => 'next_record_handle', - 'type' => '2087' + 'name' => 'association_type', + 'type' => '168' + }, + '5' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '6' => { + 'name' => 'is_update_container_id', + 'offset' => '0', + 'type' => '6423' + }, + '7' => { + 'name' => 'container_id', + 'offset' => '8', + 'type' => '5053' } }, - 'Return' => '89154', - 'ShortName' => 'pldm_pdr_get_next_record' + 'Return' => '80798', + 'ShortName' => 'pldm_entity_association_tree_add' }, - '91537' => { + '91705' => { + 'Header' => 'pdr.h', + 'Return' => '81862', + 'ShortName' => 'pldm_entity_association_tree_init' + }, + '91931' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81710' - }, - '1' => { - 'name' => 'record_handle', - 'type' => '180' - }, - '2' => { - 'name' => 'data', - 'type' => '70865' - }, - '3' => { - 'name' => 'size', - 'type' => '2087' - }, - '4' => { - 'name' => 'next_record_handle', - 'type' => '2087' + 'name' => 'entity', + 'type' => '91926' } }, - 'Return' => '89154', - 'ShortName' => 'pldm_pdr_find_record' + 'Return' => '5053', + 'ShortName' => 'pldm_extract_host_container_id' }, - '91997' => { + '92150' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '82051' + 'name' => 'node', + 'type' => '80798' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_destroy' + 'Reg' => { + '0' => 'rdi' + }, + 'Return' => '78724', + 'ShortName' => 'pldm_entity_extract' }, - '92255' => { + '92214' => { 'Header' => 'pdr.h', - 'Return' => '82051', - 'ShortName' => 'pldm_pdr_init' + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '81862' + } + }, + 'Return' => '5053', + 'ShortName' => 'next_container_id' }, '9241' => { 'Header' => 'bios.h', @@ -7516,36 +7772,153 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_req' }, - '92430' => { + '92412' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'sensor_id', + 'type' => '5053' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6423' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_delete_by_sensor_id' + }, + '92793' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'effecter_id', + 'type' => '5053' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6423' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_delete_by_effecter_id' + }, + '93153' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'sensorId', + 'type' => '5053' + }, + '2' => { + 'name' => 'instanceNumber', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_sensor' + }, + '93431' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '5053' + }, + '2' => { + 'name' => 'instanceNumber', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_effecter' + }, + '93688' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'sensorId', + 'type' => '5053' + }, + '2' => { + 'name' => 'containerId', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_sensor' + }, + '93945' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '5053' + }, + '2' => { + 'name' => 'containerId', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_effecter' + }, + '94237' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '82051' + 'type' => '80876' }, '1' => { - 'name' => 'data', - 'type' => '6245' - }, - '2' => { - 'name' => 'size', + 'name' => 'record_handle', 'type' => '180' + } + }, + 'Return' => '78724', + 'ShortName' => 'pldm_get_entity_from_record_handle' + }, + '94625' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83629' }, - '3' => { + '1' => { 'name' => 'record_handle', 'type' => '180' }, - '4' => { + '2' => { 'name' => 'is_remote', 'type' => '6423' - }, - '5' => { - 'name' => 'terminus_handle', - 'type' => '5053' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add' + 'Return' => '1', + 'ShortName' => 'pldm_delete_by_record_handle' }, '9464' => { 'Header' => 'bios.h', @@ -7583,113 +7956,165 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_resp' }, - '94970' => { - 'Header' => 'utils.h', + '95354' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'dec', - 'type' => '180' + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'terminus_handle', + 'type' => '5053' + }, + '2' => { + 'name' => 'tid', + 'type' => '168' + }, + '3' => { + 'name' => 'tl_eid', + 'type' => '168' + }, + '4' => { + 'name' => 'valid_bit', + 'type' => '6423' } }, - 'Return' => '180', - 'ShortName' => 'dec2bcd32' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_update_TL_pdr' }, - '95099' => { - 'Header' => 'utils.h', + '95714' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'bcd', - 'type' => '180' + 'name' => 'repo', + 'type' => '83629' + }, + '1' => { + 'name' => 'fru_rsi', + 'type' => '5053' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6423' } }, 'Return' => '180', - 'ShortName' => 'bcd2dec32' + 'ShortName' => 'pldm_pdr_remove_fru_record_set_by_rsi' }, - '95500' => { - 'Header' => 'utils.h', + '96069' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'version', - 'type' => '3344' + 'name' => 'repo', + 'type' => '80876' }, '1' => { - 'name' => 'buffer', - 'type' => '11614' + 'name' => 'fru_rsi', + 'type' => '5053' }, '2' => { - 'name' => 'buffer_size', - 'type' => '123' + 'name' => 'terminus_handle', + 'type' => '8521' + }, + '3' => { + 'name' => 'entity_type', + 'type' => '8521' + }, + '4' => { + 'name' => 'entity_instance_num', + 'type' => '8521' + }, + '5' => { + 'name' => 'container_id', + 'type' => '8521' + }, + '6' => { + 'name' => 'is_remote', + 'offset' => '0', + 'type' => '6423' } }, - 'Reg' => { - '0' => 'rdi' - }, - 'Return' => '12557', - 'ShortName' => 'ver2str' + 'Return' => '95699', + 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' }, - '95628' => { - 'Header' => 'utils.h', + '96696' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'data', - 'type' => '1434' + 'name' => 'repo', + 'type' => '83629' }, '1' => { - 'name' => 'size', - 'type' => '123' + 'name' => 'terminus_handle', + 'type' => '5053' + }, + '2' => { + 'name' => 'fru_rsi', + 'type' => '5053' + }, + '3' => { + 'name' => 'entity_type', + 'type' => '5053' + }, + '4' => { + 'name' => 'entity_instance_num', + 'type' => '5053' + }, + '5' => { + 'name' => 'container_id', + 'type' => '5053' + }, + '6' => { + 'name' => 'bmc_record_handle', + 'offset' => '0', + 'type' => '180' + }, + '7' => { + 'name' => 'hotplug', + 'offset' => '8', + 'type' => '6423' } }, - 'Return' => '168', - 'ShortName' => 'crc8' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_fru_record_set' }, - '96886' => { - 'Header' => 'instance-id.h', + '97108' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '97109' - }, - '1' => { - 'name' => 'tid', - 'type' => '96208' - }, - '2' => { - 'name' => 'iid', - 'type' => '96220' + 'name' => 'record', + 'type' => '95699' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_free' + 'Return' => '6423', + 'ShortName' => 'pldm_pdr_record_is_remote' }, - '97114' => { - 'Header' => 'instance-id.h', + '97263' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '97109' + 'name' => 'repo', + 'type' => '80876' }, '1' => { - 'name' => 'tid', - 'type' => '96208' - }, - '2' => { - 'name' => 'iid', - 'type' => '97535' + 'name' => 'record', + 'type' => '95699' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_alloc' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_handle' }, - '97540' => { - 'Header' => 'instance-id.h', + '97481' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '97109' + 'name' => 'repo', + 'type' => '80876' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_destroy' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_repo_size' }, '9755' => { 'Header' => 'bios.h', @@ -7715,31 +8140,70 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_resp' }, - '97625' => { - 'Header' => 'instance-id.h', + '97615' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '97711' + 'name' => 'repo', + 'type' => '80876' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init_default' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_count' }, - '97716' => { - 'Header' => 'instance-id.h', + '97749' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '97711' + 'name' => 'repo', + 'type' => '80876' }, '1' => { - 'name' => 'dbpath', - 'type' => '12552' + 'name' => 'pdr_type', + 'type' => '168' + }, + '2' => { + 'name' => 'curr_record', + 'type' => '95699' + }, + '3' => { + 'name' => 'data', + 'type' => '70872' + }, + '4' => { + 'name' => 'size', + 'type' => '2087' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init' + 'Return' => '95699', + 'ShortName' => 'pldm_pdr_find_record_by_type' + }, + '98023' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80876' + }, + '1' => { + 'name' => 'curr_record', + 'type' => '95699' + }, + '2' => { + 'name' => 'data', + 'type' => '70872' + }, + '3' => { + 'name' => 'size', + 'type' => '2087' + }, + '4' => { + 'name' => 'next_record_handle', + 'type' => '2087' + } + }, + 'Return' => '95699', + 'ShortName' => 'pldm_pdr_get_next_record' }, '9827' => { 'Header' => 'bios.h', @@ -7764,109 +8228,103 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_resp' }, - '98853' => { - 'Header' => 'pldm.h', + '98535' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '98223' + 'name' => 'repo', + 'type' => '83629' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6245' - }, - '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'prev_record_handle', + 'type' => '2087' } }, - 'Return' => '98332', - 'ShortName' => 'pldm_send' + 'Return' => '6423', + 'ShortName' => 'pldm_pdr_find_prev_record_handle' }, - '99272' => { - 'Header' => 'pldm.h', + '98770' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '98223' + 'name' => 'repo', + 'type' => '80876' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6245' + 'name' => 'data', + 'type' => '70872' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'size', + 'type' => '2087' }, '4' => { - 'name' => 'pldm_resp_msg', - 'type' => '70865' - }, - '5' => { - 'name' => 'resp_msg_len', - 'type' => '9084' + 'name' => 'next_record_handle', + 'type' => '2087' } }, - 'Return' => '98332', - 'ShortName' => 'pldm_send_recv' + 'Return' => '95699', + 'ShortName' => 'pldm_pdr_find_record' }, - '99755' => { - 'Header' => 'pldm.h', + '99241' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '98223' - }, - '1' => { - 'name' => 'mctp_fd', - 'type' => '74' - }, - '2' => { - 'name' => 'instance_id', - 'type' => '168' - }, - '3' => { - 'name' => 'pldm_resp_msg', - 'type' => '70865' - }, - '4' => { - 'name' => 'resp_msg_len', - 'type' => '9084' + 'name' => 'repo', + 'type' => '83629' } }, - 'Return' => '98332', - 'ShortName' => 'pldm_recv' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_destroy' + }, + '99499' => { + 'Header' => 'pdr.h', + 'Return' => '83629', + 'ShortName' => 'pldm_pdr_init' }, - '99981' => { - 'Header' => 'pldm.h', + '99674' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '98223' + 'name' => 'repo', + 'type' => '83629' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6245' }, '2' => { - 'name' => 'pldm_resp_msg', - 'type' => '70865' + 'name' => 'size', + 'type' => '180' }, '3' => { - 'name' => 'resp_msg_len', - 'type' => '9084' + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'offset' => '0', + 'type' => '5053' } }, - 'Return' => '98332', - 'ShortName' => 'pldm_recv_any' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_after_prev_record' } }, 'SymbolVersion' => {}, @@ -8068,10 +8526,14 @@ $VAR1 = { 'encode_write_file_resp' => 1, 'entity_association_tree_find' => 1, 'find_entity_ref_in_tree' => 1, + 'find_record_handle_by_contained_entity' => 1, 'get_fru_record_by_option' => 1, + 'init_pldm_entity_node' => 1, + 'isHBRange' => 1, 'is_present' => 1, 'is_time_legal' => 1, 'is_transfer_flag_valid' => 1, + 'next_container_id' => 1, 'pack_pldm_header' => 1, 'pldm_bios_table_append_pad_checksum' => 1, 'pldm_bios_table_attr_entry_decode_attribute_handle' => 1, @@ -8132,12 +8594,21 @@ $VAR1 = { 'pldm_bios_table_string_entry_encode_length' => 1, 'pldm_bios_table_string_find_by_handle' => 1, 'pldm_bios_table_string_find_by_string' => 1, - 'pldm_close' => 1, + 'pldm_change_container_id_of_effecter' => 1, + 'pldm_change_container_id_of_sensor' => 1, + 'pldm_change_instance_number_of_effecter' => 1, + 'pldm_change_instance_number_of_sensor' => 1, + 'pldm_delete_by_effecter_id' => 1, + 'pldm_delete_by_record_handle' => 1, + 'pldm_delete_by_sensor_id' => 1, 'pldm_entity_association_pdr_add' => 1, + 'pldm_entity_association_pdr_add_contained_entity' => 1, 'pldm_entity_association_pdr_add_from_node' => 1, 'pldm_entity_association_pdr_extract' => 1, + 'pldm_entity_association_pdr_remove_contained_entity' => 1, 'pldm_entity_association_tree_add' => 1, 'pldm_entity_association_tree_copy_root' => 1, + 'pldm_entity_association_tree_delete_node' => 1, 'pldm_entity_association_tree_destroy' => 1, 'pldm_entity_association_tree_destroy_root' => 1, 'pldm_entity_association_tree_find' => 1, @@ -8148,7 +8619,10 @@ $VAR1 = { 'pldm_entity_get_parent' => 1, 'pldm_entity_is_exist_parent' => 1, 'pldm_entity_is_node_parent' => 1, + 'pldm_extract_host_container_id' => 1, + 'pldm_find_container_id' => 1, 'pldm_find_entity_ref_in_tree' => 1, + 'pldm_get_entity_from_record_handle' => 1, 'pldm_instance_db_destroy' => 1, 'pldm_instance_db_init' => 1, 'pldm_instance_db_init_default' => 1, @@ -8158,8 +8632,12 @@ $VAR1 = { 'pldm_is_empty_entity_assoc_tree' => 1, 'pldm_open' => 1, 'pldm_pdr_add' => 1, + 'pldm_pdr_add_after_prev_record' => 1, 'pldm_pdr_add_fru_record_set' => 1, + 'pldm_pdr_add_hotplug_record' => 1, 'pldm_pdr_destroy' => 1, + 'pldm_pdr_find_last_local_record' => 1, + 'pldm_pdr_find_prev_record_handle' => 1, 'pldm_pdr_find_record' => 1, 'pldm_pdr_find_record_by_type' => 1, 'pldm_pdr_fru_record_set_find_by_rsi' => 1, @@ -8169,6 +8647,7 @@ $VAR1 = { 'pldm_pdr_get_repo_size' => 1, 'pldm_pdr_init' => 1, 'pldm_pdr_record_is_remote' => 1, + 'pldm_pdr_remove_fru_record_set_by_rsi' => 1, 'pldm_pdr_remove_pdrs_by_terminus_handle' => 1, 'pldm_pdr_remove_remote_pdrs' => 1, 'pldm_pdr_update_TL_pdr' => 1, @@ -8191,6 +8670,163 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Intrinsic' }, + '105216' => { + 'BaseType' => '168', + 'Header' => 'base.h', + 'Line' => '14', + 'Name' => 'pldm_tid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '105228' => { + 'BaseType' => '168', + 'Header' => 'instance-id.h', + 'Line' => '11', + 'Name' => 'pldm_instance_id_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '105608' => { + 'Header' => undef, + 'Line' => '18', + 'Memb' => { + '0' => { + 'name' => 'prev', + 'offset' => '0', + 'type' => '105228' + }, + '1' => { + 'name' => 'allocations', + 'offset' => '4', + 'type' => '180' + } + }, + 'Name' => 'struct pldm_tid_state', + 'PrivateABI' => 1, + 'Size' => '8', + 'Type' => 'Struct' + }, + '105647' => { + 'Header' => undef, + 'Line' => '23', + 'Memb' => { + '0' => { + 'name' => 'state', + 'offset' => '0', + 'type' => '105689' + }, + '1' => { + 'name' => 'lock_db_fd', + 'offset' => '8264', + 'type' => '74' + } + }, + 'Name' => 'struct pldm_instance_db', + 'PrivateABI' => 1, + 'Size' => '2052', + 'Type' => 'Struct' + }, + '105689' => { + 'BaseType' => '105608', + 'Name' => 'struct pldm_tid_state[256]', + 'Size' => '2048', + 'Type' => 'Array' + }, + '106117' => { + 'BaseType' => '105647', + 'Name' => 'struct pldm_instance_db*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '106543' => { + 'BaseType' => '105228', + 'Name' => 'pldm_instance_id_t*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '106719' => { + 'BaseType' => '106117', + 'Name' => 'struct pldm_instance_db**', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '107235' => { + 'BaseType' => '168', + 'Header' => 'pldm.h', + 'Line' => '12', + 'Name' => 'mctp_eid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '107247' => { + 'Header' => 'pldm.h', + 'Line' => '14', + 'Memb' => { + '0' => { + 'name' => 'PLDM_REQUESTER_SUCCESS', + 'value' => '0' + }, + '1' => { + 'name' => 'PLDM_REQUESTER_OPEN_FAIL', + 'value' => '18446744073709551615 (-1)' + }, + '10' => { + 'name' => 'PLDM_REQUESTER_SETUP_FAIL', + 'value' => '18446744073709551606 (-10)' + }, + '11' => { + 'name' => 'PLDM_REQUESTER_INVALID_SETUP', + 'value' => '18446744073709551605 (-11)' + }, + '12' => { + 'name' => 'PLDM_REQUESTER_POLL_FAIL', + 'value' => '18446744073709551604 (-12)' + }, + '2' => { + 'name' => 'PLDM_REQUESTER_NOT_PLDM_MSG', + 'value' => '18446744073709551614 (-2)' + }, + '3' => { + 'name' => 'PLDM_REQUESTER_NOT_RESP_MSG', + 'value' => '18446744073709551613 (-3)' + }, + '4' => { + 'name' => 'PLDM_REQUESTER_NOT_REQ_MSG', + 'value' => '18446744073709551612 (-4)' + }, + '5' => { + 'name' => 'PLDM_REQUESTER_RESP_MSG_TOO_SMALL', + 'value' => '18446744073709551611 (-5)' + }, + '6' => { + 'name' => 'PLDM_REQUESTER_INSTANCE_ID_MISMATCH', + 'value' => '18446744073709551610 (-6)' + }, + '7' => { + 'name' => 'PLDM_REQUESTER_SEND_FAIL', + 'value' => '18446744073709551609 (-7)' + }, + '8' => { + 'name' => 'PLDM_REQUESTER_RECV_FAIL', + 'value' => '18446744073709551608 (-8)' + }, + '9' => { + 'name' => 'PLDM_REQUESTER_INVALID_RECV_LEN', + 'value' => '18446744073709551607 (-9)' + } + }, + 'Name' => 'enum pldm_requester_error_codes', + 'Size' => '4', + 'Type' => 'Enum' + }, + '107344' => { + 'BaseType' => '107247', + 'Header' => 'pldm.h', + 'Line' => '28', + 'Name' => 'pldm_requester_rc_t', + 'Size' => '4', + 'Type' => 'Typedef' + }, '109' => { 'Name' => 'long', 'Size' => '8', @@ -8298,9 +8934,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '13093' => { + '13100' => { 'Header' => 'platform.h', - 'Line' => '237', + 'Line' => '243', 'Memb' => { '0' => { 'name' => 'PLDM_SENSOR_OP_STATE', @@ -8319,15 +8955,15 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Enum' }, - '13127' => { - 'BaseType' => '13093', + '13134' => { + 'BaseType' => '13100', 'Name' => 'enum sensor_event_class_states const', 'Size' => '4', 'Type' => 'Const' }, - '13350' => { + '13357' => { 'Header' => 'platform.h', - 'Line' => '454', + 'Line' => '461', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -8359,14 +8995,14 @@ $VAR1 = { 'Size' => '10', 'Type' => 'Struct' }, - '13429' => { + '13436' => { 'Header' => 'platform.h', - 'Line' => '526', + 'Line' => '533', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '13350' + 'type' => '13357' }, '1' => { 'name' => 'terminus_handle', @@ -8418,9 +9054,9 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '13573' => { + '13580' => { 'Header' => 'platform.h', - 'Line' => '543', + 'Line' => '550', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8435,27 +9071,27 @@ $VAR1 = { '2' => { 'name' => 'states', 'offset' => '3', - 'type' => '13631' + 'type' => '13638' } }, 'Name' => 'struct state_sensor_possible_states', 'Size' => '4', 'Type' => 'Struct' }, - '13626' => { - 'BaseType' => '13573', + '13633' => { + 'BaseType' => '13580', 'Name' => 'struct state_sensor_possible_states const', 'Size' => '4', 'Type' => 'Const' }, - '13647' => { + '13654' => { 'Header' => 'platform.h', - 'Line' => '553', + 'Line' => '560', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '13350' + 'type' => '13357' }, '1' => { 'name' => 'terminus_handle', @@ -8512,9 +9148,9 @@ $VAR1 = { 'Size' => '26', 'Type' => 'Struct' }, - '14000' => { + '14007' => { 'Header' => 'platform.h', - 'Line' => '708', + 'Line' => '715', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -8546,14 +9182,14 @@ $VAR1 = { 'Size' => '12', 'Type' => 'Struct' }, - '14079' => { + '14086' => { 'Header' => 'platform.h', - 'Line' => '721', + 'Line' => '728', 'Memb' => { '0' => { 'name' => 'hdr', 'offset' => '0', - 'type' => '14000' + 'type' => '14007' }, '1' => { 'name' => 'terminus_handle', @@ -8638,7 +9274,7 @@ $VAR1 = { '24' => { 'name' => 'hysteresis', 'offset' => '72', - 'type' => '13988' + 'type' => '13995' }, '25' => { 'name' => 'supported_thresholds', @@ -8663,7 +9299,7 @@ $VAR1 = { '29' => { 'name' => 'max_readable', 'offset' => '100', - 'type' => '13988' + 'type' => '13995' }, '3' => { 'name' => 'entity_type', @@ -8673,7 +9309,7 @@ $VAR1 = { '30' => { 'name' => 'min_readable', 'offset' => '104', - 'type' => '13988' + 'type' => '13995' }, '31' => { 'name' => 'range_field_format', @@ -8688,37 +9324,37 @@ $VAR1 = { '33' => { 'name' => 'nominal_value', 'offset' => '118', - 'type' => '13896' + 'type' => '13903' }, '34' => { 'name' => 'normal_max', 'offset' => '128', - 'type' => '13896' + 'type' => '13903' }, '35' => { 'name' => 'normal_min', 'offset' => '132', - 'type' => '13896' + 'type' => '13903' }, '36' => { 'name' => 'warning_high', 'offset' => '136', - 'type' => '13896' + 'type' => '13903' }, '37' => { 'name' => 'warning_low', 'offset' => '146', - 'type' => '13896' + 'type' => '13903' }, '38' => { 'name' => 'critical_high', 'offset' => '150', - 'type' => '13896' + 'type' => '13903' }, '39' => { 'name' => 'critical_low', 'offset' => '256', - 'type' => '13896' + 'type' => '13903' }, '4' => { 'name' => 'entity_instance_num', @@ -8728,12 +9364,12 @@ $VAR1 = { '40' => { 'name' => 'fatal_high', 'offset' => '260', - 'type' => '13896' + 'type' => '13903' }, '41' => { 'name' => 'fatal_low', 'offset' => '264', - 'type' => '13896' + 'type' => '13903' }, '5' => { 'name' => 'container_id', @@ -8785,9 +9421,9 @@ $VAR1 = { 'Name' => 'void const', 'Type' => 'Const' }, - '14639' => { + '14646' => { 'Header' => 'platform.h', - 'Line' => '770', + 'Line' => '777', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8802,22 +9438,22 @@ $VAR1 = { '2' => { 'name' => 'states', 'offset' => '3', - 'type' => '13631' + 'type' => '13638' } }, 'Name' => 'struct state_effecter_possible_states', 'Size' => '4', 'Type' => 'Struct' }, - '14692' => { - 'BaseType' => '14639', + '14699' => { + 'BaseType' => '14646', 'Name' => 'struct state_effecter_possible_states const', 'Size' => '4', 'Type' => 'Const' }, - '14697' => { + '14704' => { 'Header' => 'platform.h', - 'Line' => '818', + 'Line' => '825', 'Memb' => { '0' => { 'name' => 'set_request', @@ -8834,17 +9470,17 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Struct' }, - '14737' => { - 'BaseType' => '14697', + '14744' => { + 'BaseType' => '14704', 'Header' => 'platform.h', - 'Line' => '821', + 'Line' => '828', 'Name' => 'set_effecter_state_field', 'Size' => '2', 'Type' => 'Typedef' }, - '14749' => { + '14756' => { 'Header' => 'platform.h', - 'Line' => '827', + 'Line' => '834', 'Memb' => { '0' => { 'name' => 'sensor_op_state', @@ -8871,15 +9507,15 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '14815' => { - 'BaseType' => '14749', + '14822' => { + 'BaseType' => '14756', 'Header' => 'platform.h', - 'Line' => '835', + 'Line' => '842', 'Name' => 'get_sensor_state_field', 'Size' => '4', 'Type' => 'Typedef' }, - '15014' => { + '15021' => { 'BaseType' => '168', 'Name' => 'uint8_t[13]', 'Size' => '13', @@ -8894,9 +9530,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Typedef' }, - '15496' => { + '15503' => { 'Header' => 'platform.h', - 'Line' => '972', + 'Line' => '979', 'Memb' => { '0' => { 'name' => 'sensor_id', @@ -8918,9 +9554,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '15708' => { + '15715' => { 'Header' => 'platform.h', - 'Line' => '1053', + 'Line' => '1060', 'Memb' => { '0' => { 'name' => 'event_data_format', @@ -8963,7 +9599,7 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Typedef' }, - '16933' => { + '16940' => { 'BaseType' => '166', 'Name' => 'void**', 'Size' => '8', @@ -8996,32 +9632,32 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '21095' => { + '21102' => { 'BaseType' => '9084', 'Name' => 'size_t*const', 'Size' => '8', 'Type' => 'Const' }, - '22708' => { - 'BaseType' => '22718', + '22715' => { + 'BaseType' => '22725', 'Name' => 'uint32_t const*const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22713' => { + '22720' => { 'BaseType' => '11828', 'Name' => 'uint32_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22718' => { - 'BaseType' => '22713', + '22725' => { + 'BaseType' => '22720', 'Name' => 'uint32_t const*const', 'Size' => '8', 'Type' => 'Const' }, - '22723' => { - 'BaseType' => '15708', + '22730' => { + 'BaseType' => '15715', 'Name' => 'struct pldm_pdr_repository_chg_event_data*', 'Size' => '8', 'Type' => 'Pointer' @@ -9032,8 +9668,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '29133' => { - 'BaseType' => '14079', + '29140' => { + 'BaseType' => '14086', 'Name' => 'struct pldm_numeric_sensor_value_pdr*', 'Size' => '8', 'Type' => 'Pointer' @@ -9044,14 +9680,14 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '35700' => { - 'BaseType' => '15496', + '35707' => { + 'BaseType' => '15503', 'Name' => 'struct pldm_sensor_event_data*', 'Size' => '8', 'Type' => 'Pointer' }, - '35705' => { - 'BaseType' => '35700', + '35712' => { + 'BaseType' => '35707', 'Name' => 'struct pldm_sensor_event_data*const', 'Size' => '8', 'Type' => 'Const' @@ -9061,22 +9697,22 @@ $VAR1 = { 'Line' => '24', 'Memb' => { '0' => { - 'name' => 'alpha', + 'name' => 'major', 'offset' => '0', 'type' => '168' }, '1' => { - 'name' => 'update', + 'name' => 'minor', 'offset' => '1', 'type' => '168' }, '2' => { - 'name' => 'minor', + 'name' => 'update', 'offset' => '2', 'type' => '168' }, '3' => { - 'name' => 'major', + 'name' => 'alpha', 'offset' => '3', 'type' => '168' } @@ -9085,38 +9721,38 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '36709' => { - 'BaseType' => '14815', + '36716' => { + 'BaseType' => '14822', 'Name' => 'get_sensor_state_field*', 'Size' => '8', 'Type' => 'Pointer' }, - '41864' => { - 'BaseType' => '14737', + '41871' => { + 'BaseType' => '14744', 'Name' => 'set_effecter_state_field*', 'Size' => '8', 'Type' => 'Pointer' }, - '42691' => { - 'BaseType' => '13429', + '42698' => { + 'BaseType' => '13436', 'Name' => 'struct pldm_state_sensor_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '42696' => { - 'BaseType' => '42691', + '42703' => { + 'BaseType' => '42698', 'Name' => 'struct pldm_state_sensor_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '42701' => { - 'BaseType' => '13626', + '42708' => { + 'BaseType' => '13633', 'Name' => 'struct state_sensor_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '42706' => { - 'BaseType' => '42701', + '42713' => { + 'BaseType' => '42708', 'Name' => 'struct state_sensor_possible_states const*const', 'Size' => '8', 'Type' => 'Const' @@ -9129,26 +9765,26 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Typedef' }, - '43023' => { - 'BaseType' => '13647', + '43030' => { + 'BaseType' => '13654', 'Name' => 'struct pldm_state_effecter_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '43028' => { - 'BaseType' => '43023', + '43035' => { + 'BaseType' => '43030', 'Name' => 'struct pldm_state_effecter_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '43033' => { - 'BaseType' => '14692', + '43040' => { + 'BaseType' => '14699', 'Name' => 'struct state_effecter_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '43038' => { - 'BaseType' => '43033', + '43045' => { + 'BaseType' => '43040', 'Name' => 'struct state_effecter_possible_states const*const', 'Size' => '8', 'Type' => 'Const' @@ -9169,7 +9805,7 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '46553' => { + '46560' => { 'BaseType' => '102', 'Header' => undef, 'Line' => '45', @@ -9178,8 +9814,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '46630' => { - 'BaseType' => '46553', + '46637' => { + 'BaseType' => '46560', 'Header' => undef, 'Line' => '27', 'Name' => 'uint64_t', @@ -9187,7 +9823,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '46642' => { + '46649' => { 'Header' => 'bios.h', 'Line' => '38', 'Memb' => { @@ -9208,7 +9844,7 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Enum' }, - '46676' => { + '46683' => { 'Header' => 'bios.h', 'Line' => '47', 'Memb' => { @@ -9225,26 +9861,26 @@ $VAR1 = { '2' => { 'name' => 'name', 'offset' => '4', - 'type' => '46733' + 'type' => '46740' } }, 'Name' => 'struct pldm_bios_string_table_entry', 'Size' => '5', 'Type' => 'Struct' }, - '46728' => { - 'BaseType' => '46676', + '46735' => { + 'BaseType' => '46683', 'Name' => 'struct pldm_bios_string_table_entry const', 'Size' => '5', 'Type' => 'Const' }, - '46733' => { + '46740' => { 'BaseType' => '116', 'Name' => 'char[1]', 'Size' => '1', 'Type' => 'Array' }, - '46749' => { + '46756' => { 'Header' => 'bios.h', 'Line' => '53', 'Memb' => { @@ -9273,13 +9909,13 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '46814' => { - 'BaseType' => '46749', + '46821' => { + 'BaseType' => '46756', 'Name' => 'struct pldm_bios_attr_table_entry const', 'Size' => '6', 'Type' => 'Const' }, - '46835' => { + '46842' => { 'Header' => 'bios.h', 'Line' => '65', 'Memb' => { @@ -9303,13 +9939,13 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '46887' => { - 'BaseType' => '46835', + '46894' => { + 'BaseType' => '46842', 'Name' => 'struct pldm_bios_attr_val_table_entry const', 'Size' => '4', 'Type' => 'Const' }, - '46956' => { + '46963' => { 'Header' => 'bios_table.h', 'Line' => '204', 'Memb' => { @@ -9331,7 +9967,7 @@ $VAR1 = { '3' => { 'name' => 'pv_handle', 'offset' => '8', - 'type' => '47059' + 'type' => '47066' }, '4' => { 'name' => 'def_num', @@ -9348,19 +9984,25 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '47047' => { - 'BaseType' => '46956', + '47054' => { + 'BaseType' => '46963', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const', 'Size' => '32', 'Type' => 'Const' }, - '47059' => { + '47066' => { 'BaseType' => '11811', 'Name' => 'uint16_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '47069' => { + '4707' => { + 'BaseType' => '825', + 'Name' => 'struct pldm_msg_hdr const*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '47076' => { 'Header' => 'bios_table.h', 'Line' => '292', 'Memb' => { @@ -9404,25 +10046,19 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '4707' => { - 'BaseType' => '825', - 'Name' => 'struct pldm_msg_hdr const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '4712' => { 'BaseType' => '890', 'Name' => 'struct pldm_header_info*', 'Size' => '8', 'Type' => 'Pointer' }, - '47181' => { - 'BaseType' => '47069', + '47188' => { + 'BaseType' => '47076', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const', 'Size' => '24', 'Type' => 'Const' }, - '47191' => { + '47198' => { 'Header' => 'bios_table.h', 'Line' => '382', 'Memb' => { @@ -9439,12 +10075,12 @@ $VAR1 = { '2' => { 'name' => 'lower_bound', 'offset' => '8', - 'type' => '46630' + 'type' => '46637' }, '3' => { 'name' => 'upper_bound', 'offset' => '22', - 'type' => '46630' + 'type' => '46637' }, '4' => { 'name' => 'scalar_increment', @@ -9454,20 +10090,20 @@ $VAR1 = { '5' => { 'name' => 'default_value', 'offset' => '50', - 'type' => '46630' + 'type' => '46637' } }, 'Name' => 'struct pldm_bios_table_attr_entry_integer_info', 'Size' => '40', 'Type' => 'Struct' }, - '47289' => { - 'BaseType' => '47191', + '47296' => { + 'BaseType' => '47198', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const', 'Size' => '40', 'Type' => 'Const' }, - '47633' => { + '47640' => { 'Name' => 'size_t(*)(void const*)', 'Param' => { '0' => { @@ -9478,7 +10114,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'FuncPtr' }, - '47701' => { + '47708' => { 'Header' => undef, 'Line' => '902', 'Memb' => { @@ -9500,7 +10136,7 @@ $VAR1 = { '3' => { 'name' => 'entry_length_handler', 'offset' => '36', - 'type' => '47633' + 'type' => '47640' } }, 'Name' => 'struct pldm_bios_table_iter', @@ -9508,8 +10144,8 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '47771' => { - 'BaseType' => '47701', + '47778' => { + 'BaseType' => '47708', 'Name' => 'struct pldm_bios_table_iter const', 'Size' => '32', 'Type' => 'Const' @@ -9526,26 +10162,26 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '48803' => { - 'BaseType' => '47701', + '48810' => { + 'BaseType' => '47708', 'Name' => 'struct pldm_bios_table_iter*', 'Size' => '8', 'Type' => 'Pointer' }, - '48808' => { - 'BaseType' => '46887', + '48815' => { + 'BaseType' => '46894', 'Name' => 'struct pldm_bios_attr_val_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '49223' => { - 'BaseType' => '46814', + '49230' => { + 'BaseType' => '46821', 'Name' => 'struct pldm_bios_attr_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '49829' => { - 'BaseType' => '46728', + '49836' => { + 'BaseType' => '46735', 'Name' => 'struct pldm_bios_string_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9574,8 +10210,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '50950' => { - 'BaseType' => '47771', + '50957' => { + 'BaseType' => '47778', 'Name' => 'struct pldm_bios_table_iter const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9585,32 +10221,32 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '55734' => { - 'BaseType' => '46630', + '55741' => { + 'BaseType' => '46637', 'Name' => 'uint64_t*', 'Size' => '8', 'Type' => 'Pointer' }, - '55938' => { - 'BaseType' => '47289', + '55945' => { + 'BaseType' => '47296', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '56242' => { + '56249' => { 'BaseType' => '12552', 'Name' => 'char const**', 'Size' => '8', 'Type' => 'Pointer' }, - '57547' => { - 'BaseType' => '47181', + '57554' => { + 'BaseType' => '47188', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '58863' => { - 'BaseType' => '47047', + '58870' => { + 'BaseType' => '47054', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9640,14 +10276,14 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '63945' => { + '63952' => { 'Header' => 'firmware_update.h', 'Line' => '329', 'Memb' => { '0' => { 'name' => 'uuid', 'offset' => '0', - 'type' => '64049' + 'type' => '64056' }, '1' => { 'name' => 'package_header_format_version', @@ -9662,7 +10298,7 @@ $VAR1 = { '3' => { 'name' => 'package_release_date_time', 'offset' => '25', - 'type' => '15014' + 'type' => '15021' }, '4' => { 'name' => 'component_bitmap_bit_length', @@ -9684,13 +10320,13 @@ $VAR1 = { 'Size' => '36', 'Type' => 'Struct' }, - '64049' => { + '64056' => { 'BaseType' => '168', 'Name' => 'uint8_t[16]', 'Size' => '16', 'Type' => 'Array' }, - '64081' => { + '64088' => { 'Header' => 'firmware_update.h', 'Line' => '343', 'Memb' => { @@ -9707,7 +10343,7 @@ $VAR1 = { '2' => { 'name' => 'device_update_option_flags', 'offset' => '3', - 'type' => '61448' + 'type' => '61455' }, '3' => { 'name' => 'comp_image_set_version_string_type', @@ -9734,7 +10370,7 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '64276' => { + '64283' => { 'Header' => 'firmware_update.h', 'Line' => '377', 'Memb' => { @@ -9756,12 +10392,12 @@ $VAR1 = { '3' => { 'name' => 'comp_options', 'offset' => '8', - 'type' => '60950' + 'type' => '60957' }, '4' => { 'name' => 'requested_comp_activation_method', 'offset' => '16', - 'type' => '60950' + 'type' => '60957' }, '5' => { 'name' => 'comp_location_offset', @@ -9788,7 +10424,7 @@ $VAR1 = { 'Size' => '22', 'Type' => 'Struct' }, - '64458' => { + '64465' => { 'Header' => 'firmware_update.h', 'Line' => '403', 'Memb' => { @@ -9800,7 +10436,7 @@ $VAR1 = { '1' => { 'name' => 'capabilities_during_update', 'offset' => '1', - 'type' => '61448' + 'type' => '61455' }, '2' => { 'name' => 'comp_count', @@ -9832,7 +10468,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '64562' => { + '64569' => { 'Header' => 'firmware_update.h', 'Line' => '417', 'Memb' => { @@ -9849,17 +10485,17 @@ $VAR1 = { '10' => { 'name' => 'pending_comp_release_date', 'offset' => '37', - 'type' => '64744' + 'type' => '64751' }, '11' => { 'name' => 'comp_activation_methods', 'offset' => '51', - 'type' => '60950' + 'type' => '60957' }, '12' => { 'name' => 'capabilities_during_update', 'offset' => '53', - 'type' => '61448' + 'type' => '61455' }, '2' => { 'name' => 'comp_classification_index', @@ -9884,7 +10520,7 @@ $VAR1 = { '6' => { 'name' => 'active_comp_release_date', 'offset' => '17', - 'type' => '64744' + 'type' => '64751' }, '7' => { 'name' => 'pending_comp_comparison_stamp', @@ -9906,19 +10542,19 @@ $VAR1 = { 'Size' => '39', 'Type' => 'Struct' }, - '64744' => { + '64751' => { 'BaseType' => '168', 'Name' => 'uint8_t[8]', 'Size' => '8', 'Type' => 'Array' }, - '65604' => { + '65611' => { 'BaseType' => '6206', 'Name' => 'struct variable_field const', 'Size' => '16', 'Type' => 'Const' }, - '65952' => { + '65959' => { 'BaseType' => '11999', 'Name' => 'bool8_t*', 'Size' => '8', @@ -9935,32 +10571,32 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Intrinsic' }, - '69032' => { - 'BaseType' => '65604', + '69039' => { + 'BaseType' => '65611', 'Name' => 'struct variable_field const*', 'Size' => '8', 'Type' => 'Pointer' }, - '70334' => { - 'BaseType' => '64562', + '70341' => { + 'BaseType' => '64569', 'Name' => 'struct pldm_component_parameter_entry*', 'Size' => '8', 'Type' => 'Pointer' }, - '70564' => { - 'BaseType' => '64458', + '70571' => { + 'BaseType' => '64465', 'Name' => 'struct pldm_get_firmware_parameters_resp*', 'Size' => '8', 'Type' => 'Pointer' }, - '70865' => { + '70872' => { 'BaseType' => '2082', 'Name' => 'uint8_t**', 'Size' => '8', 'Type' => 'Pointer' }, - '71162' => { - 'BaseType' => '64276', + '71169' => { + 'BaseType' => '64283', 'Name' => 'struct pldm_component_image_information*', 'Size' => '8', 'Type' => 'Pointer' @@ -9979,14 +10615,14 @@ $VAR1 = { 'Size' => '3', 'Type' => 'Struct' }, - '71778' => { - 'BaseType' => '64081', + '71785' => { + 'BaseType' => '64088', 'Name' => 'struct pldm_firmware_device_id_record*', 'Size' => '8', 'Type' => 'Pointer' }, - '71930' => { - 'BaseType' => '63945', + '71937' => { + 'BaseType' => '63952', 'Name' => 'struct pldm_package_header_information*', 'Size' => '8', 'Type' => 'Pointer' @@ -9996,27 +10632,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '78388' => { - 'BaseType' => '78405', - 'Header' => undef, - 'Line' => '15', - 'Name' => 'pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', - 'Type' => 'Typedef' - }, - '78400' => { - 'BaseType' => '78388', - 'Name' => 'pldm_pdr const', - 'Size' => '24', - 'Type' => 'Const' - }, - '78405' => { - 'Header' => undef, - 'Line' => '18', + '78467' => { + 'Header' => 'pdr_data.h', + 'Line' => '12', 'Memb' => { '0' => { - 'name' => 'record_count', + 'name' => 'record_handle', 'offset' => '0', 'type' => '180' }, @@ -10026,42 +10647,56 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'first', + 'name' => 'data', 'offset' => '8', - 'type' => '79484' + 'type' => '2082' }, '3' => { - 'name' => 'last', + 'name' => 'next', 'offset' => '22', - 'type' => '79484' + 'type' => '78556' + }, + '4' => { + 'name' => 'is_remote', + 'offset' => '36', + 'type' => '6423' + }, + '5' => { + 'name' => 'terminus_handle', + 'offset' => '38', + 'type' => '5053' } }, - 'Name' => 'struct pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', + 'Name' => 'struct pldm_pdr_record', + 'Size' => '32', 'Type' => 'Struct' }, - '78470' => { - 'BaseType' => '78487', - 'Header' => undef, - 'Line' => '20', + '78556' => { + 'BaseType' => '78467', + 'Name' => 'struct pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '78568' => { + 'BaseType' => '78467', + 'Header' => 'pdr_data.h', + 'Line' => '19', 'Name' => 'pldm_pdr_record', - 'PrivateABI' => 1, 'Size' => '32', 'Type' => 'Typedef' }, - '78482' => { - 'BaseType' => '78470', + '78580' => { + 'BaseType' => '78568', 'Name' => 'pldm_pdr_record const', 'Size' => '32', 'Type' => 'Const' }, - '78487' => { - 'Header' => undef, - 'Line' => '9', + '78585' => { + 'Header' => 'pdr_data.h', + 'Line' => '21', 'Memb' => { '0' => { - 'name' => 'record_handle', + 'name' => 'record_count', 'offset' => '0', 'type' => '180' }, @@ -10071,34 +10706,43 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'data', + 'name' => 'first', 'offset' => '8', - 'type' => '2082' + 'type' => '78645' }, '3' => { - 'name' => 'next', + 'name' => 'last', 'offset' => '22', - 'type' => '79472' - }, - '4' => { - 'name' => 'is_remote', - 'offset' => '36', - 'type' => '6423' - }, - '5' => { - 'name' => 'terminus_handle', - 'offset' => '38', - 'type' => '5053' + 'type' => '78645' } }, - 'Name' => 'struct pldm_pdr_record', - 'PrivateABI' => 1, - 'Size' => '32', + 'Name' => 'struct pldm_pdr', + 'Size' => '24', 'Type' => 'Struct' }, - '78578' => { + '78645' => { + 'BaseType' => '78568', + 'Name' => 'pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '78650' => { + 'BaseType' => '78585', + 'Header' => 'pdr_data.h', + 'Line' => '26', + 'Name' => 'pldm_pdr', + 'Size' => '24', + 'Type' => 'Typedef' + }, + '78662' => { + 'BaseType' => '78650', + 'Name' => 'pldm_pdr const', + 'Size' => '24', + 'Type' => 'Const' + }, + '78667' => { 'Header' => 'pdr.h', - 'Line' => '250', + 'Line' => '355', 'Memb' => { '0' => { 'name' => 'entity_type', @@ -10120,31 +10764,31 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '78630' => { - 'BaseType' => '78578', + '78724' => { + 'BaseType' => '78667', 'Header' => 'pdr.h', - 'Line' => '254', + 'Line' => '359', 'Name' => 'pldm_entity', 'Size' => '6', 'Type' => 'Typedef' }, - '78674' => { - 'BaseType' => '78686', + '78766' => { + 'BaseType' => '78779', 'Header' => undef, - 'Line' => '264', + 'Line' => '369', 'Name' => 'pldm_entity_association_tree', 'PrivateABI' => 1, 'Size' => '16', 'Type' => 'Typedef' }, - '78686' => { + '78779' => { 'Header' => undef, - 'Line' => '427', + 'Line' => '910', 'Memb' => { '0' => { 'name' => 'root', 'offset' => '0', - 'type' => '79489' + 'type' => '80798' }, '1' => { 'name' => 'last_used_container_id', @@ -10157,28 +10801,34 @@ $VAR1 = { 'Size' => '16', 'Type' => 'Struct' }, - '78729' => { - 'BaseType' => '78746', + '78822' => { + 'BaseType' => '78840', 'Header' => undef, - 'Line' => '269', + 'Line' => '374', 'Name' => 'pldm_entity_node', 'PrivateABI' => 1, 'Size' => '40', 'Type' => 'Typedef' }, - '78746' => { + '78835' => { + 'BaseType' => '78822', + 'Name' => 'pldm_entity_node const', + 'Size' => '40', + 'Type' => 'Const' + }, + '78840' => { 'Header' => undef, - 'Line' => '432', + 'Line' => '915', 'Memb' => { '0' => { 'name' => 'entity', 'offset' => '0', - 'type' => '78630' + 'type' => '78724' }, '1' => { 'name' => 'parent', 'offset' => '6', - 'type' => '78630' + 'type' => '78724' }, '2' => { 'name' => 'remote_container_id', @@ -10188,12 +10838,12 @@ $VAR1 = { '3' => { 'name' => 'first_child', 'offset' => '22', - 'type' => '79489' + 'type' => '80798' }, '4' => { 'name' => 'next_sibling', 'offset' => '36', - 'type' => '79489' + 'type' => '80798' }, '5' => { 'name' => 'association_type', @@ -10206,65 +10856,47 @@ $VAR1 = { 'Size' => '40', 'Type' => 'Struct' }, - '79472' => { - 'BaseType' => '78487', - 'Name' => 'struct pldm_pdr_record*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '79484' => { - 'BaseType' => '78470', - 'Name' => 'pldm_pdr_record*', + '80798' => { + 'BaseType' => '78822', + 'Name' => 'pldm_entity_node*', 'Size' => '8', 'Type' => 'Pointer' }, - '79489' => { - 'BaseType' => '78729', - 'Name' => 'pldm_entity_node*', + '80876' => { + 'BaseType' => '78662', + 'Name' => 'pldm_pdr const*', 'Size' => '8', 'Type' => 'Pointer' }, - '80251' => { - 'BaseType' => '80256', + '81' => { + 'Name' => 'unsigned int', + 'Size' => '4', + 'Type' => 'Intrinsic' + }, + '81772' => { + 'BaseType' => '81777', 'Name' => 'pldm_entity**', 'Size' => '8', 'Type' => 'Pointer' }, - '80256' => { - 'BaseType' => '78630', + '81777' => { + 'BaseType' => '78724', 'Name' => 'pldm_entity*', 'Size' => '8', 'Type' => 'Pointer' }, - '80341' => { - 'BaseType' => '78674', + '81862' => { + 'BaseType' => '78766', 'Name' => 'pldm_entity_association_tree*', 'Size' => '8', 'Type' => 'Pointer' }, - '80720' => { - 'BaseType' => '79489', + '82241' => { + 'BaseType' => '80798', 'Name' => 'pldm_entity_node**', 'Size' => '8', 'Type' => 'Pointer' }, - '81' => { - 'Name' => 'unsigned int', - 'Size' => '4', - 'Type' => 'Intrinsic' - }, - '81710' => { - 'BaseType' => '78400', - 'Name' => 'pldm_pdr const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '82051' => { - 'BaseType' => '78388', - 'Name' => 'pldm_pdr*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '825' => { 'BaseType' => '714', 'Name' => 'struct pldm_msg_hdr const', @@ -10290,6 +10922,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, + '83629' => { + 'BaseType' => '78650', + 'Name' => 'pldm_pdr*', + 'Size' => '8', + 'Type' => 'Pointer' + }, '8521' => { 'BaseType' => '5053', 'Name' => 'uint16_t*', @@ -10342,181 +10980,30 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Struct' }, - '89154' => { - 'BaseType' => '78482', - 'Name' => 'pldm_pdr_record const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '9084' => { 'BaseType' => '123', 'Name' => 'size_t*', 'Size' => '8', 'Type' => 'Pointer' }, - '96208' => { - 'BaseType' => '168', - 'Header' => 'base.h', - 'Line' => '14', - 'Name' => 'pldm_tid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '96220' => { - 'BaseType' => '168', - 'Header' => 'instance-id.h', - 'Line' => '11', - 'Name' => 'pldm_instance_id_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '96600' => { - 'Header' => undef, - 'Line' => '18', - 'Memb' => { - '0' => { - 'name' => 'prev', - 'offset' => '0', - 'type' => '96220' - }, - '1' => { - 'name' => 'allocations', - 'offset' => '4', - 'type' => '180' - } - }, - 'Name' => 'struct pldm_tid_state', - 'PrivateABI' => 1, + '91926' => { + 'BaseType' => '78835', + 'Name' => 'pldm_entity_node const*', 'Size' => '8', - 'Type' => 'Struct' - }, - '96639' => { - 'Header' => undef, - 'Line' => '23', - 'Memb' => { - '0' => { - 'name' => 'state', - 'offset' => '0', - 'type' => '96681' - }, - '1' => { - 'name' => 'lock_db_fd', - 'offset' => '8264', - 'type' => '74' - } - }, - 'Name' => 'struct pldm_instance_db', - 'PrivateABI' => 1, - 'Size' => '2052', - 'Type' => 'Struct' + 'Type' => 'Pointer' }, - '96681' => { - 'BaseType' => '96600', - 'Name' => 'struct pldm_tid_state[256]', - 'Size' => '2048', - 'Type' => 'Array' + '95699' => { + 'BaseType' => '78580', + 'Name' => 'pldm_pdr_record const*', + 'Size' => '8', + 'Type' => 'Pointer' }, '969' => { 'BaseType' => '890', 'Name' => 'struct pldm_header_info const', 'Size' => '8', 'Type' => 'Const' - }, - '97109' => { - 'BaseType' => '96639', - 'Name' => 'struct pldm_instance_db*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '97535' => { - 'BaseType' => '96220', - 'Name' => 'pldm_instance_id_t*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '97711' => { - 'BaseType' => '97109', - 'Name' => 'struct pldm_instance_db**', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '98223' => { - 'BaseType' => '168', - 'Header' => 'pldm.h', - 'Line' => '12', - 'Name' => 'mctp_eid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '98235' => { - 'Header' => 'pldm.h', - 'Line' => '14', - 'Memb' => { - '0' => { - 'name' => 'PLDM_REQUESTER_SUCCESS', - 'value' => '0' - }, - '1' => { - 'name' => 'PLDM_REQUESTER_OPEN_FAIL', - 'value' => '18446744073709551615 (-1)' - }, - '10' => { - 'name' => 'PLDM_REQUESTER_SETUP_FAIL', - 'value' => '18446744073709551606 (-10)' - }, - '11' => { - 'name' => 'PLDM_REQUESTER_INVALID_SETUP', - 'value' => '18446744073709551605 (-11)' - }, - '12' => { - 'name' => 'PLDM_REQUESTER_POLL_FAIL', - 'value' => '18446744073709551604 (-12)' - }, - '2' => { - 'name' => 'PLDM_REQUESTER_NOT_PLDM_MSG', - 'value' => '18446744073709551614 (-2)' - }, - '3' => { - 'name' => 'PLDM_REQUESTER_NOT_RESP_MSG', - 'value' => '18446744073709551613 (-3)' - }, - '4' => { - 'name' => 'PLDM_REQUESTER_NOT_REQ_MSG', - 'value' => '18446744073709551612 (-4)' - }, - '5' => { - 'name' => 'PLDM_REQUESTER_RESP_MSG_TOO_SMALL', - 'value' => '18446744073709551611 (-5)' - }, - '6' => { - 'name' => 'PLDM_REQUESTER_INSTANCE_ID_MISMATCH', - 'value' => '18446744073709551610 (-6)' - }, - '7' => { - 'name' => 'PLDM_REQUESTER_SEND_FAIL', - 'value' => '18446744073709551609 (-7)' - }, - '8' => { - 'name' => 'PLDM_REQUESTER_RECV_FAIL', - 'value' => '18446744073709551608 (-8)' - }, - '9' => { - 'name' => 'PLDM_REQUESTER_INVALID_RECV_LEN', - 'value' => '18446744073709551607 (-9)' - } - }, - 'Name' => 'enum pldm_requester_error_codes', - 'Size' => '4', - 'Type' => 'Enum' - }, - '98332' => { - 'BaseType' => '98235', - 'Header' => 'pldm.h', - 'Line' => '28', - 'Name' => 'pldm_requester_rc_t', - 'Size' => '4', - 'Type' => 'Typedef' - } + } }, 'UndefinedSymbols' => { 'libpldm.so.0.3.0' => { diff --git a/include/libpldm/meson.build b/include/libpldm/meson.build index 4ff250c3d..2604b11ce 100644 --- a/include/libpldm/meson.build +++ b/include/libpldm/meson.build @@ -8,6 +8,7 @@ libpldm_headers += files( 'firmware_update.h', 'fru.h', 'instance-id.h', + 'pdr_data.h', 'pdr.h', 'platform.h', 'pldm_types.h', @@ -31,6 +32,7 @@ if get_option('oem-ibm').allowed() 'oem/ibm/libpldm/fru_oem_ibm.h', 'oem/ibm/libpldm/host.h', 'oem/ibm/libpldm/platform_oem_ibm.h', + 'oem/ibm/libpldm/pdr_oem_ibm.h', 'oem/ibm/libpldm/state_set_oem_ibm.h' ) endif diff --git a/include/libpldm/oem/ibm/libpldm/fru_oem_ibm.h b/include/libpldm/oem/ibm/libpldm/fru_oem_ibm.h index c97f8b080..22df9ad83 100644 --- a/include/libpldm/oem/ibm/libpldm/fru_oem_ibm.h +++ b/include/libpldm/oem/ibm/libpldm/fru_oem_ibm.h @@ -12,6 +12,8 @@ enum pldm_oem_ibm_fru_field_type { PLDM_OEM_FRU_FIELD_TYPE_IANA = 0X01, PLDM_OEM_FRU_FIELD_TYPE_RT = 0X02, PLDM_OEM_FRU_FIELD_TYPE_LOCATION_CODE = 0XFE, + PLDM_OEM_FRU_FIELD_TYPE_PCIE_CONFIG_SPACE_DATA = 0XFD, + PLDM_OEM_FRU_FIELD_TYPE_FIRMWARE_UAK = 0XFC, }; #ifdef __cplusplus diff --git a/include/libpldm/oem/ibm/libpldm/pdr_oem_ibm.h b/include/libpldm/oem/ibm/libpldm/pdr_oem_ibm.h new file mode 100755 index 000000000..f46c1bbf2 --- /dev/null +++ b/include/libpldm/oem/ibm/libpldm/pdr_oem_ibm.h @@ -0,0 +1,42 @@ +#ifndef PDR_OEM_IBM_H +#define PDR_OEM_IBM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "pdr_data.h" +#include "platform.h" +#include +#include +#include + +/** @brief Find the last local record + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * + * @return opaque pointer to the PDR record,will be NULL if record was not + * found + */ +pldm_pdr_record *pldm_pdr_find_last_local_record(const pldm_pdr *repo); + +/** @brief method to check if the record handle is within the HostBoot range + * or not + * + * @param[in] record_handle - record handle of the pdr + */ +bool isHBRange(const uint32_t record_handle); + +/** @brief find the container ID of the contained entity + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] entityType - entity type + * @param[in] entityInstance - instance of the entity + */ +uint16_t pldm_find_container_id(const pldm_pdr *repo, uint16_t entityType, + uint16_t entityInstance); +#ifdef __cplusplus +} +#endif + +#endif /* PDR_OEM_IBM_H */ diff --git a/include/libpldm/oem/ibm/libpldm/state_set_oem_ibm.h b/include/libpldm/oem/ibm/libpldm/state_set_oem_ibm.h index 5c8378b5c..09f3b726e 100644 --- a/include/libpldm/oem/ibm/libpldm/state_set_oem_ibm.h +++ b/include/libpldm/oem/ibm/libpldm/state_set_oem_ibm.h @@ -12,7 +12,27 @@ enum ibm_oem_pldm_state_set_ids { PLDM_OEM_IBM_VERIFICATION_STATE = 32770, PLDM_OEM_IBM_SYSTEM_POWER_STATE = 32771, PLDM_OEM_IBM_SBE_MAINTENANCE_STATE = 32772, + PLDM_OEM_IBM_BOOT_SIDE_RENAME = 32773, + PLDM_OEM_IBM_SBE_SEMANTIC_ID = 32775, PLDM_OEM_IBM_SBE_HRESET_STATE = 32776, + + PLDM_OEM_IBM_PANEL_TRIGGER_STATE = 32778, + PLDM_OEM_IBM_SLOT_ENABLE_EFFECTER_STATE = 32779, + PLDM_OEM_IBM_SLOT_ENABLE_SENSOR_STATE = 32780, + PLDM_OEM_IBM_PCIE_TOPOLOGY_ACTIONS = 32781, +}; + +enum ibm_slot_enable_effecter_state { + ADD = 0x1, + REMOVE = 0x2, + REPLACE = 0x3, +}; + +enum ibm_slot_enable_sensor_state { + SLOT_STATE_UNKOWN = 0x0, + SLOT_STATE_ENABLED = 0x1, + SLOT_STATE_DISABLED = 0x2, + SLOT_STATE_ERROR = 0x03, }; enum ibm_oem_pldm_state_set_firmware_update_state_values { @@ -45,12 +65,22 @@ enum ibm_oem_pldm_state_set_sbe_dump_state_values { SBE_RETRY_REQUIRED = 0x2, }; +enum ibm_oem_pldm_state_set_boot_side_rename_state_values { + PLDM_BOOT_SIDE_NOT_RENAMED = 1, + PLDM_BOOT_SIDE_HAS_BEEN_RENAMED = 2, +}; enum ibm_oem_pldm_state_set_sbe_hreset_state_values { SBE_HRESET_NOT_READY = 0x1, SBE_HRESET_READY = 0x2, SBE_HRESET_FAILED = 0x3, }; +enum pldm_oem_pcie_topology_actions { + GET_PCIE_TOPOLOGY = 0x1, + GET_CABLE_INFO = 0x2, + SAVE_PCIE_TOPLOGY = 0x03, +}; + #ifdef __cplusplus } #endif diff --git a/include/libpldm/pdr.h b/include/libpldm/pdr.h index de5a78760..e09157ddb 100644 --- a/include/libpldm/pdr.h +++ b/include/libpldm/pdr.h @@ -9,15 +9,7 @@ extern "C" { #include #include -/** @struct pldm_pdr - * opaque structure that acts as a handle to a PDR repository - */ -typedef struct pldm_pdr pldm_pdr; - -/** @struct pldm_pdr_record - * opaque structure that acts as a handle to a PDR record - */ -typedef struct pldm_pdr_record pldm_pdr_record; +#include "pdr_data.h" /* ====================== */ /* Common PDR access APIs */ @@ -73,6 +65,29 @@ uint32_t pldm_pdr_add(pldm_pdr *repo, const uint8_t *data, uint32_t size, uint32_t record_handle, bool is_remote, uint16_t terminus_handle); +uint32_t pldm_pdr_add_hotplug_record(pldm_pdr *repo, const uint8_t *data, + uint32_t size, uint32_t record_handle, + bool is_remote, + uint32_t prev_record_handle, + uint16_t terminus_handle); +/** @brief Add a PDR record after the record handle sent as input + * + * @param[in/out] repo - opaque pointer acting as a PDR repo handle + * @param[in] data - pointer to a PDR record, pointing to a PDR definition as + * per DSP0248. This data is memcpy'd. + * @param[in] size - size of input PDR record in bytes + * @param[in] record_handle - record handle of input PDR record + * @param[in] is_remote - if true, then the PDR is not from this terminus + * @param[in] prev_record_handle - the record handle after which the input + * record handle should be added in the repo + * + * @return uint32_t - record handle assigned to PDR record*/ +uint32_t pldm_pdr_add_after_prev_record(pldm_pdr *repo, const uint8_t *data, + uint32_t size, uint32_t record_handle, + bool is_remote, + uint32_t prev_record_handle, + uint16_t terminus_handle); + /** @brief Get record handle of a PDR record * * @param[in] repo - opaque pointer acting as a PDR repo handle @@ -102,6 +117,18 @@ const pldm_pdr_record *pldm_pdr_find_record(const pldm_pdr *repo, uint8_t **data, uint32_t *size, uint32_t *next_record_handle); +/** @brief Find the previous record handle of a PDR record + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] record_handle - record handle of input PDR record + * @param[out] prev_record_handle - record handle of the previous + * PDR + * + * @return true if record found, false otherwise + */ +bool pldm_pdr_find_prev_record_handle(pldm_pdr *repo, uint32_t record_handle, + uint32_t *prev_record_handle); + /** @brief Get PDR record next to input PDR record * * @param[in] repo - opaque pointer acting as a PDR repo handle @@ -201,6 +228,71 @@ int pldm_pdr_find_child_container_id_index_range_exclude( uint8_t child_index, uint32_t range_exclude_start_handle, uint32_t range_exclude_end_handle, uint16_t *container_id); +/** @brief Delete record using its record handle + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] record_handle - record handle of input PDR record + * @param[in] is_remote - if true, then the PDR is not from this terminus + */ +void pldm_delete_by_record_handle(pldm_pdr *repo, uint32_t record_handle, + bool is_remote); + +/** @brief update the container id of an effecter + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] effecterId - effecter ID + * @param[in] containerId - conatiner ID to be updated + */ +void pldm_change_container_id_of_effecter(const pldm_pdr *repo, + uint16_t effecterId, + uint16_t containerId); + +/** @brief update the container id of a sensor + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] sensorId - sensor ID + * @param[in] containerId - conatiner ID to be updated + */ +void pldm_change_container_id_of_sensor(const pldm_pdr *repo, uint16_t sensorId, + uint16_t containerId); + +/** @brief update the instance number of an effecter + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] effecterId - effecter ID + * @param[in] instanceNumber - instance number to be updated + */ +void pldm_change_instance_number_of_effecter(const pldm_pdr *repo, + uint16_t effecterId, + uint16_t instanceNumber); + +/** @brief update the instance number of a sensor + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] sensorId - sensor ID + * @param[in] instanceNumber - instance number to be updated + */ +void pldm_change_instance_number_of_sensor(const pldm_pdr *repo, + uint16_t sensorId, + uint16_t instanceNumber); +/** @brief delete the pdr by effecter id + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] effecter_id - effecter ID + * @param[in] is_remote - indicates which PDR to remove, local or remote + */ +uint16_t pldm_delete_by_effecter_id(pldm_pdr *repo, uint16_t effecter_id, + bool is_remote); + +/** @brief delete the pdr by sensor id + * + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] sensor_id - sensor ID + * @param[in] is_remote - indicates which PDR to remove, local or remote + */ +uint16_t pldm_delete_by_sensor_id(pldm_pdr *repo, uint16_t sensor_id, + bool is_remote); + /* ======================= */ /* FRU Record Set PDR APIs */ /* ======================= */ @@ -215,6 +307,7 @@ int pldm_pdr_find_child_container_id_index_range_exclude( * @param[in] entity_instance_num - entity instance number of FRU * @param[in] container_id - container id of FRU * @param[in] bmc_record_handle - handle used to construct the next record + * @param[in] hotplug - indicates if its a hotplug PDR or not * * @return uint32_t - record handle assigned to PDR record */ @@ -222,7 +315,7 @@ uint32_t pldm_pdr_add_fru_record_set(pldm_pdr *repo, uint16_t terminus_handle, uint16_t fru_rsi, uint16_t entity_type, uint16_t entity_instance_num, uint16_t container_id, - uint32_t bmc_record_handle); + uint32_t bmc_record_handle, bool hotplug); /** @brief Find a FRU record set PDR by FRU record set identifier * @@ -236,13 +329,24 @@ uint32_t pldm_pdr_add_fru_record_set(pldm_pdr *repo, uint16_t terminus_handle, * instance number of found PDR, or 0 if not found * @param[in] container_id - *cintainer_id will be FRU container id of found * PDR, or 0 if not found + * @param[in] is_remote - indicates which PDR to search * * @return uint32_t - record handle assigned to PDR record */ const pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi( const pldm_pdr *repo, uint16_t fru_rsi, uint16_t *terminus_handle, uint16_t *entity_type, uint16_t *entity_instance_num, - uint16_t *container_id); + uint16_t *container_id, bool is_remote); + +/** @brief deletes a FRU record set PDR by FRU record set identifier + * @param[in] repo - opaque pointer acting as a PDR repo handle + * @param[in] fru_rsi - FRU record set identifier + * @param[in] is_remote - indicates which PDR to remove, local or remote + * + * @return uint32_t the FRU rsi that was removed + */ +uint32_t pldm_pdr_remove_fru_record_set_by_rsi(pldm_pdr *repo, uint16_t fru_rsi, + bool is_remote); /* =========================== */ /* Entity Association PDR APIs */ @@ -276,6 +380,14 @@ typedef struct pldm_entity_node pldm_entity_node; */ pldm_entity_association_tree *pldm_entity_association_tree_init(void); +/** @brief Next Container ID from the association tree + * + * @param[in] tree - opaque pointer acting as a handle to the tree + * + * @return next container id - container id of the entity + */ +uint16_t next_container_id(pldm_entity_association_tree *tree); + /** @brief Add a local entity into the entity association tree * * @param[in/out] tree - opaque pointer acting as a handle to the tree @@ -289,12 +401,30 @@ pldm_entity_association_tree *pldm_entity_association_tree_init(void); * entity. If this is NULL, then the entity is the root * @param[in] association_type - relation with the parent : logical or physical * + * @param[in] is_remote - used to denote whether we are adding a BMC entity to + * the tree or a host entity + * @param[in] is_update_contanier_id - Used to determine whether need to update + * contanier id. + * true: should be changed + * false: should not be changed + * @param[in] conatiner_id - container id of the entity added + * * @return pldm_entity_node* - opaque pointer to added entity */ pldm_entity_node *pldm_entity_association_tree_add( pldm_entity_association_tree *tree, pldm_entity *entity, uint16_t entity_instance_number, pldm_entity_node *parent, - uint8_t association_type); + uint8_t association_type, bool is_remote, bool is_update_contanier_id, + uint16_t container_id); + +/** @brief deletes a node and it's children from the entity association tree + * @param[in] tree - opaque pointer acting as a handle to the tree + * @param[in] entity - the pldm entity to be deleted + * + * @return none + */ +void pldm_entity_association_tree_delete_node( + pldm_entity_association_tree *tree, pldm_entity entity); /** @brief Add an entity into the entity association tree based on remote field * set or unset. @@ -352,6 +482,14 @@ pldm_entity pldm_entity_extract(pldm_entity_node *node); int pldm_entity_node_get_remote_container_id(const pldm_entity_node *entity, uint16_t *cid); +/** @brief Extract host container id by the pldm_entity_node + * + * @param[in] entity - opaque pointer to added entity + * + * @return host container id - host container id + */ +uint16_t pldm_extract_host_container_id(const pldm_entity_node *entity); + /** @brief Destroy entity association tree * * @param[in] tree - opaque pointer acting as a handle to the tree @@ -398,10 +536,43 @@ void pldm_entity_association_pdr_add(pldm_entity_association_tree *tree, * @param[in] repo - PDR repo where entity association records should be added * @param[in] is_remote - if true, then the PDR is not from this terminus * @param[in] terminus_handle - terminus handle of the terminus + * @param[in] record_handle - is used to decide in which range pdr will be + * added 0 - Added next to recently added PDR in the repository 0xFFFFFFFF - + * Added in BMC range */ void pldm_entity_association_pdr_add_from_node( pldm_entity_node *node, pldm_pdr *repo, pldm_entity **entities, - size_t num_entities, bool is_remote, uint16_t terminus_handle); + size_t num_entities, bool is_remote, uint16_t terminus_handle, + uint32_t record_handle); + +/** @brief Remove a contained entity from an entity association PDR + * @param[in] repo - opaque pointer to pldm PDR repo + * @param[in] entity - the pldm entity to be deleted + * @param[in] event_data_op - the event data operation that happens on the + * record + * @param[in] is_remote - whether to delete from a remote pDR or local PDR + * + * @return uint32_t the PDR record handle that was updated + */ +uint32_t pldm_entity_association_pdr_remove_contained_entity( + pldm_pdr *repo, pldm_entity entity, uint8_t *event_data_op, + bool is_remote); + +/** @brief Add a contained entity into an entity association PDR + * @param[in] repo - opaque pointer to pldm PDR repo + * @param[in] entity - the pldm entity to be added + * @param[in] parent - the parent entity + * @param[in] event_data_op - the event data operation that happens on the + * record + * @param[in] is_remote - whether to add in the local or remote PDR + * + * @param[in] bmc_record_handle - handle to be added to the pdr + * + * @return uint32_t the updated PDR record handle + */ +uint32_t pldm_entity_association_pdr_add_contained_entity( + pldm_pdr *repo, pldm_entity entity, pldm_entity parent, + uint8_t *event_data_op, bool is_remote, uint32_t bmc_record_handle); /** @brief Add entity association pdr record based on record handle * earlier the records where added in a sequential way alone, with @@ -452,11 +623,14 @@ bool pldm_is_current_parent_child(pldm_entity_node *parent, pldm_entity *node); * @param[in] tree - pointer to entity association tree * @param[in/out] entity - entity type and instance id set on input, container * id set on output + * @param[in] is_remote - variable to denote whether we are finding a host + * entity or a BMC entity + * * @return pldm_entity_node* pointer to entity if found, NULL otherwise */ pldm_entity_node * pldm_entity_association_tree_find(pldm_entity_association_tree *tree, - pldm_entity *entity); + pldm_entity *entity, bool is_remote); /** @brief Find an entity in the entity association tree if remote * @@ -507,6 +681,23 @@ bool pldm_is_empty_entity_assoc_tree(pldm_entity_association_tree *tree); void pldm_entity_association_pdr_extract(const uint8_t *pdr, uint16_t pdr_len, size_t *num_entities, pldm_entity **entities); +pldm_entity pldm_get_entity_from_record_handle(const pldm_pdr *repo, + uint32_t record_handle); + +/** @brief Initialize the pldm_entity_node structure, just for deserialization + * + * @param[in] entity - node of pldm entity + * @param[in] parent - parent of pldm entity + * @param[in] host_container_id - host container id + * @param[in] first_child - first child of pldm entity + * @param[in] next_sibling - net sibling of pldm entity + * @param[in] association_type - association type + */ +pldm_entity_node *init_pldm_entity_node(pldm_entity entity, pldm_entity parent, + uint16_t host_container_id, + pldm_entity_node *first_child, + pldm_entity_node *next_sibling, + uint8_t association_type); #ifdef __cplusplus } diff --git a/include/libpldm/pdr_data.h b/include/libpldm/pdr_data.h new file mode 100755 index 000000000..ec66caaf7 --- /dev/null +++ b/include/libpldm/pdr_data.h @@ -0,0 +1,41 @@ +#ifndef PDR_DATA_H +#define PDR_DATA_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +typedef struct pldm_pdr_record { + uint32_t record_handle; + uint32_t size; + uint8_t *data; + struct pldm_pdr_record *next; + bool is_remote; + uint16_t terminus_handle; +} pldm_pdr_record; + +typedef struct pldm_pdr { + uint32_t record_count; + uint32_t size; + pldm_pdr_record *first; + pldm_pdr_record *last; +} pldm_pdr; + +/** @struct pldm_pdr + * * opaque structure that acts as a handle to a PDR repository + * */ +typedef struct pldm_pdr pldm_pdr; + +/** @struct pldm_pdr_record + * * opaque structure that acts as a handle to a PDR record + * */ +typedef struct pldm_pdr_record pldm_pdr_record; +#ifdef __cplusplus +} +#endif + +#endif /* PDR_DATA_H */ diff --git a/include/libpldm/platform.h b/include/libpldm/platform.h index 26d47c532..856a841f6 100644 --- a/include/libpldm/platform.h +++ b/include/libpldm/platform.h @@ -126,6 +126,12 @@ enum pldm_sensor_present_state { PLDM_SENSOR_UPPERFATAL = 0x0a }; +enum pldm_operational_fault_status { + PLDM_OPERATIONAL_NORMAL = 0x1, + PLDM_OPERATIONAL_ERROR = 0x2, + PLDM_OPERATIONAL_NON_RECOVERABLE_ERROR = 0x3 +}; + enum pldm_sensor_event_message_enable { PLDM_NO_EVENT_GENERATION, PLDM_EVENTS_DISABLED, @@ -268,7 +274,8 @@ enum pldm_pdr_repository_chg_event_change_record_event_data_operation { PLDM_REFRESH_ALL_RECORDS, PLDM_RECORDS_DELETED, PLDM_RECORDS_ADDED, - PLDM_RECORDS_MODIFIED + PLDM_RECORDS_MODIFIED, + PLDM_INVALID_OP }; /** @brief PLDM NumericSensorStatePresentReading data type @@ -515,7 +522,7 @@ struct pldm_pdr_fru_record_set { uint16_t terminus_handle; uint16_t fru_rsi; uint16_t entity_type; - uint16_t entity_instance_num; + uint16_t entity_instance; uint16_t container_id; } __attribute__((packed)); diff --git a/include/libpldm/pldm_types.h b/include/libpldm/pldm_types.h index e48cb8c38..3c5f08642 100644 --- a/include/libpldm/pldm_types.h +++ b/include/libpldm/pldm_types.h @@ -22,10 +22,10 @@ typedef union { * */ typedef struct pldm_version { - uint8_t alpha; - uint8_t update; - uint8_t minor; uint8_t major; + uint8_t minor; + uint8_t update; + uint8_t alpha; } __attribute__((packed)) ver32_t; typedef uint8_t bool8_t; diff --git a/include/libpldm/state_set.h b/include/libpldm/state_set.h index 38f5aa14d..9e8b927bb 100644 --- a/include/libpldm/state_set.h +++ b/include/libpldm/state_set.h @@ -223,7 +223,15 @@ enum pldm_state_set_boot_progress_state_values { /* @brief List of states for the System Power State set (ID 260). */ enum pldm_state_set_system_power_state_values { - PLDM_STATE_SET_SYS_POWER_STATE_OFF_SOFT_GRACEFUL = 9 + PLDM_STATE_SET_SYS_POWER_CYCLE_OFF_SOFT_GRACEFUL = 7, + PLDM_STATE_SET_SYS_POWER_STATE_OFF_SOFT_GRACEFUL = 9, + PLDM_STATE_SET_SYS_POWER_STATE_OFF_HARD_GRACEFUL = 10, +}; + +enum pldm_state_set_device_power_state_values { + PLDM_STATE_SET_DEVICE_POWER_STATE_UNKNOWN = 0, + PLDM_STATE_SET_DEVICE_POWER_STATE_FULLY_ON = 1, + PLDM_STATE_SET_DEVICE_POWER_STATE_OFF = 4, }; /* OEM ranges */ diff --git a/include/libpldm/states.h b/include/libpldm/states.h index a89648dfa..f42af7904 100644 --- a/include/libpldm/states.h +++ b/include/libpldm/states.h @@ -20,6 +20,12 @@ enum pldm_system_power_states { PLDM_OFF_SOFT_GRACEFUL = 9, }; +/** @brief PLDM enums for availability states + */ +enum pldm_availability_states { + PLDM_RESETTING = 9, +}; + #ifdef __cplusplus } #endif diff --git a/src/meson.build b/src/meson.build index 350611328..cc699b507 100644 --- a/src/meson.build +++ b/src/meson.build @@ -13,5 +13,7 @@ subdir('requester') subdir('transport') if get_option('oem-ibm').allowed() + add_project_arguments('-DOEM_IBM', language : 'c') + add_project_arguments('-DOEM_IBM', language : 'cpp') subdir('oem/ibm') endif diff --git a/src/oem/ibm/meson.build b/src/oem/ibm/meson.build index 04bb24f19..47db31e7b 100644 --- a/src/oem/ibm/meson.build +++ b/src/oem/ibm/meson.build @@ -1,5 +1,6 @@ libpldm_sources += files( 'file_io.c', 'host.c', - 'platform.c' + 'platform.c', + 'pdr.c' ) diff --git a/src/oem/ibm/pdr.c b/src/oem/ibm/pdr.c new file mode 100644 index 000000000..2549f614f --- /dev/null +++ b/src/oem/ibm/pdr.c @@ -0,0 +1,72 @@ +#include "libpldm/pdr.h" +#include "libpldm/pdr_oem_ibm.h" + +#include + +LIBPLDM_ABI_STABLE +pldm_pdr_record *pldm_pdr_find_last_local_record(const pldm_pdr *repo) +{ + assert(repo != NULL); + pldm_pdr_record *curr = repo->first; + pldm_pdr_record *prev = repo->first; + pldm_pdr_record *record = curr; + uint32_t recent_record_handle = curr->record_handle; + + while (curr != NULL) { + if ((curr->record_handle > 0x00000000) && + (curr->record_handle < 0x00FFFFFF)) { + if (recent_record_handle < curr->record_handle) { + recent_record_handle = curr->record_handle; + record = curr; + } + } + prev = curr; + curr = curr->next; + } + if (curr == NULL && prev != NULL) { + return record; + } + return NULL; +} + +LIBPLDM_ABI_STABLE +bool isHBRange(const uint32_t record_handle) +{ + if (record_handle >= 0x01000000 && record_handle < 0x01FFFFFF) { + return true; + } + return false; +} + +LIBPLDM_ABI_STABLE +uint16_t pldm_find_container_id(const pldm_pdr *repo, uint16_t entityType, + uint16_t entityInstance) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->type == PLDM_PDR_ENTITY_ASSOCIATION && + !(isHBRange(record->record_handle))) { + struct pldm_pdr_entity_association *pdr = + (struct pldm_pdr_entity_association + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + struct pldm_entity *child = + (struct pldm_entity *)(&pdr->children[0]); + for (int i = 0; i < pdr->num_children; ++i) { + if (pdr->container.entity_type == entityType && + pdr->container.entity_instance_num == + entityInstance) { + uint16_t id = + child->entity_container_id; + return id; + } + } + } + record = record->next; + } + return 0; +} diff --git a/src/pdr.c b/src/pdr.c index 55350a8db..a62da1d3d 100644 --- a/src/pdr.c +++ b/src/pdr.c @@ -6,21 +6,11 @@ #include #include -typedef struct pldm_pdr_record { - uint32_t record_handle; - uint32_t size; - uint8_t *data; - struct pldm_pdr_record *next; - bool is_remote; - uint16_t terminus_handle; -} pldm_pdr_record; - -typedef struct pldm_pdr { - uint32_t record_count; - uint32_t size; - pldm_pdr_record *first; - pldm_pdr_record *last; -} pldm_pdr; +#include + +#ifdef OEM_IBM +#include "oem/ibm/libpldm/pdr_oem_ibm.h" +#endif static inline uint32_t get_next_record_handle(const pldm_pdr *repo, const pldm_pdr_record *record) @@ -51,6 +41,84 @@ static void add_record(pldm_pdr *repo, pldm_pdr_record *record) ++repo->record_count; } +static void add_hotplug_record(pldm_pdr *repo, pldm_pdr_record *record, + uint32_t prev_record_handle) +{ + // the new record + // needs to be added after prev_record_handle + assert(repo != NULL); + assert(record != NULL); + record->next = NULL; + bool recordAdded = false; + if (repo->first == NULL) { + assert(repo->last == NULL); + repo->first = record; + repo->last = record; + recordAdded = true; + } else { + pldm_pdr_record *curr = repo->first; + while (curr != NULL) { + if (curr->record_handle == prev_record_handle) { + record->next = curr->next; + curr->next = record; + if (record->next == NULL) { + repo->last->next = record; + repo->last = record; + } + recordAdded = true; + break; + } + curr = curr->next; + } + // printf("\nadding the fru hotplug here + // curr->record_handle=%d",curr->record_handle); + // printf("repo-last=%x, curr=%x, curr-next=%x",(unsigned + // int)repo->last, (unsigned int)curr, (unsigned + // int)curr->next); + } + if (recordAdded == false) { + free(record); + assert(recordAdded != false); + } + repo->size += record->size; + ++repo->record_count; +} + +static void add_record_after_record_handle(pldm_pdr *repo, + pldm_pdr_record *record, + uint32_t prev_record_handle) +{ + assert(repo != NULL); + assert(record != NULL); + bool recordAdded = false; + if (repo->first == NULL) { + assert(repo->last == NULL); + repo->first = record; + repo->last = record; + recordAdded = true; + } else { + pldm_pdr_record *curr = repo->first; + while (curr != NULL) { + if (curr->record_handle == prev_record_handle) { + record->next = curr->next; + curr->next = record; + if (record->next == NULL) { + repo->last = record; + } + recordAdded = true; + break; + } + curr = curr->next; + } + } + if (recordAdded == false) { + free(record); + assert(recordAdded != false); + } + repo->size += record->size; + ++repo->record_count; +} + static inline uint32_t get_new_record_handle(const pldm_pdr *repo) { assert(repo != NULL); @@ -71,9 +139,18 @@ static pldm_pdr_record *make_new_record(const pldm_pdr *repo, pldm_pdr_record *record = malloc(sizeof(pldm_pdr_record)); assert(record != NULL); - record->record_handle = record_handle == 0 ? - get_new_record_handle(repo) : - record_handle; + if (record_handle == 0) { + record->record_handle = get_new_record_handle(repo); + } +#ifdef OEM_IBM + else if (record_handle == 0xFFFFFFFF) { + pldm_pdr_record *rec = pldm_pdr_find_last_local_record(repo); + record->record_handle = rec->record_handle + 1; + } +#endif + else { + record->record_handle = record_handle; + } record->size = size; record->is_remote = is_remote; record->terminus_handle = terminus_handle; @@ -87,11 +164,9 @@ static pldm_pdr_record *make_new_record(const pldm_pdr *repo, * caller supplied the record handle, it would exist in the * header already. */ - if (!record_handle) { - struct pldm_pdr_hdr *hdr = - (struct pldm_pdr_hdr *)(record->data); - hdr->record_handle = htole32(record->record_handle); - } + struct pldm_pdr_hdr *hdr = + (struct pldm_pdr_hdr *)(record->data); + hdr->record_handle = htole32(record->record_handle); } record->next = NULL; @@ -113,6 +188,39 @@ uint32_t pldm_pdr_add(pldm_pdr *repo, const uint8_t *data, uint32_t size, return record->record_handle; } +LIBPLDM_ABI_STABLE +uint32_t pldm_pdr_add_hotplug_record(pldm_pdr *repo, const uint8_t *data, + uint32_t size, uint32_t record_handle, + bool is_remote, + uint32_t prev_record_handle, + uint16_t terminus_handle) +{ + assert(size != 0); + assert(data != NULL); + + pldm_pdr_record *record = make_new_record( + repo, data, size, record_handle, is_remote, terminus_handle); + add_hotplug_record(repo, record, prev_record_handle); + return record->record_handle; +} + +LIBPLDM_ABI_STABLE +uint32_t pldm_pdr_add_after_prev_record(pldm_pdr *repo, const uint8_t *data, + uint32_t size, uint32_t record_handle, + bool is_remote, + uint32_t prev_record_handle, + uint16_t terminus_handle) +{ + assert(size != 0); + assert(data != NULL); + + pldm_pdr_record *record = make_new_record( + repo, data, size, record_handle, is_remote, terminus_handle); + add_record_after_record_handle(repo, record, prev_record_handle); + + return record->record_handle; +} + LIBPLDM_ABI_STABLE pldm_pdr *pldm_pdr_init(void) { @@ -175,6 +283,24 @@ const pldm_pdr_record *pldm_pdr_find_record(const pldm_pdr *repo, return NULL; } +LIBPLDM_ABI_STABLE +bool pldm_pdr_find_prev_record_handle(pldm_pdr *repo, uint32_t record_handle, + uint32_t *prev_record_handle) +{ + assert(repo != NULL); + pldm_pdr_record *curr = repo->first; + pldm_pdr_record *prev = repo->first; + while (curr != NULL) { + if (curr->record_handle == record_handle) { + *prev_record_handle = prev->record_handle; + return true; + } + prev = curr; + curr = curr->next; + } + return false; +} + LIBPLDM_ABI_STABLE const pldm_pdr_record * pldm_pdr_get_next_record(const pldm_pdr *repo, @@ -269,7 +395,7 @@ uint32_t pldm_pdr_add_fru_record_set(pldm_pdr *repo, uint16_t terminus_handle, uint16_t fru_rsi, uint16_t entity_type, uint16_t entity_instance_num, uint16_t container_id, - uint32_t bmc_record_handle) + uint32_t bmc_record_handle, bool hotplug) { uint32_t size = sizeof(struct pldm_pdr_hdr) + sizeof(struct pldm_pdr_fru_record_set); @@ -287,18 +413,27 @@ uint32_t pldm_pdr_add_fru_record_set(pldm_pdr *repo, uint16_t terminus_handle, fru->terminus_handle = htole16(terminus_handle); fru->fru_rsi = htole16(fru_rsi); fru->entity_type = htole16(entity_type); - fru->entity_instance_num = htole16(entity_instance_num); + fru->entity_instance = htole16(entity_instance_num); fru->container_id = htole16(container_id); - return pldm_pdr_add(repo, data, size, bmc_record_handle, false, - terminus_handle); + uint32_t prev_record_handle = bmc_record_handle - 1; + if (hotplug) { + return pldm_pdr_add_hotplug_record(repo, data, size, + bmc_record_handle, false, + prev_record_handle, + fru->terminus_handle); + + } else { + return pldm_pdr_add(repo, data, size, bmc_record_handle, false, + fru->terminus_handle); + } } LIBPLDM_ABI_STABLE const pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi( const pldm_pdr *repo, uint16_t fru_rsi, uint16_t *terminus_handle, uint16_t *entity_type, uint16_t *entity_instance_num, - uint16_t *container_id) + uint16_t *container_id, bool is_remote) { assert(terminus_handle != NULL); assert(entity_type != NULL); @@ -313,11 +448,11 @@ const pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi( struct pldm_pdr_fru_record_set *fru = (struct pldm_pdr_fru_record_set *)(data + sizeof(struct pldm_pdr_hdr)); - if (fru->fru_rsi == htole16(fru_rsi)) { + if (fru->fru_rsi == htole16(fru_rsi) && + curr_record->is_remote == is_remote) { *terminus_handle = le16toh(fru->terminus_handle); *entity_type = le16toh(fru->entity_type); - *entity_instance_num = - le16toh(fru->entity_instance_num); + *entity_instance_num = le16toh(fru->entity_instance); *container_id = le16toh(fru->container_id); return curr_record; } @@ -335,6 +470,55 @@ const pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi( return NULL; } +LIBPLDM_ABI_STABLE +uint32_t pldm_pdr_remove_fru_record_set_by_rsi(pldm_pdr *repo, uint16_t fru_rsi, + bool is_remote) +{ + assert(repo != NULL); + + uint32_t delete_hdl = 0; + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = NULL; + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + hdr->type == PLDM_PDR_FRU_RECORD_SET) { + struct pldm_pdr_fru_record_set *fru = + (struct pldm_pdr_fru_record_set + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + if (fru->fru_rsi == fru_rsi) { + delete_hdl = hdr->record_handle; + if (repo->first == record) { + repo->first = next; + } else { + prev->next = next; + } + if (repo->last == record) { + repo->last = prev; + if (prev != NULL) { + prev->next = NULL; // sm00 + } + } + --repo->record_count; + repo->size -= record->size; + if (record->data) { + free(record->data); + } + free(record); + break; + } else { + prev = record; + } + } else { + prev = record; + } + record = next; + } + return delete_hdl; +} + LIBPLDM_ABI_STABLE /* NOLINTNEXTLINE(readability-identifier-naming) */ void pldm_pdr_update_TL_pdr(const pldm_pdr *repo, uint16_t terminus_handle, @@ -426,6 +610,303 @@ int pldm_pdr_find_child_container_id_index_range_exclude( return -ENOKEY; } +LIBPLDM_ABI_STABLE +void pldm_delete_by_record_handle(pldm_pdr *repo, uint32_t record_handle, + bool is_remote) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = NULL; + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + (hdr->record_handle == record_handle)) { + if (repo->first == record) { + repo->first = next; + } else { + prev->next = next; + } + if (repo->last == record) { + repo->last = prev; + } + if (record->data) { + free(record->data); + } + --repo->record_count; + repo->size -= record->size; + free(record); + break; + } else { + prev = record; + } + record = next; + } +} + +LIBPLDM_ABI_STABLE +pldm_entity pldm_get_entity_from_record_handle(const pldm_pdr *repo, + uint32_t record_handle) +{ + assert(repo != NULL); + pldm_entity element = { 0, 0, 0 }; + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->record_handle == record_handle) { + switch (hdr->type) { + case (PLDM_PDR_FRU_RECORD_SET): { + struct pldm_pdr_fru_record_set *pdr = + (struct pldm_pdr_fru_record_set + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + element.entity_type = pdr->entity_type; + element.entity_instance_num = + pdr->entity_instance; + element.entity_container_id = pdr->container_id; + return element; + } + case (PLDM_STATE_SENSOR_PDR): { + struct pldm_state_sensor_pdr *pdr = + (struct pldm_state_sensor_pdr + *)((uint8_t *)record->data); + element.entity_type = pdr->entity_type; + element.entity_instance_num = + pdr->entity_instance; + element.entity_container_id = pdr->container_id; + return element; + } + case (PLDM_STATE_EFFECTER_PDR): { + struct pldm_state_effecter_pdr *pdr = + (struct pldm_state_effecter_pdr + *)((uint8_t *)record->data); + element.entity_type = pdr->entity_type; + element.entity_instance_num = + pdr->entity_instance; + element.entity_container_id = pdr->container_id; + return element; + } + case (PLDM_NUMERIC_EFFECTER_PDR): { + struct pldm_numeric_effecter_value_pdr *pdr = + (struct pldm_numeric_effecter_value_pdr + *)((uint8_t *)record->data); + element.entity_type = pdr->entity_type; + element.entity_instance_num = + pdr->entity_instance; + element.entity_container_id = pdr->container_id; + return element; + } + default: + break; + } + } + record = record->next; + } + return element; +} + +LIBPLDM_ABI_STABLE +void pldm_change_container_id_of_effecter(const pldm_pdr *repo, + uint16_t effecterId, + uint16_t containerId) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->type == PLDM_NUMERIC_EFFECTER_PDR) { + struct pldm_numeric_effecter_value_pdr *pdr = + (struct pldm_numeric_effecter_value_pdr + *)((uint8_t *)record->data); + if (pdr->effecter_id == effecterId) { + pdr->container_id = containerId; + break; + } + } else if (hdr->type == PLDM_STATE_EFFECTER_PDR) { + struct pldm_state_effecter_pdr *pdr = + (struct pldm_state_effecter_pdr + *)((uint8_t *)record->data); + if (pdr->effecter_id == effecterId) { + pdr->container_id = containerId; + break; + } + } + record = record->next; + } +} + +LIBPLDM_ABI_STABLE +void pldm_change_container_id_of_sensor(const pldm_pdr *repo, uint16_t sensorId, + uint16_t containerId) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->type == PLDM_STATE_SENSOR_PDR) { + struct pldm_state_sensor_pdr *pdr = + (struct pldm_state_sensor_pdr + *)((uint8_t *)record->data); + if (pdr->sensor_id == sensorId) { + pdr->container_id = containerId; + break; + } + } + record = record->next; + } +} + +LIBPLDM_ABI_STABLE +void pldm_change_instance_number_of_effecter(const pldm_pdr *repo, + uint16_t effecterId, + uint16_t instanceNumber) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->type == PLDM_STATE_EFFECTER_PDR) { + struct pldm_state_effecter_pdr *pdr = + (struct pldm_state_effecter_pdr + *)((uint8_t *)record->data); + if (pdr->effecter_id == effecterId) { + pdr->entity_instance = instanceNumber; + break; + } + } + record = record->next; + } +} + +LIBPLDM_ABI_STABLE +void pldm_change_instance_number_of_sensor(const pldm_pdr *repo, + uint16_t sensorId, + uint16_t instanceNumber) +{ + assert(repo != NULL); + + pldm_pdr_record *record = repo->first; + + while (record != NULL) { + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (hdr->type == PLDM_STATE_SENSOR_PDR) { + struct pldm_state_sensor_pdr *pdr = + (struct pldm_state_sensor_pdr + *)((uint8_t *)record->data); + if (pdr->sensor_id == sensorId) { + pdr->entity_instance = instanceNumber; + break; + } + } + record = record->next; + } +} + +LIBPLDM_ABI_STABLE +uint16_t pldm_delete_by_effecter_id(pldm_pdr *repo, uint16_t effecter_id, + bool is_remote) +{ + assert(repo != NULL); + + uint32_t delete_handle = 0; + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = NULL; + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + hdr->type == PLDM_STATE_EFFECTER_PDR) { + struct pldm_state_effecter_pdr *pdr = + (struct pldm_state_effecter_pdr + *)((uint8_t *)record->data); + if (pdr->effecter_id == effecter_id) { + delete_handle = hdr->record_handle; + if (repo->first == record) { + repo->first = next; + } else { + prev->next = next; + } + if (repo->last == record) { + repo->last = prev; + if (prev != NULL) { + prev->next = NULL; + } + } + --repo->record_count; + repo->size -= record->size; + if (record->data) { + free(record->data); + } + free(record); + break; + } else { + prev = record; + } + } else { + prev = record; + } + record = next; + } + return delete_handle; +} + +LIBPLDM_ABI_STABLE +uint16_t pldm_delete_by_sensor_id(pldm_pdr *repo, uint16_t sensor_id, + bool is_remote) +{ + assert(repo != NULL); + + uint32_t delete_handle = 0; + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = NULL; + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + hdr->type == PLDM_STATE_SENSOR_PDR) { + struct pldm_state_sensor_pdr *pdr = + (struct pldm_state_sensor_pdr + *)((uint8_t *)record->data); + if (pdr->sensor_id == sensor_id) { + delete_handle = hdr->record_handle; + if (repo->first == record) { + repo->first = next; + } else { + prev->next = next; + } + if (repo->last == record) { + repo->last = prev; + if (prev != NULL) { + prev->next = NULL; + } + } + --repo->record_count; + repo->size -= record->size; + if (record->data) { + free(record->data); + } + free(record); + break; + } else { + prev = record; + } + } else { + prev = record; + } + record = next; + } + return delete_handle; +} + typedef struct pldm_entity_association_tree { pldm_entity_node *root; uint16_t last_used_container_id; @@ -440,7 +921,8 @@ typedef struct pldm_entity_node { uint8_t association_type; } pldm_entity_node; -static inline uint16_t next_container_id(pldm_entity_association_tree *tree) +LIBPLDM_ABI_STABLE +uint16_t next_container_id(pldm_entity_association_tree *tree) { assert(tree != NULL); assert(tree->last_used_container_id != UINT16_MAX); @@ -451,9 +933,24 @@ static inline uint16_t next_container_id(pldm_entity_association_tree *tree) LIBPLDM_ABI_STABLE pldm_entity pldm_entity_extract(pldm_entity_node *node) { - assert(node != NULL); + if (node != NULL) { + return node->entity; + } + + pldm_entity entity = { 0, 0, 0 }; + return entity; +} - return node->entity; +LIBPLDM_ABI_STABLE +uint16_t pldm_extract_host_container_id(const pldm_entity_node *entity) +{ + uint16_t cid = 0; + + assert(entity != NULL); + + pldm_entity_node_get_remote_container_id(entity, &cid); + + return cid; } LIBPLDM_ABI_TESTING @@ -480,9 +977,12 @@ pldm_entity_association_tree *pldm_entity_association_tree_init(void) return tree; } -static pldm_entity_node *find_insertion_at(pldm_entity_node *start, - uint16_t entity_type) +static pldm_entity_node * +find_insertion_at(pldm_entity_node *start, + uint16_t entity_type) //,uint16_t *instance) //sm00 { + /*printf("\nenter find_insertion_at start->entity.entity_type=%d and + entity_type=%d", start->entity.entity_type,entity_type); */ assert(start != NULL); /* Insert after the the last node that matches the input entity type, or @@ -497,7 +997,16 @@ static pldm_entity_node *find_insertion_at(pldm_entity_node *start, } start = start->next_sibling; } - + /*while (start->next_sibling != NULL) //sm00 + { + uint16_t this_type = start->entity.entity_type; + if (this_type == entity_type) + { + *instance = start->entity.entity_instance_num; + } + start = start->next_sibling; + }*/ + // printf("\nfrom find_insertion_at returning instance=%d",*instance); return start; } @@ -505,12 +1014,14 @@ LIBPLDM_ABI_STABLE pldm_entity_node *pldm_entity_association_tree_add( pldm_entity_association_tree *tree, pldm_entity *entity, uint16_t entity_instance_number, pldm_entity_node *parent, - uint8_t association_type) + uint8_t association_type, bool is_remote, bool is_update_container_id, + uint16_t container_id) { return pldm_entity_association_tree_add_entity(tree, entity, entity_instance_number, parent, association_type, - false, true, 0xFFFF); + is_remote, is_update_container_id, + container_id); } LIBPLDM_ABI_TESTING @@ -524,6 +1035,19 @@ pldm_entity_node *pldm_entity_association_tree_add_entity( return NULL; } + /*printf("\nenter pldm_entity_association_tree_add"); */ + if (parent) { + /* printf("\nenter pldm_entity_association_tree_add with + * parent entity_type=%d, + * entity_instance_num=%d,ntity_container_id=%d", + * parent->entity.entity_type, + * parent->entity.entity_instance_num, + * parent->entity.entity_container_id);*/ + } + assert(tree != NULL); + assert(entity != NULL); + // uint16_t instance = 0; //sm00 + if (entity_instance_number != 0xFFFF && parent != NULL) { pldm_entity node; node.entity_type = entity->entity_type; @@ -562,31 +1086,45 @@ pldm_entity_node *pldm_entity_association_tree_add_entity( } else if (parent != NULL && parent->first_child == NULL) { parent->first_child = node; node->parent = parent->entity; - if (is_remote) { node->remote_container_id = entity->entity_container_id; - } - if (is_update_container_id) { - if (container_id != 0xFFFF) { - node->entity.entity_container_id = container_id; + if (is_update_container_id) { + if (container_id != 0xFFFF) { + node->entity.entity_container_id = + container_id; + } else { + node->entity.entity_container_id = + next_container_id(tree); + } } else { node->entity.entity_container_id = - next_container_id(tree); + entity->entity_container_id; } } else { - node->entity.entity_container_id = - entity->entity_container_id; - } - - if (!is_remote) { + if (is_update_container_id) { + if (container_id != 0xFFFF) { + node->entity.entity_container_id = + container_id; + } else { + node->entity.entity_container_id = + next_container_id(tree); + } + } else { + node->entity.entity_container_id = + entity->entity_container_id; + } node->remote_container_id = node->entity.entity_container_id; } } else { + /* printf("\ncreating the node now\n"); */ pldm_entity_node *start = parent == NULL ? tree->root : parent->first_child; pldm_entity_node *prev = - find_insertion_at(start, entity->entity_type); + find_insertion_at(start, entity->entity_type); // sm00 + // find_insertion_at(start, entity->entity_type,&instance); + // printf("\nreturned from find_insertion_at with + // instance=%d",instance); if (!prev) { free(node); return NULL; @@ -602,6 +1140,11 @@ pldm_entity_node *pldm_entity_association_tree_add_entity( entity_instance_number : prev->entity.entity_instance_num + 1; } + /*else //sm00 + { + printf("\ncm node add \n"); + node->entity.entity_instance_num = instance + 1; + }*/ prev->next_sibling = node; node->parent = prev->parent; node->next_sibling = next; @@ -613,6 +1156,8 @@ pldm_entity_node *pldm_entity_association_tree_add_entity( if (is_update_container_id) { entity->entity_container_id = node->entity.entity_container_id; } + + /*printf("\nexit pldm_entity_association_tree_add"); */ return node; } @@ -681,6 +1226,52 @@ void pldm_entity_association_tree_destroy(pldm_entity_association_tree *tree) free(tree); } +LIBPLDM_ABI_STABLE +void pldm_entity_association_tree_delete_node( + pldm_entity_association_tree *tree, pldm_entity entity) +{ + // printf("\nenter pldm_entity_association_tree_delete_node"); + pldm_entity_node *node = NULL; + pldm_find_entity_ref_in_tree(tree, entity, &node); + assert(node != NULL); + // sm00 + /* printf( + "\nfound node to delete " + "node->entity.entity_type=%d,node->entity.entity_instance_num=%d", + node->entity.entity_type, + node->entity.entity_instance_num);*/ + pldm_entity_node *parent = NULL; + pldm_find_entity_ref_in_tree(tree, node->parent, &parent); + // printf("\nfound parent"); + assert(parent != NULL); + pldm_entity_node *start = parent->first_child; + pldm_entity_node *prev = parent->first_child; + while (start != NULL) { + pldm_entity current_entity; + current_entity.entity_type = start->entity.entity_type; + current_entity.entity_instance_num = + start->entity.entity_instance_num; + current_entity.entity_container_id = + start->entity.entity_container_id; + if (current_entity.entity_type == entity.entity_type && + current_entity.entity_instance_num == + entity.entity_instance_num && + current_entity.entity_container_id == + entity.entity_container_id) { + if (start == parent->first_child) { + parent->first_child = start->next_sibling; + } else { + prev->next_sibling = start->next_sibling; + } + start->next_sibling = NULL; + break; + } + prev = start; + start = start->next_sibling; + } + entity_association_tree_destroy(node); +} + LIBPLDM_ABI_STABLE bool pldm_entity_is_node_parent(pldm_entity_node *node) { @@ -889,13 +1480,14 @@ void pldm_entity_association_pdr_add(pldm_entity_association_tree *tree, LIBPLDM_ABI_STABLE void pldm_entity_association_pdr_add_from_node( pldm_entity_node *node, pldm_pdr *repo, pldm_entity **entities, - size_t num_entities, bool is_remote, uint16_t terminus_handle) + size_t num_entities, bool is_remote, uint16_t terminus_handle, + uint32_t record_handle) { assert(repo != NULL); pldm_entity_association_pdr_add_from_node_with_record_handle( node, repo, entities, num_entities, is_remote, terminus_handle, - 0); + record_handle); } LIBPLDM_ABI_TESTING @@ -914,6 +1506,438 @@ int pldm_entity_association_pdr_add_from_node_with_record_handle( return 0; } +LIBPLDM_ABI_STABLE +uint32_t find_record_handle_by_contained_entity(pldm_pdr *repo, + pldm_entity entity, + bool is_remote) +{ + /*printf("\nenter find_record_handle_by_contained_entity with " + "entity_type=%d, entity_instance_num=%d, " + "entity_container_id=%d,is_remote=%d", + entity.entity_type, entity.entity_instance_num, + entity.entity_container_id, is_remote);*/ + uint32_t record_handle = 0; + bool found = false; + assert(repo != NULL); + pldm_pdr_record *record = repo->first; + while (record != NULL && !found) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + hdr->type == PLDM_PDR_ENTITY_ASSOCIATION) { + /* printf("\ngot one PLDM_PDR_ENTITY_ASSOCIATION " + "record_handle=%d", + record->record_handle);*/ + struct pldm_pdr_entity_association *pdr = + (struct pldm_pdr_entity_association + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + /* printf("\npdr->container_id=%d,pdr->num_children=%d", + pdr->container_id, pdr->num_children);*/ + struct pldm_entity *child = + (struct pldm_entity *)(&pdr->children[0]); + for (int i = 0; i < pdr->num_children; ++i) { + if (child->entity_type == entity.entity_type && + child->entity_instance_num == + entity.entity_instance_num && + child->entity_container_id == + entity.entity_container_id) { + /* printf("\nFOUND + record_handle=%d", + record->record_handle);*/ + found = true; + record_handle = record->record_handle; + break; + } + child++; + } + } // end if PLDM_PDR_ENTITY_ASSOCIATION + // record = record->next; + record = next; + } // end while + return record_handle; +} + +LIBPLDM_ABI_STABLE +uint32_t pldm_entity_association_pdr_remove_contained_entity( + pldm_pdr *repo, pldm_entity entity, uint8_t *event_data_op, + bool is_remote) +{ + assert(repo != NULL); + uint32_t updated_hdl = 0; + bool removed = false; + *event_data_op = PLDM_RECORDS_MODIFIED; + updated_hdl = + find_record_handle_by_contained_entity(repo, entity, is_remote); + if (!updated_hdl || !entity.entity_type) { + *event_data_op = PLDM_INVALID_OP; + return updated_hdl; + } + + /* printf("\npldm_entity_association_pdr_remove_contained_entity + found " "the record handle to delete %d", updated_hdl);*/ + + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = repo->first; + pldm_pdr_record *new_record = malloc(sizeof(pldm_pdr_record)); + new_record->data = NULL; // sm00 + // new_record->data = malloc(record->size - sizeof(pldm_entity)); //sm00 + // new_record->next = NULL; //sm00 + // uint8_t *new_data = new_record->data; //sm00 + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if (record->record_handle == + updated_hdl) /*(record->is_remote == is_remote) &&*/ + /*hdr->type == PLDM_PDR_ENTITY_ASSOCIATION)*/ { + new_record->data = malloc(record->size - + sizeof(pldm_entity)); // sm00 + new_record->next = NULL; // sm00 + new_record->record_handle = + htole32(record->record_handle); + new_record->size = htole32(record->size - + sizeof(pldm_entity)); // sm00 + new_record->is_remote = record->is_remote; + uint8_t *new_start = new_record->data; // sm00 new_data; + struct pldm_pdr_hdr *new_hdr = + (struct pldm_pdr_hdr *) + new_record->data; // sm00 new_data; + new_hdr->version = hdr->version; + new_hdr->record_handle = htole32(hdr->record_handle); + new_hdr->type = PLDM_PDR_ENTITY_ASSOCIATION; + new_hdr->record_change_num = + htole16(hdr->record_change_num); + /*new_hdr->length = + htole16(record->size - sizeof(struct pldm_pdr_hdr) - + sizeof(pldm_entity));*/ + new_hdr->length = htole16(hdr->length - + sizeof(pldm_entity)); // sm00 + new_start += sizeof(struct pldm_pdr_hdr); + struct pldm_pdr_entity_association *new_pdr = + (struct pldm_pdr_entity_association *)new_start; + + struct pldm_pdr_entity_association *pdr = + (struct pldm_pdr_entity_association + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + struct pldm_entity *child = + (struct pldm_entity *)(&pdr->children[0]); + + new_pdr->container_id = pdr->container_id; + new_pdr->association_type = pdr->association_type; + new_pdr->container.entity_type = + pdr->container.entity_type; + new_pdr->container.entity_instance_num = + pdr->container.entity_instance_num; + new_pdr->container.entity_container_id = + pdr->container.entity_container_id; + new_pdr->num_children = + pdr->num_children - + 1; // if this becomes 0 then just delete. no new + // entity assoc pdr is needed PENDING. can test + // once pcie cards are placed under slots + struct pldm_entity *new_child = + (struct pldm_entity *)(&new_pdr->children[0]); + + for (int i = 0; i < pdr->num_children; ++i) { + if (child->entity_type == entity.entity_type && + child->entity_instance_num == + entity.entity_instance_num && + child->entity_container_id == + entity.entity_container_id) { + removed = true; + // updated_hdl = + // hdr->record_handle; sm00 not needed + // as we are getting earlier + // skip this child.do not add in the + // new pdr + } else { + new_child->entity_type = + child->entity_type; + new_child->entity_instance_num = + child->entity_instance_num; + new_child->entity_container_id = + child->entity_container_id; + new_child++; + } + + ++child; + } + if (!new_pdr->num_children) // record will be deleted and + // new_record will not be added + { + removed = false; + *event_data_op = PLDM_RECORDS_DELETED; + if (repo->first == record) { + repo->first = record->next; + record->next = NULL; + } else if (repo->last == record) { + repo->last = prev; + prev->next = NULL; + } else { + prev->next = record->next; + record->next = NULL; + } + repo->size -= record->size; + repo->record_count--; + if (record->data) { + free(record->data); + } + free(record); + break; + } else if (removed) { + if (repo->first == record) { + repo->first = new_record; + new_record->next = record->next; + } else { + prev->next = new_record; + new_record->next = record->next; + record->next = NULL; // sm00 + } + if (repo->last == record) { + repo->last = new_record; + new_record->next = NULL; // sm00 + } + repo->size -= record->size; + repo->size += new_record->size; + + if (record->data) { + free(record->data); + } + free(record); + break; + } + } + prev = record; + record = next; + } + if (!removed) { + if (new_record->data) // sm00 + { + free(new_record->data); // sm00 + } + if (new_record) { + free(new_record); + } + // free(new_data); sm00 + } + return updated_hdl; +} + +LIBPLDM_ABI_STABLE +uint32_t pldm_entity_association_pdr_add_contained_entity( + pldm_pdr *repo, pldm_entity entity, pldm_entity parent, + uint8_t *event_data_op, bool is_remote, uint32_t bmc_record_handle) +{ + /*printf("\nenter pldm_entity_association_pdr_add_contained_entity + entity type=%d entity ins=%d container id=%d", entity.entity_type, + entity.entity_instance_num, entity.entity_container_id); printf("\n and + parent entity type=%d entity ins=%d container id=%d",parent.entity_type, + parent.entity_instance_num, parent.entity_container_id);*/ + // testing pending with pcie slot-card. can test once cards are placed + // under slots in DBus. usecase: will not find the PDR and need to + // create a new entity assoc PDR since the number of child is always 1 + // if the PDR is not found then search for the PDR having parent as a + // child if found then parent is valid and create a new enitity assoc + // PDR with parent-entity + uint32_t updated_hdl = 0; + bool added = false; + *event_data_op = PLDM_RECORDS_MODIFIED; + pldm_pdr_record *record = repo->first; + pldm_pdr_record *prev = repo->first; + pldm_pdr_record *new_record = malloc(sizeof(pldm_pdr_record)); + new_record->data = NULL; // sm00 + // new_record->data = malloc(record->size + sizeof(pldm_entity)); //sm00 + // new_record->next = NULL; //sm00 + uint8_t *new_data = NULL; // new_record->data; //sm00 + bool found = false; + while (record != NULL) { + pldm_pdr_record *next = record->next; + struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)record->data; + if ((record->is_remote == is_remote) && + hdr->type == PLDM_PDR_ENTITY_ASSOCIATION) { + struct pldm_pdr_entity_association *pdr = + (struct pldm_pdr_entity_association + *)((uint8_t *)record->data + + sizeof(struct pldm_pdr_hdr)); + if (pdr->container.entity_type == parent.entity_type && + pdr->container.entity_instance_num == + parent.entity_instance_num && + pdr->container.entity_container_id == + parent.entity_container_id) { + found = true; + new_record->data = + malloc(record->size + + sizeof(pldm_entity)); // sm00 + new_record->next = NULL; // sm00 + new_data = new_record->data; // sm00 + updated_hdl = record->record_handle; + new_record->record_handle = + htole32(record->record_handle); + new_record->size = htole32(record->size + + sizeof(pldm_entity)); + new_record->is_remote = record->is_remote; + uint8_t *new_start = new_data; + struct pldm_pdr_hdr *new_hdr = + (struct pldm_pdr_hdr *)new_data; + new_hdr->version = hdr->version; + new_hdr->record_handle = + htole32(hdr->record_handle); + new_hdr->type = PLDM_PDR_ENTITY_ASSOCIATION; + new_hdr->record_change_num = + htole16(hdr->record_change_num); + /* new_hdr->length = htole16( + record->size - sizeof(struct + pldm_pdr_hdr) + sizeof(pldm_entity)); */ + new_hdr->length = + htole16(hdr->length + + sizeof(pldm_entity)); // sm00 + new_start += sizeof(struct pldm_pdr_hdr); + struct pldm_pdr_entity_association *new_pdr = + (struct pldm_pdr_entity_association *) + new_start; + + struct pldm_entity *child = + (struct pldm_entity + *)(&pdr->children[0]); + + new_pdr->container_id = pdr->container_id; + new_pdr->association_type = + pdr->association_type; + new_pdr->container.entity_type = + pdr->container.entity_type; + new_pdr->container.entity_instance_num = + pdr->container.entity_instance_num; + new_pdr->container.entity_container_id = + pdr->container.entity_container_id; + new_pdr->num_children = pdr->num_children + 1; + struct pldm_entity *new_child = + (struct pldm_entity + *)(&new_pdr->children[0]); + for (int i = 0; i < pdr->num_children; ++i) { + new_child->entity_type = + child->entity_type; + new_child->entity_instance_num = + child->entity_instance_num; + new_child->entity_container_id = + child->entity_container_id; + new_child++; + child++; + } + new_child->entity_type = entity.entity_type; + new_child->entity_instance_num = + entity.entity_instance_num; + new_child->entity_container_id = + entity.entity_container_id; + + added = true; + if (repo->first == record) { + repo->first = new_record; + new_record->next = record->next; + } else { + prev->next = new_record; + new_record->next = record->next; + } + if (repo->last == record) { + repo->last = new_record; + } + repo->size -= record->size; + repo->size += new_record->size; + + if (record->data) { + free(record->data); + } + free(record); + break; + } + } + + prev = record; + record = next; + } + if (!found && !is_remote) // need to create a new entity assoc pdr + { + // printf("\ncreating a new entity assoc pdr for slot \n"); + uint8_t num_children = 1; + added = false; + *event_data_op = PLDM_RECORDS_ADDED; + prev = repo->first; + pldm_pdr_record *curr = repo->first; + while (curr != NULL) { + if (curr->record_handle == bmc_record_handle) { + // printf("\nfound the place \n"); + added = true; + break; + } + prev = curr; + curr = curr->next; + } + + if (added) { + uint16_t new_pdr_size = + sizeof(struct pldm_pdr_hdr) + sizeof(uint16_t) + + sizeof(uint8_t) + sizeof(pldm_entity) + + sizeof(uint8_t) + + num_children * sizeof(pldm_entity); + new_record->data = malloc(new_pdr_size); + new_record->record_handle = bmc_record_handle + 1; + new_record->size = new_pdr_size; + new_record->is_remote = false; + new_record->next = curr->next; + curr->next = new_record; + if (repo->last == prev) { + repo->last = new_record; + } + repo->size += new_record->size; + ++repo->record_count; + + updated_hdl = new_record->record_handle; + + struct pldm_pdr_hdr *new_hdr = + (struct pldm_pdr_hdr *)new_record->data; + new_hdr->version = 1; + new_hdr->record_handle = new_record->record_handle; + new_hdr->type = PLDM_PDR_ENTITY_ASSOCIATION; + new_hdr->record_change_num = 0; + new_hdr->length = htole16(new_pdr_size - + sizeof(struct pldm_pdr_hdr)); + + struct pldm_pdr_entity_association *new_pdr = + (struct pldm_pdr_entity_association + *)((uint8_t *)new_record->data + + sizeof(struct pldm_pdr_hdr)); + new_pdr->container.entity_type = parent.entity_type; + new_pdr->container.entity_instance_num = + parent.entity_instance_num; + new_pdr->container.entity_container_id = + parent.entity_container_id; + new_pdr->container_id = entity.entity_container_id; + new_pdr->association_type = + PLDM_ENTITY_ASSOCIAION_PHYSICAL; + new_pdr->num_children = 1; + struct pldm_entity *new_child = + (struct pldm_entity *)(&new_pdr->children[0]); + new_child->entity_type = entity.entity_type; + new_child->entity_instance_num = + entity.entity_instance_num; + new_child->entity_container_id = + entity.entity_container_id; + } + } + if (!added) { + if (new_record->data) // sm00 + { + free(new_record->data); // sm00 + } + if (new_record) // sm00 + { + free(new_record); // sm00 + } + } + // printf("\nreturning updated_hdl=%d", updated_hdl); + return updated_hdl; +} + LIBPLDM_ABI_STABLE void find_entity_ref_in_tree(pldm_entity_node *tree_node, pldm_entity entity, pldm_entity_node **node) @@ -954,8 +1978,6 @@ void pldm_pdr_remove_pdrs_by_terminus_handle(pldm_pdr *repo, uint16_t terminus_handle) { assert(repo != NULL); - bool removed = false; - pldm_pdr_record *record = repo->first; pldm_pdr_record *prev = NULL; while (record != NULL) { @@ -975,27 +1997,11 @@ void pldm_pdr_remove_pdrs_by_terminus_handle(pldm_pdr *repo, --repo->record_count; repo->size -= record->size; free(record); - removed = true; } else { prev = record; } record = next; } - - if (removed == true) { - record = repo->first; - uint32_t record_handle = 0; - while (record != NULL) { - record->record_handle = ++record_handle; - if (record->data != NULL) { - struct pldm_pdr_hdr *hdr = - (struct pldm_pdr_hdr *)(record->data); - hdr->record_handle = - htole32(record->record_handle); - } - record = record->next; - } - } } LIBPLDM_ABI_STABLE @@ -1115,31 +2121,45 @@ pldm_entity_association_tree_find_if_remote(pldm_entity_association_tree *tree, LIBPLDM_ABI_STABLE void entity_association_tree_find(pldm_entity_node *node, pldm_entity *entity, - pldm_entity_node **out) + pldm_entity_node **out, bool is_remote) { if (node == NULL) { return; } + if (is_remote) { + if (node->entity.entity_type == entity->entity_type && + node->entity.entity_instance_num == + entity->entity_instance_num && + node->remote_container_id == entity->entity_container_id) { + entity->entity_container_id = + node->entity.entity_container_id; - if (node->entity.entity_type == entity->entity_type && - node->entity.entity_instance_num == entity->entity_instance_num) { - entity->entity_container_id = node->entity.entity_container_id; - *out = node; - return; + *out = node; + return; + } + } else { + if (node->entity.entity_type == entity->entity_type && + node->entity.entity_instance_num == + entity->entity_instance_num) { + entity->entity_container_id = + node->entity.entity_container_id; + *out = node; + return; + } } - entity_association_tree_find(node->next_sibling, entity, out); - entity_association_tree_find(node->first_child, entity, out); + entity_association_tree_find(node->next_sibling, entity, out, is_remote); + entity_association_tree_find(node->first_child, entity, out, is_remote); } LIBPLDM_ABI_STABLE pldm_entity_node * pldm_entity_association_tree_find(pldm_entity_association_tree *tree, - pldm_entity *entity) + pldm_entity *entity, bool is_remote) { assert(tree != NULL); pldm_entity_node *node = NULL; - entity_association_tree_find(tree->root, entity, &node); + entity_association_tree_find(tree->root, entity, &node, is_remote); return node; } @@ -1231,3 +2251,21 @@ void pldm_entity_association_pdr_extract(const uint8_t *pdr, uint16_t pdr_len, ++i; } } + +LIBPLDM_ABI_STABLE +pldm_entity_node *init_pldm_entity_node(pldm_entity entity, pldm_entity parent, + uint16_t remote_container_id, + pldm_entity_node *first_child, + pldm_entity_node *next_sibling, + uint8_t association_type) +{ + pldm_entity_node *node = malloc(sizeof(pldm_entity_node)); + node->entity = entity; + node->parent = parent; + node->remote_container_id = remote_container_id; + node->first_child = first_child; + node->next_sibling = next_sibling; + node->association_type = association_type; + + return node; +} diff --git a/tests/libpldm_pdr_test.cpp b/tests/libpldm_pdr_test.cpp index 869b1b742..75da345a1 100644 --- a/tests/libpldm_pdr_test.cpp +++ b/tests/libpldm_pdr_test.cpp @@ -269,7 +269,8 @@ TEST(PDRAccess, testGet) EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in)); EXPECT_EQ(nextRecHdl, 0u); - EXPECT_EQ(memcmp(outData, in.data(), sizeof(in)), 0); + EXPECT_EQ(memcmp(outData + 4, in.data() + 1, sizeof(in) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; auto hdl2 = pldm_pdr_find_record(repo, 1, &outData, &size, &nextRecHdl); @@ -277,7 +278,8 @@ TEST(PDRAccess, testGet) EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in)); EXPECT_EQ(nextRecHdl, 0u); - EXPECT_EQ(memcmp(outData, in.data(), sizeof(in)), 0); + EXPECT_EQ(memcmp(outData + 4, in.data() + 1, sizeof(in) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl2->record_handle); outData = nullptr; hdl = pldm_pdr_find_record(repo, htole32(0xdeaddead), &outData, &size, @@ -299,37 +301,47 @@ TEST(PDRAccess, testGet) EXPECT_EQ(pldm_pdr_get_record_count(repo), 4u); EXPECT_EQ(pldm_pdr_get_repo_size(repo), sizeof(in2) * 4); hdl = pldm_pdr_find_record(repo, 0, &outData, &size, &nextRecHdl); + EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in)); EXPECT_EQ(nextRecHdl, 2u); - EXPECT_EQ(memcmp(outData, in.data(), sizeof(in)), 0); + EXPECT_EQ(memcmp(outData + 4, in.data() + 1, sizeof(in) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; + hdl2 = pldm_pdr_find_record(repo, 1, &outData, &size, &nextRecHdl); EXPECT_EQ(hdl, hdl2); EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in)); EXPECT_EQ(nextRecHdl, 2u); - EXPECT_EQ(memcmp(outData, in.data(), sizeof(in)), 0); + EXPECT_EQ(memcmp(outData + 4, in.data() + 1, sizeof(in) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl2->record_handle); outData = nullptr; + hdl = pldm_pdr_find_record(repo, 2, &outData, &size, &nextRecHdl); EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 3u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; + hdl = pldm_pdr_find_record(repo, 3, &outData, &size, &nextRecHdl); EXPECT_NE(hdl, nullptr); EXPECT_EQ(pldm_pdr_record_is_remote(hdl), false); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 4u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; + hdl = pldm_pdr_find_record(repo, 4, &outData, &size, &nextRecHdl); EXPECT_NE(hdl, nullptr); EXPECT_EQ(pldm_pdr_record_is_remote(hdl), true); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 0u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; pldm_pdr_destroy(repo); @@ -351,7 +363,8 @@ TEST(PDRAccess, testGetNext) EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in)); EXPECT_EQ(nextRecHdl, 0u); - EXPECT_EQ(memcmp(outData, in.data(), sizeof(in)), 0); + EXPECT_EQ(memcmp(outData + 4, in.data() + 1, sizeof(in) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; std::array in2{1000, 3450, 30, 60, 890, @@ -368,19 +381,24 @@ TEST(PDRAccess, testGetNext) EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 3u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; + hdl = pldm_pdr_get_next_record(repo, hdl, &outData, &size, &nextRecHdl); EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 4u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; + hdl = pldm_pdr_get_next_record(repo, hdl, &outData, &size, &nextRecHdl); EXPECT_NE(hdl, nullptr); EXPECT_EQ(size, sizeof(in2)); EXPECT_EQ(nextRecHdl, 0u); - EXPECT_EQ(memcmp(outData, in2.data(), sizeof(in2)), 0); + EXPECT_EQ(memcmp(outData + 4, in2.data() + 1, sizeof(in2) - 4), 0); + EXPECT_EQ(reinterpret_cast(outData)[0], hdl->record_handle); outData = nullptr; pldm_pdr_destroy(repo); @@ -439,11 +457,69 @@ TEST(PDRAccess, testFindByType) pldm_pdr_destroy(repo); } +TEST(PDRAccess, getPLDMEntityfromPDR) +{ + auto repo = pldm_pdr_init(); + + // Test FRU Record set PDR + auto handle = pldm_pdr_add_fru_record_set(repo, 1, 10, 1, 0, 100, 0, false); + auto entity = pldm_get_entity_from_record_handle(repo, handle); + EXPECT_EQ(entity.entity_type, htole16(1)); + EXPECT_EQ(entity.entity_instance_num, htole16(0)); + EXPECT_EQ(entity.entity_container_id, htole16(100)); + + // Test State Effecter PDR + std::array data{212, 1, 0, 0, 1, 11, 0, 0, 19, 0, + 1, 0, 196, 0, 64, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 1, 10, 0, 1, 6}; + handle = pldm_pdr_add(repo, data.data(), data.size(), 0, false, 1); + entity = pldm_get_entity_from_record_handle(repo, handle); + EXPECT_EQ(entity.entity_type, htole16(64)); + EXPECT_EQ(entity.entity_instance_num, htole16(1)); + EXPECT_EQ(entity.entity_container_id, htole16(2)); + + // Test State Sensor PDR + std::array data2{10, 1, 0, 0, 1, 4, 0, 0, 17, + 0, 1, 0, 199, 0, 120, 0, 4, 0, + 5, 0, 0, 0, 1, 10, 0, 1, 6}; + handle = pldm_pdr_add(repo, data2.data(), data2.size(), 0, false, 1); + entity = pldm_get_entity_from_record_handle(repo, handle); + EXPECT_EQ(entity.entity_type, htole16(120)); + EXPECT_EQ(entity.entity_instance_num, htole16(4)); + EXPECT_EQ(entity.entity_container_id, htole16(5)); + + // Test Numeric Effecter PDR + std::array data3{10, 1, 0, 0, 1, 9, 0, 0, 17, 0, 1, 0, 199, 0, + 6, 0, 3, 0, 2, 0, 0, 0, 1, 10, 0, 1, 6}; + handle = pldm_pdr_add(repo, data3.data(), data3.size(), 0, false, 1); + entity = pldm_get_entity_from_record_handle(repo, handle); + EXPECT_EQ(entity.entity_type, htole16(6)); + EXPECT_EQ(entity.entity_instance_num, htole16(3)); + EXPECT_EQ(entity.entity_container_id, htole16(2)); + + // Test Non Supported PDR types + std::array notSupportedtypes{ + 1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 126, 127}; + for (const auto& type : notSupportedtypes) + { + std::array data4{}; + pldm_pdr_hdr* hdr = reinterpret_cast(data4.data()); + hdr->type = type; + auto handle = + pldm_pdr_add(repo, data4.data(), data4.size(), 0, false, 1); + entity = pldm_get_entity_from_record_handle(repo, handle); + EXPECT_EQ(entity.entity_type, htole16(0)); + EXPECT_EQ(entity.entity_instance_num, htole16(0)); + EXPECT_EQ(entity.entity_container_id, htole16(0)); + } + pldm_pdr_destroy(repo); +} + TEST(PDRUpdate, testAddFruRecordSet) { auto repo = pldm_pdr_init(); - auto handle = pldm_pdr_add_fru_record_set(repo, 1, 10, 1, 0, 100, 0); + auto handle = pldm_pdr_add_fru_record_set(repo, 1, 10, 1, 0, 100, 0, false); EXPECT_EQ(handle, 1u); EXPECT_EQ(pldm_pdr_get_record_count(repo), 1u); EXPECT_EQ(pldm_pdr_get_repo_size(repo), @@ -465,11 +541,11 @@ TEST(PDRUpdate, testAddFruRecordSet) EXPECT_EQ(fru->terminus_handle, htole16(1)); EXPECT_EQ(fru->fru_rsi, htole16(10)); EXPECT_EQ(fru->entity_type, htole16(1)); - EXPECT_EQ(fru->entity_instance_num, htole16(0)); + EXPECT_EQ(fru->entity_instance, htole16(0)); EXPECT_EQ(fru->container_id, htole16(100)); outData = nullptr; - handle = pldm_pdr_add_fru_record_set(repo, 2, 11, 2, 1, 101, 0); + handle = pldm_pdr_add_fru_record_set(repo, 2, 11, 2, 1, 101, 0, false); EXPECT_EQ(handle, 2u); EXPECT_EQ(pldm_pdr_get_record_count(repo), 2u); EXPECT_EQ(pldm_pdr_get_repo_size(repo), @@ -488,7 +564,7 @@ TEST(PDRUpdate, testAddFruRecordSet) EXPECT_EQ(fru->terminus_handle, htole16(2)); EXPECT_EQ(fru->fru_rsi, htole16(11)); EXPECT_EQ(fru->entity_type, htole16(2)); - EXPECT_EQ(fru->entity_instance_num, htole16(1)); + EXPECT_EQ(fru->entity_instance, htole16(1)); EXPECT_EQ(fru->container_id, htole16(101)); outData = nullptr; @@ -506,7 +582,7 @@ TEST(PDRUpdate, testAddFruRecordSet) EXPECT_EQ(fru->terminus_handle, htole16(1)); EXPECT_EQ(fru->fru_rsi, htole16(10)); EXPECT_EQ(fru->entity_type, htole16(1)); - EXPECT_EQ(fru->entity_instance_num, htole16(0)); + EXPECT_EQ(fru->entity_instance, htole16(0)); EXPECT_EQ(fru->container_id, htole16(100)); outData = nullptr; @@ -521,28 +597,28 @@ TEST(PDRUpdate, tesFindtFruRecordSet) uint16_t entityType{}; uint16_t entityInstanceNum{}; uint16_t containerId{}; - auto first = pldm_pdr_add_fru_record_set(repo, 1, 1, 1, 0, 100, 1); - auto second = pldm_pdr_add_fru_record_set(repo, 1, 2, 1, 1, 100, 2); - auto third = pldm_pdr_add_fru_record_set(repo, 1, 3, 1, 2, 100, 3); + auto first = pldm_pdr_add_fru_record_set(repo, 1, 1, 1, 0, 100, 1, false); + auto second = pldm_pdr_add_fru_record_set(repo, 1, 2, 1, 1, 100, 2, false); + auto third = pldm_pdr_add_fru_record_set(repo, 1, 3, 1, 2, 100, 3, false); EXPECT_EQ(first, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 1, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(second, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 2, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(third, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 3, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(terminusHdl, 1u); EXPECT_EQ(entityType, 1u); EXPECT_EQ(entityInstanceNum, 2u); EXPECT_EQ(containerId, 100u); EXPECT_EQ(nullptr, pldm_pdr_fru_record_set_find_by_rsi( repo, 4, &terminusHdl, &entityType, - &entityInstanceNum, &containerId)); + &entityInstanceNum, &containerId, false)); pldm_pdr_destroy(repo); } @@ -607,31 +683,40 @@ TEST(EntityAssociationPDR, testBuild) auto tree = pldm_entity_association_tree_init(); auto l1 = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1, nullptr); - auto l2a = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2a = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2a, nullptr); - auto l2b = pldm_entity_association_tree_add( - tree, &entities[2], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2b = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2b, nullptr); - auto l2c = pldm_entity_association_tree_add( - tree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2c = pldm_entity_association_tree_add(tree, &entities[3], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2c, nullptr); - auto l3a = pldm_entity_association_tree_add( - tree, &entities[4], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3a = pldm_entity_association_tree_add(tree, &entities[4], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3a, nullptr); - auto l3b = pldm_entity_association_tree_add( - tree, &entities[5], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3b = pldm_entity_association_tree_add(tree, &entities[5], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3b, nullptr); - auto l3c = pldm_entity_association_tree_add( - tree, &entities[6], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3c = pldm_entity_association_tree_add(tree, &entities[6], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3b, nullptr); - auto l4a = pldm_entity_association_tree_add( - tree, &entities[7], 0xFFFF, l3a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l4a = pldm_entity_association_tree_add(tree, &entities[7], 0xFFFF, l3a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l4a, nullptr); - auto l4b = pldm_entity_association_tree_add( - tree, &entities[8], 0xFFFF, l3b, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l4b = pldm_entity_association_tree_add(tree, &entities[8], 0xFFFF, l3b, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l4b, nullptr); EXPECT_EQ(pldm_entity_is_node_parent(l1), true); @@ -840,7 +925,7 @@ TEST(EntityAssociationPDR, findAndAddRemotePDR) entity.entity_type = 135; entity.entity_instance_num = 0; entity.entity_container_id = 2; - auto result1 = pldm_entity_association_tree_find(tree, &entity); + auto result1 = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result1, l5a); EXPECT_EQ(entities[5].entity_container_id, 2); auto l6a = pldm_entity_association_tree_add_entity( @@ -850,7 +935,7 @@ TEST(EntityAssociationPDR, findAndAddRemotePDR) entity.entity_type = 135; entity.entity_instance_num = 0; entity.entity_container_id = 3; - auto result2 = pldm_entity_association_tree_find(tree, &entity); + auto result2 = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_NE(result2, l5b); EXPECT_EQ(entities[6].entity_container_id, 3); auto l7a = pldm_entity_association_tree_add_entity( @@ -872,7 +957,8 @@ TEST(EntityAssociationPDR, testSpecialTrees) // A auto tree = pldm_entity_association_tree_init(); auto node = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); size_t num{}; pldm_entity* out = nullptr; @@ -887,13 +973,16 @@ TEST(EntityAssociationPDR, testSpecialTrees) // A-A-A tree = pldm_entity_association_tree_init(); node = pldm_entity_association_tree_add(tree, &entities[0], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0XFFFF); EXPECT_NE(node, nullptr); node = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); node = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); pldm_entity_association_tree_visit(tree, &out, &num); EXPECT_EQ(num, 3u); @@ -916,13 +1005,16 @@ TEST(EntityAssociationPDR, testSpecialTrees) // A tree = pldm_entity_association_tree_init(); node = pldm_entity_association_tree_add(tree, &entities[0], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); auto node1 = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, node, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[1], 0xFFFF, node, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node1, nullptr); auto node2 = pldm_entity_association_tree_add( - tree, &entities[2], 0xFFFF, node1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[2], 0xFFFF, node1, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node2, nullptr); pldm_entity_association_tree_visit(tree, &out, &num); EXPECT_EQ(num, 3u); @@ -943,16 +1035,20 @@ TEST(EntityAssociationPDR, testSpecialTrees) // A-A tree = pldm_entity_association_tree_init(); node = pldm_entity_association_tree_add(tree, &entities[0], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); node = pldm_entity_association_tree_add(tree, &entities[0], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); node1 = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node1, nullptr); node2 = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node2, nullptr); pldm_entity_association_tree_visit(tree, &out, &num); EXPECT_EQ(num, 4u); @@ -1010,43 +1106,55 @@ TEST(EntityAssociationPDR, testPDR) auto tree = pldm_entity_association_tree_init(); auto l1 = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1, nullptr); auto l1a = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[1], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1a, nullptr); - auto l2a = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2a = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2a, nullptr); auto l2b = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, l1, - PLDM_ENTITY_ASSOCIAION_LOGICAL); + PLDM_ENTITY_ASSOCIAION_LOGICAL, + false, true, 0xFFFF); EXPECT_NE(l2b, nullptr); - auto l2c = pldm_entity_association_tree_add( - tree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2c = pldm_entity_association_tree_add(tree, &entities[3], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2c, nullptr); auto l2d = pldm_entity_association_tree_add(tree, &entities[4], 0xFFFF, l1, - PLDM_ENTITY_ASSOCIAION_LOGICAL); + PLDM_ENTITY_ASSOCIAION_LOGICAL, + false, true, 0xFFFF); EXPECT_NE(l2d, nullptr); - auto l3a = pldm_entity_association_tree_add( - tree, &entities[5], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3a = pldm_entity_association_tree_add(tree, &entities[5], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3a, nullptr); - auto l3b = pldm_entity_association_tree_add( - tree, &entities[6], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3b = pldm_entity_association_tree_add(tree, &entities[6], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3b, nullptr); auto l3c = pldm_entity_association_tree_add(tree, &entities[7], 0xFFFF, l2a, - PLDM_ENTITY_ASSOCIAION_LOGICAL); + PLDM_ENTITY_ASSOCIAION_LOGICAL, + false, true, 0xFFFF); EXPECT_NE(l3c, nullptr); auto l3d = pldm_entity_association_tree_add(tree, &entities[8], 0xFFFF, l2a, - PLDM_ENTITY_ASSOCIAION_LOGICAL); + PLDM_ENTITY_ASSOCIAION_LOGICAL, + false, true, 0xFFFF); EXPECT_NE(l3d, nullptr); - auto l4a = pldm_entity_association_tree_add( - tree, &entities[9], 0xFFFF, l3a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l4a = pldm_entity_association_tree_add(tree, &entities[9], 0xFFFF, l3a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l4a, nullptr); auto l4b = pldm_entity_association_tree_add( - tree, &entities[10], 0xFFFF, l3b, PLDM_ENTITY_ASSOCIAION_LOGICAL); + tree, &entities[10], 0xFFFF, l3b, PLDM_ENTITY_ASSOCIAION_LOGICAL, false, + true, 0xFFFF); EXPECT_NE(l4b, nullptr); EXPECT_EQ(pldm_entity_get_num_children(l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL), @@ -1302,60 +1410,69 @@ TEST(EntityAssociationPDR, testFind) auto tree = pldm_entity_association_tree_init(); auto l1 = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1, nullptr); - auto l2a = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2a = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2a, nullptr); - auto l2b = pldm_entity_association_tree_add( - tree, &entities[2], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2b = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2b, nullptr); - auto l2c = pldm_entity_association_tree_add( - tree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2c = pldm_entity_association_tree_add(tree, &entities[3], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2c, nullptr); - auto l3a = pldm_entity_association_tree_add( - tree, &entities[4], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3a = pldm_entity_association_tree_add(tree, &entities[4], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3a, nullptr); - auto l3b = pldm_entity_association_tree_add( - tree, &entities[5], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3b = pldm_entity_association_tree_add(tree, &entities[5], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3b, nullptr); - auto l3c = pldm_entity_association_tree_add( - tree, &entities[6], 0xFFFF, l2a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l3c = pldm_entity_association_tree_add(tree, &entities[6], 0xFFFF, l2a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l3c, nullptr); - auto l4a = pldm_entity_association_tree_add( - tree, &entities[7], 0xFFFF, l3a, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l4a = pldm_entity_association_tree_add(tree, &entities[7], 0xFFFF, l3a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l4a, nullptr); - auto l4b = pldm_entity_association_tree_add( - tree, &entities[8], 0xFFFF, l3b, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l4b = pldm_entity_association_tree_add(tree, &entities[8], 0xFFFF, l3b, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l4b, nullptr); pldm_entity entity{}; entity.entity_type = 1; entity.entity_instance_num = 1; - auto result = pldm_entity_association_tree_find(tree, &entity); + auto result = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result, l1); EXPECT_EQ(entity.entity_container_id, 0); entity.entity_type = 2; entity.entity_instance_num = 1; - result = pldm_entity_association_tree_find(tree, &entity); + result = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result, l2a); EXPECT_EQ(entity.entity_container_id, 1); entity.entity_type = 2; entity.entity_instance_num = 2; - result = pldm_entity_association_tree_find(tree, &entity); + result = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result, l2b); EXPECT_EQ(entity.entity_container_id, 1); entity.entity_type = 3; entity.entity_instance_num = 1; - result = pldm_entity_association_tree_find(tree, &entity); + result = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result, l2c); EXPECT_EQ(entity.entity_container_id, 1); entity.entity_type = 7; entity.entity_instance_num = 1; - result = pldm_entity_association_tree_find(tree, &entity); + result = pldm_entity_association_tree_find(tree, &entity, false); EXPECT_EQ(result, l4b); EXPECT_EQ(entity.entity_container_id, 4); @@ -1372,18 +1489,21 @@ TEST(EntityAssociationPDR, testCopyTree) auto orgTree = pldm_entity_association_tree_init(); auto newTree = pldm_entity_association_tree_init(); - auto l1 = - pldm_entity_association_tree_add(orgTree, &entities[0], 0xFFFF, nullptr, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l1 = pldm_entity_association_tree_add( + orgTree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1, nullptr); auto l2a = pldm_entity_association_tree_add( - orgTree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + orgTree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2a, nullptr); auto l2b = pldm_entity_association_tree_add( - orgTree, &entities[2], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + orgTree, &entities[2], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2b, nullptr); auto l2c = pldm_entity_association_tree_add( - orgTree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + orgTree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2c, nullptr); size_t orgNum{}; pldm_entity* orgOut = nullptr; @@ -1480,31 +1600,38 @@ TEST(EntityAssociationPDR, testGetChildren) auto tree = pldm_entity_association_tree_init(); auto l1 = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l1, nullptr); - auto l2a = pldm_entity_association_tree_add( - tree, &entities[1], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2a = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2a, nullptr); - auto l2b = pldm_entity_association_tree_add( - tree, &entities[2], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2b = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2b, nullptr); - auto l2c = pldm_entity_association_tree_add( - tree, &entities[3], 0xFFFF, l1, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + auto l2c = pldm_entity_association_tree_add(tree, &entities[3], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(l2c, nullptr); pldm_entity et1; et1.entity_type = 2; et1.entity_instance_num = 1; + et1.entity_container_id = 1; EXPECT_EQ(true, pldm_is_current_parent_child(l1, &et1)); pldm_entity et2; et2.entity_type = 2; et2.entity_instance_num = 2; + et2.entity_container_id = 1; EXPECT_EQ(true, pldm_is_current_parent_child(l1, &et2)); pldm_entity et3; et3.entity_type = 2; et3.entity_instance_num = 3; + et3.entity_container_id = 1; EXPECT_EQ(false, pldm_is_current_parent_child(l1, &et3)); pldm_entity_association_tree_destroy(tree); @@ -1521,6 +1648,7 @@ TEST(EntityAssociationPDR, testEntityInstanceNumber) entities[4].entity_type = 2; entities[5].entity_type = 2; entities[6].entity_type = 2; + entities[6].entity_container_id = 1; entities[7].entity_type = 3; entities[8].entity_type = 3; @@ -1533,108 +1661,117 @@ TEST(EntityAssociationPDR, testEntityInstanceNumber) uint16_t containerId{}; auto node = pldm_entity_association_tree_add( - tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_NE(node, nullptr); auto l1 = pldm_entity_association_tree_add(tree, &entities[1], 63, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto first = pldm_pdr_add_fru_record_set( repo, 1, 1, entities[1].entity_type, entities[1].entity_instance_num, - entities[1].entity_container_id, 1); + entities[1].entity_container_id, 1, false); EXPECT_NE(l1, nullptr); EXPECT_EQ(entities[1].entity_instance_num, 63); EXPECT_EQ(first, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 1, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 2); EXPECT_EQ(entityInstanceNum, 63); auto l2 = pldm_entity_association_tree_add(tree, &entities[2], 37, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto second = pldm_pdr_add_fru_record_set( repo, 1, 2, entities[2].entity_type, entities[2].entity_instance_num, - entities[2].entity_container_id, 2); + entities[2].entity_container_id, 2, false); EXPECT_NE(l2, nullptr); EXPECT_EQ(entities[2].entity_instance_num, 37); EXPECT_EQ(second, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 2, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 2); EXPECT_EQ(entityInstanceNum, 37); auto l3 = pldm_entity_association_tree_add(tree, &entities[3], 44, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto third = pldm_pdr_add_fru_record_set( repo, 1, 3, entities[3].entity_type, entities[3].entity_instance_num, - entities[3].entity_container_id, 3); + entities[3].entity_container_id, 3, false); EXPECT_NE(l3, nullptr); EXPECT_EQ(entities[3].entity_instance_num, 44); EXPECT_EQ(third, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 3, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 2); EXPECT_EQ(entityInstanceNum, 44); auto l4 = pldm_entity_association_tree_add(tree, &entities[4], 89, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto fourth = pldm_pdr_add_fru_record_set( repo, 1, 4, entities[4].entity_type, entities[4].entity_instance_num, - entities[4].entity_container_id, 4); + entities[4].entity_container_id, 4, false); EXPECT_NE(l4, nullptr); EXPECT_EQ(entities[4].entity_instance_num, 89); EXPECT_EQ(fourth, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 4, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 2); EXPECT_EQ(entityInstanceNum, 89); auto l5 = pldm_entity_association_tree_add(tree, &entities[5], 0xFFFF, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto fifth = pldm_pdr_add_fru_record_set( repo, 1, 5, entities[5].entity_type, entities[5].entity_instance_num, - entities[5].entity_container_id, 5); + entities[5].entity_container_id, 5, false); EXPECT_NE(l5, nullptr); EXPECT_EQ(entities[5].entity_instance_num, 90); EXPECT_EQ(fifth, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 5, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 2); EXPECT_EQ(entityInstanceNum, 90); auto l6 = pldm_entity_association_tree_add(tree, &entities[6], 90, node, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); EXPECT_EQ(l6, nullptr); auto l7 = pldm_entity_association_tree_add(tree, &entities[7], 100, l1, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto seventh = pldm_pdr_add_fru_record_set( repo, 1, 7, entities[7].entity_type, entities[7].entity_instance_num, - entities[7].entity_container_id, 7); + entities[7].entity_container_id, 7, false); EXPECT_NE(l7, nullptr); EXPECT_EQ(entities[7].entity_instance_num, 100); EXPECT_EQ(seventh, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 7, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 3); EXPECT_EQ(entityInstanceNum, 100); auto l8 = pldm_entity_association_tree_add(tree, &entities[8], 100, l2, - PLDM_ENTITY_ASSOCIAION_PHYSICAL); + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); auto eighth = pldm_pdr_add_fru_record_set( repo, 1, 8, entities[8].entity_type, entities[8].entity_instance_num, - entities[8].entity_container_id, 8); + entities[8].entity_container_id, 8, false); EXPECT_NE(l8, nullptr); EXPECT_EQ(entities[8].entity_instance_num, 100); EXPECT_EQ(eighth, pldm_pdr_get_record_handle( repo, pldm_pdr_fru_record_set_find_by_rsi( repo, 8, &terminusHdl, &entityType, - &entityInstanceNum, &containerId))); + &entityInstanceNum, &containerId, false))); EXPECT_EQ(entityType, 3); EXPECT_EQ(entityInstanceNum, 100); @@ -1689,3 +1826,98 @@ TEST(EntityAssociationPDR, testFindChildContainerID) pldm_entity_association_tree_destroy(tree); } #endif + +TEST(EntityAssociationPDR, findAndAddHostPDR) +{ + + // Tree - 1 + // + // 11521(1,0) + // | + // 45 (1,1) + // | + // 64 (1,2) + // | + // ----------------------- + // | | + // 67(0,3) 67(1,3) + // | | + // 135(0,4) 135(0,5) + // | | + // 32903(0,6) 32903(0,7) + + pldm_entity entities[9]{}; + + entities[0].entity_type = 11521; + entities[1].entity_type = 45; + entities[2].entity_type = 64; + entities[3].entity_type = 67; + entities[4].entity_type = 67; + entities[5].entity_type = 135; + entities[5].entity_container_id = 2; + entities[6].entity_type = 135; + entities[6].entity_container_id = 3; + entities[7].entity_type = 32903; + entities[8].entity_type = 32903; + + auto tree = pldm_entity_association_tree_init(); + + auto l1 = pldm_entity_association_tree_add( + tree, &entities[0], 0xFFFF, nullptr, PLDM_ENTITY_ASSOCIAION_LOGICAL, + false, true, 0xFFFF); + EXPECT_NE(l1, nullptr); + auto l2 = pldm_entity_association_tree_add(tree, &entities[1], 0xFFFF, l1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); + EXPECT_NE(l2, nullptr); + auto l3 = pldm_entity_association_tree_add(tree, &entities[2], 0xFFFF, l2, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); + EXPECT_NE(l3, nullptr); + auto l4a = pldm_entity_association_tree_add(tree, &entities[3], 0, l3, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); + EXPECT_NE(l4a, nullptr); + auto l4b = pldm_entity_association_tree_add(tree, &entities[4], 1, l3, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + false, true, 0xFFFF); + EXPECT_NE(l4b, nullptr); + auto l5a = pldm_entity_association_tree_add(tree, &entities[5], 0, l4a, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + true, true, 0xFFFF); + EXPECT_NE(l5a, nullptr); + auto l5b = pldm_entity_association_tree_add(tree, &entities[6], 0, l4b, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + true, true, 0xFFFF); + EXPECT_NE(l5b, nullptr); + + pldm_entity entity{}; + + entity.entity_type = 135; + entity.entity_instance_num = 0; + entity.entity_container_id = 2; + auto result1 = pldm_entity_association_tree_find(tree, &entity, true); + EXPECT_EQ(result1, l5a); + EXPECT_EQ(entities[5].entity_container_id, 4); + EXPECT_EQ(pldm_extract_host_container_id(l5a), 2); + + auto l6a = pldm_entity_association_tree_add(tree, &entities[7], 0, result1, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + true, true, 0xFFFF); + EXPECT_NE(l6a, nullptr); + + entity.entity_type = 135; + entity.entity_instance_num = 0; + entity.entity_container_id = 3; + auto result2 = pldm_entity_association_tree_find(tree, &entity, true); + EXPECT_EQ(result2, l5b); + EXPECT_EQ(entities[6].entity_container_id, 5); + EXPECT_EQ(pldm_extract_host_container_id(l5b), 3); + + auto l7a = pldm_entity_association_tree_add(tree, &entities[8], 0, result2, + PLDM_ENTITY_ASSOCIAION_PHYSICAL, + true, true, 0xFFFF); + EXPECT_NE(l7a, nullptr); + + pldm_entity_association_tree_destroy(tree); +} diff --git a/tests/libpldm_utils_test.cpp b/tests/libpldm_utils_test.cpp index 663a531f9..b238187cd 100644 --- a/tests/libpldm_utils_test.cpp +++ b/tests/libpldm_utils_test.cpp @@ -22,32 +22,26 @@ TEST(Crc8, CheckSumTest) TEST(Ver2string, Ver2string) { - ver32_t version{0x61, 0x10, 0xf7, 0xf3}; + ver32_t version{0xf3, 0xf7, 0x10, 0x61}; const char* vstr = "3.7.10a"; char buffer[1024]; auto rc = ver2str(&version, buffer, sizeof(buffer)); EXPECT_EQ(rc, (signed)std::strlen(vstr)); EXPECT_STREQ(vstr, buffer); - version = {0x00, 0xf0, 0xf0, 0xf1}; - vstr = "1.0.0"; - rc = ver2str(&version, buffer, sizeof(buffer)); - EXPECT_EQ(rc, (signed)std::strlen(vstr)); - EXPECT_STREQ(vstr, buffer); - - version = {0x00, 0xf7, 0x01, 0x10}; + version = {0x10, 0x01, 0xf7, 0x00}; vstr = "10.01.7"; rc = ver2str(&version, buffer, sizeof(buffer)); EXPECT_EQ(rc, (signed)std::strlen(vstr)); EXPECT_STREQ(vstr, buffer); - version = {0x00, 0xff, 0xf1, 0xf3}; + version = {0xf3, 0xf1, 0xff, 0x00}; vstr = "3.1"; rc = ver2str(&version, buffer, sizeof(buffer)); EXPECT_EQ(rc, (signed)std::strlen(vstr)); EXPECT_STREQ(vstr, buffer); - version = {0x61, 0xff, 0xf0, 0xf1}; + version = {0xf1, 0xf0, 0xff, 0x61}; vstr = "1.0a"; rc = ver2str(&version, buffer, sizeof(buffer)); EXPECT_EQ(rc, (signed)std::strlen(vstr));