Lines Matching +full:- +full:encoded

12 #include <libcper/cper-utils.h>
13 #include <libcper/sections/cper-section-pcie.h>
39 .value.ui64 = pcie_error->ValidFields }; in cper_section_pcie_to_ir()
44 pcie_error->PortType, 9, PCIE_ERROR_PORT_TYPES_KEYS, in cper_section_pcie_to_ir()
54 pcie_error->Version & 0xFF))); in cper_section_pcie_to_ir()
57 pcie_error->Version >> 8))); in cper_section_pcie_to_ir()
66 json_object_new_uint64(pcie_error->CommandStatus & in cper_section_pcie_to_ir()
70 json_object_new_uint64(pcie_error->CommandStatus >> in cper_section_pcie_to_ir()
80 UINT64 class_id = (pcie_error->DevBridge.ClassCode[0] << 16) + in cper_section_pcie_to_ir()
81 (pcie_error->DevBridge.ClassCode[1] << 8) + in cper_section_pcie_to_ir()
82 pcie_error->DevBridge.ClassCode[2]; in cper_section_pcie_to_ir()
85 json_object_new_uint64(pcie_error->DevBridge.VendorId)); in cper_section_pcie_to_ir()
88 json_object_new_uint64(pcie_error->DevBridge.DeviceId)); in cper_section_pcie_to_ir()
91 pcie_error->DevBridge.DeviceId); in cper_section_pcie_to_ir()
99 json_object_new_uint64(pcie_error->DevBridge.Function)); in cper_section_pcie_to_ir()
102 json_object_new_uint64(pcie_error->DevBridge.Device)); in cper_section_pcie_to_ir()
105 json_object_new_uint64(pcie_error->DevBridge.Segment)); in cper_section_pcie_to_ir()
109 pcie_error->DevBridge.PrimaryOrDeviceBus)); in cper_section_pcie_to_ir()
113 pcie_error->DevBridge.SecondaryBus)); in cper_section_pcie_to_ir()
117 pcie_error->DevBridge.Slot.Number)); in cper_section_pcie_to_ir()
125 json_object_new_uint64(pcie_error->SerialNo)); in cper_section_pcie_to_ir()
133 json_object_new_uint64(pcie_error->BridgeControlStatus & in cper_section_pcie_to_ir()
138 pcie_error->BridgeControlStatus >> 16)); in cper_section_pcie_to_ir()
145 //(36-byte, padded to 60 bytes) or PCIe 2.0 Capability Structure (60-byte). There does not seem in cper_section_pcie_to_ir()
148 char *encoded = NULL; in cper_section_pcie_to_ir() local
150 char *encoded = in cper_section_pcie_to_ir() local
151 base64_encode((UINT8 *)pcie_error->Capability.PcieCap, in cper_section_pcie_to_ir()
153 if (encoded == NULL) { in cper_section_pcie_to_ir()
160 encoded, encoded_len)); in cper_section_pcie_to_ir()
161 free(encoded); in cper_section_pcie_to_ir()
170 encoded = NULL; in cper_section_pcie_to_ir()
174 encoded = base64_encode((UINT8 *)pcie_error->AerInfo.PcieAer, in cper_section_pcie_to_ir()
176 if (encoded == NULL) { in cper_section_pcie_to_ir()
182 encoded, encoded_len)); in cper_section_pcie_to_ir()
183 free(encoded); in cper_section_pcie_to_ir()
187 aer_decode = (struct aer_info_registers *)&pcie_error->AerInfo in cper_section_pcie_to_ir()
192 aer_decode->pcie_capability_header)); in cper_section_pcie_to_ir()
196 aer_decode->uncorrectable_error_status)); in cper_section_pcie_to_ir()
200 aer_decode->uncorrectable_error_status); in cper_section_pcie_to_ir()
208 aer_decode->uncorrectable_error_mask)); in cper_section_pcie_to_ir()
212 aer_decode->uncorrectable_error_severity)); in cper_section_pcie_to_ir()
216 aer_decode->correctable_error_status)); in cper_section_pcie_to_ir()
220 aer_decode->correctable_error_status); in cper_section_pcie_to_ir()
228 aer_decode->correctable_error_mask)); in cper_section_pcie_to_ir()
232 aer_decode->aer_capabilites_control)); in cper_section_pcie_to_ir()
235 json_object_new_uint64(aer_decode->tlp_header_log[0])); in cper_section_pcie_to_ir()
238 json_object_new_uint64(aer_decode->tlp_header_log[1])); in cper_section_pcie_to_ir()
241 json_object_new_uint64(aer_decode->tlp_header_log[2])); in cper_section_pcie_to_ir()
244 json_object_new_uint64(aer_decode->tlp_header_log[3])); in cper_section_pcie_to_ir()
252 //Converts a single CPER-JSON PCIe section into CPER binary, outputting to the given stream.
269 section_cper->Version = minor + (major << 8); in ir_section_pcie_to_cper()
282 section_cper->CommandStatus = command + (status << 16); in ir_section_pcie_to_cper()
291 section_cper->DevBridge.VendorId = in ir_section_pcie_to_cper()
294 section_cper->DevBridge.DeviceId = in ir_section_pcie_to_cper()
297 section_cper->DevBridge.ClassCode[0] = class_id >> 16; in ir_section_pcie_to_cper()
298 section_cper->DevBridge.ClassCode[1] = (class_id >> 8) & 0xFF; in ir_section_pcie_to_cper()
299 section_cper->DevBridge.ClassCode[2] = class_id & 0xFF; in ir_section_pcie_to_cper()
300 section_cper->DevBridge.Function = in ir_section_pcie_to_cper()
303 section_cper->DevBridge.Device = (UINT8)json_object_get_uint64( in ir_section_pcie_to_cper()
305 section_cper->DevBridge.Segment = in ir_section_pcie_to_cper()
308 section_cper->DevBridge.PrimaryOrDeviceBus = in ir_section_pcie_to_cper()
311 section_cper->DevBridge.SecondaryBus = in ir_section_pcie_to_cper()
314 section_cper->DevBridge.Slot.Number = in ir_section_pcie_to_cper()
329 section_cper->BridgeControlStatus = in ir_section_pcie_to_cper()
337 json_object *encoded = NULL; in ir_section_pcie_to_cper() local
340 json_object *encoded = in ir_section_pcie_to_cper() local
344 json_object_get_string(encoded), in ir_section_pcie_to_cper()
345 json_object_get_string_len(encoded), &decoded_len); in ir_section_pcie_to_cper()
350 memcpy(section_cper->Capability.PcieCap, decoded, in ir_section_pcie_to_cper()
358 encoded = NULL; in ir_section_pcie_to_cper()
362 encoded = json_object_object_get(aer_info, "data"); in ir_section_pcie_to_cper()
365 decoded = base64_decode(json_object_get_string(encoded), in ir_section_pcie_to_cper()
366 json_object_get_string_len(encoded), in ir_section_pcie_to_cper()
373 memcpy(section_cper->AerInfo.PcieAer, decoded, in ir_section_pcie_to_cper()
382 section_cper->PortType = (UINT32)readable_pair_to_integer(obj); in ir_section_pcie_to_cper()
386 section_cper->SerialNo = json_object_get_uint64(obj); in ir_section_pcie_to_cper()
390 section_cper->ValidFields = ui64Type.value.ui64; in ir_section_pcie_to_cper()