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