From 7910629d01931d9b2bb6fbdb8ef7ac08e895c426 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 | 3263 +++++++++------- abi/x86_64/gcc.dump | 3296 ++++++++++------- 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 | 222 +- 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 | 1314 ++++++- tests/libpldm_pdr_test.cpp | 488 ++- tests/libpldm_utils_test.cpp | 14 +- 18 files changed, 5786 insertions(+), 3038 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 75aa123aa..e319c2850 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, @@ -71,6 +72,137 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_req' }, + '101467' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'dec', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'dec2bcd32' + }, + '101559' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'bcd', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'bcd2dec32' + }, + '101969' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'version', + 'type' => '3250' + }, + '1' => { + 'name' => 'buffer', + 'type' => '11261' + }, + '2' => { + 'name' => 'buffer_size', + 'type' => '123' + } + }, + 'Return' => '12204', + 'ShortName' => 'ver2str' + }, + '102097' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'data', + 'type' => '1434' + }, + '1' => { + 'name' => 'size', + 'type' => '123' + } + }, + 'Return' => '168', + 'ShortName' => 'crc8' + }, + '103368' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '103576' + }, + '1' => { + 'name' => 'tid', + 'type' => '102693' + }, + '2' => { + 'name' => 'iid', + 'type' => '102705' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_free' + }, + '103581' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '103576' + }, + '1' => { + 'name' => 'tid', + 'type' => '102693' + }, + '2' => { + 'name' => 'iid', + 'type' => '103982' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_alloc' + }, + '103987' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '103576' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_destroy' + }, + '104072' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104158' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init_default' + }, + '104163' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104158' + }, + '1' => { + 'name' => 'dbpath', + 'type' => '12199' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init' + }, '10505' => { 'Header' => 'bios.h', 'Param' => { @@ -115,6 +247,115 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_date_time_resp' }, + '105316' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '104648' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6087' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + } + }, + 'Return' => '104763', + 'ShortName' => 'pldm_send' + }, + '105732' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '104648' + }, + '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' => '70195' + }, + '5' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '104763', + 'ShortName' => 'pldm_send_recv' + }, + '106208' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '104648' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '3' => { + 'name' => 'pldm_resp_msg', + 'type' => '70195' + }, + '4' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '104763', + 'ShortName' => 'pldm_recv' + }, + '106431' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '104648' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_resp_msg', + 'type' => '70195' + }, + '3' => { + 'name' => 'resp_msg_len', + 'type' => '8822' + } + }, + 'Return' => '104763', + 'ShortName' => 'pldm_recv_any' + }, + '106873' => { + 'Header' => 'pldm.h', + 'Return' => '104763', + 'ShortName' => 'pldm_open' + }, '10693' => { 'Header' => 'bios.h', 'Param' => { @@ -158,7 +399,22 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_date_time_resp' }, - '109534' => { + '10972' => { + 'Header' => 'bios.h', + 'Param' => { + '0' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '1' => { + 'name' => 'msg', + 'type' => '1615' + } + }, + 'Return' => '74', + 'ShortName' => 'encode_get_date_time_req' + }, + '122042' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -177,7 +433,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_resp' }, - '109717' => { + '122225' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -198,7 +454,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '54900' + 'type' => '54907' }, '5' => { 'name' => 'file_meta_data_1', @@ -221,22 +477,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_req' }, - '10972' => { - 'Header' => 'bios.h', - 'Param' => { - '0' => { - 'name' => 'instance_id', - 'type' => '168' - }, - '1' => { - 'name' => 'msg', - 'type' => '1615' - } - }, - 'Return' => '74', - 'ShortName' => 'encode_get_date_time_req' - }, - '109935' => { + '122443' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -255,7 +496,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_resp' }, - '110042' => { + '122550' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -272,7 +513,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '45555' + 'type' => '45562' }, '4' => { 'name' => 'file_meta_data_1', @@ -298,7 +539,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_req' }, - '110335' => { + '122843' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -317,7 +558,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_resp' }, - '110513' => { + '123021' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -361,7 +602,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_req' }, - '110711' => { + '123219' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -380,7 +621,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_resp' }, - '110813' => { + '123321' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -423,7 +664,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_req' }, - '111106' => { + '123614' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -442,7 +683,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_resp' }, - '111213' => { + '123721' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -469,7 +710,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_req' }, - '111431' => { + '123939' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -488,7 +729,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_resp' }, - '111604' => { + '124112' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -515,7 +756,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_req' }, - '111740' => { + '124248' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -538,7 +779,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_resp' }, - '111867' => { + '124375' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -573,7 +814,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_req' }, - '112125' => { + '124633' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -600,7 +841,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_resp' }, - '112338' => { + '124846' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -631,7 +872,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_req' }, - '112488' => { + '124996' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -650,7 +891,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_resp' }, - '112595' => { + '125103' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -667,7 +908,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '45555' + 'type' => '45562' }, '4' => { 'name' => 'msg', @@ -677,7 +918,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_req' }, - '112813' => { + '125321' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -696,7 +937,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_resp' }, - '112986' => { + '125494' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -717,13 +958,13 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '54900' + 'type' => '54907' } }, 'Return' => '74', 'ShortName' => 'decode_new_file_req' }, - '113122' => { + '125630' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -746,7 +987,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_resp' }, - '113249' => { + '125757' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -775,7 +1016,7 @@ $VAR1 = { }, '6' => { 'name' => 'address', - 'type' => '45555' + 'type' => '45562' }, '7' => { 'name' => 'msg', @@ -785,7 +1026,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_req' }, - '113527' => { + '126035' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -812,7 +1053,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_resp' }, - '113740' => { + '126248' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -841,13 +1082,13 @@ $VAR1 = { }, '6' => { 'name' => 'address', - 'type' => '54900' + 'type' => '54907' } }, 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_req' }, - '113904' => { + '126412' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -870,7 +1111,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_resp' }, - '114102' => { + '126610' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -893,7 +1134,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_resp' }, - '114224' => { + '126732' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -920,7 +1161,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_req' }, - '114442' => { + '126950' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -951,7 +1192,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_req' }, - '114591' => { + '127099' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -974,7 +1215,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_resp' }, - '114789' => { + '127297' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1001,7 +1242,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_resp' }, - '114919' => { + '127427' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1028,7 +1269,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_req' }, - '115137' => { + '127645' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1055,7 +1296,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_req' }, - '115266' => { + '127774' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1090,7 +1331,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_resp' }, - '115432' => { + '127940' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1117,7 +1358,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_req' }, - '115641' => { + '128149' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1152,7 +1393,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_resp' }, - '115924' => { + '128432' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1179,7 +1420,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_req' }, - '116053' => { + '128561' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1202,7 +1443,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_resp' }, - '116174' => { + '128682' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1227,7 +1468,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '45555' + 'type' => '45562' }, '6' => { 'name' => 'msg', @@ -1237,7 +1478,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_req' }, - '116421' => { + '128929' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1264,7 +1505,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_resp' }, - '116625' => { + '129133' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1289,13 +1530,13 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '54900' + 'type' => '54907' } }, 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_req' }, - '117571' => { + '130079' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1326,7 +1567,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_resp' }, - '117802' => { + '130310' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1345,7 +1586,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_req' }, - '117890' => { + '130398' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1372,7 +1613,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_resp' }, - '118023' => { + '130531' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1395,7 +1636,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_req' }, - '119062' => { + '131577' => { 'Header' => 'platform_oem_ibm.h', 'Param' => { '0' => { @@ -1430,6 +1671,36 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_bios_attribute_update_event_req' }, + '132755' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80369' + }, + '1' => { + 'name' => 'entityType', + 'type' => '4895' + }, + '2' => { + 'name' => 'entityInstance', + 'type' => '4895' + } + }, + 'Return' => '4895', + 'ShortName' => 'pldm_find_container_id' + }, + '133133' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'record_handle', + 'type' => '11475' + } + }, + 'Return' => '6265', + 'ShortName' => 'isHBRange' + }, '1440' => { 'Header' => 'base.h', 'Param' => { @@ -1457,7 +1728,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_header_only' }, - '15842' => { + '15849' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1502,7 +1773,7 @@ $VAR1 = { }, '9' => { 'name' => 'event_data', - 'type' => '16585' + 'type' => '16592' } }, 'Return' => '74', @@ -1535,7 +1806,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cc_only_resp' }, - '16595' => { + '16602' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1570,7 +1841,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_req' }, - '17133' => { + '17140' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1589,7 +1860,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_resp' }, - '17291' => { + '17298' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1620,7 +1891,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_req' }, - '17762' => { + '17769' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1639,7 +1910,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_resp' }, - '18080' => { + '18087' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1709,7 +1980,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_multipart_receive_req' }, - '18327' => { + '18334' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1732,7 +2003,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_req' }, - '18697' => { + '18704' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1783,7 +2054,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_resp' }, - '19116' => { + '19123' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1830,7 +2101,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_resp' }, - '20010' => { + '20017' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1853,7 +2124,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_req' }, - '20215' => { + '20222' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1899,7 +2170,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_tid_req' }, - '21444' => { + '21451' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1926,7 +2197,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_pdr_repository_chg_event_data' }, - '21833' => { + '21840' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1947,11 +2218,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 +2236,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_pdr_repository_chg_event_data' }, - '22177' => { + '22184' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2023,7 +2294,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_tid_resp' }, - '23123' => { + '23130' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2042,7 +2313,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_numeric_effecter_value_req' }, - '23441' => { + '23448' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2104,7 +2375,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_tid_resp' }, - '23834' => { + '23841' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2123,7 +2394,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_numeric_effecter_value_req' }, - '24018' => { + '24025' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2136,7 +2407,7 @@ $VAR1 = { }, '2' => { 'name' => 'pdr_value', - 'type' => '28491' + 'type' => '28498' } }, 'Return' => '74', @@ -2215,7 +2486,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_version_req' }, - '28496' => { + '28503' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2246,7 +2517,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_numeric_sensor_data' }, - '29314' => { + '29321' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2308,7 +2579,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_resp' }, - '29733' => { + '29740' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2331,7 +2602,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_op_data' }, - '30101' => { + '30108' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2358,7 +2629,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_event_data' }, - '30509' => { + '30516' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2379,7 +2650,7 @@ $VAR1 = { }, '4' => { 'name' => 'synchrony_config_support', - 'type' => '31174' + 'type' => '31181' }, '5' => { 'name' => 'number_event_class_returned', @@ -2397,7 +2668,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_supported_resp' }, - '31179' => { + '31186' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2416,7 +2687,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_supported_req' }, - '31363' => { + '31370' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2439,7 +2710,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_buffer_size_resp' }, - '31732' => { + '31739' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2458,7 +2729,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_buffer_size_req' }, - '31916' => { + '31923' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2481,7 +2752,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_resp' }, - '32285' => { + '32292' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2547,7 +2818,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_req' }, - '32610' => { + '32617' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2602,7 +2873,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_resp' }, - '33508' => { + '33515' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2625,7 +2896,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_resp' }, - '33713' => { + '33720' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2656,7 +2927,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_poll_for_platform_event_message_req' }, - '34185' => { + '34192' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2710,12 +2981,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 +2998,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_event_class', - 'type' => '12774' + 'type' => '12781' }, '4' => { 'name' => 'sensor_offset', @@ -2743,13 +3014,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 +3037,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_rearm', - 'type' => '31174' + 'type' => '31181' }, '4' => { 'name' => 'reserved', @@ -2776,7 +3047,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_req' }, - '35242' => { + '35249' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2797,13 +3068,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 +3124,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_types_resp' }, - '36002' => { + '36009' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2870,7 +3141,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '35771' + 'type' => '35778' }, '4' => { 'name' => 'msg', @@ -2880,7 +3151,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_state_sensor_readings_resp' }, - '36270' => { + '36277' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2899,7 +3170,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_numeric_effecter_value_resp' }, - '36353' => { + '36360' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2930,7 +3201,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_req' }, - '36662' => { + '36669' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2953,7 +3224,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_resp' }, - '36841' => { + '36848' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3003,7 +3274,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_commands_resp' }, - '37473' => { + '37480' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3050,7 +3321,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_pdr_resp' }, - '38119' => { + '38126' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3089,7 +3360,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_req' }, - '38408' => { + '38415' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3159,7 +3430,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_req' }, - '39096' => { + '39103' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3206,7 +3477,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_repository_info_resp' }, - '39427' => { + '39434' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3249,7 +3520,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_resp' }, - '39820' => { + '39827' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3307,7 +3578,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_types_resp' }, - '40345' => { + '40352' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3328,13 +3599,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 +3624,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_resp' }, - '40893' => { + '40900' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3370,7 +3641,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '40809' + 'type' => '40816' }, '4' => { 'name' => 'msg', @@ -3380,7 +3651,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_req' }, - '41151' => { + '41158' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3399,12 +3670,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 +3683,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '41624' + 'type' => '41631' }, '3' => { 'name' => 'possible_states_size', @@ -3420,18 +3691,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 +3710,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '41956' + 'type' => '41963' }, '3' => { 'name' => 'possible_states_size', @@ -3447,7 +3718,7 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '20609' + 'type' => '20616' } }, 'Return' => '74', @@ -3521,7 +3792,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pack_pldm_header' }, - '46872' => { + '46879' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -3536,7 +3807,7 @@ $VAR1 = { 'Return' => '180', 'ShortName' => 'crc32' }, - '46987' => { + '46994' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3551,7 +3822,7 @@ $VAR1 = { 'Return' => '6265', 'ShortName' => 'pldm_bios_table_checksum' }, - '47132' => { + '47139' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3582,7 +3853,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_copy_and_update' }, - '47748' => { + '47755' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3598,10 +3869,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '47743', + 'Return' => '47750', 'ShortName' => 'pldm_bios_table_attr_value_find_by_handle' }, - '48011' => { + '48018' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3617,10 +3888,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48158', + 'Return' => '48165', 'ShortName' => 'pldm_bios_table_attr_find_by_string_handle' }, - '48279' => { + '48286' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3636,10 +3907,10 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48158', + 'Return' => '48165', 'ShortName' => 'pldm_bios_table_attr_find_by_handle' }, - '48542' => { + '48549' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3655,10 +3926,10 @@ $VAR1 = { 'type' => '12199' } }, - 'Return' => '48747', + 'Return' => '48754', 'ShortName' => 'pldm_bios_table_string_find_by_string' }, - '48916' => { + '48923' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3674,54 +3945,54 @@ $VAR1 = { 'type' => '4895' } }, - 'Return' => '48747', + 'Return' => '48754', 'ShortName' => 'pldm_bios_table_string_find_by_handle' }, - '49678' => { + '49685' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47738' + 'type' => '47745' } }, 'Return' => '1434', 'ShortName' => 'pldm_bios_table_iter_value' }, - '49733' => { + '49740' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47738' + 'type' => '47745' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_next' }, - '49844' => { + '49851' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '49920' + 'type' => '49927' } }, 'Return' => '6265', 'ShortName' => 'pldm_bios_table_iter_is_end' }, - '49925' => { + '49932' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '47738' + 'type' => '47745' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_free' }, - '49996' => { + '50003' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3734,13 +4005,13 @@ $VAR1 = { }, '2' => { 'name' => 'type', - 'type' => '45567' + 'type' => '45574' } }, - 'Return' => '47738', + 'Return' => '47745', 'ShortName' => 'pldm_bios_table_iter_create' }, - '50235' => { + '50242' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3759,7 +4030,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_append_pad_checksum_check' }, - '50535' => { + '50542' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3778,7 +4049,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_append_pad_checksum' }, - '50787' => { + '50794' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3789,40 +4060,40 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_pad_checksum_size' }, - '51082' => { + '51089' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_handle' }, - '51137' => { + '51144' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_length' }, - '51621' => { + '51628' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, - 'Return' => '45555', + 'Return' => '45562', 'ShortName' => 'pldm_bios_table_attr_value_entry_integer_decode_cv' }, - '51695' => { + '51702' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3843,13 +4114,13 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '45555' + 'type' => '45562' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_check' }, - '51887' => { + '51894' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3870,18 +4141,18 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '45555' + 'type' => '45562' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer' }, - '52188' => { + '52195' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_length' }, - '52350' => { + '52357' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3912,12 +4183,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_check' }, - '52605' => { + '52612' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' }, '1' => { 'name' => 'current_string', @@ -3927,18 +4198,18 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_string' }, - '52700' => { + '52707' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_length' }, - '52775' => { + '52782' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3969,7 +4240,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string' }, - '53104' => { + '53111' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3980,7 +4251,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_length' }, - '53292' => { + '53299' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4011,12 +4282,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_check' }, - '53546' => { + '53553' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' }, '1' => { 'name' => 'handles', @@ -4030,18 +4301,18 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_handles' }, - '53720' => { + '53727' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_number' }, - '53775' => { + '53782' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4072,7 +4343,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum' }, - '54104' => { + '54111' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4083,42 +4354,42 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_length' }, - '54159' => { + '54166' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_type' }, - '54214' => { + '54221' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '47743' + 'type' => '47750' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_handle' }, - '54773' => { + '54780' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'lower', - 'type' => '54900' + 'type' => '54907' }, '2' => { 'name' => 'upper', - 'type' => '54900' + 'type' => '54907' }, '3' => { 'name' => 'scalar', @@ -4126,13 +4397,13 @@ $VAR1 = { }, '4' => { 'name' => 'def', - 'type' => '54900' + 'type' => '54907' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_decode' }, - '54915' => { + '54922' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4145,28 +4416,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '55177' + 'type' => '55184' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_check' }, - '55187' => { + '55194' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '55177' + 'type' => '55184' }, '1' => { 'name' => 'errmsg', - 'type' => '55444' + 'type' => '55451' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_info_check' }, - '55449' => { + '55456' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4179,23 +4450,23 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '55177' + 'type' => '55184' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode' }, - '55697' => { + '55704' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_length' }, - '55859' => { + '55866' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'buffer', @@ -4209,45 +4480,45 @@ $VAR1 = { 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string' }, - '56055' => { + '56062' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_min_length' }, - '56130' => { + '56137' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_max_length' }, - '56205' => { + '56212' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_string_type' }, - '56280' => { + '56287' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'def_string_length', @@ -4257,7 +4528,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string_length_check' }, - '56456' => { + '56463' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4270,28 +4541,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '56742' + 'type' => '56749' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_check' }, - '56747' => { + '56754' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '56742' + 'type' => '56749' }, '1' => { 'name' => 'errmsg', - 'type' => '55444' + 'type' => '55451' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_info_check' }, - '57016' => { + '57023' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4302,12 +4573,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_length' }, - '57251' => { + '57258' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'def_indices', @@ -4321,12 +4592,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_indices' }, - '57457' => { + '57464' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'pv_hdls', @@ -4340,12 +4611,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_hdls_check' }, - '57615' => { + '57622' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'def_num', @@ -4355,12 +4626,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_num_check' }, - '57780' => { + '57787' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' }, '1' => { 'name' => 'pv_num', @@ -4370,7 +4641,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num_check' }, - '57846' => { + '57853' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4383,13 +4654,13 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '58104' + 'type' => '58111' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_check' }, - '58109' => { + '58116' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4404,45 +4675,45 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_length' }, - '58175' => { + '58182' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_decode_string_handle' }, - '58228' => { + '58235' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_type' }, - '58281' => { + '58288' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48158' + 'type' => '48165' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_handle' }, - '58903' => { + '58910' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48747' + 'type' => '48754' }, '1' => { 'name' => 'buffer', @@ -4456,29 +4727,29 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_check' }, - '59069' => { + '59076' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48747' + 'type' => '48754' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_length' }, - '59122' => { + '59129' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48747' + 'type' => '48754' } }, 'Return' => '4895', 'ShortName' => 'pldm_bios_table_string_entry_decode_handle' }, - '59175' => { + '59182' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4501,7 +4772,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_encode_check' }, - '59444' => { + '59451' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4641,7 +4912,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_resp' }, - '65034' => { + '65041' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -4652,7 +4923,7 @@ $VAR1 = { 'Return' => '6265', 'ShortName' => 'is_transfer_flag_valid' }, - '65185' => { + '65192' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4669,17 +4940,17 @@ $VAR1 = { }, '3' => { 'name' => 'non_functioning_component_indication', - 'type' => '65369' + 'type' => '65376' }, '4' => { 'name' => 'non_functioning_component_bitmap', - 'type' => '65374' + 'type' => '65381' } }, 'Return' => '74', 'ShortName' => 'decode_cancel_update_resp' }, - '65384' => { + '65391' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4698,7 +4969,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_req' }, - '65537' => { + '65544' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4717,7 +4988,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_cancel_update_component_resp' }, - '65619' => { + '65626' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4736,7 +5007,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_component_req' }, - '65772' => { + '65779' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4777,13 +5048,13 @@ $VAR1 = { }, '9' => { 'name' => 'update_option_flags_enabled', - 'type' => '66113' + 'type' => '66120' } }, 'Return' => '74', 'ShortName' => 'decode_get_status_resp' }, - '66123' => { + '66130' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4802,7 +5073,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_status_req' }, - '66276' => { + '66283' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4825,7 +5096,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_activate_firmware_resp' }, - '66402' => { + '66409' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4848,7 +5119,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_activate_firmware_req' }, - '66623' => { + '66630' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4871,7 +5142,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_apply_complete_resp' }, - '66795' => { + '66802' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4888,35 +5159,12 @@ $VAR1 = { }, '3' => { 'name' => 'comp_activation_methods_modification', - 'type' => '66917' + 'type' => '66924' } }, 'Return' => '74', 'ShortName' => 'decode_apply_complete_req' }, - '66927' => { - 'Header' => 'firmware_update.h', - 'Param' => { - '0' => { - 'name' => 'instance_id', - 'type' => '168' - }, - '1' => { - 'name' => 'completion_code', - 'type' => '168' - }, - '2' => { - 'name' => 'msg', - 'type' => '1615' - }, - '3' => { - 'name' => 'payload_length', - 'type' => '123' - } - }, - 'Return' => '74', - 'ShortName' => 'encode_verify_complete_resp' - }, '6693' => { 'Header' => 'bios.h', 'Param' => { @@ -4940,7 +5188,30 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_resp' }, - '67099' => { + '66934' => { + 'Header' => 'firmware_update.h', + 'Param' => { + '0' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '1' => { + 'name' => 'completion_code', + 'type' => '168' + }, + '2' => { + 'name' => 'msg', + 'type' => '1615' + }, + '3' => { + 'name' => 'payload_length', + 'type' => '123' + } + }, + 'Return' => '74', + 'ShortName' => 'encode_verify_complete_resp' + }, + '67106' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4959,7 +5230,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_verify_complete_req' }, - '67181' => { + '67188' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -4982,7 +5253,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_transfer_complete_resp' }, - '67353' => { + '67360' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5001,7 +5272,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_transfer_complete_req' }, - '67435' => { + '67442' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5024,7 +5295,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_firmware_data_resp' }, - '67607' => { + '67614' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5047,7 +5318,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_firmware_data_req' }, - '67739' => { + '67746' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5072,7 +5343,7 @@ $VAR1 = { }, '5' => { 'name' => 'update_option_flags_enabled', - 'type' => '66113' + 'type' => '66120' }, '6' => { 'name' => 'time_before_req_fw_data', @@ -5082,7 +5353,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_update_component_resp' }, - '67975' => { + '67982' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5119,7 +5390,7 @@ $VAR1 = { }, '6' => { 'name' => 'update_option_flags', - 'type' => '60868' + 'type' => '60875' }, '7' => { 'name' => 'comp_ver_str_type', @@ -5131,7 +5402,7 @@ $VAR1 = { }, '9' => { 'name' => 'comp_ver_str', - 'type' => '68379' + 'type' => '68386' } }, 'Return' => '74', @@ -5176,7 +5447,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_req' }, - '68389' => { + '68396' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5203,7 +5474,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pass_component_table_resp' }, - '68585' => { + '68592' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5244,7 +5515,7 @@ $VAR1 = { }, '8' => { 'name' => 'comp_ver_str', - 'type' => '68379' + 'type' => '68386' }, '9' => { 'name' => 'msg', @@ -5254,7 +5525,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pass_component_table_req' }, - '68998' => { + '69005' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5281,7 +5552,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_update_resp' }, - '69139' => { + '69146' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5314,7 +5585,7 @@ $VAR1 = { }, '7' => { 'name' => 'comp_img_set_ver_str', - 'type' => '68379' + 'type' => '68386' }, '8' => { 'name' => 'msg', @@ -5328,7 +5599,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_update_req' }, - '69504' => { + '69511' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5341,7 +5612,7 @@ $VAR1 = { }, '2' => { 'name' => 'component_data', - 'type' => '69660' + 'type' => '69667' }, '3' => { 'name' => 'active_comp_ver_str', @@ -5355,7 +5626,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp_comp_entry' }, - '69670' => { + '69677' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5368,7 +5639,7 @@ $VAR1 = { }, '2' => { 'name' => 'resp_data', - 'type' => '69890' + 'type' => '69897' }, '3' => { 'name' => 'active_comp_image_set_ver_str', @@ -5386,7 +5657,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp' }, - '69895' => { + '69902' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5405,7 +5676,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_firmware_parameters_req' }, - '70032' => { + '70039' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5430,13 +5701,13 @@ $VAR1 = { }, '5' => { 'name' => 'descriptor_data', - 'type' => '70188' + 'type' => '70195' } }, 'Return' => '74', 'ShortName' => 'decode_query_device_identifiers_resp' }, - '70198' => { + '70205' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5455,7 +5726,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_query_device_identifiers_req' }, - '70335' => { + '70342' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5468,7 +5739,7 @@ $VAR1 = { }, '2' => { 'name' => 'pldm_comp_image_info', - 'type' => '70482' + 'type' => '70489' }, '3' => { 'name' => 'comp_version_str', @@ -5478,7 +5749,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_comp_image_info' }, - '70487' => { + '70494' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5505,7 +5776,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_vendor_defined_descriptor_value' }, - '70666' => { + '70673' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5528,7 +5799,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_descriptor_type_length_value' }, - '70838' => { + '70845' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5545,7 +5816,7 @@ $VAR1 = { }, '3' => { 'name' => 'fw_device_id_record', - 'type' => '71105' + 'type' => '71112' }, '4' => { 'name' => 'applicable_components', @@ -5567,7 +5838,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_firmware_device_id_record' }, - '71110' => { + '71117' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5580,7 +5851,7 @@ $VAR1 = { }, '2' => { 'name' => 'package_header_info', - 'type' => '71257' + 'type' => '71264' }, '3' => { 'name' => 'package_version_str', @@ -5640,7 +5911,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_req' }, - '73448' => { + '73455' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5667,7 +5938,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_fru_record_table_resp' }, - '73671' => { + '73678' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5694,7 +5965,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_fru_record_table_req' }, - '73838' => { + '73845' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5729,7 +6000,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp' }, - '74086' => { + '74093' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5768,7 +6039,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp_safe' }, - '74344' => { + '74351' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5795,7 +6066,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_req' }, - '74562' => { + '74569' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5849,7 +6120,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_resp' }, - '74723' => { + '74730' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5888,7 +6159,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_resp' }, - '75032' => { + '75039' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5927,7 +6198,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_req' }, - '75220' => { + '75227' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -5970,7 +6241,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_req' }, - '75513' => { + '75520' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6040,7 +6311,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_req' }, - '75939' => { + '75946' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6075,7 +6346,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'get_fru_record_by_option' }, - '76376' => { + '76383' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6118,7 +6389,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_fru_record' }, - '76639' => { + '76646' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6145,7 +6416,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_resp' }, - '76843' => { + '76850' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6168,7 +6439,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_req' }, - '76959' => { + '76966' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6215,7 +6486,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_resp' }, - '77263' => { + '77270' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6263,7 +6534,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_metadata_resp' }, - '77470' => { + '77477' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6317,7 +6588,51 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_current_value_by_handle_resp' }, - '79087' => { + '80347' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80369' + } + }, + 'Return' => '78138', + 'ShortName' => 'pldm_pdr_find_last_local_record' + }, + '80430' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'entity', + 'offset' => '-8', + 'type' => '78217' + }, + '1' => { + 'name' => 'parent', + 'offset' => '-16', + 'type' => '78217' + }, + '2' => { + 'name' => 'remote_container_id', + 'type' => '4895' + }, + '3' => { + 'name' => 'first_child', + 'type' => '80291' + }, + '4' => { + 'name' => 'next_sibling', + 'type' => '80291' + }, + '5' => { + 'name' => 'association_type', + 'type' => '168' + } + }, + 'Return' => '80291', + 'ShortName' => 'init_pldm_entity_node' + }, + '80615' => { 'Header' => 'pdr.h', 'Param' => { '0' => { @@ -6334,81 +6649,112 @@ $VAR1 = { }, '3' => { 'name' => 'entities', - 'type' => '79400' + 'type' => '80928' } }, 'Return' => '1', 'ShortName' => 'pldm_entity_association_pdr_extract' }, - '79420' => { + '80948' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' } }, 'Return' => '6265', 'ShortName' => 'pldm_is_empty_entity_assoc_tree' }, - '79480' => { + '81008' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' } }, 'Return' => '1', 'ShortName' => 'pldm_entity_association_tree_destroy_root' }, - '79543' => { + '81071' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'org_tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'new_tree', - 'type' => '79475' + 'type' => '81003' } }, 'Return' => '1', 'ShortName' => 'pldm_entity_association_tree_copy_root' }, - '79759' => { + '81287' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'entity', - 'type' => '79405' + 'type' => '80933' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '78975', + 'Return' => '80291', 'ShortName' => 'pldm_entity_association_tree_find' }, - '80504' => { - 'Header' => 'pdr.h', - 'Param' => { + '8158' => { + 'Header' => 'bios.h', + 'Param' => { + '0' => { + 'name' => 'msg', + 'type' => '2029' + }, + '1' => { + 'name' => 'payload_length', + 'type' => '123' + }, + '2' => { + 'name' => 'transfer_handle', + 'type' => '2039' + }, + '3' => { + 'name' => 'transfer_op_flag', + 'type' => '2034' + }, + '4' => { + 'name' => 'attribute_handle', + 'type' => '8294' + } + }, + 'Return' => '74', + 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_req' + }, + '82086' => { + 'Header' => 'pdr.h', + 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '82335' } }, 'Return' => '1', 'ShortName' => 'pldm_pdr_remove_remote_pdrs' }, - '80758' => { + '82340' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '82335' }, '1' => { 'name' => 'terminus_handle', @@ -6418,58 +6764,60 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' }, - '81027' => { + '82509' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'entity', 'offset' => '-8', - 'type' => '78116' + 'type' => '78217' }, '2' => { 'name' => 'node', - 'type' => '79754' + 'type' => '81282' } }, 'Return' => '1', 'ShortName' => 'pldm_find_entity_ref_in_tree' }, - '81544' => { + '82788' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '78975' + 'name' => 'repo', + 'type' => '82335' }, '1' => { - 'name' => 'repo', - 'type' => '80753' + 'name' => 'entity', + 'offset' => '-8', + 'type' => '78217' }, '2' => { - 'name' => 'entities', - 'type' => '79400' + 'name' => 'parent', + 'offset' => '-16', + 'type' => '78217' }, '3' => { - 'name' => 'num_entities', - 'type' => '123' + 'name' => 'event_data_op', + 'type' => '2034' }, '4' => { 'name' => 'is_remote', 'type' => '6265' }, '5' => { - 'name' => 'terminus_handle', - 'type' => '4895' + 'name' => 'bmc_record_handle', + 'type' => '180' } }, - 'Return' => '74', - 'ShortName' => 'pldm_entity_association_pdr_add_from_node_check' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_add_contained_entity' }, - '8158' => { + '8304' => { 'Header' => 'bios.h', 'Param' => { '0' => { @@ -6481,35 +6829,156 @@ $VAR1 = { 'type' => '123' }, '2' => { - 'name' => 'transfer_handle', - 'type' => '2039' + 'name' => 'completion_code', + 'type' => '2034' }, '3' => { - 'name' => 'transfer_op_flag', - 'type' => '2034' + 'name' => 'next_transfer_handle', + 'type' => '2039' }, '4' => { + 'name' => 'transfer_flag', + 'type' => '2034' + }, + '5' => { + 'name' => 'attribute_data', + 'type' => '6481' + } + }, + 'Return' => '74', + 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_resp' + }, + '83576' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + }, + '1' => { + 'name' => 'entity', + 'offset' => '-8', + 'type' => '78217' + }, + '2' => { + 'name' => 'event_data_op', + 'type' => '2034' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6265' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_remove_contained_entity' + }, + '8460' => { + 'Header' => 'bios.h', + 'Param' => { + '0' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '1' => { + 'name' => 'transfer_handle', + 'type' => '180' + }, + '2' => { + 'name' => 'transfer_op_flag', + 'type' => '168' + }, + '3' => { 'name' => 'attribute_handle', - 'type' => '8294' + 'type' => '4895' + }, + '4' => { + 'name' => 'msg', + 'type' => '1615' } }, 'Return' => '74', - 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_req' + 'ShortName' => 'encode_get_bios_attribute_current_value_by_handle_req' }, - '81760' => { + '84635' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '80291' + }, + '1' => { + 'name' => 'repo', + 'type' => '82335' + }, + '2' => { + 'name' => 'entities', + 'type' => '80928' + }, + '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' => '74', + 'ShortName' => 'pldm_entity_association_pdr_add_from_node_with_record_handle' + }, + '84873' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '80291' + }, + '1' => { + 'name' => 'repo', + 'type' => '82335' + }, + '2' => { + 'name' => 'entities', + 'type' => '80928' + }, + '3' => { + 'name' => 'num_entities', + 'type' => '123' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '4895' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_entity_association_pdr_add_from_node_check' + }, + '85089' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78975' + 'type' => '80291' }, '1' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '82335' }, '2' => { 'name' => 'entities', - 'type' => '79400' + 'type' => '80928' }, '3' => { 'name' => 'num_entities', @@ -6522,21 +6991,25 @@ $VAR1 = { '5' => { 'name' => 'terminus_handle', 'type' => '4895' + }, + '6' => { + 'name' => 'record_handle', + 'type' => '180' } }, 'Return' => '1', 'ShortName' => 'pldm_entity_association_pdr_add_from_node' }, - '82089' => { + '85445' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '82335' }, '2' => { 'name' => 'is_remote', @@ -6550,7 +7023,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_entity_association_pdr_add' }, - '8304' => { + '8672' => { 'Header' => 'bios.h', 'Param' => { '0' => { @@ -6574,34 +7047,34 @@ $VAR1 = { 'type' => '2034' }, '5' => { - 'name' => 'attribute_data', - 'type' => '6481' + 'name' => 'bios_table_offset', + 'type' => '8822' } }, 'Return' => '74', - 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_resp' + 'ShortName' => 'decode_get_bios_table_resp' }, - '83544' => { + '86900' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'parent', - 'type' => '78975' + 'type' => '80291' }, '1' => { 'name' => 'node', - 'type' => '79405' + 'type' => '80933' } }, 'Return' => '6265', 'ShortName' => 'pldm_is_current_parent_child' }, - '83633' => { + '86989' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78975' + 'type' => '80291' }, '1' => { 'name' => 'association_type', @@ -6611,60 +7084,76 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_entity_get_num_children' }, - '83848' => { + '87204' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78975' + 'type' => '80291' } }, 'Return' => '6265', 'ShortName' => 'pldm_entity_is_exist_parent' }, - '84003' => { + '87359' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78975' + 'type' => '80291' } }, - 'Return' => '78116', + 'Return' => '78217', 'ShortName' => 'pldm_entity_get_parent' }, - '84158' => { + '87514' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '78975' + 'type' => '80291' } }, 'Return' => '6265', 'ShortName' => 'pldm_entity_is_node_parent' }, - '84313' => { + '87669' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '81003' + }, + '1' => { + 'name' => 'entity', + 'offset' => '-40', + 'type' => '78217' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_delete_node' + }, + '88070' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' } }, 'Return' => '1', 'ShortName' => 'pldm_entity_association_tree_destroy' }, - '84492' => { + '88249' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'entities', - 'type' => '79400' + 'type' => '80928' }, '2' => { 'name' => 'size', @@ -6674,43 +7163,43 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_entity_association_tree_visit' }, - '8460' => { + '8832' => { 'Header' => 'bios.h', 'Param' => { '0' => { - 'name' => 'instance_id', - 'type' => '168' + 'name' => 'msg', + 'type' => '2029' }, '1' => { - 'name' => 'transfer_handle', - 'type' => '180' + 'name' => 'payload_length', + 'type' => '123' }, '2' => { - 'name' => 'transfer_op_flag', - 'type' => '168' + 'name' => 'transfer_handle', + 'type' => '2039' }, '3' => { - 'name' => 'attribute_handle', - 'type' => '4895' + 'name' => 'transfer_op_flag', + 'type' => '2034' }, '4' => { - 'name' => 'msg', - 'type' => '1615' + 'name' => 'table_type', + 'type' => '2034' } }, 'Return' => '74', - 'ShortName' => 'encode_get_bios_attribute_current_value_by_handle_req' + 'ShortName' => 'decode_get_bios_table_req' }, - '85424' => { + '89309' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '79475' + 'type' => '81003' }, '1' => { 'name' => 'entity', - 'type' => '79405' + 'type' => '80933' }, '2' => { 'name' => 'entity_instance_number', @@ -6718,473 +7207,187 @@ $VAR1 = { }, '3' => { 'name' => 'parent', - 'type' => '78975' + 'type' => '80291' }, '4' => { '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' => '78975', + 'Return' => '80291', 'ShortName' => 'pldm_entity_association_tree_add' }, - '85861' => { - 'Header' => 'pdr.h', - 'Return' => '79475', - 'ShortName' => 'pldm_entity_association_tree_init' - }, - '86095' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '78975' - } - }, - 'Return' => '78116', - 'ShortName' => 'pldm_entity_extract' - }, - '8672' => { + '8973' => { 'Header' => 'bios.h', 'Param' => { '0' => { - 'name' => 'msg', - 'type' => '2029' + 'name' => 'instance_id', + 'type' => '168' }, '1' => { - 'name' => 'payload_length', - 'type' => '123' + 'name' => 'transfer_handle', + 'type' => '180' }, '2' => { - 'name' => 'completion_code', - 'type' => '2034' + 'name' => 'transfer_op_flag', + 'type' => '168' }, '3' => { - 'name' => 'next_transfer_handle', - 'type' => '2039' + 'name' => 'table_type', + 'type' => '168' }, '4' => { - 'name' => 'transfer_flag', - 'type' => '2034' - }, - '5' => { - 'name' => 'bios_table_offset', - 'type' => '8822' + 'name' => 'msg', + 'type' => '1615' } }, 'Return' => '74', - 'ShortName' => 'decode_get_bios_table_resp' + 'ShortName' => 'encode_get_bios_table_req' }, - '86901' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80499' - }, - '1' => { - 'name' => 'terminus_handle', - 'type' => '4895' - }, - '2' => { - 'name' => 'tid', - 'type' => '168' - }, - '3' => { - 'name' => 'tl_eid', - 'type' => '168' - }, - '4' => { - 'name' => 'valid_bit', - 'type' => '6265' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_update_TL_pdr' - }, - '87241' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80499' - }, - '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' - } - }, - 'Return' => '87226', - 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' - }, - '87572' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80753' - }, - '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' => '2039' - } - }, - 'Return' => '74', - 'ShortName' => 'pldm_pdr_add_fru_record_set_check' - }, - '87894' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80753' - }, - '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' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add_fru_record_set' - }, - '88233' => { + '89811' => { 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'record', - 'type' => '87226' - } - }, - 'Return' => '6265', - 'ShortName' => 'pldm_pdr_record_is_remote' + 'Return' => '81003', + 'ShortName' => 'pldm_entity_association_tree_init' }, - '8832' => { - 'Header' => 'bios.h', - 'Param' => { - '0' => { - 'name' => 'msg', - 'type' => '2029' - }, - '1' => { - 'name' => 'payload_length', - 'type' => '123' - }, - '2' => { - 'name' => 'transfer_handle', - 'type' => '2039' - }, - '3' => { - 'name' => 'transfer_op_flag', - 'type' => '2034' - }, - '4' => { - 'name' => 'table_type', - 'type' => '2034' - } - }, - 'Return' => '74', - 'ShortName' => 'decode_get_bios_table_req' - }, - '88388' => { + '90024' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80499' - }, - '1' => { - 'name' => 'record', - 'type' => '87226' + 'name' => 'entity', + 'type' => '90019' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_handle' + 'Return' => '4895', + 'ShortName' => 'pldm_extract_host_container_id' }, - '88606' => { + '90100' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80499' + 'name' => 'node', + 'type' => '80291' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_repo_size' + 'Return' => '78217', + 'ShortName' => 'pldm_entity_extract' }, - '88737' => { + '90170' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '80499' + 'name' => 'tree', + 'type' => '81003' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_count' + 'Return' => '4895', + 'ShortName' => 'next_container_id' }, - '88868' => { + '90368' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80499' + 'type' => '82335' }, '1' => { - 'name' => 'pdr_type', - 'type' => '168' + 'name' => 'sensor_id', + 'type' => '4895' }, '2' => { - 'name' => 'curr_record', - 'type' => '87226' - }, - '3' => { - 'name' => 'data', - 'type' => '70188' - }, - '4' => { - 'name' => 'size', - 'type' => '2039' + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '87226', - 'ShortName' => 'pldm_pdr_find_record_by_type' + 'Return' => '4895', + 'ShortName' => 'pldm_delete_by_sensor_id' }, - '89046' => { + '90749' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80499' + 'type' => '82335' }, '1' => { - 'name' => 'curr_record', - 'type' => '87226' + 'name' => 'effecter_id', + 'type' => '4895' }, '2' => { - 'name' => 'data', - 'type' => '70188' - }, - '3' => { - 'name' => 'size', - 'type' => '2039' - }, - '4' => { - 'name' => 'next_record_handle', - 'type' => '2039' + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '87226', - 'ShortName' => 'pldm_pdr_get_next_record' + 'Return' => '4895', + 'ShortName' => 'pldm_delete_by_effecter_id' }, - '89220' => { + '91109' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80499' + 'type' => '80369' }, '1' => { - 'name' => 'record_handle', - 'type' => '180' + 'name' => 'sensorId', + 'type' => '4895' }, '2' => { - 'name' => 'data', - 'type' => '70188' - }, - '3' => { - 'name' => 'size', - 'type' => '2039' - }, - '4' => { - 'name' => 'next_record_handle', - 'type' => '2039' - } - }, - 'Return' => '87226', - 'ShortName' => 'pldm_pdr_find_record' - }, - '89388' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '80753' + 'name' => 'instanceNumber', + 'type' => '4895' } }, 'Return' => '1', - 'ShortName' => 'pldm_pdr_destroy' - }, - '89543' => { - 'Header' => 'pdr.h', - 'Return' => '80753', - 'ShortName' => 'pldm_pdr_init' + 'ShortName' => 'pldm_change_instance_number_of_sensor' }, - '89615' => { + '91387' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '80369' }, '1' => { - 'name' => 'data', - 'type' => '6087' + 'name' => 'effecterId', + 'type' => '4895' }, '2' => { - 'name' => 'size', - 'type' => '180' - }, - '3' => { - 'name' => 'is_remote', - 'type' => '6265' - }, - '4' => { - 'name' => 'terminus_handle', + 'name' => 'instanceNumber', 'type' => '4895' - }, - '5' => { - 'name' => 'record_handle', - 'type' => '2039' } }, - 'Return' => '74', - 'ShortName' => 'pldm_pdr_add_check' + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_effecter' }, - '8973' => { - 'Header' => 'bios.h', - 'Param' => { - '0' => { - 'name' => 'instance_id', - 'type' => '168' - }, - '1' => { - 'name' => 'transfer_handle', - 'type' => '180' - }, - '2' => { - 'name' => 'transfer_op_flag', - 'type' => '168' - }, - '3' => { - 'name' => 'table_type', - 'type' => '168' - }, - '4' => { - 'name' => 'msg', - 'type' => '1615' - } - }, - 'Return' => '74', - 'ShortName' => 'encode_get_bios_table_req' - }, - '90049' => { + '91644' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '80753' + 'type' => '80369' }, '1' => { - 'name' => 'data', - 'type' => '6087' + 'name' => 'sensorId', + 'type' => '4895' }, '2' => { - 'name' => 'size', - 'type' => '180' - }, - '3' => { - 'name' => 'record_handle', - 'type' => '180' - }, - '4' => { - 'name' => 'is_remote', - 'type' => '6265' - }, - '5' => { - 'name' => 'terminus_handle', + 'name' => 'containerId', 'type' => '4895' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add' - }, - '91555' => { - 'Header' => 'utils.h', - 'Param' => { - '0' => { - 'name' => 'dec', - 'type' => '180' - } - }, - 'Return' => '180', - 'ShortName' => 'dec2bcd32' - }, - '91647' => { - 'Header' => 'utils.h', - 'Param' => { - '0' => { - 'name' => 'bcd', - 'type' => '180' - } - }, - 'Return' => '180', - 'ShortName' => 'bcd2dec32' + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_sensor' }, '9179' => { 'Header' => 'bios.h', @@ -7221,114 +7424,178 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_resp' }, - '92057' => { - 'Header' => 'utils.h', + '91922' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'version', - 'type' => '3250' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'buffer', - 'type' => '11261' + 'name' => 'effecterId', + 'type' => '4895' }, '2' => { - 'name' => 'buffer_size', - 'type' => '123' + 'name' => 'containerId', + 'type' => '4895' } }, - 'Return' => '12204', - 'ShortName' => 'ver2str' + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_effecter' }, - '92185' => { - 'Header' => 'utils.h', + '92235' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'data', - 'type' => '1434' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'size', - 'type' => '123' + 'name' => 'record_handle', + 'type' => '180' } }, - 'Return' => '168', - 'ShortName' => 'crc8' + 'Return' => '78217', + 'ShortName' => 'pldm_get_entity_from_record_handle' }, - '93456' => { - 'Header' => 'instance-id.h', + '92623' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '93664' + 'name' => 'repo', + 'type' => '82335' }, '1' => { - 'name' => 'tid', - 'type' => '92781' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'iid', - 'type' => '92793' + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_free' + 'Return' => '1', + 'ShortName' => 'pldm_delete_by_record_handle' }, - '93669' => { - 'Header' => 'instance-id.h', + '93363' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '93664' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'tid', - 'type' => '92781' + 'name' => 'terminus_handle', + 'type' => '4895' }, '2' => { - 'name' => 'iid', - 'type' => '94070' + 'name' => 'tid', + 'type' => '168' + }, + '3' => { + 'name' => 'tl_eid', + 'type' => '168' + }, + '4' => { + 'name' => 'valid_bit', + 'type' => '6265' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_alloc' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_update_TL_pdr' }, - '94075' => { - 'Header' => 'instance-id.h', + '93703' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '93664' + 'name' => 'repo', + 'type' => '82335' + }, + '1' => { + 'name' => 'fru_rsi', + 'type' => '4895' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6265' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_destroy' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_remove_fru_record_set_by_rsi' }, - '94160' => { - 'Header' => 'instance-id.h', + '94058' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '94246' + 'name' => 'repo', + 'type' => '80369' + }, + '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' => '74', - 'ShortName' => 'pldm_instance_db_init_default' + 'Return' => '93688', + 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' }, - '94251' => { - 'Header' => 'instance-id.h', + '94392' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '94246' + 'name' => 'repo', + 'type' => '82335' }, '1' => { - 'name' => 'dbpath', - 'type' => '12199' + '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' => '2039' + }, + '7' => { + 'name' => 'hotplug', + 'type' => '6265' } }, 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init' + 'ShortName' => 'pldm_pdr_add_fru_record_set_check' }, '9456' => { 'Header' => 'bios.h', @@ -7349,6 +7616,71 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_resp' }, + '94809' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + }, + '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' + }, + '7' => { + 'name' => 'hotplug', + 'type' => '6265' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_fru_record_set' + }, + '95175' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'record', + 'type' => '93688' + } + }, + 'Return' => '6265', + 'ShortName' => 'pldm_pdr_record_is_remote' + }, + '95330' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80369' + }, + '1' => { + 'name' => 'record', + 'type' => '93688' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_handle' + }, '9534' => { 'Header' => 'bios.h', 'Param' => { @@ -7372,114 +7704,178 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_resp' }, - '95398' => { - 'Header' => 'pldm.h', + '95548' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80369' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_repo_size' + }, + '95682' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '80369' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_count' + }, + '95816' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '94736' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'pdr_type', + 'type' => '168' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6087' + 'name' => 'curr_record', + 'type' => '93688' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'data', + 'type' => '70195' + }, + '4' => { + 'name' => 'size', + 'type' => '2039' } }, - 'Return' => '94845', - 'ShortName' => 'pldm_send' + 'Return' => '93688', + 'ShortName' => 'pldm_pdr_find_record_by_type' }, - '95814' => { - 'Header' => 'pldm.h', + '96002' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '94736' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'curr_record', + 'type' => '93688' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6087' + 'name' => 'data', + 'type' => '70195' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'size', + 'type' => '2039' }, '4' => { - 'name' => 'pldm_resp_msg', - 'type' => '70188' + 'name' => 'next_record_handle', + 'type' => '2039' + } + }, + 'Return' => '93688', + 'ShortName' => 'pldm_pdr_get_next_record' + }, + '96182' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' }, - '5' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + '1' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '2' => { + 'name' => 'prev_record_handle', + 'type' => '2039' } }, - 'Return' => '94845', - 'ShortName' => 'pldm_send_recv' + 'Return' => '6265', + 'ShortName' => 'pldm_pdr_find_prev_record_handle' }, - '96290' => { - 'Header' => 'pldm.h', + '96417' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '94736' + 'name' => 'repo', + 'type' => '80369' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'instance_id', - 'type' => '168' + 'name' => 'data', + 'type' => '70195' }, '3' => { - 'name' => 'pldm_resp_msg', - 'type' => '70188' + 'name' => 'size', + 'type' => '2039' }, '4' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + 'name' => 'next_record_handle', + 'type' => '2039' } }, - 'Return' => '94845', - 'ShortName' => 'pldm_recv' + 'Return' => '93688', + 'ShortName' => 'pldm_pdr_find_record' + }, + '96592' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_pdr_destroy' + }, + '96749' => { + 'Header' => 'pdr.h', + 'Return' => '82335', + 'ShortName' => 'pldm_pdr_init' }, - '96513' => { - 'Header' => 'pldm.h', + '96821' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '94736' + 'name' => 'repo', + 'type' => '82335' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6087' }, '2' => { - 'name' => 'pldm_resp_msg', - 'type' => '70188' + 'name' => 'size', + 'type' => '180' }, '3' => { - 'name' => 'resp_msg_len', - 'type' => '8822' + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'type' => '4895' } }, - 'Return' => '94845', - 'ShortName' => 'pldm_recv_any' - }, - '96955' => { - 'Header' => 'pldm.h', - 'Return' => '94845', - 'ShortName' => 'pldm_open' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_after_prev_record' }, '9723' => { 'Header' => 'bios.h', @@ -7519,7 +7915,104 @@ $VAR1 = { }, 'Return' => '74', 'ShortName' => 'decode_set_date_time_req' - } + }, + '97264' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + }, + '1' => { + 'name' => 'data', + 'type' => '6087' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'prev_record_handle', + 'type' => '180' + }, + '6' => { + 'name' => 'terminus_handle', + 'type' => '4895' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_hotplug_record' + }, + '97686' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + }, + '1' => { + 'name' => 'data', + 'type' => '6087' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '4' => { + 'name' => 'terminus_handle', + 'type' => '4895' + }, + '5' => { + 'name' => 'record_handle', + 'type' => '2039' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_pdr_add_check' + }, + '97922' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '82335' + }, + '1' => { + 'name' => 'data', + 'type' => '6087' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6265' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '4895' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add' + } }, 'SymbolVersion' => {}, 'Symbols' => { @@ -7720,11 +8213,15 @@ $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, 'get_fru_record_by_option_check' => 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_append_pad_checksum_check' => 1, @@ -7786,12 +8283,23 @@ $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_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_add_from_node_check' => 1, + 'pldm_entity_association_pdr_add_from_node_with_record_handle' => 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, @@ -7802,7 +8310,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, @@ -7812,10 +8323,14 @@ $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_check' => 1, 'pldm_pdr_add_fru_record_set' => 1, 'pldm_pdr_add_fru_record_set_check' => 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, @@ -7825,6 +8340,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, @@ -7847,6 +8363,167 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Intrinsic' }, + '102693' => { + 'BaseType' => '168', + 'Header' => 'base.h', + 'Line' => '14', + 'Name' => 'pldm_tid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '102705' => { + 'BaseType' => '168', + 'Header' => 'instance-id.h', + 'Line' => '11', + 'Name' => 'pldm_instance_id_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '103082' => { + 'Header' => undef, + 'Line' => '18', + 'Memb' => { + '0' => { + 'name' => 'prev', + 'offset' => '0', + 'type' => '102705' + }, + '1' => { + 'name' => 'allocations', + 'offset' => '4', + 'type' => '180' + } + }, + 'Name' => 'struct pldm_tid_state', + 'PrivateABI' => 1, + 'Size' => '8', + 'Type' => 'Struct' + }, + '103121' => { + 'Header' => undef, + 'Line' => '23', + 'Memb' => { + '0' => { + 'name' => 'state', + 'offset' => '0', + 'type' => '103163' + }, + '1' => { + 'name' => 'lock_db_fd', + 'offset' => '8264', + 'type' => '74' + } + }, + 'Name' => 'struct pldm_instance_db', + 'PrivateABI' => 1, + 'Size' => '2052', + 'Type' => 'Struct' + }, + '103163' => { + 'BaseType' => '103082', + 'Name' => 'struct pldm_tid_state[256]', + 'Size' => '2048', + 'Type' => 'Array' + }, + '103576' => { + 'BaseType' => '103121', + 'Name' => 'struct pldm_instance_db*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '103982' => { + 'BaseType' => '102705', + 'Name' => 'pldm_instance_id_t*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '104158' => { + 'BaseType' => '103576', + 'Name' => 'struct pldm_instance_db**', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '104648' => { + 'BaseType' => '168', + 'Header' => 'pldm.h', + 'Line' => '12', + 'Name' => 'mctp_eid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '104660' => { + '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)' + }, + '13' => { + 'name' => 'PLDM_REQUESTER_TRANSPORT_BUSY', + 'value' => '18446744073709551603 (-13)' + }, + '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' + }, + '104763' => { + 'BaseType' => '104660', + 'Header' => 'pldm.h', + 'Line' => '29', + 'Name' => 'pldm_requester_rc_t', + 'Size' => '4', + 'Type' => 'Typedef' + }, '109' => { 'Name' => 'long', 'Size' => '8', @@ -7954,9 +8631,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '12740' => { + '12747' => { 'Header' => 'platform.h', - 'Line' => '237', + 'Line' => '243', 'Memb' => { '0' => { 'name' => 'PLDM_SENSOR_OP_STATE', @@ -7975,15 +8652,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', @@ -8015,14 +8692,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', @@ -8074,9 +8751,9 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '13220' => { + '13227' => { 'Header' => 'platform.h', - 'Line' => '543', + 'Line' => '550', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8091,27 +8768,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', @@ -8168,9 +8845,9 @@ $VAR1 = { 'Size' => '26', 'Type' => 'Struct' }, - '13647' => { + '13654' => { 'Header' => 'platform.h', - 'Line' => '708', + 'Line' => '715', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -8202,14 +8879,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', @@ -8294,7 +8971,7 @@ $VAR1 = { '24' => { 'name' => 'hysteresis', 'offset' => '72', - 'type' => '13635' + 'type' => '13642' }, '25' => { 'name' => 'supported_thresholds', @@ -8319,7 +8996,7 @@ $VAR1 = { '29' => { 'name' => 'max_readable', 'offset' => '100', - 'type' => '13635' + 'type' => '13642' }, '3' => { 'name' => 'entity_type', @@ -8329,7 +9006,7 @@ $VAR1 = { '30' => { 'name' => 'min_readable', 'offset' => '104', - 'type' => '13635' + 'type' => '13642' }, '31' => { 'name' => 'range_field_format', @@ -8344,37 +9021,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', @@ -8384,12 +9061,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', @@ -8430,9 +9107,9 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Typedef' }, - '14286' => { + '14293' => { 'Header' => 'platform.h', - 'Line' => '770', + 'Line' => '777', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8447,28 +9124,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', @@ -8485,22 +9162,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', @@ -8527,23 +9204,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', @@ -8565,9 +9242,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '15355' => { + '15362' => { 'Header' => 'platform.h', - 'Line' => '1053', + 'Line' => '1060', 'Memb' => { '0' => { 'name' => 'event_data_format', @@ -8604,7 +9281,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '16585' => { + '16592' => { 'BaseType' => '166', 'Name' => 'void**', 'Size' => '8', @@ -8652,32 +9329,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' @@ -8688,8 +9365,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '28491' => { - 'BaseType' => '13726', + '28498' => { + 'BaseType' => '13733', 'Name' => 'struct pldm_numeric_sensor_value_pdr*', 'Size' => '8', 'Type' => 'Pointer' @@ -8700,20 +9377,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' @@ -8723,22 +9400,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' } @@ -8747,56 +9424,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' @@ -8820,7 +9497,7 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '45466' => { + '45473' => { 'BaseType' => '102', 'Header' => undef, 'Line' => '45', @@ -8829,8 +9506,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '45555' => { - 'BaseType' => '45466', + '45562' => { + 'BaseType' => '45473', 'Header' => undef, 'Line' => '27', 'Name' => 'uint64_t', @@ -8838,7 +9515,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '45567' => { + '45574' => { 'Header' => 'bios.h', 'Line' => '38', 'Memb' => { @@ -8865,7 +9542,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '45601' => { + '45608' => { 'Header' => 'bios.h', 'Line' => '47', 'Memb' => { @@ -8882,7 +9559,7 @@ $VAR1 = { '2' => { 'name' => 'name', 'offset' => '4', - 'type' => '45658' + 'type' => '45665' } }, 'Name' => 'struct pldm_bios_string_table_entry', @@ -8895,19 +9572,19 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '45653' => { - 'BaseType' => '45601', + '45660' => { + 'BaseType' => '45608', 'Name' => 'struct pldm_bios_string_table_entry const', 'Size' => '5', 'Type' => 'Const' }, - '45658' => { + '45665' => { 'BaseType' => '116', 'Name' => 'char[1]', 'Size' => '1', 'Type' => 'Array' }, - '45674' => { + '45681' => { 'Header' => 'bios.h', 'Line' => '53', 'Memb' => { @@ -8936,13 +9613,13 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '45739' => { - 'BaseType' => '45674', + '45746' => { + 'BaseType' => '45681', 'Name' => 'struct pldm_bios_attr_table_entry const', 'Size' => '6', 'Type' => 'Const' }, - '45760' => { + '45767' => { 'Header' => 'bios.h', 'Line' => '65', 'Memb' => { @@ -8966,13 +9643,13 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '45812' => { - 'BaseType' => '45760', + '45819' => { + 'BaseType' => '45767', 'Name' => 'struct pldm_bios_attr_val_table_entry const', 'Size' => '4', 'Type' => 'Const' }, - '45881' => { + '45888' => { 'Header' => 'bios_table.h', 'Line' => '204', 'Memb' => { @@ -8994,7 +9671,7 @@ $VAR1 = { '3' => { 'name' => 'pv_handle', 'offset' => '8', - 'type' => '45984' + 'type' => '45991' }, '4' => { 'name' => 'def_num', @@ -9011,19 +9688,24 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '45972' => { - 'BaseType' => '45881', + '45979' => { + 'BaseType' => '45888', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const', 'Size' => '32', 'Type' => 'Const' }, - '45984' => { + '45991' => { 'BaseType' => '11458', 'Name' => 'uint16_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '45994' => { + '46' => { + 'Name' => 'signed char', + 'Size' => '1', + 'Type' => 'Intrinsic' + }, + '46001' => { 'Header' => 'bios_table.h', 'Line' => '292', 'Memb' => { @@ -9067,18 +9749,13 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '46' => { - 'Name' => 'signed char', - 'Size' => '1', - 'Type' => 'Intrinsic' - }, - '46106' => { - 'BaseType' => '45994', + '46113' => { + 'BaseType' => '46001', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const', 'Size' => '24', 'Type' => 'Const' }, - '46116' => { + '46123' => { 'Header' => 'bios_table.h', 'Line' => '382', 'Memb' => { @@ -9095,12 +9772,12 @@ $VAR1 = { '2' => { 'name' => 'lower_bound', 'offset' => '8', - 'type' => '45555' + 'type' => '45562' }, '3' => { 'name' => 'upper_bound', 'offset' => '22', - 'type' => '45555' + 'type' => '45562' }, '4' => { 'name' => 'scalar_increment', @@ -9110,15 +9787,15 @@ $VAR1 = { '5' => { 'name' => 'default_value', 'offset' => '50', - 'type' => '45555' + 'type' => '45562' } }, 'Name' => 'struct pldm_bios_table_attr_entry_integer_info', 'Size' => '40', 'Type' => 'Struct' }, - '46214' => { - 'BaseType' => '46116', + '46221' => { + 'BaseType' => '46123', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const', 'Size' => '40', 'Type' => 'Const' @@ -9129,7 +9806,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '46570' => { + '46577' => { 'Name' => 'ssize_t(*)(void const*)', 'Param' => { '0' => { @@ -9146,9 +9823,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '46638' => { + '46645' => { 'Header' => undef, - 'Line' => '993', + 'Line' => '992', 'Memb' => { '0' => { 'name' => 'table_data', @@ -9168,7 +9845,7 @@ $VAR1 = { '3' => { 'name' => 'entry_length_handler', 'offset' => '36', - 'type' => '46570' + 'type' => '46577' } }, 'Name' => 'struct pldm_bios_table_iter', @@ -9176,26 +9853,26 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '46708' => { - 'BaseType' => '46638', + '46715' => { + 'BaseType' => '46645', 'Name' => 'struct pldm_bios_table_iter const', 'Size' => '32', 'Type' => 'Const' }, - '47738' => { - 'BaseType' => '46638', + '47745' => { + 'BaseType' => '46645', 'Name' => 'struct pldm_bios_table_iter*', 'Size' => '8', 'Type' => 'Pointer' }, - '47743' => { - 'BaseType' => '45812', + '47750' => { + 'BaseType' => '45819', 'Name' => 'struct pldm_bios_attr_val_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '48158' => { - 'BaseType' => '45739', + '48165' => { + 'BaseType' => '45746', 'Name' => 'struct pldm_bios_attr_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9209,8 +9886,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '48747' => { - 'BaseType' => '45653', + '48754' => { + 'BaseType' => '45660', 'Name' => 'struct pldm_bios_string_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9230,8 +9907,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '49920' => { - 'BaseType' => '46708', + '49927' => { + 'BaseType' => '46715', 'Name' => 'struct pldm_bios_table_iter const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9241,32 +9918,32 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '54900' => { - 'BaseType' => '45555', + '54907' => { + 'BaseType' => '45562', 'Name' => 'uint64_t*', 'Size' => '8', 'Type' => 'Pointer' }, - '55177' => { - 'BaseType' => '46214', + '55184' => { + 'BaseType' => '46221', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '55444' => { + '55451' => { 'BaseType' => '12199', 'Name' => 'char const**', 'Size' => '8', 'Type' => 'Pointer' }, - '56742' => { - 'BaseType' => '46106', + '56749' => { + 'BaseType' => '46113', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '58104' => { - 'BaseType' => '45972', + '58111' => { + 'BaseType' => '45979', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9301,14 +9978,14 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '63365' => { + '63372' => { 'Header' => 'firmware_update.h', 'Line' => '329', 'Memb' => { '0' => { 'name' => 'uuid', 'offset' => '0', - 'type' => '63469' + 'type' => '63476' }, '1' => { 'name' => 'package_header_format_version', @@ -9323,7 +10000,7 @@ $VAR1 = { '3' => { 'name' => 'package_release_date_time', 'offset' => '25', - 'type' => '14661' + 'type' => '14668' }, '4' => { 'name' => 'component_bitmap_bit_length', @@ -9345,13 +10022,13 @@ $VAR1 = { 'Size' => '36', 'Type' => 'Struct' }, - '63469' => { + '63476' => { 'BaseType' => '168', 'Name' => 'uint8_t[16]', 'Size' => '16', 'Type' => 'Array' }, - '63501' => { + '63508' => { 'Header' => 'firmware_update.h', 'Line' => '343', 'Memb' => { @@ -9368,7 +10045,7 @@ $VAR1 = { '2' => { 'name' => 'device_update_option_flags', 'offset' => '3', - 'type' => '60868' + 'type' => '60875' }, '3' => { 'name' => 'comp_image_set_version_string_type', @@ -9390,7 +10067,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '63696' => { + '63703' => { 'Header' => 'firmware_update.h', 'Line' => '377', 'Memb' => { @@ -9412,12 +10089,12 @@ $VAR1 = { '3' => { 'name' => 'comp_options', 'offset' => '8', - 'type' => '60370' + 'type' => '60377' }, '4' => { 'name' => 'requested_comp_activation_method', 'offset' => '16', - 'type' => '60370' + 'type' => '60377' }, '5' => { 'name' => 'comp_location_offset', @@ -9444,7 +10121,7 @@ $VAR1 = { 'Size' => '22', 'Type' => 'Struct' }, - '63878' => { + '63885' => { 'Header' => 'firmware_update.h', 'Line' => '403', 'Memb' => { @@ -9456,7 +10133,7 @@ $VAR1 = { '1' => { 'name' => 'capabilities_during_update', 'offset' => '1', - 'type' => '60868' + 'type' => '60875' }, '2' => { 'name' => 'comp_count', @@ -9488,7 +10165,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '63982' => { + '63989' => { 'Header' => 'firmware_update.h', 'Line' => '417', 'Memb' => { @@ -9505,17 +10182,17 @@ $VAR1 = { '10' => { 'name' => 'pending_comp_release_date', 'offset' => '37', - 'type' => '64164' + 'type' => '64171' }, '11' => { 'name' => 'comp_activation_methods', 'offset' => '51', - 'type' => '60370' + 'type' => '60377' }, '12' => { 'name' => 'capabilities_during_update', 'offset' => '53', - 'type' => '60868' + 'type' => '60875' }, '2' => { 'name' => 'comp_classification_index', @@ -9540,7 +10217,7 @@ $VAR1 = { '6' => { 'name' => 'active_comp_release_date', 'offset' => '17', - 'type' => '64164' + 'type' => '64171' }, '7' => { 'name' => 'pending_comp_comparison_stamp', @@ -9562,7 +10239,7 @@ $VAR1 = { 'Size' => '39', 'Type' => 'Struct' }, - '64164' => { + '64171' => { 'BaseType' => '168', 'Name' => 'uint8_t[8]', 'Size' => '8', @@ -9574,13 +10251,13 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '65024' => { + '65031' => { 'BaseType' => '6048', 'Name' => 'struct variable_field const', 'Size' => '16', 'Type' => 'Const' }, - '65369' => { + '65376' => { 'BaseType' => '11646', 'Name' => 'bool8_t*', 'Size' => '8', @@ -9591,44 +10268,44 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Intrinsic' }, - '68379' => { - 'BaseType' => '65024', + '68386' => { + 'BaseType' => '65031', 'Name' => 'struct variable_field const*', 'Size' => '8', 'Type' => 'Pointer' }, - '69660' => { - 'BaseType' => '63982', + '69667' => { + 'BaseType' => '63989', 'Name' => 'struct pldm_component_parameter_entry*', 'Size' => '8', 'Type' => 'Pointer' }, - '69890' => { - 'BaseType' => '63878', + '69897' => { + 'BaseType' => '63885', 'Name' => 'struct pldm_get_firmware_parameters_resp*', 'Size' => '8', 'Type' => 'Pointer' }, - '70188' => { + '70195' => { 'BaseType' => '2034', 'Name' => 'uint8_t**', 'Size' => '8', 'Type' => 'Pointer' }, - '70482' => { - 'BaseType' => '63696', + '70489' => { + 'BaseType' => '63703', 'Name' => 'struct pldm_component_image_information*', 'Size' => '8', 'Type' => 'Pointer' }, - '71105' => { - 'BaseType' => '63501', + '71112' => { + 'BaseType' => '63508', 'Name' => 'struct pldm_firmware_device_id_record*', 'Size' => '8', 'Type' => 'Pointer' }, - '71257' => { - 'BaseType' => '63365', + '71264' => { + 'BaseType' => '63372', 'Name' => 'struct pldm_package_header_information*', 'Size' => '8', 'Type' => 'Pointer' @@ -9652,27 +10329,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '77881' => { - 'BaseType' => '77898', - 'Header' => undef, - 'Line' => '15', - 'Name' => 'pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', - 'Type' => 'Typedef' - }, - '77893' => { - 'BaseType' => '77881', - 'Name' => 'pldm_pdr const', - 'Size' => '24', - 'Type' => 'Const' - }, - '77898' => { - 'Header' => undef, - 'Line' => '18', + '77960' => { + 'Header' => 'pdr_data.h', + 'Line' => '12', 'Memb' => { '0' => { - 'name' => 'record_count', + 'name' => 'record_handle', 'offset' => '0', 'type' => '180' }, @@ -9682,42 +10344,56 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'first', + 'name' => 'data', 'offset' => '8', - 'type' => '78970' + 'type' => '2034' }, '3' => { - 'name' => 'last', + 'name' => 'next', 'offset' => '22', - 'type' => '78970' + 'type' => '78049' + }, + '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' }, - '77958' => { - 'BaseType' => '77975', - 'Header' => undef, - 'Line' => '20', + '78049' => { + 'BaseType' => '77960', + 'Name' => 'struct pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '78061' => { + 'BaseType' => '77960', + 'Header' => 'pdr_data.h', + 'Line' => '19', 'Name' => 'pldm_pdr_record', - 'PrivateABI' => 1, 'Size' => '32', 'Type' => 'Typedef' }, - '77970' => { - 'BaseType' => '77958', + '78073' => { + 'BaseType' => '78061', 'Name' => 'pldm_pdr_record const', 'Size' => '32', 'Type' => 'Const' }, - '77975' => { - 'Header' => undef, - 'Line' => '9', + '78078' => { + 'Header' => 'pdr_data.h', + 'Line' => '21', 'Memb' => { '0' => { - 'name' => 'record_handle', + 'name' => 'record_count', 'offset' => '0', 'type' => '180' }, @@ -9727,34 +10403,43 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'data', + 'name' => 'first', 'offset' => '8', - 'type' => '2034' + 'type' => '78138' }, '3' => { - 'name' => 'next', + 'name' => 'last', 'offset' => '22', - 'type' => '78958' - }, - '4' => { - 'name' => 'is_remote', - 'offset' => '36', - 'type' => '6265' - }, - '5' => { - 'name' => 'terminus_handle', - 'offset' => '38', - 'type' => '4895' + 'type' => '78138' } }, - 'Name' => 'struct pldm_pdr_record', - 'PrivateABI' => 1, - 'Size' => '32', + 'Name' => 'struct pldm_pdr', + 'Size' => '24', 'Type' => 'Struct' }, - '78059' => { + '78138' => { + 'BaseType' => '78061', + 'Name' => 'pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '78143' => { + 'BaseType' => '78078', + 'Header' => 'pdr_data.h', + 'Line' => '26', + 'Name' => 'pldm_pdr', + 'Size' => '24', + 'Type' => 'Typedef' + }, + '78155' => { + 'BaseType' => '78143', + 'Name' => 'pldm_pdr const', + 'Size' => '24', + 'Type' => 'Const' + }, + '78160' => { 'Header' => 'pdr.h', - 'Line' => '310', + 'Line' => '415', 'Memb' => { '0' => { 'name' => 'entity_type', @@ -9776,31 +10461,31 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '78116' => { - 'BaseType' => '78059', + '78217' => { + 'BaseType' => '78160', 'Header' => 'pdr.h', - 'Line' => '314', + 'Line' => '419', 'Name' => 'pldm_entity', 'Size' => '6', 'Type' => 'Typedef' }, - '78160' => { - 'BaseType' => '78172', + '78259' => { + 'BaseType' => '78272', 'Header' => undef, - 'Line' => '324', + 'Line' => '429', 'Name' => 'pldm_entity_association_tree', 'PrivateABI' => 1, 'Size' => '16', 'Type' => 'Typedef' }, - '78172' => { + '78272' => { 'Header' => undef, - 'Line' => '452', + 'Line' => '963', 'Memb' => { '0' => { 'name' => 'root', 'offset' => '0', - 'type' => '78975' + 'type' => '80291' }, '1' => { 'name' => 'last_used_container_id', @@ -9813,28 +10498,34 @@ $VAR1 = { 'Size' => '16', 'Type' => 'Struct' }, - '78215' => { - 'BaseType' => '78232', + '78315' => { + 'BaseType' => '78333', 'Header' => undef, - 'Line' => '329', + 'Line' => '434', 'Name' => 'pldm_entity_node', 'PrivateABI' => 1, 'Size' => '40', 'Type' => 'Typedef' }, - '78232' => { + '78328' => { + 'BaseType' => '78315', + 'Name' => 'pldm_entity_node const', + 'Size' => '40', + 'Type' => 'Const' + }, + '78333' => { 'Header' => undef, - 'Line' => '457', + 'Line' => '968', 'Memb' => { '0' => { 'name' => 'entity', 'offset' => '0', - 'type' => '78116' + 'type' => '78217' }, '1' => { 'name' => 'parent', 'offset' => '6', - 'type' => '78116' + 'type' => '78217' }, '2' => { 'name' => 'remote_container_id', @@ -9844,12 +10535,12 @@ $VAR1 = { '3' => { 'name' => 'first_child', 'offset' => '22', - 'type' => '78975' + 'type' => '80291' }, '4' => { 'name' => 'next_sibling', 'offset' => '36', - 'type' => '78975' + 'type' => '80291' }, '5' => { 'name' => 'association_type', @@ -9862,65 +10553,53 @@ $VAR1 = { 'Size' => '40', 'Type' => 'Struct' }, - '78958' => { - 'BaseType' => '77975', - 'Name' => 'struct pldm_pdr_record*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '78970' => { - 'BaseType' => '77958', - 'Name' => 'pldm_pdr_record*', + '80291' => { + 'BaseType' => '78315', + 'Name' => 'pldm_entity_node*', 'Size' => '8', 'Type' => 'Pointer' }, - '78975' => { - 'BaseType' => '78215', - 'Name' => 'pldm_entity_node*', + '80369' => { + 'BaseType' => '78155', + 'Name' => 'pldm_pdr const*', 'Size' => '8', 'Type' => 'Pointer' }, - '79400' => { - 'BaseType' => '79405', + '80928' => { + 'BaseType' => '80933', 'Name' => 'pldm_entity**', 'Size' => '8', 'Type' => 'Pointer' }, - '79405' => { - 'BaseType' => '78116', + '80933' => { + 'BaseType' => '78217', 'Name' => 'pldm_entity*', 'Size' => '8', 'Type' => 'Pointer' }, - '79475' => { - 'BaseType' => '78160', + '81' => { + 'Name' => 'unsigned int', + 'Size' => '4', + 'Type' => 'Intrinsic' + }, + '81003' => { + 'BaseType' => '78259', 'Name' => 'pldm_entity_association_tree*', 'Size' => '8', 'Type' => 'Pointer' }, - '79754' => { - 'BaseType' => '78975', + '81282' => { + 'BaseType' => '80291', 'Name' => 'pldm_entity_node**', 'Size' => '8', 'Type' => 'Pointer' }, - '80499' => { - 'BaseType' => '77893', - 'Name' => 'pldm_pdr const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '80753' => { - 'BaseType' => '77881', + '82335' => { + 'BaseType' => '78143', 'Name' => 'pldm_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '81' => { - 'Name' => 'unsigned int', - 'Size' => '4', - 'Type' => 'Intrinsic' - }, '825' => { 'BaseType' => '714', 'Name' => 'struct pldm_msg_hdr const', @@ -9958,12 +10637,6 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Const' }, - '87226' => { - 'BaseType' => '77970', - 'Name' => 'pldm_pdr_record const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '874' => { 'BaseType' => '168', 'Name' => 'uint8_t[1]', @@ -10010,163 +10683,18 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Struct' }, - '92781' => { - 'BaseType' => '168', - 'Header' => 'base.h', - 'Line' => '14', - 'Name' => 'pldm_tid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '92793' => { - 'BaseType' => '168', - 'Header' => 'instance-id.h', - 'Line' => '11', - 'Name' => 'pldm_instance_id_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '93170' => { - 'Header' => undef, - 'Line' => '18', - 'Memb' => { - '0' => { - 'name' => 'prev', - 'offset' => '0', - 'type' => '92793' - }, - '1' => { - 'name' => 'allocations', - 'offset' => '4', - 'type' => '180' - } - }, - 'Name' => 'struct pldm_tid_state', - 'PrivateABI' => 1, - 'Size' => '8', - 'Type' => 'Struct' - }, - '93209' => { - 'Header' => undef, - 'Line' => '23', - 'Memb' => { - '0' => { - 'name' => 'state', - 'offset' => '0', - 'type' => '93251' - }, - '1' => { - 'name' => 'lock_db_fd', - 'offset' => '8264', - 'type' => '74' - } - }, - 'Name' => 'struct pldm_instance_db', - 'PrivateABI' => 1, - 'Size' => '2052', - 'Type' => 'Struct' - }, - '93251' => { - 'BaseType' => '93170', - 'Name' => 'struct pldm_tid_state[256]', - 'Size' => '2048', - 'Type' => 'Array' - }, - '93664' => { - 'BaseType' => '93209', - 'Name' => 'struct pldm_instance_db*', + '90019' => { + 'BaseType' => '78328', + 'Name' => 'pldm_entity_node const*', 'Size' => '8', 'Type' => 'Pointer' }, - '94070' => { - 'BaseType' => '92793', - 'Name' => 'pldm_instance_id_t*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '94246' => { - 'BaseType' => '93664', - 'Name' => 'struct pldm_instance_db**', + '93688' => { + 'BaseType' => '78073', + 'Name' => 'pldm_pdr_record const*', 'Size' => '8', 'Type' => 'Pointer' }, - '94736' => { - 'BaseType' => '168', - 'Header' => 'pldm.h', - 'Line' => '12', - 'Name' => 'mctp_eid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '94748' => { - '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' - }, - '94845' => { - 'BaseType' => '94748', - 'Header' => 'pldm.h', - 'Line' => '28', - 'Name' => 'pldm_requester_rc_t', - 'Size' => '4', - 'Type' => 'Typedef' - }, '969' => { 'BaseType' => '890', 'Name' => 'struct pldm_header_info const', @@ -10198,6 +10726,7 @@ $VAR1 = { 'memcpy@GLIBC_2.17' => 0, 'open64@GLIBC_2.17' => 0, 'poll@GLIBC_2.17' => 0, + 'ppoll@GLIBC_2.17' => 0, 'recv@GLIBC_2.17' => 0, 'recvmsg@GLIBC_2.17' => 0, 'sendmsg@GLIBC_2.17' => 0, @@ -10207,6 +10736,8 @@ $VAR1 = { 'stat64@GLIBC_2.33' => 0, 'strlen@GLIBC_2.17' => 0, 'strtol@GLIBC_2.17' => 0, + 'timerfd_create@GLIBC_2.17' => 0, + 'timerfd_settime@GLIBC_2.17' => 0, 'write@GLIBC_2.17' => 0 } }, diff --git a/abi/x86_64/gcc.dump b/abi/x86_64/gcc.dump index a8fbf9ca9..ffcf04480 100644 --- a/abi/x86_64/gcc.dump +++ b/abi/x86_64/gcc.dump @@ -2,7 +2,7 @@ $VAR1 = { 'ABI_DUMPER_VERSION' => '1.2', 'ABI_DUMP_VERSION' => '3.5', 'Arch' => 'x86_64', - 'GccVersion' => '12.2.0', + 'GccVersion' => '13.2.0', 'Headers' => { 'base.h' => 1, 'bios.h' => 1, @@ -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, @@ -69,6 +70,28 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_req' }, + '102785' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'dec', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'dec2bcd32' + }, + '102914' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'bcd', + 'type' => '180' + } + }, + 'Return' => '180', + 'ShortName' => 'bcd2dec32' + }, '10323' => { 'Header' => 'bios.h', 'Param' => { @@ -115,6 +138,222 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_req' }, + '103342' => { + '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' + }, + '103470' => { + 'Header' => 'utils.h', + 'Param' => { + '0' => { + 'name' => 'data', + 'type' => '1434' + }, + '1' => { + 'name' => 'size', + 'type' => '123' + } + }, + 'Return' => '168', + 'ShortName' => 'crc8' + }, + '104728' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104951' + }, + '1' => { + 'name' => 'tid', + 'type' => '104050' + }, + '2' => { + 'name' => 'iid', + 'type' => '104062' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_free' + }, + '104956' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104951' + }, + '1' => { + 'name' => 'tid', + 'type' => '104050' + }, + '2' => { + 'name' => 'iid', + 'type' => '105377' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_id_alloc' + }, + '105382' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '104951' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_destroy' + }, + '105467' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '105553' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init_default' + }, + '105558' => { + 'Header' => 'instance-id.h', + 'Param' => { + '0' => { + 'name' => 'ctx', + 'type' => '105553' + }, + '1' => { + 'name' => 'dbpath', + 'type' => '12552' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_instance_db_init' + }, + '106737' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '106069' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_req_msg', + 'type' => '6245' + }, + '3' => { + 'name' => 'req_msg_len', + 'type' => '123' + } + }, + 'Return' => '106184', + 'ShortName' => 'pldm_send' + }, + '107156' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '106069' + }, + '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' => '71377' + }, + '5' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '106184', + 'ShortName' => 'pldm_send_recv' + }, + '107639' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '106069' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '3' => { + 'name' => 'pldm_resp_msg', + 'type' => '71377' + }, + '4' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '106184', + 'ShortName' => 'pldm_recv' + }, + '107865' => { + 'Header' => 'pldm.h', + 'Param' => { + '0' => { + 'name' => 'eid', + 'type' => '106069' + }, + '1' => { + 'name' => 'mctp_fd', + 'type' => '74' + }, + '2' => { + 'name' => 'pldm_resp_msg', + 'type' => '71377' + }, + '3' => { + 'name' => 'resp_msg_len', + 'type' => '9084' + } + }, + 'Return' => '106184', + 'ShortName' => 'pldm_recv_any' + }, '10815' => { 'Header' => 'bios.h', 'Param' => { @@ -165,6 +404,11 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_date_time_resp' }, + '108310' => { + 'Header' => 'pldm.h', + 'Return' => '106184', + 'ShortName' => 'pldm_open' + }, '11016' => { 'Header' => 'bios.h', 'Param' => { @@ -211,7 +455,22 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_date_time_resp' }, - '111140' => { + '11299' => { + 'Header' => 'bios.h', + 'Param' => { + '0' => { + 'name' => 'instance_id', + 'type' => '168' + }, + '1' => { + 'name' => 'msg', + 'type' => '1632' + } + }, + 'Return' => '74', + 'ShortName' => 'encode_get_date_time_req' + }, + '123716' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -230,7 +489,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_resp' }, - '111340' => { + '123916' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -251,7 +510,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '55965' + 'type' => '55980' }, '5' => { 'name' => 'file_meta_data_1', @@ -280,7 +539,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_req' }, - '111572' => { + '124148' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -304,7 +563,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_with_metadata_resp' }, - '111673' => { + '124249' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -321,7 +580,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '46642' + 'type' => '46659' }, '4' => { 'name' => 'file_meta_data_1', @@ -350,7 +609,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_with_metadata_req' }, - '111970' => { + '124546' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -369,7 +628,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_resp' }, - '112165' => { + '124741' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -419,7 +678,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_req' }, - '112377' => { + '124953' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -443,7 +702,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_with_meta_data_resp' }, - '112473' => { + '125049' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -489,7 +748,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_with_meta_data_req' }, - '112770' => { + '125346' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -513,7 +772,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_resp' }, - '112871' => { + '125447' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -540,22 +799,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_req' }, - '11299' => { - 'Header' => 'bios.h', - 'Param' => { - '0' => { - 'name' => 'instance_id', - 'type' => '168' - }, - '1' => { - 'name' => 'msg', - 'type' => '1632' - } - }, - 'Return' => '74', - 'ShortName' => 'encode_get_date_time_req' - }, - '113106' => { + '125682' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -574,7 +818,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_file_ack_resp' }, - '113296' => { + '125872' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -605,7 +849,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_file_ack_req' }, - '113438' => { + '126014' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -634,7 +878,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_resp' }, - '113553' => { + '126129' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -670,7 +914,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_req' }, - '113823' => { + '126399' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -697,7 +941,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_resp' }, - '114053' => { + '126629' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -732,7 +976,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_req' }, - '114215' => { + '126791' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -756,7 +1000,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_resp' }, - '114316' => { + '126892' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -773,7 +1017,7 @@ $VAR1 = { }, '3' => { 'name' => 'length', - 'type' => '46642' + 'type' => '46659' }, '4' => { 'name' => 'msg', @@ -783,7 +1027,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_req' }, - '114551' => { + '127127' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -802,7 +1046,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_new_file_resp' }, - '114741' => { + '127317' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -823,7 +1067,7 @@ $VAR1 = { }, '4' => { 'name' => 'length', - 'type' => '55965' + 'type' => '55980' } }, 'Reg' => { @@ -833,7 +1077,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_new_file_req' }, - '114883' => { + '127459' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -862,7 +1106,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_resp' }, - '114998' => { + '127574' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -892,7 +1136,7 @@ $VAR1 = { '6' => { 'name' => 'address', 'offset' => '0', - 'type' => '46642' + 'type' => '46659' }, '7' => { 'name' => 'msg', @@ -903,7 +1147,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_req' }, - '115283' => { + '127859' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -930,7 +1174,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_by_type_memory_resp' }, - '115513' => { + '128089' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -960,7 +1204,7 @@ $VAR1 = { '6' => { 'name' => 'address', 'offset' => '0', - 'type' => '55965' + 'type' => '55980' } }, 'Reg' => { @@ -970,7 +1214,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_by_type_memory_req' }, - '115690' => { + '128266' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -993,7 +1237,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_resp' }, - '115905' => { + '128481' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1022,7 +1266,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_resp' }, - '116015' => { + '128591' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1049,7 +1293,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_write_file_req' }, - '116250' => { + '128826' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1086,7 +1330,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_write_file_req' }, - '116405' => { + '128981' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1109,7 +1353,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_resp' }, - '116620' => { + '129196' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1141,7 +1385,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_resp' }, - '116756' => { + '129332' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1168,7 +1412,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_read_file_req' }, - '116991' => { + '129567' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1199,7 +1443,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_read_file_req' }, - '117126' => { + '129702' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1239,7 +1483,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_resp' }, - '117299' => { + '129875' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1266,7 +1510,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_req' }, - '117525' => { + '130101' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1302,7 +1546,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_file_table_resp' }, - '117822' => { + '130398' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1333,7 +1577,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_file_table_req' }, - '117957' => { + '130533' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1362,7 +1606,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_resp' }, - '118066' => { + '130642' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1387,7 +1631,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '46642' + 'type' => '46659' }, '6' => { 'name' => 'msg', @@ -1398,7 +1642,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_req' }, - '118325' => { + '130901' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1425,7 +1669,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_rw_file_memory_resp' }, - '118546' => { + '131122' => { 'Header' => 'file_io.h', 'Param' => { '0' => { @@ -1450,7 +1694,7 @@ $VAR1 = { }, '5' => { 'name' => 'address', - 'type' => '55965' + 'type' => '55980' } }, 'Reg' => { @@ -1460,7 +1704,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_rw_file_memory_req' }, - '119513' => { + '132089' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1491,7 +1735,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_resp' }, - '119761' => { + '132337' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1515,7 +1759,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_req' }, - '119844' => { + '132420' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1546,7 +1790,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_alert_status_resp' }, - '119983' => { + '132559' => { 'Header' => 'host.h', 'Param' => { '0' => { @@ -1569,7 +1813,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_alert_status_req' }, - '121052' => { + '133635' => { 'Header' => 'platform_oem_ibm.h', 'Param' => { '0' => { @@ -1605,6 +1849,36 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_bios_attribute_update_event_req' }, + '134838' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'entityType', + 'type' => '5053' + }, + '2' => { + 'name' => 'entityInstance', + 'type' => '5053' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_find_container_id' + }, + '135216' => { + 'Header' => 'pdr_oem_ibm.h', + 'Param' => { + '0' => { + 'name' => 'record_handle', + 'type' => '11828' + } + }, + 'Return' => '6423', + 'ShortName' => 'isHBRange' + }, '1440' => { 'Header' => 'base.h', 'Param' => { @@ -1632,7 +1906,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_header_only' }, - '16195' => { + '16202' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1682,7 +1956,7 @@ $VAR1 = { '9' => { 'name' => 'event_data', 'offset' => '24', - 'type' => '16933' + 'type' => '16940' } }, 'Return' => '74', @@ -1715,7 +1989,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cc_only_resp' }, - '16943' => { + '16950' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1751,7 +2025,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_poll_for_platform_event_message_req' }, - '17507' => { + '17514' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1770,7 +2044,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_resp' }, - '17682' => { + '17689' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1801,7 +2075,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_event_receiver_req' }, - '18172' => { + '18179' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1865,7 +2139,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_multipart_receive_req' }, - '18507' => { + '18514' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1896,7 +2170,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_event_receiver_req' }, - '18771' => { + '18778' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1919,7 +2193,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_req' }, - '19159' => { + '19166' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -1975,7 +2249,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_resp' }, - '19567' => { + '19574' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2026,7 +2300,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_sensor_reading_resp' }, - '20461' => { + '20468' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2049,7 +2323,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_sensor_reading_req' }, - '20683' => { + '20690' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2095,7 +2369,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_tid_req' }, - '21973' => { + '21990' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2122,7 +2396,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_pdr_repository_chg_event_data' }, - '22380' => { + '22397' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2143,11 +2417,11 @@ $VAR1 = { }, '4' => { 'name' => 'change_entries', - 'type' => '22708' + 'type' => '22725' }, '5' => { 'name' => 'event_data', - 'type' => '22723' + 'type' => '22740' }, '6' => { 'name' => 'actual_change_records_size', @@ -2166,7 +2440,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_pldm_pdr_repository_chg_event_data' }, - '22733' => { + '22750' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2231,7 +2505,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_tid_resp' }, - '23707' => { + '23724' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2250,7 +2524,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_numeric_effecter_value_req' }, - '24042' => { + '24059' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2314,7 +2588,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_tid_resp' }, - '24442' => { + '24459' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2333,7 +2607,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_numeric_effecter_value_req' }, - '24643' => { + '24660' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2346,7 +2620,7 @@ $VAR1 = { }, '2' => { 'name' => 'pdr_value', - 'type' => '29133' + 'type' => '29150' } }, 'Return' => '74', @@ -2437,7 +2711,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_version_req' }, - '29138' => { + '29155' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2468,7 +2742,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_numeric_sensor_data' }, - '29992' => { + '30009' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2531,7 +2805,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_resp' }, - '30429' => { + '30446' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2554,7 +2828,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_op_data' }, - '30815' => { + '30832' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2581,7 +2855,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_sensor_event_data' }, - '31242' => { + '31259' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2602,7 +2876,7 @@ $VAR1 = { }, '4' => { 'name' => 'synchrony_config_support', - 'type' => '31917' + 'type' => '31934' }, '5' => { 'name' => 'number_event_class_returned', @@ -2622,7 +2896,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_supported_resp' }, - '31922' => { + '31939' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2641,7 +2915,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_supported_req' }, - '32123' => { + '32140' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2664,7 +2938,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_event_message_buffer_size_resp' }, - '32509' => { + '32526' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2683,7 +2957,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_event_message_buffer_size_req' }, - '32710' => { + '32727' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2706,7 +2980,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_resp' }, - '33096' => { + '33113' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2747,7 +3021,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_req' }, - '33428' => { + '33445' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2835,7 +3109,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_version_req' }, - '34339' => { + '34356' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2858,7 +3132,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_platform_event_message_resp' }, - '34561' => { + '34578' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2889,7 +3163,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_poll_for_platform_event_message_req' }, - '35051' => { + '35068' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -2920,12 +3194,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_platform_event_message_req' }, - '35511' => { + '35528' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'event_data', - 'type' => '35705' + 'type' => '35722' }, '1' => { 'name' => 'event_data_size', @@ -2937,7 +3211,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_event_class', - 'type' => '13127' + 'type' => '13134' }, '4' => { 'name' => 'sensor_offset', @@ -2954,7 +3228,7 @@ $VAR1 = { }, '7' => { 'name' => 'actual_event_data_size', - 'type' => '21095' + 'type' => '21102' } }, 'Reg' => { @@ -2995,7 +3269,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_resp' }, - '35720' => { + '35737' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3012,7 +3286,7 @@ $VAR1 = { }, '3' => { 'name' => 'sensor_rearm', - 'type' => '31917' + 'type' => '31934' }, '4' => { 'name' => 'reserved', @@ -3022,7 +3296,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_req' }, - '36159' => { + '36176' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3043,13 +3317,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '36709' + 'type' => '36726' } }, 'Return' => '74', 'ShortName' => 'decode_get_state_sensor_readings_resp' }, - '36714' => { + '36731' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3105,7 +3379,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_types_resp' }, - '36957' => { + '36974' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3122,7 +3396,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '36709' + 'type' => '36726' }, '4' => { 'name' => 'msg', @@ -3132,7 +3406,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_state_sensor_readings_resp' }, - '37241' => { + '37258' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3156,7 +3430,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_numeric_effecter_value_resp' }, - '37317' => { + '37334' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3187,7 +3461,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_req' }, - '37643' => { + '37660' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3210,7 +3484,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_numeric_effecter_value_resp' }, - '37839' => { + '37856' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3260,7 +3534,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_commands_resp' }, - '38496' => { + '38513' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3311,7 +3585,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_pdr_resp' }, - '39141' => { + '39158' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3352,7 +3626,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_req' }, - '39437' => { + '39454' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3432,7 +3706,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_commands_req' }, - '40124' => { + '40141' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3483,7 +3757,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_repository_info_resp' }, - '40450' => { + '40467' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3529,7 +3803,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_pdr_resp' }, - '40844' => { + '40861' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3588,7 +3862,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_types_resp' }, - '41382' => { + '41399' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3609,13 +3883,13 @@ $VAR1 = { }, '4' => { 'name' => 'field', - 'type' => '41864' + 'type' => '41881' } }, 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_req' }, - '41869' => { + '41886' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3639,7 +3913,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_state_effecter_states_resp' }, - '41942' => { + '41959' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3656,7 +3930,7 @@ $VAR1 = { }, '3' => { 'name' => 'field', - 'type' => '41864' + 'type' => '41881' }, '4' => { 'name' => 'msg', @@ -3666,7 +3940,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_req' }, - '42216' => { + '42233' => { 'Header' => 'platform.h', 'Param' => { '0' => { @@ -3685,12 +3959,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_state_effecter_states_resp' }, - '42384' => { + '42401' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'sensor', - 'type' => '42696' + 'type' => '42713' }, '1' => { 'name' => 'allocation_size', @@ -3698,7 +3972,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '42706' + 'type' => '42723' }, '3' => { 'name' => 'possible_states_size', @@ -3706,18 +3980,18 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '21095' + 'type' => '21102' } }, 'Return' => '74', 'ShortName' => 'encode_state_sensor_pdr' }, - '42716' => { + '42733' => { 'Header' => 'platform.h', 'Param' => { '0' => { 'name' => 'effecter', - 'type' => '43028' + 'type' => '43045' }, '1' => { 'name' => 'allocation_size', @@ -3725,7 +3999,7 @@ $VAR1 = { }, '2' => { 'name' => 'possible_states', - 'type' => '43038' + 'type' => '43055' }, '3' => { 'name' => 'possible_states_size', @@ -3733,7 +4007,7 @@ $VAR1 = { }, '4' => { 'name' => 'actual_size', - 'type' => '21095' + 'type' => '21102' } }, 'Return' => '74', @@ -3814,7 +4088,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pack_pldm_header' }, - '47959' => { + '47976' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -3829,7 +4103,7 @@ $VAR1 = { 'Return' => '180', 'ShortName' => 'crc32' }, - '48074' => { + '48091' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3844,7 +4118,7 @@ $VAR1 = { 'Return' => '6423', 'ShortName' => 'pldm_bios_table_checksum' }, - '48219' => { + '48236' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3875,7 +4149,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_copy_and_update' }, - '48837' => { + '48854' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3891,10 +4165,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '48832', + 'Return' => '48849', 'ShortName' => 'pldm_bios_table_attr_value_find_by_handle' }, - '49100' => { + '49117' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3910,10 +4184,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49247', + 'Return' => '49264', 'ShortName' => 'pldm_bios_table_attr_find_by_string_handle' }, - '49368' => { + '49385' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3929,10 +4203,10 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49247', + 'Return' => '49264', 'ShortName' => 'pldm_bios_table_attr_find_by_handle' }, - '49631' => { + '49648' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3948,10 +4222,10 @@ $VAR1 = { 'type' => '12552' } }, - 'Return' => '49853', + 'Return' => '49870', 'ShortName' => 'pldm_bios_table_string_find_by_string' }, - '50022' => { + '50039' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -3967,15 +4241,15 @@ $VAR1 = { 'type' => '5053' } }, - 'Return' => '49853', + 'Return' => '49870', 'ShortName' => 'pldm_bios_table_string_find_by_handle' }, - '50784' => { + '50801' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48827' + 'type' => '48844' } }, 'Reg' => { @@ -3984,40 +4258,40 @@ $VAR1 = { 'Return' => '1434', 'ShortName' => 'pldm_bios_table_iter_value' }, - '50833' => { + '50850' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48827' + 'type' => '48844' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_next' }, - '50944' => { + '50961' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '51020' + 'type' => '51037' } }, 'Return' => '6423', 'ShortName' => 'pldm_bios_table_iter_is_end' }, - '51025' => { + '51042' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'iter', - 'type' => '48827' + 'type' => '48844' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_iter_free' }, - '51096' => { + '51113' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4030,13 +4304,13 @@ $VAR1 = { }, '2' => { 'name' => 'type', - 'type' => '46654' + 'type' => '46671' } }, - 'Return' => '48827', + 'Return' => '48844', 'ShortName' => 'pldm_bios_table_iter_create' }, - '51335' => { + '51352' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4055,7 +4329,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_append_pad_checksum_check' }, - '51635' => { + '51652' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4074,7 +4348,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_append_pad_checksum' }, - '51887' => { + '51904' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4085,12 +4359,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_pad_checksum_size' }, - '52170' => { + '52187' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { @@ -4099,32 +4373,32 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_handle' }, - '52219' => { + '52236' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_length' }, - '52703' => { + '52720' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { '0' => 'rdi' }, - 'Return' => '46642', + 'Return' => '46659', 'ShortName' => 'pldm_bios_table_attr_value_entry_integer_decode_cv' }, - '52771' => { + '52788' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4145,13 +4419,13 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '46642' + 'type' => '46659' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_check' }, - '52963' => { + '52980' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4172,18 +4446,18 @@ $VAR1 = { }, '4' => { 'name' => 'cv', - 'type' => '46642' + 'type' => '46659' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer' }, - '53271' => { + '53288' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_length' }, - '53433' => { + '53450' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4214,12 +4488,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_check' }, - '53693' => { + '53709' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' }, '1' => { 'name' => 'current_string', @@ -4229,12 +4503,12 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_string' }, - '53788' => { + '53804' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { @@ -4243,7 +4517,7 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_string_decode_length' }, - '53857' => { + '53873' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4274,7 +4548,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string' }, - '54197' => { + '54213' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4288,7 +4562,7 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_string_length' }, - '54379' => { + '54395' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4319,12 +4593,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_check' }, - '54637' => { + '54652' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' }, '1' => { 'name' => 'handles', @@ -4338,12 +4612,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_handles' }, - '54811' => { + '54826' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { @@ -4352,7 +4626,7 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_enum_decode_number' }, - '54860' => { + '54875' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4383,7 +4657,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum' }, - '55199' => { + '55214' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4397,12 +4671,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_value_entry_encode_enum_length' }, - '55248' => { + '55263' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { @@ -4411,12 +4685,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_type' }, - '55297' => { + '55312' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '48832' + 'type' => '48849' } }, 'Reg' => { @@ -4425,20 +4699,20 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_value_entry_decode_attribute_handle' }, - '55844' => { + '55859' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'lower', - 'type' => '55965' + 'type' => '55980' }, '2' => { 'name' => 'upper', - 'type' => '55965' + 'type' => '55980' }, '3' => { 'name' => 'scalar', @@ -4446,7 +4720,7 @@ $VAR1 = { }, '4' => { 'name' => 'def', - 'type' => '55965' + 'type' => '55980' } }, 'Reg' => { @@ -4459,7 +4733,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_decode' }, - '55980' => { + '55995' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4472,28 +4746,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '56242' + 'type' => '56257' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_check' }, - '56252' => { + '56267' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '56242' + 'type' => '56257' }, '1' => { 'name' => 'errmsg', - 'type' => '56551' + 'type' => '56566' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_integer_info_check' }, - '56556' => { + '56571' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4506,23 +4780,23 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '56242' + 'type' => '56257' } }, 'Return' => '1', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode' }, - '56804' => { + '56819' => { 'Header' => 'bios_table.h', 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_length' }, - '56966' => { + '56981' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'buffer', @@ -4536,12 +4810,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string' }, - '57162' => { + '57177' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4550,12 +4824,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_min_length' }, - '57231' => { + '57246' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4564,12 +4838,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_max_length' }, - '57300' => { + '57315' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4578,12 +4852,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_string_type' }, - '57369' => { + '57384' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'def_string_length', @@ -4593,7 +4867,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_decode_def_string_length_check' }, - '57539' => { + '57554' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4606,28 +4880,28 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '57825' + 'type' => '57840' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_check' }, - '57830' => { + '57845' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'info', - 'type' => '57825' + 'type' => '57840' }, '1' => { 'name' => 'errmsg', - 'type' => '56551' + 'type' => '56566' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_string_info_check' }, - '58099' => { + '58114' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4641,12 +4915,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_string_encode_length' }, - '58331' => { + '58346' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'def_indices', @@ -4660,12 +4934,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_indices' }, - '58537' => { + '58552' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'pv_hdls', @@ -4682,12 +4956,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_hdls_check' }, - '58702' => { + '58717' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'def_num', @@ -4697,12 +4971,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_def_num_check' }, - '58861' => { + '58876' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' }, '1' => { 'name' => 'pv_num', @@ -4716,7 +4990,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num_check' }, - '58921' => { + '58936' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4729,13 +5003,13 @@ $VAR1 = { }, '2' => { 'name' => 'info', - 'type' => '59179' + 'type' => '59194' } }, 'Return' => '74', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_check' }, - '59184' => { + '59199' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4754,12 +5028,12 @@ $VAR1 = { 'Return' => '123', 'ShortName' => 'pldm_bios_table_attr_entry_enum_encode_length' }, - '59244' => { + '59259' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4768,12 +5042,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_decode_string_handle' }, - '59291' => { + '59306' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4782,12 +5056,12 @@ $VAR1 = { 'Return' => '168', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_type' }, - '59338' => { + '59353' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49247' + 'type' => '49264' } }, 'Reg' => { @@ -4796,12 +5070,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_attr_entry_decode_attribute_handle' }, - '59971' => { + '59986' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49853' + 'type' => '49870' }, '1' => { 'name' => 'buffer', @@ -4815,12 +5089,12 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_check' }, - '60137' => { + '60152' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49853' + 'type' => '49870' } }, 'Reg' => { @@ -4829,12 +5103,12 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_string_entry_decode_string_length' }, - '60184' => { + '60199' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { 'name' => 'entry', - 'type' => '49853' + 'type' => '49870' } }, 'Reg' => { @@ -4843,7 +5117,7 @@ $VAR1 = { 'Return' => '5053', 'ShortName' => 'pldm_bios_table_string_entry_decode_handle' }, - '60231' => { + '60246' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4866,7 +5140,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'pldm_bios_table_string_entry_encode_check' }, - '60522' => { + '60536' => { 'Header' => 'bios_table.h', 'Param' => { '0' => { @@ -4996,7 +5270,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_req' }, - '66115' => { + '66129' => { 'Header' => 'utils.h', 'Param' => { '0' => { @@ -5007,7 +5281,7 @@ $VAR1 = { 'Return' => '6423', 'ShortName' => 'is_transfer_flag_valid' }, - '66266' => { + '66280' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5024,17 +5298,17 @@ $VAR1 = { }, '3' => { 'name' => 'non_functioning_component_indication', - 'type' => '66453' + 'type' => '66467' }, '4' => { 'name' => 'non_functioning_component_bitmap', - 'type' => '66458' + 'type' => '66472' } }, 'Return' => '74', 'ShortName' => 'decode_cancel_update_resp' }, - '66468' => { + '66482' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5076,7 +5350,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_resp' }, - '66638' => { + '66652' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5100,7 +5374,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_cancel_update_component_resp' }, - '66714' => { + '66728' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5119,7 +5393,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_cancel_update_component_req' }, - '66884' => { + '66898' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5164,13 +5438,13 @@ $VAR1 = { '9' => { 'name' => 'update_option_flags_enabled', 'offset' => '24', - 'type' => '67211' + 'type' => '67225' } }, 'Return' => '74', 'ShortName' => 'decode_get_status_resp' }, - '67221' => { + '67235' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5189,7 +5463,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_status_req' }, - '67391' => { + '67405' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5217,7 +5491,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_activate_firmware_resp' }, - '67517' => { + '67531' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5240,7 +5514,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_activate_firmware_req' }, - '67759' => { + '67772' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5263,7 +5537,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_apply_complete_resp' }, - '67948' => { + '67961' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5280,7 +5554,7 @@ $VAR1 = { }, '3' => { 'name' => 'comp_activation_methods_modification', - 'type' => '68058' + 'type' => '68071' } }, 'Reg' => { @@ -5292,7 +5566,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_apply_complete_req' }, - '68068' => { + '68081' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5315,7 +5589,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_verify_complete_resp' }, - '68257' => { + '68270' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5339,7 +5613,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_verify_complete_req' }, - '68333' => { + '68346' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5362,7 +5636,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_transfer_complete_resp' }, - '68522' => { + '68535' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5386,7 +5660,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_transfer_complete_req' }, - '68598' => { + '68611' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5438,7 +5712,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_table_resp' }, - '68787' => { + '68800' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5467,7 +5741,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_firmware_data_req' }, - '68907' => { + '68920' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5492,7 +5766,7 @@ $VAR1 = { }, '5' => { 'name' => 'update_option_flags_enabled', - 'type' => '67211' + 'type' => '67225' }, '6' => { 'name' => 'time_before_req_fw_data', @@ -5503,7 +5777,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_update_component_resp' }, - '69141' => { + '69154' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5543,7 +5817,7 @@ $VAR1 = { '6' => { 'name' => 'update_option_flags', 'offset' => '0', - 'type' => '61949' + 'type' => '61963' }, '7' => { 'name' => 'comp_ver_str_type', @@ -5558,13 +5832,13 @@ $VAR1 = { '9' => { 'name' => 'comp_ver_str', 'offset' => '24', - 'type' => '69533' + 'type' => '69546' } }, 'Return' => '74', 'ShortName' => 'encode_update_component_req' }, - '69543' => { + '69556' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5591,7 +5865,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pass_component_table_resp' }, - '69742' => { + '69755' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5636,7 +5910,7 @@ $VAR1 = { '8' => { 'name' => 'comp_ver_str', 'offset' => '16', - 'type' => '69533' + 'type' => '69546' }, '9' => { 'name' => 'msg', @@ -5688,7 +5962,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_table_req' }, - '70152' => { + '70164' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5719,7 +5993,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_request_update_resp' }, - '70299' => { + '70311' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5754,7 +6028,7 @@ $VAR1 = { '7' => { 'name' => 'comp_img_set_ver_str', 'offset' => '8', - 'type' => '69533' + 'type' => '69546' }, '8' => { 'name' => 'msg', @@ -5770,7 +6044,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_request_update_req' }, - '70667' => { + '70678' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5783,7 +6057,7 @@ $VAR1 = { }, '2' => { 'name' => 'component_data', - 'type' => '70835' + 'type' => '70846' }, '3' => { 'name' => 'active_comp_ver_str', @@ -5800,7 +6074,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp_comp_entry' }, - '70845' => { + '70856' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5813,7 +6087,7 @@ $VAR1 = { }, '2' => { 'name' => 'resp_data', - 'type' => '71065' + 'type' => '71076' }, '3' => { 'name' => 'active_comp_image_set_ver_str', @@ -5831,7 +6105,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_firmware_parameters_resp' }, - '71070' => { + '71081' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5850,7 +6124,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_firmware_parameters_req' }, - '71210' => { + '71221' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5875,7 +6149,7 @@ $VAR1 = { }, '5' => { 'name' => 'descriptor_data', - 'type' => '71366' + 'type' => '71377' } }, 'Reg' => { @@ -5886,7 +6160,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_query_device_identifiers_resp' }, - '71376' => { + '71387' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5905,7 +6179,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_query_device_identifiers_req' }, - '71516' => { + '71527' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5918,7 +6192,7 @@ $VAR1 = { }, '2' => { 'name' => 'pldm_comp_image_info', - 'type' => '71663' + 'type' => '71674' }, '3' => { 'name' => 'comp_version_str', @@ -5928,7 +6202,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_pldm_comp_image_info' }, - '71668' => { + '71679' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5955,7 +6229,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_vendor_defined_descriptor_value' }, - '71850' => { + '71861' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5978,7 +6252,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_descriptor_type_length_value' }, - '72022' => { + '72033' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -5995,7 +6269,7 @@ $VAR1 = { }, '3' => { 'name' => 'fw_device_id_record', - 'type' => '72279' + 'type' => '72290' }, '4' => { 'name' => 'applicable_components', @@ -6019,7 +6293,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_firmware_device_id_record' }, - '72284' => { + '72295' => { 'Header' => 'firmware_update.h', 'Param' => { '0' => { @@ -6032,7 +6306,7 @@ $VAR1 = { }, '2' => { 'name' => 'package_header_info', - 'type' => '72431' + 'type' => '72442' }, '3' => { 'name' => 'package_version_str', @@ -6065,7 +6339,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_resp' }, - '74589' => { + '74600' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6092,7 +6366,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_fru_record_table_resp' }, - '74829' => { + '74840' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6123,7 +6397,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_fru_record_table_req' }, - '74996' => { + '75007' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6190,7 +6464,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_req' }, - '75226' => { + '75237' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6231,7 +6505,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_resp_safe' }, - '75474' => { + '75485' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6258,7 +6532,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_req' }, - '75709' => { + '75720' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6293,7 +6567,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_resp' }, - '75876' => { + '75887' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6334,7 +6608,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_by_option_resp' }, - '76194' => { + '76205' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6379,7 +6653,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_by_option_req' }, - '76396' => { + '76407' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6454,7 +6728,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_bios_attribute_current_value_resp' }, - '76693' => { + '76704' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6490,7 +6764,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'get_fru_record_by_option_check' }, - '77116' => { + '77127' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6526,7 +6800,7 @@ $VAR1 = { 'Return' => '1', 'ShortName' => 'get_fru_record_by_option' }, - '77542' => { + '77553' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6608,7 +6882,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_bios_attribute_current_value_req' }, - '77790' => { + '77801' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6635,7 +6909,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_resp' }, - '78011' => { + '78022' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6664,7 +6938,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_req' }, - '78115' => { + '78126' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6715,7 +6989,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_resp' }, - '78418' => { + '78429' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6770,7 +7044,7 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_fru_record_table_metadata_resp' }, - '78628' => { + '78639' => { 'Header' => 'fru.h', 'Param' => { '0' => { @@ -6789,54 +7063,6 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_fru_record_table_metadata_req' }, - '80271' => { - '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' => '80584' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_extract' - }, - '80604' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '80653' - } - }, - 'Reg' => { - '0' => 'rdi' - }, - 'Return' => '6423', - 'ShortName' => 'pldm_is_empty_entity_assoc_tree' - }, - '80658' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'tree', - 'type' => '80653' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy_root' - }, '8072' => { 'Header' => 'bios.h', 'Param' => { @@ -6873,165 +7099,174 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_current_value_by_handle_resp' }, - '80721' => { - 'Header' => 'pdr.h', + '81535' => { + 'Header' => 'pdr_oem_ibm.h', 'Param' => { '0' => { - 'name' => 'org_tree', - 'type' => '80653' - }, - '1' => { - 'name' => 'new_tree', - 'type' => '80653' + 'name' => 'repo', + 'type' => '81557' } }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_copy_root' + 'Return' => '79326', + 'ShortName' => 'pldm_pdr_find_last_local_record' }, - '80937' => { + '81618' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '80653' + 'name' => 'entity', + 'type' => '79405' }, '1' => { - 'name' => 'entity', - 'type' => '80589' - } - }, - 'Return' => '80159', - 'ShortName' => 'pldm_entity_association_tree_find' - }, - '81719' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81968' + 'name' => 'parent', + 'type' => '79405' + }, + '2' => { + 'name' => 'remote_container_id', + 'type' => '5053' + }, + '3' => { + 'name' => 'first_child', + 'type' => '81479' + }, + '4' => { + 'name' => 'next_sibling', + 'type' => '81479' + }, + '5' => { + 'name' => 'association_type', + 'type' => '168' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_remote_pdrs' + 'Return' => '81479', + 'ShortName' => 'init_pldm_entity_node' }, - '81973' => { + '81803' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81968' + 'name' => 'pdr', + 'type' => '6245' }, '1' => { - 'name' => 'terminus_handle', + 'name' => 'pdr_len', 'type' => '5053' + }, + '2' => { + 'name' => 'num_entities', + 'type' => '9084' + }, + '3' => { + 'name' => 'entities', + 'type' => '82116' } }, 'Return' => '1', - 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' + 'ShortName' => 'pldm_entity_association_pdr_extract' + }, + '82136' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '82185' + } + }, + 'Reg' => { + '0' => 'rdi' + }, + 'Return' => '6423', + 'ShortName' => 'pldm_is_empty_entity_assoc_tree' }, - '82242' => { + '82190' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80653' + 'type' => '82185' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_destroy_root' + }, + '82253' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'org_tree', + 'type' => '82185' }, '1' => { - 'name' => 'entity', - 'type' => '79300' - }, - '2' => { - 'name' => 'node', - 'type' => '80932' + 'name' => 'new_tree', + 'type' => '82185' } }, 'Return' => '1', - 'ShortName' => 'pldm_find_entity_ref_in_tree' + 'ShortName' => 'pldm_entity_association_tree_copy_root' }, - '82754' => { + '82469' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '80159' + 'name' => 'tree', + 'type' => '82185' }, '1' => { - 'name' => 'repo', - 'type' => '81968' + 'name' => 'entity', + 'type' => '82121' }, '2' => { - 'name' => 'entities', - 'type' => '80584' - }, - '3' => { - 'name' => 'num_entities', - 'type' => '123' - }, - '4' => { 'name' => 'is_remote', 'type' => '6423' - }, - '5' => { - 'name' => 'terminus_handle', - 'type' => '5053' } }, - 'Return' => '74', - 'ShortName' => 'pldm_entity_association_pdr_add_from_node_check' + 'Return' => '81479', + 'ShortName' => 'pldm_entity_association_tree_find' }, - '82972' => { + '83308' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '80159' - }, - '1' => { 'name' => 'repo', - 'type' => '81968' - }, - '2' => { - 'name' => 'entities', - 'type' => '80584' - }, - '3' => { - 'name' => 'num_entities', - 'type' => '123' - }, - '4' => { - 'name' => 'is_remote', - 'type' => '6423' + 'type' => '83557' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_pdr_remove_remote_pdrs' + }, + '83562' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' }, - '5' => { + '1' => { 'name' => 'terminus_handle', 'type' => '5053' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add_from_node' + 'ShortName' => 'pldm_pdr_remove_pdrs_by_terminus_handle' }, - '83308' => { + '83731' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80653' + 'type' => '82185' }, '1' => { - 'name' => 'repo', - 'type' => '81968' + 'name' => 'entity', + 'type' => '79405' }, '2' => { - 'name' => 'is_remote', - 'type' => '6423' - }, - '3' => { - 'name' => 'terminus_handle', - 'type' => '5053' + 'name' => 'node', + 'type' => '82464' } }, 'Return' => '1', - 'ShortName' => 'pldm_entity_association_pdr_add' + 'ShortName' => 'pldm_find_entity_ref_in_tree' }, '8379' => { 'Header' => 'bios.h', @@ -7064,60 +7299,59 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_req' }, - '84780' => { + '84010' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'parent', - 'type' => '80159' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'node', - 'type' => '80589' + 'name' => 'entity', + 'type' => '79405' + }, + '2' => { + 'name' => 'parent', + 'type' => '79405' + }, + '3' => { + 'name' => 'event_data_op', + 'type' => '2082' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'bmc_record_handle', + 'type' => '180' } }, - 'Reg' => { - '1' => 'rsi' - }, - 'Return' => '6423', - 'ShortName' => 'pldm_is_current_parent_child' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_add_contained_entity' }, - '84869' => { + '84800' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'node', - 'type' => '80159' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'association_type', - 'type' => '168' - } - }, - 'Return' => '168', - 'ShortName' => 'pldm_entity_get_num_children' - }, - '85084' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '80159' - } - }, - 'Return' => '6423', - 'ShortName' => 'pldm_entity_is_exist_parent' - }, - '85239' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'node', - 'type' => '80159' + 'name' => 'entity', + 'type' => '79405' + }, + '2' => { + 'name' => 'event_data_op', + 'type' => '2082' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6423' } }, - 'Return' => '79300', - 'ShortName' => 'pldm_entity_get_parent' + 'Return' => '180', + 'ShortName' => 'pldm_entity_association_pdr_remove_contained_entity' }, '8531' => { 'Header' => 'bios.h', @@ -7154,73 +7388,131 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_attribute_current_value_by_handle_resp' }, - '85394' => { + '85865' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'node', - 'type' => '80159' + 'type' => '81479' + }, + '1' => { + 'name' => 'repo', + 'type' => '83557' + }, + '2' => { + 'name' => 'entities', + 'type' => '82116' + }, + '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' => '6423', - 'ShortName' => 'pldm_entity_is_node_parent' + 'Return' => '74', + 'ShortName' => 'pldm_entity_association_pdr_add_from_node_with_record_handle' }, - '85549' => { + '86098' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '80653' + 'name' => 'node', + 'type' => '81479' + }, + '1' => { + 'name' => 'repo', + 'type' => '83557' + }, + '2' => { + 'name' => 'entities', + 'type' => '82116' + }, + '3' => { + 'name' => 'num_entities', + 'type' => '123' + }, + '4' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '5' => { + 'name' => 'terminus_handle', + 'type' => '5053' } }, - 'Return' => '1', - 'ShortName' => 'pldm_entity_association_tree_destroy' + 'Return' => '74', + 'ShortName' => 'pldm_entity_association_pdr_add_from_node_check' }, - '85728' => { + '86316' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'tree', - 'type' => '80653' + 'name' => 'node', + 'type' => '81479' }, '1' => { - 'name' => 'entities', - 'type' => '80584' + 'name' => 'repo', + 'type' => '83557' }, '2' => { - 'name' => 'size', - 'type' => '9084' + 'name' => 'entities', + 'type' => '82116' + }, + '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_visit' + 'ShortName' => 'pldm_entity_association_pdr_add_from_node' }, - '86690' => { + '86667' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'tree', - 'type' => '80653' + 'type' => '82185' }, '1' => { - 'name' => 'entity', - 'type' => '80589' + 'name' => 'repo', + 'type' => '83557' }, '2' => { - 'name' => 'entity_instance_number', - 'type' => '5053' + 'name' => 'is_remote', + 'type' => '6423' }, '3' => { - 'name' => 'parent', - 'type' => '80159' - }, - '4' => { - 'name' => 'association_type', - 'type' => '168' + 'name' => 'terminus_handle', + 'type' => '5053' } }, - 'Return' => '80159', - 'ShortName' => 'pldm_entity_association_tree_add' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_pdr_add' }, '8693' => { 'Header' => 'bios.h', @@ -7249,150 +7541,86 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_attribute_current_value_by_handle_req' }, - '87123' => { - 'Header' => 'pdr.h', - 'Return' => '80653', - 'ShortName' => 'pldm_entity_association_tree_init' - }, - '87357' => { + '88139' => { 'Header' => 'pdr.h', 'Param' => { '0' => { + 'name' => 'parent', + 'type' => '81479' + }, + '1' => { 'name' => 'node', - 'type' => '80159' + 'type' => '82121' } }, - 'Return' => '79300', - 'ShortName' => 'pldm_entity_extract' - }, - '88152' => { - 'Header' => 'pdr.h', + 'Reg' => { + '1' => 'rsi' + }, + 'Return' => '6423', + 'ShortName' => 'pldm_is_current_parent_child' + }, + '88228' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81714' + 'name' => 'node', + 'type' => '81479' }, '1' => { - 'name' => 'terminus_handle', - 'type' => '5053' - }, - '2' => { - 'name' => 'tid', - 'type' => '168' - }, - '3' => { - 'name' => 'tl_eid', + 'name' => 'association_type', 'type' => '168' - }, - '4' => { - 'name' => 'valid_bit', - 'type' => '6423' } }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_update_TL_pdr' + 'Return' => '168', + 'ShortName' => 'pldm_entity_get_num_children' }, - '88512' => { + '88443' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81714' - }, - '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' => '81479' } }, - 'Return' => '88497', - 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' + 'Return' => '6423', + 'ShortName' => 'pldm_entity_is_exist_parent' }, - '88866' => { + '88598' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81968' - }, - '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' => '2087' + 'name' => 'node', + 'type' => '81479' } }, - 'Return' => '74', - 'ShortName' => 'pldm_pdr_add_fru_record_set_check' + 'Return' => '79405', + 'ShortName' => 'pldm_entity_get_parent' }, - '89204' => { + '88753' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81968' + 'name' => 'node', + 'type' => '81479' + } + }, + 'Return' => '6423', + 'ShortName' => 'pldm_entity_is_node_parent' + }, + '88908' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '82185' }, '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', - 'type' => '180' + 'name' => 'entity', + 'type' => '79405' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add_fru_record_set' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_delete_node' }, '8922' => { 'Header' => 'bios.h', @@ -7429,186 +7657,76 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_resp' }, - '89557' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'record', - 'type' => '88497' - } - }, - 'Return' => '6423', - 'ShortName' => 'pldm_pdr_record_is_remote' - }, - '89712' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81714' - }, - '1' => { - 'name' => 'record', - 'type' => '88497' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_handle' - }, - '89930' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81714' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_repo_size' - }, - '90061' => { + '89322' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81714' - } - }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_get_record_count' - }, - '90192' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81714' - }, - '1' => { - 'name' => 'pdr_type', - 'type' => '168' - }, - '2' => { - 'name' => 'curr_record', - 'type' => '88497' - }, - '3' => { - 'name' => 'data', - 'type' => '71366' - }, - '4' => { - 'name' => 'size', - 'type' => '2087' + 'name' => 'tree', + 'type' => '82185' } }, - 'Reg' => { - '0' => 'rdi', - '3' => 'rcx', - '4' => 'r8' - }, - 'Return' => '88497', - 'ShortName' => 'pldm_pdr_find_record_by_type' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_destroy' }, - '90364' => { + '89501' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81714' + 'name' => 'tree', + 'type' => '82185' }, '1' => { - 'name' => 'curr_record', - 'type' => '88497' + 'name' => 'entities', + 'type' => '82116' }, '2' => { - 'name' => 'data', - 'type' => '71366' - }, - '3' => { 'name' => 'size', - 'type' => '2087' - }, - '4' => { - 'name' => 'next_record_handle', - 'type' => '2087' + 'type' => '9084' } }, - 'Return' => '88497', - 'ShortName' => 'pldm_pdr_get_next_record' + 'Return' => '1', + 'ShortName' => 'pldm_entity_association_tree_visit' }, - '90531' => { + '90591' => { 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'repo', - 'type' => '81714' + 'name' => 'tree', + 'type' => '82185' }, '1' => { - 'name' => 'record_handle', - 'type' => '180' + 'name' => 'entity', + 'type' => '82121' }, '2' => { - 'name' => 'data', - 'type' => '71366' + 'name' => 'entity_instance_number', + 'type' => '5053' }, '3' => { - 'name' => 'size', - 'type' => '2087' + 'name' => 'parent', + 'type' => '81479' }, '4' => { - 'name' => 'next_record_handle', - 'type' => '2087' - } - }, - 'Return' => '88497', - 'ShortName' => 'pldm_pdr_find_record' - }, - '90699' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81968' - } - }, - 'Return' => '1', - 'ShortName' => 'pldm_pdr_destroy' - }, - '90854' => { - 'Header' => 'pdr.h', - 'Return' => '81968', - 'ShortName' => 'pldm_pdr_init' - }, - '90926' => { - 'Header' => 'pdr.h', - 'Param' => { - '0' => { - 'name' => 'repo', - 'type' => '81968' - }, - '1' => { - 'name' => 'data', - 'type' => '6245' - }, - '2' => { - 'name' => 'size', - 'type' => '180' + 'name' => 'association_type', + 'type' => '168' }, - '3' => { + '5' => { 'name' => 'is_remote', 'type' => '6423' }, - '4' => { - 'name' => 'terminus_handle', - 'type' => '5053' + '6' => { + 'name' => 'is_update_container_id', + 'offset' => '0', + 'type' => '6423' }, - '5' => { - 'name' => 'record_handle', - 'type' => '2087' + '7' => { + 'name' => 'container_id', + 'offset' => '8', + 'type' => '5053' } }, - 'Return' => '74', - 'ShortName' => 'pldm_pdr_add_check' + 'Return' => '81479', + 'ShortName' => 'pldm_entity_association_tree_add' }, '9094' => { 'Header' => 'bios.h', @@ -7641,36 +7759,103 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_get_bios_table_req' }, - '91364' => { + '91079' => { + 'Header' => 'pdr.h', + 'Return' => '82185', + 'ShortName' => 'pldm_entity_association_tree_init' + }, + '91292' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'entity', + 'type' => '91287' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_extract_host_container_id' + }, + '91368' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'node', + 'type' => '81479' + } + }, + 'Reg' => { + '0' => 'rdi' + }, + 'Return' => '79405', + 'ShortName' => 'pldm_entity_extract' + }, + '91432' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'tree', + 'type' => '82185' + } + }, + 'Return' => '5053', + 'ShortName' => 'next_container_id' + }, + '91630' => { 'Header' => 'pdr.h', 'Param' => { '0' => { 'name' => 'repo', - 'type' => '81968' + 'type' => '83557' }, '1' => { - 'name' => 'data', - 'type' => '6245' + 'name' => 'sensor_id', + 'type' => '5053' }, '2' => { - 'name' => 'size', - 'type' => '180' + 'name' => 'is_remote', + 'type' => '6423' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_delete_by_sensor_id' + }, + '92011' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' }, - '3' => { - 'name' => 'record_handle', - 'type' => '180' + '1' => { + 'name' => 'effecter_id', + 'type' => '5053' }, - '4' => { + '2' => { 'name' => 'is_remote', 'type' => '6423' + } + }, + 'Return' => '5053', + 'ShortName' => 'pldm_delete_by_effecter_id' + }, + '92371' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' }, - '5' => { - 'name' => 'terminus_handle', + '1' => { + 'name' => 'sensorId', + 'type' => '5053' + }, + '2' => { + 'name' => 'instanceNumber', 'type' => '5053' } }, - 'Return' => '180', - 'ShortName' => 'pldm_pdr_add' + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_sensor' }, '9241' => { 'Header' => 'bios.h', @@ -7699,64 +7884,123 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_req' }, - '92863' => { - 'Header' => 'utils.h', + '92649' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'dec', - 'type' => '180' + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '5053' + }, + '2' => { + 'name' => 'instanceNumber', + 'type' => '5053' } }, - 'Return' => '180', - 'ShortName' => 'dec2bcd32' + 'Return' => '1', + 'ShortName' => 'pldm_change_instance_number_of_effecter' }, - '92992' => { - 'Header' => 'utils.h', + '92906' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'sensorId', + 'type' => '5053' + }, + '2' => { + 'name' => 'containerId', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_sensor' + }, + '93184' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'bcd', + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'effecterId', + 'type' => '5053' + }, + '2' => { + 'name' => 'containerId', + 'type' => '5053' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_change_container_id_of_effecter' + }, + '93497' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'record_handle', 'type' => '180' } }, - 'Return' => '180', - 'ShortName' => 'bcd2dec32' + 'Return' => '79405', + 'ShortName' => 'pldm_get_entity_from_record_handle' }, - '93393' => { - 'Header' => 'utils.h', + '93885' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'version', - 'type' => '3344' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'buffer', - 'type' => '11614' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'buffer_size', - 'type' => '123' + 'name' => 'is_remote', + 'type' => '6423' } }, - 'Reg' => { - '0' => 'rdi' - }, - 'Return' => '12557', - 'ShortName' => 'ver2str' + 'Return' => '1', + 'ShortName' => 'pldm_delete_by_record_handle' }, - '93521' => { - 'Header' => 'utils.h', + '94614' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'data', - 'type' => '1434' + 'name' => 'repo', + 'type' => '81557' }, '1' => { - 'name' => 'size', - 'type' => '123' + 'name' => 'terminus_handle', + 'type' => '5053' + }, + '2' => { + 'name' => 'tid', + 'type' => '168' + }, + '3' => { + 'name' => 'tl_eid', + 'type' => '168' + }, + '4' => { + 'name' => 'valid_bit', + 'type' => '6423' } }, - 'Return' => '168', - 'ShortName' => 'crc8' + 'Return' => '1', + 'ShortName' => 'pldm_pdr_update_TL_pdr' }, '9464' => { 'Header' => 'bios.h', @@ -7794,134 +8038,266 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_get_bios_table_resp' }, - '94779' => { - 'Header' => 'instance-id.h', + '94974' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' + }, + '1' => { + 'name' => 'fru_rsi', + 'type' => '5053' + }, + '2' => { + 'name' => 'is_remote', + 'type' => '6423' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_remove_fru_record_set_by_rsi' + }, + '95329' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' + }, + '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' + }, + '6' => { + 'name' => 'is_remote', + 'offset' => '0', + 'type' => '6423' + } + }, + 'Return' => '94959', + 'ShortName' => 'pldm_pdr_fru_record_set_find_by_rsi' + }, + '95681' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95002' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'tid', - 'type' => '94101' + 'name' => 'terminus_handle', + 'type' => '5053' }, '2' => { - 'name' => 'iid', - 'type' => '94113' + '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' => '2087' + }, + '7' => { + 'name' => 'hotplug', + 'offset' => '8', + 'type' => '6423' } }, 'Return' => '74', - 'ShortName' => 'pldm_instance_id_free' + 'ShortName' => 'pldm_pdr_add_fru_record_set_check' }, - '95007' => { - 'Header' => 'instance-id.h', + '96102' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95002' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'tid', - 'type' => '94101' + 'name' => 'terminus_handle', + 'type' => '5053' }, '2' => { - 'name' => 'iid', - 'type' => '95428' + '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', + 'type' => '180' + }, + '7' => { + 'name' => 'hotplug', + 'type' => '6423' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_id_alloc' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_fru_record_set' }, - '95433' => { - 'Header' => 'instance-id.h', + '96475' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95002' + 'name' => 'record', + 'type' => '94959' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_destroy' + 'Return' => '6423', + 'ShortName' => 'pldm_pdr_record_is_remote' + }, + '96630' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '81557' + }, + '1' => { + 'name' => 'record', + 'type' => '94959' + } + }, + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_handle' }, - '95518' => { - 'Header' => 'instance-id.h', + '96848' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95604' + 'name' => 'repo', + 'type' => '81557' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init_default' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_repo_size' }, - '95609' => { - 'Header' => 'instance-id.h', + '96982' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'ctx', - 'type' => '95604' - }, - '1' => { - 'name' => 'dbpath', - 'type' => '12552' + 'name' => 'repo', + 'type' => '81557' } }, - 'Return' => '74', - 'ShortName' => 'pldm_instance_db_init' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_get_record_count' }, - '96782' => { - 'Header' => 'pldm.h', + '97116' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96120' + 'name' => 'repo', + 'type' => '81557' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'pdr_type', + 'type' => '168' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6245' + 'name' => 'curr_record', + 'type' => '94959' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'data', + 'type' => '71377' + }, + '4' => { + 'name' => 'size', + 'type' => '2087' } }, - 'Return' => '96229', - 'ShortName' => 'pldm_send' + 'Reg' => { + '0' => 'rdi', + '3' => 'rcx', + '4' => 'r8' + }, + 'Return' => '94959', + 'ShortName' => 'pldm_pdr_find_record_by_type' }, - '97201' => { - 'Header' => 'pldm.h', + '97296' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96120' + 'name' => 'repo', + 'type' => '81557' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'curr_record', + 'type' => '94959' }, '2' => { - 'name' => 'pldm_req_msg', - 'type' => '6245' + 'name' => 'data', + 'type' => '71377' }, '3' => { - 'name' => 'req_msg_len', - 'type' => '123' + 'name' => 'size', + 'type' => '2087' }, '4' => { - 'name' => 'pldm_resp_msg', - 'type' => '71366' + 'name' => 'next_record_handle', + 'type' => '2087' + } + }, + 'Return' => '94959', + 'ShortName' => 'pldm_pdr_get_next_record' + }, + '97469' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' }, - '5' => { - 'name' => 'resp_msg_len', - 'type' => '9084' + '1' => { + 'name' => 'record_handle', + 'type' => '180' + }, + '2' => { + 'name' => 'prev_record_handle', + 'type' => '2087' } }, - 'Return' => '96229', - 'ShortName' => 'pldm_send_recv' + 'Return' => '6423', + 'ShortName' => 'pldm_pdr_find_prev_record_handle' }, '9755' => { 'Header' => 'bios.h', @@ -7947,55 +8323,84 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'decode_set_date_time_resp' }, - '97684' => { - 'Header' => 'pldm.h', + '97704' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96120' + 'name' => 'repo', + 'type' => '81557' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'record_handle', + 'type' => '180' }, '2' => { - 'name' => 'instance_id', - 'type' => '168' + 'name' => 'data', + 'type' => '71377' }, '3' => { - 'name' => 'pldm_resp_msg', - 'type' => '71366' + 'name' => 'size', + 'type' => '2087' }, '4' => { - 'name' => 'resp_msg_len', - 'type' => '9084' + 'name' => 'next_record_handle', + 'type' => '2087' } }, - 'Return' => '96229', - 'ShortName' => 'pldm_recv' + 'Return' => '94959', + 'ShortName' => 'pldm_pdr_find_record' + }, + '97879' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' + } + }, + 'Return' => '1', + 'ShortName' => 'pldm_pdr_destroy' + }, + '98036' => { + 'Header' => 'pdr.h', + 'Return' => '83557', + 'ShortName' => 'pldm_pdr_init' }, - '97910' => { - 'Header' => 'pldm.h', + '98108' => { + 'Header' => 'pdr.h', 'Param' => { '0' => { - 'name' => 'eid', - 'type' => '96120' + 'name' => 'repo', + 'type' => '83557' }, '1' => { - 'name' => 'mctp_fd', - 'type' => '74' + 'name' => 'data', + 'type' => '6245' }, '2' => { - 'name' => 'pldm_resp_msg', - 'type' => '71366' + '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' => '96229', - 'ShortName' => 'pldm_recv_any' + 'Return' => '180', + 'ShortName' => 'pldm_pdr_add_after_prev_record' }, '9827' => { 'Header' => 'bios.h', @@ -8020,10 +8425,103 @@ $VAR1 = { 'Return' => '74', 'ShortName' => 'encode_set_date_time_resp' }, - '98355' => { - 'Header' => 'pldm.h', - 'Return' => '96229', - 'ShortName' => 'pldm_open' + '98554' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' + }, + '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' + }, + '98979' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' + }, + '1' => { + 'name' => 'data', + 'type' => '6245' + }, + '2' => { + 'name' => 'size', + 'type' => '180' + }, + '3' => { + 'name' => 'is_remote', + 'type' => '6423' + }, + '4' => { + 'name' => 'terminus_handle', + 'type' => '5053' + }, + '5' => { + 'name' => 'record_handle', + 'type' => '2087' + } + }, + 'Return' => '74', + 'ShortName' => 'pldm_pdr_add_check' + }, + '99236' => { + 'Header' => 'pdr.h', + 'Param' => { + '0' => { + 'name' => 'repo', + 'type' => '83557' + }, + '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' } }, 'SymbolVersion' => {}, @@ -8225,11 +8723,15 @@ $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, 'get_fru_record_by_option_check' => 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_append_pad_checksum_check' => 1, @@ -8291,12 +8793,23 @@ $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_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_add_from_node_check' => 1, + 'pldm_entity_association_pdr_add_from_node_with_record_handle' => 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, @@ -8307,7 +8820,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, @@ -8317,10 +8833,14 @@ $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_check' => 1, 'pldm_pdr_add_fru_record_set' => 1, 'pldm_pdr_add_fru_record_set_check' => 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, @@ -8330,6 +8850,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, @@ -8352,6 +8873,167 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Intrinsic' }, + '104050' => { + 'BaseType' => '168', + 'Header' => 'base.h', + 'Line' => '14', + 'Name' => 'pldm_tid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '104062' => { + 'BaseType' => '168', + 'Header' => 'instance-id.h', + 'Line' => '11', + 'Name' => 'pldm_instance_id_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '104442' => { + 'Header' => undef, + 'Line' => '18', + 'Memb' => { + '0' => { + 'name' => 'prev', + 'offset' => '0', + 'type' => '104062' + }, + '1' => { + 'name' => 'allocations', + 'offset' => '4', + 'type' => '180' + } + }, + 'Name' => 'struct pldm_tid_state', + 'PrivateABI' => 1, + 'Size' => '8', + 'Type' => 'Struct' + }, + '104481' => { + 'Header' => undef, + 'Line' => '23', + 'Memb' => { + '0' => { + 'name' => 'state', + 'offset' => '0', + 'type' => '104523' + }, + '1' => { + 'name' => 'lock_db_fd', + 'offset' => '8264', + 'type' => '74' + } + }, + 'Name' => 'struct pldm_instance_db', + 'PrivateABI' => 1, + 'Size' => '2052', + 'Type' => 'Struct' + }, + '104523' => { + 'BaseType' => '104442', + 'Name' => 'struct pldm_tid_state[256]', + 'Size' => '2048', + 'Type' => 'Array' + }, + '104951' => { + 'BaseType' => '104481', + 'Name' => 'struct pldm_instance_db*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '105377' => { + 'BaseType' => '104062', + 'Name' => 'pldm_instance_id_t*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '105553' => { + 'BaseType' => '104951', + 'Name' => 'struct pldm_instance_db**', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '106069' => { + 'BaseType' => '168', + 'Header' => 'pldm.h', + 'Line' => '12', + 'Name' => 'mctp_eid_t', + 'Size' => '1', + 'Type' => 'Typedef' + }, + '106081' => { + '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)' + }, + '13' => { + 'name' => 'PLDM_REQUESTER_TRANSPORT_BUSY', + 'value' => '18446744073709551603 (-13)' + }, + '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' + }, + '106184' => { + 'BaseType' => '106081', + 'Header' => 'pldm.h', + 'Line' => '29', + 'Name' => 'pldm_requester_rc_t', + 'Size' => '4', + 'Type' => 'Typedef' + }, '109' => { 'Name' => 'long', 'Size' => '8', @@ -8459,9 +9141,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '13093' => { + '13100' => { 'Header' => 'platform.h', - 'Line' => '237', + 'Line' => '243', 'Memb' => { '0' => { 'name' => 'PLDM_SENSOR_OP_STATE', @@ -8480,15 +9162,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', @@ -8520,14 +9202,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', @@ -8579,9 +9261,9 @@ $VAR1 = { 'Size' => '24', 'Type' => 'Struct' }, - '13573' => { + '13580' => { 'Header' => 'platform.h', - 'Line' => '543', + 'Line' => '550', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8596,27 +9278,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', @@ -8673,9 +9355,9 @@ $VAR1 = { 'Size' => '26', 'Type' => 'Struct' }, - '14000' => { + '14007' => { 'Header' => 'platform.h', - 'Line' => '708', + 'Line' => '715', 'Memb' => { '0' => { 'name' => 'record_handle', @@ -8707,14 +9389,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', @@ -8799,7 +9481,7 @@ $VAR1 = { '24' => { 'name' => 'hysteresis', 'offset' => '72', - 'type' => '13988' + 'type' => '13995' }, '25' => { 'name' => 'supported_thresholds', @@ -8824,7 +9506,7 @@ $VAR1 = { '29' => { 'name' => 'max_readable', 'offset' => '100', - 'type' => '13988' + 'type' => '13995' }, '3' => { 'name' => 'entity_type', @@ -8834,7 +9516,7 @@ $VAR1 = { '30' => { 'name' => 'min_readable', 'offset' => '104', - 'type' => '13988' + 'type' => '13995' }, '31' => { 'name' => 'range_field_format', @@ -8849,37 +9531,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', @@ -8889,12 +9571,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', @@ -8946,9 +9628,9 @@ $VAR1 = { 'Name' => 'void const', 'Type' => 'Const' }, - '14639' => { + '14646' => { 'Header' => 'platform.h', - 'Line' => '770', + 'Line' => '777', 'Memb' => { '0' => { 'name' => 'state_set_id', @@ -8963,22 +9645,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', @@ -8995,17 +9677,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', @@ -9032,15 +9714,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', @@ -9055,9 +9737,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Typedef' }, - '15496' => { + '15503' => { 'Header' => 'platform.h', - 'Line' => '972', + 'Line' => '979', 'Memb' => { '0' => { 'name' => 'sensor_id', @@ -9079,9 +9761,9 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '15708' => { + '15715' => { 'Header' => 'platform.h', - 'Line' => '1053', + 'Line' => '1060', 'Memb' => { '0' => { 'name' => 'event_data_format', @@ -9124,7 +9806,7 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Typedef' }, - '16933' => { + '16940' => { 'BaseType' => '166', 'Name' => 'void**', 'Size' => '8', @@ -9157,32 +9839,32 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '21095' => { + '21102' => { 'BaseType' => '9084', 'Name' => 'size_t*const', 'Size' => '8', 'Type' => 'Const' }, - '22708' => { - 'BaseType' => '22718', + '22725' => { + 'BaseType' => '22735', 'Name' => 'uint32_t const*const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22713' => { + '22730' => { 'BaseType' => '11828', 'Name' => 'uint32_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '22718' => { - 'BaseType' => '22713', + '22735' => { + 'BaseType' => '22730', 'Name' => 'uint32_t const*const', 'Size' => '8', 'Type' => 'Const' }, - '22723' => { - 'BaseType' => '15708', + '22740' => { + 'BaseType' => '15715', 'Name' => 'struct pldm_pdr_repository_chg_event_data*', 'Size' => '8', 'Type' => 'Pointer' @@ -9193,8 +9875,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '29133' => { - 'BaseType' => '14079', + '29150' => { + 'BaseType' => '14086', 'Name' => 'struct pldm_numeric_sensor_value_pdr*', 'Size' => '8', 'Type' => 'Pointer' @@ -9205,14 +9887,14 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '35700' => { - 'BaseType' => '15496', + '35717' => { + 'BaseType' => '15503', 'Name' => 'struct pldm_sensor_event_data*', 'Size' => '8', 'Type' => 'Pointer' }, - '35705' => { - 'BaseType' => '35700', + '35722' => { + 'BaseType' => '35717', 'Name' => 'struct pldm_sensor_event_data*const', 'Size' => '8', 'Type' => 'Const' @@ -9222,22 +9904,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' } @@ -9246,38 +9928,38 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '36709' => { - 'BaseType' => '14815', + '36726' => { + 'BaseType' => '14822', 'Name' => 'get_sensor_state_field*', 'Size' => '8', 'Type' => 'Pointer' }, - '41864' => { - 'BaseType' => '14737', + '41881' => { + 'BaseType' => '14744', 'Name' => 'set_effecter_state_field*', 'Size' => '8', 'Type' => 'Pointer' }, - '42691' => { - 'BaseType' => '13429', + '42708' => { + 'BaseType' => '13436', 'Name' => 'struct pldm_state_sensor_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '42696' => { - 'BaseType' => '42691', + '42713' => { + 'BaseType' => '42708', 'Name' => 'struct pldm_state_sensor_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '42701' => { - 'BaseType' => '13626', + '42718' => { + 'BaseType' => '13633', 'Name' => 'struct state_sensor_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '42706' => { - 'BaseType' => '42701', + '42723' => { + 'BaseType' => '42718', 'Name' => 'struct state_sensor_possible_states const*const', 'Size' => '8', 'Type' => 'Const' @@ -9290,26 +9972,26 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Typedef' }, - '43023' => { - 'BaseType' => '13647', + '43040' => { + 'BaseType' => '13654', 'Name' => 'struct pldm_state_effecter_pdr*', 'Size' => '8', 'Type' => 'Pointer' }, - '43028' => { - 'BaseType' => '43023', + '43045' => { + 'BaseType' => '43040', 'Name' => 'struct pldm_state_effecter_pdr*const', 'Size' => '8', 'Type' => 'Const' }, - '43033' => { - 'BaseType' => '14692', + '43050' => { + 'BaseType' => '14699', 'Name' => 'struct state_effecter_possible_states const*', 'Size' => '8', 'Type' => 'Pointer' }, - '43038' => { - 'BaseType' => '43033', + '43055' => { + 'BaseType' => '43050', 'Name' => 'struct state_effecter_possible_states const*const', 'Size' => '8', 'Type' => 'Const' @@ -9330,7 +10012,7 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '46553' => { + '46570' => { 'BaseType' => '102', 'Header' => undef, 'Line' => '45', @@ -9339,8 +10021,8 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '46642' => { - 'BaseType' => '46553', + '46659' => { + 'BaseType' => '46570', 'Header' => undef, 'Line' => '27', 'Name' => 'uint64_t', @@ -9348,7 +10030,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Typedef' }, - '46654' => { + '46671' => { 'Header' => 'bios.h', 'Line' => '38', 'Memb' => { @@ -9369,7 +10051,7 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Enum' }, - '46688' => { + '46705' => { 'Header' => 'bios.h', 'Line' => '47', 'Memb' => { @@ -9386,26 +10068,26 @@ $VAR1 = { '2' => { 'name' => 'name', 'offset' => '4', - 'type' => '46745' + 'type' => '46762' } }, 'Name' => 'struct pldm_bios_string_table_entry', 'Size' => '5', 'Type' => 'Struct' }, - '46740' => { - 'BaseType' => '46688', + '46757' => { + 'BaseType' => '46705', 'Name' => 'struct pldm_bios_string_table_entry const', 'Size' => '5', 'Type' => 'Const' }, - '46745' => { + '46762' => { 'BaseType' => '116', 'Name' => 'char[1]', 'Size' => '1', 'Type' => 'Array' }, - '46761' => { + '46778' => { 'Header' => 'bios.h', 'Line' => '53', 'Memb' => { @@ -9434,13 +10116,13 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '46826' => { - 'BaseType' => '46761', + '46843' => { + 'BaseType' => '46778', 'Name' => 'struct pldm_bios_attr_table_entry const', 'Size' => '6', 'Type' => 'Const' }, - '46847' => { + '46864' => { 'Header' => 'bios.h', 'Line' => '65', 'Memb' => { @@ -9464,13 +10146,13 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, - '46899' => { - 'BaseType' => '46847', + '46916' => { + 'BaseType' => '46864', 'Name' => 'struct pldm_bios_attr_val_table_entry const', 'Size' => '4', 'Type' => 'Const' }, - '46968' => { + '46985' => { 'Header' => 'bios_table.h', 'Line' => '204', 'Memb' => { @@ -9492,7 +10174,7 @@ $VAR1 = { '3' => { 'name' => 'pv_handle', 'offset' => '8', - 'type' => '47071' + 'type' => '47088' }, '4' => { 'name' => 'def_num', @@ -9509,25 +10191,25 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '47059' => { - 'BaseType' => '46968', - 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const', - 'Size' => '32', - 'Type' => 'Const' - }, '4707' => { 'BaseType' => '825', 'Name' => 'struct pldm_msg_hdr const*', 'Size' => '8', 'Type' => 'Pointer' }, - '47071' => { + '47076' => { + 'BaseType' => '46985', + 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const', + 'Size' => '32', + 'Type' => 'Const' + }, + '47088' => { 'BaseType' => '11811', 'Name' => 'uint16_t const*', 'Size' => '8', 'Type' => 'Pointer' }, - '47081' => { + '47098' => { 'Header' => 'bios_table.h', 'Line' => '292', 'Memb' => { @@ -9577,13 +10259,13 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '47193' => { - 'BaseType' => '47081', + '47210' => { + 'BaseType' => '47098', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const', 'Size' => '24', 'Type' => 'Const' }, - '47203' => { + '47220' => { 'Header' => 'bios_table.h', 'Line' => '382', 'Memb' => { @@ -9600,12 +10282,12 @@ $VAR1 = { '2' => { 'name' => 'lower_bound', 'offset' => '8', - 'type' => '46642' + 'type' => '46659' }, '3' => { 'name' => 'upper_bound', 'offset' => '22', - 'type' => '46642' + 'type' => '46659' }, '4' => { 'name' => 'scalar_increment', @@ -9615,20 +10297,20 @@ $VAR1 = { '5' => { 'name' => 'default_value', 'offset' => '50', - 'type' => '46642' + 'type' => '46659' } }, 'Name' => 'struct pldm_bios_table_attr_entry_integer_info', 'Size' => '40', 'Type' => 'Struct' }, - '47301' => { - 'BaseType' => '47203', + '47318' => { + 'BaseType' => '47220', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const', 'Size' => '40', 'Type' => 'Const' }, - '47657' => { + '47674' => { 'Name' => 'ssize_t(*)(void const*)', 'Param' => { '0' => { @@ -9639,9 +10321,9 @@ $VAR1 = { 'Size' => '8', 'Type' => 'FuncPtr' }, - '47725' => { + '47742' => { 'Header' => undef, - 'Line' => '993', + 'Line' => '992', 'Memb' => { '0' => { 'name' => 'table_data', @@ -9661,7 +10343,7 @@ $VAR1 = { '3' => { 'name' => 'entry_length_handler', 'offset' => '36', - 'type' => '47657' + 'type' => '47674' } }, 'Name' => 'struct pldm_bios_table_iter', @@ -9669,8 +10351,8 @@ $VAR1 = { 'Size' => '32', 'Type' => 'Struct' }, - '47795' => { - 'BaseType' => '47725', + '47812' => { + 'BaseType' => '47742', 'Name' => 'struct pldm_bios_table_iter const', 'Size' => '32', 'Type' => 'Const' @@ -9687,26 +10369,26 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '48827' => { - 'BaseType' => '47725', + '48844' => { + 'BaseType' => '47742', 'Name' => 'struct pldm_bios_table_iter*', 'Size' => '8', 'Type' => 'Pointer' }, - '48832' => { - 'BaseType' => '46899', + '48849' => { + 'BaseType' => '46916', 'Name' => 'struct pldm_bios_attr_val_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '49247' => { - 'BaseType' => '46826', + '49264' => { + 'BaseType' => '46843', 'Name' => 'struct pldm_bios_attr_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' }, - '49853' => { - 'BaseType' => '46740', + '49870' => { + 'BaseType' => '46757', 'Name' => 'struct pldm_bios_string_table_entry const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9735,8 +10417,8 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Typedef' }, - '51020' => { - 'BaseType' => '47795', + '51037' => { + 'BaseType' => '47812', 'Name' => 'struct pldm_bios_table_iter const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9746,32 +10428,32 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '55965' => { - 'BaseType' => '46642', + '55980' => { + 'BaseType' => '46659', 'Name' => 'uint64_t*', 'Size' => '8', 'Type' => 'Pointer' }, - '56242' => { - 'BaseType' => '47301', + '56257' => { + 'BaseType' => '47318', 'Name' => 'struct pldm_bios_table_attr_entry_integer_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '56551' => { + '56566' => { 'BaseType' => '12552', 'Name' => 'char const**', 'Size' => '8', 'Type' => 'Pointer' }, - '57825' => { - 'BaseType' => '47193', + '57840' => { + 'BaseType' => '47210', 'Name' => 'struct pldm_bios_table_attr_entry_string_info const*', 'Size' => '8', 'Type' => 'Pointer' }, - '59179' => { - 'BaseType' => '47059', + '59194' => { + 'BaseType' => '47076', 'Name' => 'struct pldm_bios_table_attr_entry_enum_info const*', 'Size' => '8', 'Type' => 'Pointer' @@ -9806,14 +10488,14 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Intrinsic' }, - '64446' => { + '64460' => { 'Header' => 'firmware_update.h', 'Line' => '329', 'Memb' => { '0' => { 'name' => 'uuid', 'offset' => '0', - 'type' => '64550' + 'type' => '64564' }, '1' => { 'name' => 'package_header_format_version', @@ -9828,7 +10510,7 @@ $VAR1 = { '3' => { 'name' => 'package_release_date_time', 'offset' => '25', - 'type' => '15014' + 'type' => '15021' }, '4' => { 'name' => 'component_bitmap_bit_length', @@ -9850,13 +10532,13 @@ $VAR1 = { 'Size' => '36', 'Type' => 'Struct' }, - '64550' => { + '64564' => { 'BaseType' => '168', 'Name' => 'uint8_t[16]', 'Size' => '16', 'Type' => 'Array' }, - '64582' => { + '64596' => { 'Header' => 'firmware_update.h', 'Line' => '343', 'Memb' => { @@ -9873,7 +10555,7 @@ $VAR1 = { '2' => { 'name' => 'device_update_option_flags', 'offset' => '3', - 'type' => '61949' + 'type' => '61963' }, '3' => { 'name' => 'comp_image_set_version_string_type', @@ -9895,7 +10577,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '64777' => { + '64791' => { 'Header' => 'firmware_update.h', 'Line' => '377', 'Memb' => { @@ -9917,12 +10599,12 @@ $VAR1 = { '3' => { 'name' => 'comp_options', 'offset' => '8', - 'type' => '61451' + 'type' => '61465' }, '4' => { 'name' => 'requested_comp_activation_method', 'offset' => '16', - 'type' => '61451' + 'type' => '61465' }, '5' => { 'name' => 'comp_location_offset', @@ -9949,7 +10631,7 @@ $VAR1 = { 'Size' => '22', 'Type' => 'Struct' }, - '64959' => { + '64973' => { 'Header' => 'firmware_update.h', 'Line' => '403', 'Memb' => { @@ -9961,7 +10643,7 @@ $VAR1 = { '1' => { 'name' => 'capabilities_during_update', 'offset' => '1', - 'type' => '61949' + 'type' => '61963' }, '2' => { 'name' => 'comp_count', @@ -9993,7 +10675,7 @@ $VAR1 = { 'Size' => '11', 'Type' => 'Struct' }, - '65063' => { + '65077' => { 'Header' => 'firmware_update.h', 'Line' => '417', 'Memb' => { @@ -10010,17 +10692,17 @@ $VAR1 = { '10' => { 'name' => 'pending_comp_release_date', 'offset' => '37', - 'type' => '65245' + 'type' => '65259' }, '11' => { 'name' => 'comp_activation_methods', 'offset' => '51', - 'type' => '61451' + 'type' => '61465' }, '12' => { 'name' => 'capabilities_during_update', 'offset' => '53', - 'type' => '61949' + 'type' => '61963' }, '2' => { 'name' => 'comp_classification_index', @@ -10045,7 +10727,7 @@ $VAR1 = { '6' => { 'name' => 'active_comp_release_date', 'offset' => '17', - 'type' => '65245' + 'type' => '65259' }, '7' => { 'name' => 'pending_comp_comparison_stamp', @@ -10067,13 +10749,13 @@ $VAR1 = { 'Size' => '39', 'Type' => 'Struct' }, - '65245' => { + '65259' => { 'BaseType' => '168', 'Name' => 'uint8_t[8]', 'Size' => '8', 'Type' => 'Array' }, - '66105' => { + '66119' => { 'BaseType' => '6206', 'Name' => 'struct variable_field const', 'Size' => '16', @@ -10085,7 +10767,7 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '66453' => { + '66467' => { 'BaseType' => '11999', 'Name' => 'bool8_t*', 'Size' => '8', @@ -10096,25 +10778,25 @@ $VAR1 = { 'Size' => '2', 'Type' => 'Intrinsic' }, - '69533' => { - 'BaseType' => '66105', + '69546' => { + 'BaseType' => '66119', 'Name' => 'struct variable_field const*', 'Size' => '8', 'Type' => 'Pointer' }, - '70835' => { - 'BaseType' => '65063', + '70846' => { + 'BaseType' => '65077', 'Name' => 'struct pldm_component_parameter_entry*', 'Size' => '8', 'Type' => 'Pointer' }, - '71065' => { - 'BaseType' => '64959', + '71076' => { + 'BaseType' => '64973', 'Name' => 'struct pldm_get_firmware_parameters_resp*', 'Size' => '8', 'Type' => 'Pointer' }, - '71366' => { + '71377' => { 'BaseType' => '2082', 'Name' => 'uint8_t**', 'Size' => '8', @@ -10134,20 +10816,20 @@ $VAR1 = { 'Size' => '3', 'Type' => 'Struct' }, - '71663' => { - 'BaseType' => '64777', + '71674' => { + 'BaseType' => '64791', 'Name' => 'struct pldm_component_image_information*', 'Size' => '8', 'Type' => 'Pointer' }, - '72279' => { - 'BaseType' => '64582', + '72290' => { + 'BaseType' => '64596', 'Name' => 'struct pldm_firmware_device_id_record*', 'Size' => '8', 'Type' => 'Pointer' }, - '72431' => { - 'BaseType' => '64446', + '72442' => { + 'BaseType' => '64460', 'Name' => 'struct pldm_package_header_information*', 'Size' => '8', 'Type' => 'Pointer' @@ -10157,27 +10839,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Intrinsic' }, - '79065' => { - 'BaseType' => '79082', - 'Header' => undef, - 'Line' => '15', - 'Name' => 'pldm_pdr', - 'PrivateABI' => 1, - 'Size' => '24', - 'Type' => 'Typedef' - }, - '79077' => { - 'BaseType' => '79065', - 'Name' => 'pldm_pdr const', - 'Size' => '24', - 'Type' => 'Const' - }, - '79082' => { - 'Header' => undef, - 'Line' => '18', + '79148' => { + 'Header' => 'pdr_data.h', + 'Line' => '12', 'Memb' => { '0' => { - 'name' => 'record_count', + 'name' => 'record_handle', 'offset' => '0', 'type' => '180' }, @@ -10187,42 +10854,56 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'first', + 'name' => 'data', 'offset' => '8', - 'type' => '80154' + 'type' => '2082' }, '3' => { - 'name' => 'last', + 'name' => 'next', 'offset' => '22', - 'type' => '80154' + 'type' => '79237' + }, + '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' }, - '79142' => { - 'BaseType' => '79159', - 'Header' => undef, - 'Line' => '20', + '79237' => { + 'BaseType' => '79148', + 'Name' => 'struct pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '79249' => { + 'BaseType' => '79148', + 'Header' => 'pdr_data.h', + 'Line' => '19', 'Name' => 'pldm_pdr_record', - 'PrivateABI' => 1, 'Size' => '32', 'Type' => 'Typedef' }, - '79154' => { - 'BaseType' => '79142', + '79261' => { + 'BaseType' => '79249', 'Name' => 'pldm_pdr_record const', 'Size' => '32', 'Type' => 'Const' }, - '79159' => { - 'Header' => undef, - 'Line' => '9', + '79266' => { + 'Header' => 'pdr_data.h', + 'Line' => '21', 'Memb' => { '0' => { - 'name' => 'record_handle', + 'name' => 'record_count', 'offset' => '0', 'type' => '180' }, @@ -10232,34 +10913,43 @@ $VAR1 = { 'type' => '180' }, '2' => { - 'name' => 'data', + 'name' => 'first', 'offset' => '8', - 'type' => '2082' + 'type' => '79326' }, '3' => { - 'name' => 'next', + 'name' => 'last', 'offset' => '22', - 'type' => '80142' - }, - '4' => { - 'name' => 'is_remote', - 'offset' => '36', - 'type' => '6423' - }, - '5' => { - 'name' => 'terminus_handle', - 'offset' => '38', - 'type' => '5053' + 'type' => '79326' } }, - 'Name' => 'struct pldm_pdr_record', - 'PrivateABI' => 1, - 'Size' => '32', + 'Name' => 'struct pldm_pdr', + 'Size' => '24', 'Type' => 'Struct' }, - '79243' => { + '79326' => { + 'BaseType' => '79249', + 'Name' => 'pldm_pdr_record*', + 'Size' => '8', + 'Type' => 'Pointer' + }, + '79331' => { + 'BaseType' => '79266', + 'Header' => 'pdr_data.h', + 'Line' => '26', + 'Name' => 'pldm_pdr', + 'Size' => '24', + 'Type' => 'Typedef' + }, + '79343' => { + 'BaseType' => '79331', + 'Name' => 'pldm_pdr const', + 'Size' => '24', + 'Type' => 'Const' + }, + '79348' => { 'Header' => 'pdr.h', - 'Line' => '310', + 'Line' => '415', 'Memb' => { '0' => { 'name' => 'entity_type', @@ -10281,31 +10971,31 @@ $VAR1 = { 'Size' => '6', 'Type' => 'Struct' }, - '79300' => { - 'BaseType' => '79243', + '79405' => { + 'BaseType' => '79348', 'Header' => 'pdr.h', - 'Line' => '314', + 'Line' => '419', 'Name' => 'pldm_entity', 'Size' => '6', 'Type' => 'Typedef' }, - '79344' => { - 'BaseType' => '79356', + '79447' => { + 'BaseType' => '79460', 'Header' => undef, - 'Line' => '324', + 'Line' => '429', 'Name' => 'pldm_entity_association_tree', 'PrivateABI' => 1, 'Size' => '16', 'Type' => 'Typedef' }, - '79356' => { + '79460' => { 'Header' => undef, - 'Line' => '452', + 'Line' => '963', 'Memb' => { '0' => { 'name' => 'root', 'offset' => '0', - 'type' => '80159' + 'type' => '81479' }, '1' => { 'name' => 'last_used_container_id', @@ -10318,28 +11008,34 @@ $VAR1 = { 'Size' => '16', 'Type' => 'Struct' }, - '79399' => { - 'BaseType' => '79416', + '79503' => { + 'BaseType' => '79521', 'Header' => undef, - 'Line' => '329', + 'Line' => '434', 'Name' => 'pldm_entity_node', 'PrivateABI' => 1, 'Size' => '40', 'Type' => 'Typedef' }, - '79416' => { + '79516' => { + 'BaseType' => '79503', + 'Name' => 'pldm_entity_node const', + 'Size' => '40', + 'Type' => 'Const' + }, + '79521' => { 'Header' => undef, - 'Line' => '457', + 'Line' => '968', 'Memb' => { '0' => { 'name' => 'entity', 'offset' => '0', - 'type' => '79300' + 'type' => '79405' }, '1' => { 'name' => 'parent', 'offset' => '6', - 'type' => '79300' + 'type' => '79405' }, '2' => { 'name' => 'remote_container_id', @@ -10349,12 +11045,12 @@ $VAR1 = { '3' => { 'name' => 'first_child', 'offset' => '22', - 'type' => '80159' + 'type' => '81479' }, '4' => { 'name' => 'next_sibling', 'offset' => '36', - 'type' => '80159' + 'type' => '81479' }, '5' => { 'name' => 'association_type', @@ -10367,65 +11063,47 @@ $VAR1 = { 'Size' => '40', 'Type' => 'Struct' }, - '80142' => { - 'BaseType' => '79159', - 'Name' => 'struct pldm_pdr_record*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '80154' => { - 'BaseType' => '79142', - 'Name' => 'pldm_pdr_record*', + '81' => { + 'Name' => 'unsigned int', + 'Size' => '4', + 'Type' => 'Intrinsic' + }, + '81479' => { + 'BaseType' => '79503', + 'Name' => 'pldm_entity_node*', 'Size' => '8', 'Type' => 'Pointer' }, - '80159' => { - 'BaseType' => '79399', - 'Name' => 'pldm_entity_node*', + '81557' => { + 'BaseType' => '79343', + 'Name' => 'pldm_pdr const*', 'Size' => '8', 'Type' => 'Pointer' }, - '80584' => { - 'BaseType' => '80589', + '82116' => { + 'BaseType' => '82121', 'Name' => 'pldm_entity**', 'Size' => '8', 'Type' => 'Pointer' }, - '80589' => { - 'BaseType' => '79300', + '82121' => { + 'BaseType' => '79405', 'Name' => 'pldm_entity*', 'Size' => '8', 'Type' => 'Pointer' }, - '80653' => { - 'BaseType' => '79344', + '82185' => { + 'BaseType' => '79447', 'Name' => 'pldm_entity_association_tree*', 'Size' => '8', 'Type' => 'Pointer' }, - '80932' => { - 'BaseType' => '80159', + '82464' => { + 'BaseType' => '81479', 'Name' => 'pldm_entity_node**', 'Size' => '8', 'Type' => 'Pointer' }, - '81' => { - 'Name' => 'unsigned int', - 'Size' => '4', - 'Type' => 'Intrinsic' - }, - '81714' => { - 'BaseType' => '79077', - 'Name' => 'pldm_pdr const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '81968' => { - 'BaseType' => '79065', - 'Name' => 'pldm_pdr*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '825' => { 'BaseType' => '714', 'Name' => 'struct pldm_msg_hdr const', @@ -10451,6 +11129,12 @@ $VAR1 = { 'Size' => '4', 'Type' => 'Struct' }, + '83557' => { + 'BaseType' => '79331', + 'Name' => 'pldm_pdr*', + 'Size' => '8', + 'Type' => 'Pointer' + }, '8521' => { 'BaseType' => '5053', 'Name' => 'uint16_t*', @@ -10469,12 +11153,6 @@ $VAR1 = { 'Size' => '1', 'Type' => 'Array' }, - '88497' => { - 'BaseType' => '79154', - 'Name' => 'pldm_pdr_record const*', - 'Size' => '8', - 'Type' => 'Pointer' - }, '890' => { 'Header' => 'base.h', 'Line' => '160', @@ -10515,163 +11193,18 @@ $VAR1 = { 'Size' => '8', 'Type' => 'Pointer' }, - '94101' => { - 'BaseType' => '168', - 'Header' => 'base.h', - 'Line' => '14', - 'Name' => 'pldm_tid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '94113' => { - 'BaseType' => '168', - 'Header' => 'instance-id.h', - 'Line' => '11', - 'Name' => 'pldm_instance_id_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '94493' => { - 'Header' => undef, - 'Line' => '18', - 'Memb' => { - '0' => { - 'name' => 'prev', - 'offset' => '0', - 'type' => '94113' - }, - '1' => { - 'name' => 'allocations', - 'offset' => '4', - 'type' => '180' - } - }, - 'Name' => 'struct pldm_tid_state', - 'PrivateABI' => 1, - 'Size' => '8', - 'Type' => 'Struct' - }, - '94532' => { - 'Header' => undef, - 'Line' => '23', - 'Memb' => { - '0' => { - 'name' => 'state', - 'offset' => '0', - 'type' => '94574' - }, - '1' => { - 'name' => 'lock_db_fd', - 'offset' => '8264', - 'type' => '74' - } - }, - 'Name' => 'struct pldm_instance_db', - 'PrivateABI' => 1, - 'Size' => '2052', - 'Type' => 'Struct' - }, - '94574' => { - 'BaseType' => '94493', - 'Name' => 'struct pldm_tid_state[256]', - 'Size' => '2048', - 'Type' => 'Array' - }, - '95002' => { - 'BaseType' => '94532', - 'Name' => 'struct pldm_instance_db*', + '91287' => { + 'BaseType' => '79516', + 'Name' => 'pldm_entity_node const*', 'Size' => '8', 'Type' => 'Pointer' }, - '95428' => { - 'BaseType' => '94113', - 'Name' => 'pldm_instance_id_t*', - 'Size' => '8', - 'Type' => 'Pointer' - }, - '95604' => { - 'BaseType' => '95002', - 'Name' => 'struct pldm_instance_db**', + '94959' => { + 'BaseType' => '79261', + 'Name' => 'pldm_pdr_record const*', 'Size' => '8', 'Type' => 'Pointer' }, - '96120' => { - 'BaseType' => '168', - 'Header' => 'pldm.h', - 'Line' => '12', - 'Name' => 'mctp_eid_t', - 'Size' => '1', - 'Type' => 'Typedef' - }, - '96132' => { - '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' - }, - '96229' => { - 'BaseType' => '96132', - 'Header' => 'pldm.h', - 'Line' => '28', - 'Name' => 'pldm_requester_rc_t', - 'Size' => '4', - 'Type' => 'Typedef' - }, '969' => { 'BaseType' => '890', 'Name' => 'struct pldm_header_info const', @@ -10704,6 +11237,7 @@ $VAR1 = { 'memcpy@GLIBC_2.14' => 0, 'open64@GLIBC_2.2.5' => 0, 'poll@GLIBC_2.2.5' => 0, + 'ppoll@GLIBC_2.4' => 0, 'recv@GLIBC_2.2.5' => 0, 'recvmsg@GLIBC_2.2.5' => 0, 'sendmsg@GLIBC_2.2.5' => 0, @@ -10713,6 +11247,8 @@ $VAR1 = { 'stat64@GLIBC_2.33' => 0, 'strlen@GLIBC_2.2.5' => 0, 'strtol@GLIBC_2.2.5' => 0, + 'timerfd_create@GLIBC_2.8' => 0, + 'timerfd_settime@GLIBC_2.8' => 0, 'write@GLIBC_2.2.5' => 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 e929914fe..ba7267e19 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 */ @@ -96,6 +88,29 @@ int pldm_pdr_add_check(pldm_pdr *repo, const uint8_t *data, uint32_t size, bool is_remote, uint16_t terminus_handle, uint32_t *record_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 * * @pre repo must point to a valid object @@ -128,6 +143,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 @@ -237,6 +264,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 */ /* ======================= */ @@ -251,6 +343,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 */ @@ -258,7 +351,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 Add a FRU record set PDR record to a PDR repository, or return an error * @@ -281,7 +374,8 @@ int pldm_pdr_add_fru_record_set_check(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 * @@ -295,13 +389,24 @@ int pldm_pdr_add_fru_record_set_check(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 An opaque pointer to the PDR record on success, or NULL on failure */ 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 */ @@ -335,6 +440,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 @@ -348,12 +461,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. @@ -420,6 +551,14 @@ pldm_entity pldm_entity_extract(pldm_entity_node *node); uint16_t pldm_entity_node_get_remote_container_id(const pldm_entity_node *entity); +/** @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 @@ -475,10 +614,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 from node, or return an error * @@ -550,6 +722,9 @@ 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 * * There are no entity nodes to search if tree is NULL, nor are there entity nodes to find if the @@ -557,7 +732,7 @@ bool pldm_is_current_parent_child(pldm_entity_node *parent, pldm_entity *node); */ 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 * @@ -614,6 +789,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 56c07b530..2f5c8eed6 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) @@ -34,87 +24,187 @@ static inline uint32_t get_next_record_handle(const pldm_pdr *repo, return record->next->record_handle; } -LIBPLDM_ABI_DEPRECATED -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) +static void add_record(pldm_pdr *repo, pldm_pdr_record *record) { assert(repo != NULL); - assert(data != NULL); - assert(size != 0); - int rc = pldm_pdr_add_check(repo, data, size, is_remote, - terminus_handle, &record_handle); - (void)rc; - assert(!rc); - return record_handle; + assert(record != NULL); + + if (repo->first == NULL) { + assert(repo->last == NULL); + repo->first = record; + repo->last = record; + } else { + repo->last->next = record; + repo->last = record; + } + repo->size += record->size; + ++repo->record_count; } -LIBPLDM_ABI_STABLE -int pldm_pdr_add_check(pldm_pdr *repo, const uint8_t *data, uint32_t size, - bool is_remote, uint16_t terminus_handle, - uint32_t *record_handle) +static void add_hotplug_record(pldm_pdr *repo, pldm_pdr_record *record, + uint32_t prev_record_handle) { - uint32_t curr; - - if (!repo || !data || !size) { - return -EINVAL; + // 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; +} - if (record_handle && *record_handle) { - curr = *record_handle; - } else if (repo->last) { - curr = repo->last->record_handle; - if (curr == UINT32_MAX) { - return -EOVERFLOW; - } - curr += 1; +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 { - curr = 1; + 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); + uint32_t last_used_hdl = + repo->last != NULL ? repo->last->record_handle : 0; + assert(last_used_hdl != UINT32_MAX); + + return last_used_hdl + 1; +} + +static pldm_pdr_record *make_new_record(const pldm_pdr *repo, + const uint8_t *data, uint32_t size, + uint32_t record_handle, bool is_remote, + uint16_t terminus_handle) +{ + assert(repo != NULL); + assert(size != 0); pldm_pdr_record *record = malloc(sizeof(pldm_pdr_record)); - if (!record) { - return -ENOMEM; + assert(record != NULL); + if (record_handle == 0) { + record->record_handle = get_new_record_handle(repo); } - - if (data) { - record->data = malloc(size); - if (!record->data) { - free(record); - return -ENOMEM; - } - memcpy(record->data, data, size); +#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; - record->record_handle = curr; - - if (record_handle && !*record_handle && data) { + if (data != NULL) { + record->data = malloc(size); + assert(record->data != NULL); + memcpy(record->data, data, size); /* If record handle is 0, that is an indication for this API to * compute a new handle. For that reason, the computed handle * needs to be populated in the PDR header. For a case where the * caller supplied the record handle, it would exist in the * header already. */ - struct pldm_pdr_hdr *hdr = (void *)record->data; + struct pldm_pdr_hdr *hdr = + (struct pldm_pdr_hdr *)(record->data); hdr->record_handle = htole32(record->record_handle); } - record->next = NULL; - assert(!repo->first == !repo->last); - if (repo->first == NULL) { - repo->first = record; - repo->last = record; - } else { - repo->last->next = record; - repo->last = record; + return record; +} + +LIBPLDM_ABI_DEPRECATED +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) +{ + assert(repo != NULL); + assert(data != NULL); + assert(size != 0); + int rc = pldm_pdr_add_check(repo, data, size, is_remote, + terminus_handle, &record_handle); + (void)rc; + assert(!rc); + return record_handle; +} + +LIBPLDM_ABI_STABLE +int pldm_pdr_add_check(pldm_pdr *repo, const uint8_t *data, uint32_t size, + bool is_remote, uint16_t terminus_handle, + uint32_t *record_handle) +{ + uint32_t l_record_handle; + + if (!repo || !data || !size) { + return -EINVAL; } - repo->size += record->size; - ++repo->record_count; + l_record_handle = record_handle ? *record_handle : 0; + + pldm_pdr_record *record = make_new_record( + repo, data, size, l_record_handle, is_remote, terminus_handle); + add_record(repo, record); + if (record_handle) { *record_handle = record->record_handle; @@ -123,6 +213,39 @@ int pldm_pdr_add_check(pldm_pdr *repo, const uint8_t *data, uint32_t size, return 0; } +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) { @@ -189,6 +312,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, @@ -284,11 +425,11 @@ 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) { int rc = pldm_pdr_add_fru_record_set_check( repo, terminus_handle, fru_rsi, entity_type, - entity_instance_num, container_id, &bmc_record_handle); + entity_instance_num, container_id, &bmc_record_handle, hotplug); (void)rc; assert(!rc); return bmc_record_handle; @@ -299,7 +440,8 @@ int pldm_pdr_add_fru_record_set_check(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) { if (!repo || !bmc_record_handle) { return -EINVAL; @@ -321,18 +463,30 @@ int pldm_pdr_add_fru_record_set_check(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_check(repo, data, size, false, terminus_handle, - bmc_record_handle); + uint32_t prev_record_handle = *bmc_record_handle - 1; + if (hotplug) { + *bmc_record_handle = pldm_pdr_add_hotplug_record(repo, data, size, + *bmc_record_handle, false, + prev_record_handle, + fru->terminus_handle); + + return 0; + + } else { + *bmc_record_handle = pldm_pdr_add(repo, data, size, *bmc_record_handle, false, + fru->terminus_handle); + return 0; + } } 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) { if (!repo || !terminus_handle || !entity_type || !entity_instance_num || !container_id) { @@ -347,11 +501,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; } @@ -369,6 +523,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, @@ -460,6 +663,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; @@ -474,7 +974,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); @@ -485,9 +986,18 @@ 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; + } - return node->entity; + pldm_entity entity = { 0, 0, 0 }; + return entity; +} + +LIBPLDM_ABI_STABLE +uint16_t pldm_extract_host_container_id(const pldm_entity_node *entity) +{ + return pldm_entity_node_get_remote_container_id(entity); } LIBPLDM_ABI_TESTING @@ -513,9 +1023,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 @@ -530,7 +1043,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; } @@ -538,12 +1060,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 @@ -557,6 +1081,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; @@ -595,31 +1132,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; @@ -635,6 +1186,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; @@ -646,6 +1202,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; } @@ -721,6 +1279,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) { @@ -936,10 +1540,11 @@ void pldm_entity_association_pdr_add(pldm_entity_association_tree *tree, LIBPLDM_ABI_DEPRECATED 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) { - int rc = pldm_entity_association_pdr_add_from_node_check( - node, repo, entities, num_entities, is_remote, terminus_handle); + int rc = pldm_entity_association_pdr_add_from_node_with_record_handle( + node, repo, entities, num_entities, is_remote, terminus_handle, record_handle); (void)rc; assert(!rc); } @@ -950,11 +1555,10 @@ int pldm_entity_association_pdr_add_from_node_check( size_t num_entities, bool is_remote, uint16_t terminus_handle) { return pldm_entity_association_pdr_add_from_node_with_record_handle( - node, repo, entities, num_entities, is_remote, terminus_handle, - 0); + node, repo, entities, num_entities, is_remote, terminus_handle, 0); } -LIBPLDM_ABI_TESTING +LIBPLDM_ABI_STABLE int pldm_entity_association_pdr_add_from_node_with_record_handle( pldm_entity_node *node, pldm_pdr *repo, pldm_entity **entities, size_t num_entities, bool is_remote, uint16_t terminus_handle, @@ -970,6 +1574,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_DEPRECATED void find_entity_ref_in_tree(pldm_entity_node *tree_node, pldm_entity entity, pldm_entity_node **node) @@ -1016,8 +2052,6 @@ void pldm_pdr_remove_pdrs_by_terminus_handle(pldm_pdr *repo, return; } - bool removed = false; - pldm_pdr_record *record = repo->first; pldm_pdr_record *prev = NULL; while (record != NULL) { @@ -1037,27 +2071,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 @@ -1179,33 +2197,47 @@ pldm_entity_association_tree_find_if_remote(pldm_entity_association_tree *tree, LIBPLDM_ABI_DEPRECATED 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) { if (!tree || !entity) { return 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; } @@ -1314,3 +2346,21 @@ void pldm_entity_association_pdr_extract(const uint8_t *pdr, uint16_t pdr_len, *num_entities = l_num_entities; *entities = l_entities; } + +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));