@@ -382,38 +382,66 @@ enum SmbiosSerialNumber {
382382 RamSlot2 ,
383383 Ssd ,
384384 AudioFfc ,
385+
386+ Heatsink ,
387+ Fan ,
388+ Chassis ,
389+ LeftPanel ,
390+ RightPanel ,
391+ FrontPanel ,
392+ PowerSupply ,
385393}
386394
387395pub fn dump_oem_strings ( strings : & SMBiosStringSet ) {
388396 for ( i, s) in strings. into_iter ( ) . enumerate ( ) {
389397 let idx = i + 1 ;
390- let sn = match idx {
391- 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
392- 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
393- 3 => Some ( SmbiosSerialNumber :: Camera ) ,
394- 4 => Some ( SmbiosSerialNumber :: Display ) ,
395- 5 => Some ( SmbiosSerialNumber :: Battery ) ,
396- 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
397- 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
398- 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
399- 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
400- 11 => Some ( SmbiosSerialNumber :: ACover ) ,
401- 12 => Some ( SmbiosSerialNumber :: BCover ) ,
402- 13 => Some ( SmbiosSerialNumber :: CCover ) ,
403- 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
404- 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
405- 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
406- 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
407- 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
408- 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
409- 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
410- 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
411- 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
412- 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
413- 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
414- 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
415- 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
416- _ => None ,
398+ let sn = if get_family ( ) == Some ( PlatformFamily :: FrameworkDesktop ) {
399+ match idx {
400+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
401+ 2 => Some ( SmbiosSerialNumber :: Heatsink ) ,
402+ 3 => Some ( SmbiosSerialNumber :: Fan ) ,
403+ 4 => Some ( SmbiosSerialNumber :: Chassis ) ,
404+ 5 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
405+ 6 => Some ( SmbiosSerialNumber :: WifiModule ) ,
406+ 7 => Some ( SmbiosSerialNumber :: LeftPanel ) ,
407+ 8 => Some ( SmbiosSerialNumber :: RightPanel ) ,
408+ 9 => Some ( SmbiosSerialNumber :: FrontPanel ) ,
409+ 10 => Some ( SmbiosSerialNumber :: PowerSupply ) ,
410+ 11 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
411+ 12 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
412+ 13 => Some ( SmbiosSerialNumber :: Ssd ) ,
413+ 14 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
414+ _ => None ,
415+ }
416+ } else {
417+ match idx {
418+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
419+ 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
420+ 3 => Some ( SmbiosSerialNumber :: Camera ) ,
421+ 4 => Some ( SmbiosSerialNumber :: Display ) ,
422+ 5 => Some ( SmbiosSerialNumber :: Battery ) ,
423+ 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
424+ 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
425+ 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
426+ 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
427+ 11 => Some ( SmbiosSerialNumber :: ACover ) ,
428+ 12 => Some ( SmbiosSerialNumber :: BCover ) ,
429+ 13 => Some ( SmbiosSerialNumber :: CCover ) ,
430+ 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
431+ 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
432+ 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
433+ 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
434+ 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
435+ 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
436+ 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
437+ 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
438+ 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
439+ 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
440+ 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
441+ 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
442+ 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
443+ _ => None ,
444+ }
417445 } ;
418446 match sn {
419447 Some ( SmbiosSerialNumber :: RamSlot1 )
0 commit comments