Lines Matching +full:- +full:encoded
11 #include <libcper/cper-utils.h>
12 #include <libcper/sections/cper-section-cxl-protocol.h>
26 cxl_protocol_error->CxlDvsecLength + in cper_section_cxl_protocol_to_ir()
27 cxl_protocol_error->CxlErrorLogLength) { in cper_section_cxl_protocol_to_ir()
33 UINT_64T, .value.ui64 = cxl_protocol_error->ValidBits in cper_section_cxl_protocol_to_ir()
39 cxl_protocol_error->CxlAgentType, 2, in cper_section_cxl_protocol_to_ir()
48 if (cxl_protocol_error->CxlAgentType == in cper_section_cxl_protocol_to_ir()
55 cxl_protocol_error->CxlAgentAddress in cper_section_cxl_protocol_to_ir()
60 cxl_protocol_error->CxlAgentAddress in cper_section_cxl_protocol_to_ir()
65 cxl_protocol_error->CxlAgentAddress in cper_section_cxl_protocol_to_ir()
70 cxl_protocol_error->CxlAgentAddress in cper_section_cxl_protocol_to_ir()
72 } else if (cxl_protocol_error->CxlAgentType == in cper_section_cxl_protocol_to_ir()
79 cxl_protocol_error->CxlAgentAddress in cper_section_cxl_protocol_to_ir()
91 json_object_new_uint64(cxl_protocol_error->DeviceId.VendorId)); in cper_section_cxl_protocol_to_ir()
98 cxl_protocol_error->DeviceId.DeviceId)); in cper_section_cxl_protocol_to_ir()
102 cxl_protocol_error->DeviceId.SubsystemVendorId)); in cper_section_cxl_protocol_to_ir()
106 cxl_protocol_error->DeviceId.SubsystemDeviceId)); in cper_section_cxl_protocol_to_ir()
110 cxl_protocol_error->DeviceId.ClassCode)); in cper_section_cxl_protocol_to_ir()
114 cxl_protocol_error->DeviceId.SlotNumber)); in cper_section_cxl_protocol_to_ir()
120 if (cxl_protocol_error->CxlAgentType == in cper_section_cxl_protocol_to_ir()
125 cxl_protocol_error->DeviceSerial)); in cper_section_cxl_protocol_to_ir()
129 char *encoded; in cper_section_cxl_protocol_to_ir() local
133 //(36-byte, padded to 60 bytes) or PCIe 2.0 Capability Structure (60-byte). There does not seem in cper_section_cxl_protocol_to_ir()
136 encoded = base64_encode( in cper_section_cxl_protocol_to_ir()
137 (UINT8 *)cxl_protocol_error->CapabilityStructure.PcieCap, in cper_section_cxl_protocol_to_ir()
139 if (encoded == NULL) { in cper_section_cxl_protocol_to_ir()
147 json_object_new_string_len(encoded, in cper_section_cxl_protocol_to_ir()
149 free(encoded); in cper_section_cxl_protocol_to_ir()
159 cxl_protocol_error->CxlDvsecLength)); in cper_section_cxl_protocol_to_ir()
165 encoded = base64_encode(cur_pos, in cper_section_cxl_protocol_to_ir()
166 cxl_protocol_error->CxlDvsecLength, in cper_section_cxl_protocol_to_ir()
168 if (encoded == NULL) { in cper_section_cxl_protocol_to_ir()
173 json_object_new_string_len(encoded, in cper_section_cxl_protocol_to_ir()
176 free(encoded); in cper_section_cxl_protocol_to_ir()
179 cur_pos += cxl_protocol_error->CxlDvsecLength; in cper_section_cxl_protocol_to_ir()
185 cxl_protocol_error->CxlErrorLogLength)); in cper_section_cxl_protocol_to_ir()
191 encoded = base64_encode((UINT8 *)cur_pos, in cper_section_cxl_protocol_to_ir()
192 cxl_protocol_error->CxlErrorLogLength, in cper_section_cxl_protocol_to_ir()
195 if (encoded == NULL) { in cper_section_cxl_protocol_to_ir()
202 json_object_new_string_len(encoded, in cper_section_cxl_protocol_to_ir()
204 free(encoded); in cper_section_cxl_protocol_to_ir()
210 //Converts a single CXL protocol CPER-JSON section into CPER binary, outputting to the given stream.
223 section_cper->CxlAgentType = readable_pair_to_integer(obj); in ir_section_cxl_protocol_to_cper()
230 if (section_cper->CxlAgentType == in ir_section_cxl_protocol_to_cper()
244 section_cper->CxlAgentAddress.DeviceAddress in ir_section_cxl_protocol_to_cper()
246 section_cper->CxlAgentAddress.DeviceAddress in ir_section_cxl_protocol_to_cper()
248 section_cper->CxlAgentAddress.DeviceAddress.BusNumber = in ir_section_cxl_protocol_to_cper()
250 section_cper->CxlAgentAddress.DeviceAddress in ir_section_cxl_protocol_to_cper()
252 } else if (section_cper->CxlAgentType == in ir_section_cxl_protocol_to_cper()
255 section_cper->CxlAgentAddress.PortRcrbBaseAddress = in ir_section_cxl_protocol_to_cper()
265 section_cper->DeviceId.VendorId = json_object_get_uint64( in ir_section_cxl_protocol_to_cper()
267 section_cper->DeviceId.DeviceId = json_object_get_uint64( in ir_section_cxl_protocol_to_cper()
269 section_cper->DeviceId.SubsystemVendorId = in ir_section_cxl_protocol_to_cper()
272 section_cper->DeviceId.SubsystemDeviceId = in ir_section_cxl_protocol_to_cper()
275 section_cper->DeviceId.ClassCode = json_object_get_uint64( in ir_section_cxl_protocol_to_cper()
277 section_cper->DeviceId.SlotNumber = json_object_get_uint64( in ir_section_cxl_protocol_to_cper()
284 if (section_cper->CxlAgentType == CXL_PROTOCOL_ERROR_DEVICE_AGENT) { in ir_section_cxl_protocol_to_cper()
286 section_cper->DeviceSerial = in ir_section_cxl_protocol_to_cper()
292 json_object *encoded = obj; in ir_section_cxl_protocol_to_cper() local
297 json_object_get_string(encoded), in ir_section_cxl_protocol_to_cper()
298 json_object_get_string_len(encoded), in ir_section_cxl_protocol_to_cper()
305 memcpy(section_cper->CapabilityStructure.PcieCap, in ir_section_cxl_protocol_to_cper()
314 section_cper->CxlDvsecLength = (UINT16)json_object_get_int( in ir_section_cxl_protocol_to_cper()
316 section_cper->CxlErrorLogLength = (UINT16)json_object_get_int( in ir_section_cxl_protocol_to_cper()
333 section_cper->ValidBits = ui64Type.value.ui64; in ir_section_cxl_protocol_to_cper()