blob: 14581a315501fb2e1f5c898e46251a88c5593b88 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
Lawrence Tang079d5812022-07-12 14:15:32 +01002 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
John Chung044afd02024-05-03 19:58:02 +08004 "required": [
5 "validationBits",
6 "portType",
7 "version",
8 "commandStatus",
9 "deviceID",
10 "deviceSerialNumber",
11 "bridgeControlStatus",
12 "capabilityStructure",
13 "aerInfo"
14 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010015 "additionalProperties": false,
16 "properties": {
17 "validationBits": {
18 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080019 "required": [
20 "portTypeValid",
21 "versionValid",
22 "commandStatusValid",
23 "deviceIDValid",
24 "deviceSerialNumberValid",
25 "bridgeControlStatusValid",
26 "capabilityStructureStatusValid",
27 "aerInfoValid"
28 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010029 "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",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010058 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010059 },
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": {
John Chung044afd02024-05-03 19:58:02 +080077 "type": "integer"
Lawrence Tang079d5812022-07-12 14:15:32 +010078 },
79 "statusRegister": {
80 "type": "integer"
81 }
82 }
83 },
84 "deviceID": {
85 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080086 "required": [
87 "vendorID",
88 "deviceID",
89 "classCode",
90 "functionNumber",
91 "deviceNumber",
92 "segmentNumber",
93 "primaryOrDeviceBusNumber",
94 "secondaryBusNumber",
95 "slotNumber"
96 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010097 "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",
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100153 "required": ["data"],
Lawrence Tang079d5812022-07-12 14:15:32 +0100154 "properties": {
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100155 "data": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100156 "type": "string"
Lawrence Tang079d5812022-07-12 14:15:32 +0100157 }
158 }
159 }
160 }
John Chung044afd02024-05-03 19:58:02 +0800161}