1description: >
2    SMBIOS MDR V2 service
3methods:
4    - name: GetDirectoryInformation
5      description: >
6          Get the directory with directory index.
7      parameters:
8          - name: dirIndex
9            type: byte
10            description: >
11                Directory index of SMBIOS.
12      returns:
13          - name: dir
14            type: array[byte]
15            description: >
16                Directory of agent.
17      errors:
18          - self.Error.InvalidParameter
19
20    - name: GetDataInformation
21      description: >
22          Get the data info with id index and data set ID.
23      parameters:
24          - name: idIndex
25            type: byte
26            description: >
27                Index of SMBIOS directory.
28      returns:
29          - name: dataInfo
30            type: array[byte]
31            description: >
32                Data information of SMBIOS.
33      errors:
34          - self.Error.InvalidParameter
35
36    - name: SendDirectoryInformation
37      description: >
38          Send directory information to SMBIOS directory.
39      parameters:
40          - name: dirVersion
41            type: byte
42            description: >
43                A counter which increments each time directory updated.
44          - name: dirIndex
45            type: byte
46            description: >
47                Directory index of SMBIOS.
48          - name: returnedEntries
49            type: byte
50            description: >
51                Indicates number of directory entries.
52          - name: remainingEntries
53            type: byte
54            description: >
55                Remaining entries which are higher than index in this transfer.
56          - name: dirEntry
57            type: array[byte]
58            description: >
59                Data set ID of SMBIOS table.
60      returns:
61          - name: status
62            type: boolean
63            description: >
64                Need to continue directory transmisson or not.
65      errors:
66          - self.Error.InvalidParameter
67
68    - name: GetDataOffer
69      description: >
70          Get data set ID.
71      returns:
72          - name: offer
73            type: array[byte]
74            description: >
75                Data set ID.
76      errors:
77          - self.Error.UpdateInProgress
78
79    - name: SendDataInformation
80      description: >
81          Send data information with directory index.
82      parameters:
83          - name: idIndex
84            type: byte
85            description: >
86                Index of SMBIOS directory.
87          - name: flag
88            type: byte
89            description: >
90                Valid flag to set dir entry status.
91          - name: dataLen
92            type: uint32
93            description: >
94                The length of the data in bytes.
95          - name: dataVer
96            type: uint32
97            description: >
98                The version number of this data.
99          - name: timeStamp
100            type: uint32
101            description: >
102                Timestamp determinded by the agent.
103      returns:
104          - name: status
105            type: boolean
106            description: >
107                Whether data changes.
108      errors:
109          - self.Error.InvalidParameter
110
111    - name: FindIdIndex
112      description: >
113          Find id index by data info.
114      parameters:
115          - name: dataInfo
116            type: array[byte]
117            description: >
118                Data info of data entry.
119      returns:
120          - name: idIndex
121            type: int32
122            description: >
123                Id index of data entry.
124      errors:
125          - self.Error.InvalidId
126
127    - name: AgentSynchronizeData
128      description: >
129          Synchronize SMBIOS data from file.
130      returns:
131          - name: status
132            type: boolean
133            description: >
134                Whether synchronization succeed or not.
135
136    - name: SynchronizeDirectoryCommonData
137      description: >
138          Synchronize directory common data.
139      parameters:
140          - name: idIndex
141            type: byte
142            description: >
143                Index of SMBIOS directory.
144          - name: size
145            type: uint32
146            description: >
147                Size of data that BIOS prepare to transfer.
148      returns:
149          - name: commonData
150            type: array[uint32]
151            description: >
152                Directory common data includes data size, version and timestamp.
153
154properties:
155    - name: DirectoryEntries
156      type: byte
157      description: >
158          Numbers of directory entries.
159