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