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