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