1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

6       struct nbft_header - NBFT Table - Header (Figure 8)
7

SYNOPSIS

9       struct nbft_header {
10           char signature[4];
11           __le32 length;
12           __u8 major_revision;
13           __u8 checksum;
14           char oem_id[6];
15           char oem_table_id[8];
16           __le32 oem_revision;
17           __le32 creator_id;
18           __le32 creator_revision;
19           __le32 heap_offset;
20           __le32 heap_length;
21           struct nbft_heap_obj driver_dev_path_sig;
22           __u8 minor_revision;
23           __u8 reserved[13];
24        };
25
26

Members

28       signature   Signature:  An  ASCII  string  representation  of the table
29                   identifier. This field shall be set to the value  4E424654h
30                   (i.e. "NBFT", see #NBFT_HEADER_SIG).
31
32       length      Length:  The  length  of the table, in bytes, including the
33                   header, starting from offset 0h.  This  field  is  used  to
34                   record the size of the entire table.
35
36       major_revision
37                   Major  Revision: The major revision of the structure corre‐
38                   sponding to the Signature field. Larger major revision num‐
39                   bers should not be assumed backward compatible to lower ma‐
40                   jor revision numbers with the same signature.
41
42       checksum    Checksum: The entire table, including the  Checksum  field,
43                   shall sum to 0h to be considered valid.
44
45       oem_id      OEMID  shall  be  populated by the NBFT driver writer by an
46                   OEM-supplied string that identifies the OEM.  All  trailing
47                   bytes shall be NULL.
48
49       oem_table_id
50                   OEM  Table  ID:  This  field shall be populated by the NBFT
51                   driver writer with an OEM-supplied string that the OEM uses
52                   to  identify  the particular data table. This field is par‐
53                   ticularly useful when defining a definition block  to  dis‐
54                   tinguish  definition  block functions. The OEM assigns each
55                   dissimilar table a new OEM Table ID.
56
57       oem_revision
58                   OEM Revision: An OEM-supplied revision number. Larger  num‐
59                   bers are assumed to be newer revisions.
60
61       creator_id  Creator  ID:  Vendor  ID of utility that created the table.
62                   For instance, this may be the ID for the ASL Compiler.
63
64       creator_revision
65                   Creator Revision: Revision of utility that created the  ta‐
66                   ble. For instance, this may be the ID for the ASL Compiler.
67
68       heap_offset Heap  Offset (HO): This field indicates the offset in bytes
69                   of the heap, if any, from byte offset 0h of the NBFT  Table
70                   Header.
71
72       heap_length Heap Length (HL): The length of the heap, if any.
73
74       driver_dev_path_sig
75                   Driver  Signature  Heap  Object Reference: This field indi‐
76                   cates the offset in bytes of a heap object  containing  the
77                   Driver  Signature,  if any, from byte offset 0h of the NBFT
78                   Table Header.
79
80       minor_revision
81                   Minor Revision: The minor revision of the structure  corre‐
82                   sponding to the Signature field. If the major revision num‐
83                   bers are the same, any minor  revision  number  differences
84                   shall be backwards compatible with the same signature.
85
86       reserved    Reserved.
87
88
89
90April 2023                    struct nbft_header                    libnvme(9)
Impressum