1description: >
2    Monitor Post code coming and buffer all of them based on boot cycle
3    into file system.
4
5properties:
6    - name: CurrentBootCycleCount
7      type: uint16
8      description: >
9          It is used to indicate number of boot cycles that have
10          post codes archived. It starts from 1 and is limited to
11          MaxBootCycleNum.
12    - name: MaxBootCycleNum
13      type: uint16
14      description: >
15          The max cached boot cycles for post code.
16          It is used to indicate end user what's the max boot number,
17          and make sure get command parameter less than it.
18methods:
19    - name: GetPostCodesWithTimeStamp
20      description: >
21          Method to get the cached post codes of the indicated boot cycle with timestamp.
22      parameters:
23        - name: Index
24          type: uint16
25          description: >
26              Index indicates which boot cycle of post codes is requested.
27              1 is for the most recent boot cycle. CurrentBootCycleCount is for the
28              oldest boot cycle.
29      returns:
30        - name: Codes
31          type: dict[uint64, struct[uint64,array[byte]]]
32          description: >
33            An array of post codes and timestamp in microseconds since epoch
34    - name: GetPostCodes
35      description: >
36          Method to get the cached post codes of the indicated boot cycle.
37      parameters:
38        - name: Index
39          type: uint16
40          description: >
41              Index indicates which boot cycle of post codes is requested.
42              1 is for the most recent boot cycle. CurrentBootCycleCount is for the
43              oldest boot cycle.
44      returns:
45        - name: Codes
46          type: array[struct[uint64,array[byte]]]
47          description: >
48            An array of post codes of one boot cycle.
49