@@ -16,48 +16,144 @@ service InventorySvc {
1616 rpc InventoryGet (InventoryGetRequest ) returns (InventoryGetResponse ) {}
1717}
1818
19+ // Doc taken from https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf
20+
21+ // BIOS Information (Type 0)
1922message BIOSInfo {
23+ // String number of the BIOS Vendor’s Name.
2024 string vendor = 1 ;
25+ // String number of the BIOS Version. This value is a
26+ // free-form string that may contain Core and OEM
27+ // version information.
2128 string version = 2 ;
29+ // String number of the BIOS release date. The date
30+ // string, if supplied, is in either mm/dd/yy or
31+ // mm/dd/yyyy format. If the year portion of the string
32+ // is two digits, the year is assumed to be 19yy.
33+ // NOTE: The mm/dd/yyyy format is required for SMBIOS
34+ // version 2.3 and later
2235 string date = 3 ;
2336}
2437
38+ // System Information (Type 1)
39+ // The information in this structure defines attributes of the overall system and is intended to be associated
40+ // with the Component ID group of the system’s MIF. An SMBIOS implementation is associated with a single
41+ // system instance and contains one and only one System Information (Type 1) structure. Table 10 shows
42+ // the contents of this structure.
2543message SystemInfo {
44+ // Number of null-terminated string
45+ // This text string identifies the family to which a
46+ // particular computer belongs. A family refers to a
47+ // set of computers that are similar but not identical
48+ // from a hardware or software point of view.
49+ // Typically, a family is composed of different
50+ // computer models, which have different
51+ // configurations and pricing points. Computers in
52+ // the same family often have similar branding and
53+ // cosmetic features.
2654 string family = 1 ;
55+ // Number of null-terminated string
2756 string name = 2 ;
57+ // Number of null-terminated string
2858 string vendor = 3 ;
59+ // Number of null-terminated string
2960 string serial_number = 4 ;
61+ // A UUID is an identifier that is designed to be unique across both time and space. It requires no central
62+ // registration process. The UUID is 128 bits long. Its format is described in RFC4122, but the actual field
63+ // contents are opaque and not significant to the SMBIOS specification, which is only concerned with the
64+ // byte order. Table 11 shows the field names; these field names, particularly for multiplexed fields, follow
65+ // historical practice.
3066 string uuid = 5 ;
67+ // Number of null-terminated string
68+ // This text string identifies a particular computer
69+ // configuration for sale. It is sometimes also called
70+ // a product ID or purchase order number. This
71+ // number is frequently found in existing fields, but
72+ // there is no standard format. Typically for a given
73+ // system board from a given OEM, there are tens
74+ // of unique processor, memory, hard drive, and
75+ // optical drive configurations.
3176 string sku = 6 ;
77+ // Number of null-terminated string
3278 string version = 7 ;
3379}
3480
81+ // System Enclosure or Chassis (Type 3)
82+ // The information in this structure (see Table 16) defines attributes of the system’s mechanical
83+ // enclosure(s). For example, if a system included a separate enclosure for its peripheral devices, two
84+ // structures would be returned: one for the main system enclosure and the second for the peripheral device
85+ // enclosure. The additions to this structure in version 2.1 of this specification support the population of the
86+ // CIM_Chassis class.
3587message ChassisInfo {
88+ // Number of null-terminated string
3689 string asset_tag = 1 ;
90+ // Number of null-terminated string
3791 string serial_number = 2 ;
92+ // Bit 7 Chassis lock is present if 1.
93+ // Otherwise, either a lock is not present, or it is unknown if the enclosure has a lock.
94+ // Bits 6:0 Enumeration value; see below.
3895 string type = 3 ;
96+ // Table 17 shows the byte values for the System Enclosure or Chassis Types field
97+ // Number of null-terminated string
3998 string type_description = 4 ;
99+ // Number of null-terminated string
40100 string vendor = 5 ;
101+ // Number of null-terminated string
41102 string version = 6 ;
42103}
43104
105+ // Baseboard (or Module) Information (Type 2)
106+ // The information in this structure defines attributes of a system baseboard (for
107+ // example, a motherboard, planar, server blade, or other standard system module)
44108message BaseboardInfo {
109+ // Number of a null-terminated string
45110 string asset_tag = 1 ;
111+ // Number of null-terminated string
46112 string serial_number = 2 ;
113+ // Number of null-terminated string
47114 string vendor = 3 ;
115+ // Number of null-terminated string
48116 string version = 4 ;
117+ // Number of null-terminated string
49118 string product = 5 ;
50119}
51120
121+ // Processor Information (Type 4)
122+ // The information in this structure (see Table 21) defines the attributes of a single processor; a separate
123+ // structure instance is provided for each system processor socket/slot. For example, a system with an
124+ // IntelDX2™ processor would have a single structure instance while a system with an IntelSX2™ processor
125+ // would have a structure to describe the main CPU and a second structure to describe the 80487 co1054 processor.
52126message CPUInfo {
127+ // Number of cores per processor socket
128+ // See 7.5.6. If the value is unknown, the field is set
129+ // to 0. For core counts of 256 or greater, the Core
130+ // Count field is set to FFh and the Core Count 2
131+ // field is set to the number of cores.
53132 int32 total_cores = 1 ;
133+ // Number of threads per processor socket
134+ // See 7.5.8. If the value is unknown, the field is set
135+ // to 0. For thread counts of 256 or greater, the
136+ // Thread Count field is set to FFh and the Thread
137+ // Count 2 field is set to the number of threads.
54138 int32 total_threads = 2 ;
55139}
56140
141+ // Physical Memory Array (Type 16)
142+ // This structure describes a collection of memory devices that operate together to form a memory address
143+ // space.
57144message MemoryInfo {
145+ // Maximum memory capacity, in kilobytes, for this array
146+ // If the capacity is not represented in this field, then this
147+ // field contains 8000 0000h and the Extended
148+ // Maximum Capacity field should be used. Values 2 TB
149+ // (8000 0000h) or greater must be represented in the
150+ // Extended Maximum Capacity field.
58151 int64 total_physical_bytes = 1 ;
152+ // TBD
59153 int64 total_usable_bytes = 2 ;
60154}
155+
156+ // TODO: remove this message
61157message DeviceInfo {
62158 string name = 1 ;
63159 string description = 2 ;
0 commit comments