PhysicalMemory: improve default output format; detect part number

This commit is contained in:
李通洲
2024-05-12 19:13:21 +08:00
parent 82d848727c
commit df6ab6427e
4 changed files with 32 additions and 23 deletions
@@ -10,6 +10,7 @@ typedef struct FFPhysicalMemoryResult
FFstrbuf type;
FFstrbuf formFactor;
FFstrbuf deviceLocator;
FFstrbuf partNumber;
FFstrbuf vendor;
FFstrbuf serial;
} FFPhysicalMemoryResult;
@@ -14,6 +14,7 @@ static void appendDevice(
// Intel only
NSString* deviceLocator,
NSString* serial,
NSString* partNumber,
NSString* speed)
{
FFPhysicalMemoryResult* device = ffListAdd(result);
@@ -24,6 +25,8 @@ static void appendDevice(
ffCleanUpSmbiosValue(&device->vendor);
ffStrbufInitS(&device->serial, serial.UTF8String);
ffCleanUpSmbiosValue(&device->serial);
ffStrbufInitS(&device->partNumber, partNumber.UTF8String);
ffCleanUpSmbiosValue(&device->partNumber);
device->size = 0;
device->maxSpeed = 0;
device->runningSpeed = 0;
@@ -92,6 +95,7 @@ const char* ffDetectPhysicalMemory(FFlist* result)
item[@"dimm_size"],
item[@"_name"],
item[@"dimm_serial_number"],
item[@"dimm_part_number"],
item[@"dimm_speed"]);
}
}
@@ -104,6 +108,7 @@ const char* ffDetectPhysicalMemory(FFlist* result)
data[@"SPMemoryDataType"],
nil,
nil,
nil,
nil);
}
}
@@ -88,6 +88,7 @@ const char* ffDetectPhysicalMemory(FFlist* result)
ffStrbufInit(&device->deviceLocator);
ffStrbufInit(&device->vendor);
ffStrbufInit(&device->serial);
ffStrbufInit(&device->partNumber);
device->size = 0;
device->maxSpeed = 0;
device->runningSpeed = 0;
@@ -183,6 +184,9 @@ const char* ffDetectPhysicalMemory(FFlist* result)
ffStrbufSetStatic(&device->serial, ffSmbiosLocateString(strings, data->SerialNumber));
ffCleanUpSmbiosValue(&device->serial);
ffStrbufSetStatic(&device->partNumber, ffSmbiosLocateString(strings, data->PartNumber));
ffCleanUpSmbiosValue(&device->partNumber);
}
if (data->Header.Length > offsetof(FFSmbiosMemoryDevice, ConfiguredMemorySpeed)) // 2.7+