1{
2    "$schema": "https://json-schema.org/draft/2020-12/schema",
3    "type": "object",
4    "required": [
5        "validationBits",
6        "portType",
7        "version",
8        "commandStatus",
9        "deviceID",
10        "deviceSerialNumber",
11        "bridgeControlStatus",
12        "capabilityStructure",
13        "aerInfo"
14    ],
15    "additionalProperties": false,
16    "properties": {
17        "validationBits": {
18            "type": "object",
19            "required": [
20                "portTypeValid",
21                "versionValid",
22                "commandStatusValid",
23                "deviceIDValid",
24                "deviceSerialNumberValid",
25                "bridgeControlStatusValid",
26                "capabilityStructureStatusValid",
27                "aerInfoValid"
28            ],
29            "properties": {
30                "portTypeValid": {
31                    "type": "boolean"
32                },
33                "versionValid": {
34                    "type": "boolean"
35                },
36                "commandStatusValid": {
37                    "type": "boolean"
38                },
39                "deviceIDValid": {
40                    "type": "boolean"
41                },
42                "deviceSerialNumberValid": {
43                    "type": "boolean"
44                },
45                "bridgeControlStatusValid": {
46                    "type": "boolean"
47                },
48                "capabilityStructureStatusValid": {
49                    "type": "boolean"
50                },
51                "aerInfoValid": {
52                    "type": "boolean"
53                }
54            }
55        },
56        "portType": {
57            "type": "object",
58            "$ref": "./common/cper-json-nvp.json"
59        },
60        "version": {
61            "type": "object",
62            "required": ["major", "minor"],
63            "properties": {
64                "major": {
65                    "type": "integer"
66                },
67                "minor": {
68                    "type": "integer"
69                }
70            }
71        },
72        "commandStatus": {
73            "type": "object",
74            "required": ["commandRegister", "statusRegister"],
75            "properties": {
76                "commandRegister": {
77                    "type": "integer"
78                },
79                "statusRegister": {
80                    "type": "integer"
81                }
82            }
83        },
84        "deviceID": {
85            "type": "object",
86            "required": [
87                "vendorID",
88                "deviceID",
89                "classCode",
90                "functionNumber",
91                "deviceNumber",
92                "segmentNumber",
93                "primaryOrDeviceBusNumber",
94                "secondaryBusNumber",
95                "slotNumber"
96            ],
97            "properties": {
98                "vendorID": {
99                    "type": "integer"
100                },
101                "deviceID": {
102                    "type": "integer"
103                },
104                "classCode": {
105                    "type": "integer"
106                },
107                "functionNumber": {
108                    "type": "integer"
109                },
110                "deviceNumber": {
111                    "type": "integer"
112                },
113                "segmentNumber": {
114                    "type": "integer"
115                },
116                "primaryOrDeviceBusNumber": {
117                    "type": "integer"
118                },
119                "secondaryBusNumber": {
120                    "type": "integer"
121                },
122                "slotNumber": {
123                    "type": "integer"
124                }
125            }
126        },
127        "deviceSerialNumber": {
128            "type": "integer"
129        },
130        "bridgeControlStatus": {
131            "type": "object",
132            "required": ["secondaryStatusRegister", "controlRegister"],
133            "properties": {
134                "secondaryStatusRegister": {
135                    "type": "integer"
136                },
137                "controlRegister": {
138                    "type": "integer"
139                }
140            }
141        },
142        "capabilityStructure": {
143            "type": "object",
144            "required": ["data"],
145            "properties": {
146                "data": {
147                    "type": "string"
148                }
149            }
150        },
151        "aerInfo": {
152            "type": "object",
153            "required": ["data"],
154            "properties": {
155                "data": {
156                    "type": "string"
157                }
158            }
159        }
160    }
161}
162