1{
2    "$schema": "https://json-schema.org/draft/2020-12/schema",
3    "type": "object",
4    "required": [
5        "validationBits",
6        "errorStatus",
7        "idInfo",
8        "memoryNumber",
9        "ioNumber",
10        "registerDataPairs"
11    ],
12    "additionalProperties": false,
13    "properties": {
14        "validationBits": {
15            "type": "object",
16            "required": [
17                "errorStatusValid",
18                "idInfoValid",
19                "memoryNumberValid",
20                "ioNumberValid",
21                "registerDataPairsValid"
22            ],
23            "properties": {
24                "errorStatusValid": {
25                    "type": "boolean"
26                },
27                "idInfoValid": {
28                    "type": "boolean"
29                },
30                "memoryNumberValid": {
31                    "type": "boolean"
32                },
33                "ioNumberValid": {
34                    "type": "boolean"
35                },
36                "registerDataPairsValid": {
37                    "type": "boolean"
38                }
39            }
40        },
41        "errorStatus": {
42            "type": "object",
43            "$ref": "./common/cper-json-error-status.json"
44        },
45        "idInfo": {
46            "type": "object",
47            "required": [
48                "vendorID",
49                "deviceID",
50                "classCode",
51                "functionNumber",
52                "deviceNumber",
53                "busNumber",
54                "segmentNumber"
55            ],
56            "properties": {
57                "vendorID": {
58                    "type": "integer"
59                },
60                "deviceID": {
61                    "type": "integer"
62                },
63                "classCode": {
64                    "type": "integer"
65                },
66                "functionNumber": {
67                    "type": "integer"
68                },
69                "deviceNumber": {
70                    "type": "integer"
71                },
72                "busNumber": {
73                    "type": "integer"
74                },
75                "segmentNumber": {
76                    "type": "integer"
77                }
78            }
79        },
80        "memoryNumber": {
81            "type": "integer"
82        },
83        "ioNumber": {
84            "type": "integer"
85        },
86        "registerDataPairs": {
87            "type": "array",
88            "items": {
89                "type": "object",
90                "required": ["firstHalf", "secondHalf"],
91                "properties": {
92                    "firstHalf": {
93                        "type": "integer"
94                    },
95                    "secondHalf": {
96                        "type": "integer"
97                    }
98                }
99            }
100        }
101    }
102}
103