xref: /openbmc/libcper/parse_example.py (revision cd9b1c5826323f8035a10513c832cc1a0d351247)
1#!/usr/bin/env python3
2
3import json
4
5import cper
6
7
8def main():
9    cper_raw = (
10        b"\x43\x50\x45\x52\x01\x01\xff\xff\xff\xff\x01\x00\x03"
11        b"\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x00\x00"
12        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
13        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
14        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78"
15        b"\xe4\x01\xa9\x73\x11\xef\x11\x96\xa8\x5f\xa6\xbe\xf5"
16        b"\xee\xa4\xac\xd5\xa9\x09\x04\x52\x14\x42\x96\xe5\x94"
17        b"\x99\x2e\x75\x2b\xcd\x00\x00\x00\x00\x00\x00\x00\x00"
18        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
19        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00"
20        b"\x00\x00\x60\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
21        b"\x00\xf2\x44\x52\x6d\x12\x27\xec\x11\xbe\xa7\xcb\x3f"
22        b"\xdb\x95\xc7\x86\x4a\x33\x4f\xcc\x63\xc5\xeb\x11\x8f"
23        b"\x88\x9f\x7a\xc7\x6c\x6f\x0c\x03\x00\x00\x00\x00\x00"
24        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
25        b"\x00\x00\x00\x00\x00\x44\x52\x41\x4d\x2d\x43\x48\x41"
26        b"\x4e\x4e\x45\x4c\x53\x00\x00\x00\x00\x20\x00\x00\x03"
27        b"\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xbe"
28        b"\x02\x04\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00"
29        b"\x00\x04\xbe\x02\x04\x00\x10\x00\x00\xff\xff\xff\xff"
30        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
31        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
32        b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
33    )
34
35    result = cper.parse(cper_raw)
36    print(json.dumps(result, indent=4))
37
38
39if __name__ == "__main__":
40    main()
41