@@ -361,38 +361,66 @@ enum SmbiosSerialNumber {
361361 RamSlot2 ,
362362 Ssd ,
363363 AudioFfc ,
364+
365+ Heatsink ,
366+ Fan ,
367+ Chassis ,
368+ LeftPanel ,
369+ RightPanel ,
370+ FrontPanel ,
371+ PowerSupply ,
364372}
365373
366374pub fn dump_oem_strings ( strings : & SMBiosStringSet ) {
367375 for ( i, s) in strings. into_iter ( ) . enumerate ( ) {
368376 let idx = i + 1 ;
369- let sn = match idx {
370- 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
371- 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
372- 3 => Some ( SmbiosSerialNumber :: Camera ) ,
373- 4 => Some ( SmbiosSerialNumber :: Display ) ,
374- 5 => Some ( SmbiosSerialNumber :: Battery ) ,
375- 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
376- 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
377- 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
378- 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
379- 11 => Some ( SmbiosSerialNumber :: ACover ) ,
380- 12 => Some ( SmbiosSerialNumber :: BCover ) ,
381- 13 => Some ( SmbiosSerialNumber :: CCover ) ,
382- 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
383- 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
384- 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
385- 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
386- 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
387- 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
388- 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
389- 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
390- 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
391- 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
392- 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
393- 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
394- 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
395- _ => None ,
377+ let sn = if get_family ( ) == Some ( PlatformFamily :: FrameworkDesktop ) {
378+ match idx {
379+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
380+ 2 => Some ( SmbiosSerialNumber :: Heatsink ) ,
381+ 3 => Some ( SmbiosSerialNumber :: Fan ) ,
382+ 4 => Some ( SmbiosSerialNumber :: Chassis ) ,
383+ 5 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
384+ 6 => Some ( SmbiosSerialNumber :: WifiModule ) ,
385+ 7 => Some ( SmbiosSerialNumber :: LeftPanel ) ,
386+ 8 => Some ( SmbiosSerialNumber :: RightPanel ) ,
387+ 9 => Some ( SmbiosSerialNumber :: FrontPanel ) ,
388+ 10 => Some ( SmbiosSerialNumber :: PowerSupply ) ,
389+ 11 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
390+ 12 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
391+ 13 => Some ( SmbiosSerialNumber :: Ssd ) ,
392+ 14 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
393+ _ => None ,
394+ }
395+ } else {
396+ match idx {
397+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
398+ 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
399+ 3 => Some ( SmbiosSerialNumber :: Camera ) ,
400+ 4 => Some ( SmbiosSerialNumber :: Display ) ,
401+ 5 => Some ( SmbiosSerialNumber :: Battery ) ,
402+ 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
403+ 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
404+ 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
405+ 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
406+ 11 => Some ( SmbiosSerialNumber :: ACover ) ,
407+ 12 => Some ( SmbiosSerialNumber :: BCover ) ,
408+ 13 => Some ( SmbiosSerialNumber :: CCover ) ,
409+ 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
410+ 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
411+ 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
412+ 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
413+ 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
414+ 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
415+ 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
416+ 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
417+ 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
418+ 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
419+ 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
420+ 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
421+ 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
422+ _ => None ,
423+ }
396424 } ;
397425 match sn {
398426 Some ( SmbiosSerialNumber :: RamSlot1 )
0 commit comments