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