coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
vpd_serial.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause */
2
3
#include <smbios.h>
4
5
#include "
vpd.h
"
6
#include "
vpd_tables.h
"
7
8
#define VPD_KEY_SYSTEM_SERIAL "serial_number"
9
#define VPD_KEY_MAINBOARD_SERIAL "mlb_serial_number"
10
#define VPD_SERIAL_LEN 64
11
12
const
char
*
smbios_system_serial_number
(
void
)
13
{
14
static
char
serial
[
VPD_SERIAL_LEN
];
15
if
(
vpd_gets
(
VPD_KEY_SYSTEM_SERIAL
,
serial
,
VPD_SERIAL_LEN
,
VPD_RO
))
16
return
serial
;
17
return
""
;
18
}
19
20
const
char
*
smbios_mainboard_serial_number
(
void
)
21
{
22
static
char
serial
[
VPD_SERIAL_LEN
];
23
if
(
vpd_gets
(
VPD_KEY_MAINBOARD_SERIAL
,
serial
,
VPD_SERIAL_LEN
,
VPD_RO
))
24
return
serial
;
25
return
""
;
26
}
VPD_RO
@ VPD_RO
Definition:
vpd.h:11
serial
unsigned int serial
Definition:
edid.c:52
vpd.h
vpd_gets
char * vpd_gets(const char *key, char *buffer, int size, enum vpd_region region)
Definition:
vpd.c:229
VPD_KEY_SYSTEM_SERIAL
#define VPD_KEY_SYSTEM_SERIAL
Definition:
vpd_serial.c:8
VPD_KEY_MAINBOARD_SERIAL
#define VPD_KEY_MAINBOARD_SERIAL
Definition:
vpd_serial.c:9
smbios_mainboard_serial_number
const char * smbios_mainboard_serial_number(void)
Definition:
vpd_serial.c:20
smbios_system_serial_number
const char * smbios_system_serial_number(void)
Definition:
vpd_serial.c:12
VPD_SERIAL_LEN
#define VPD_SERIAL_LEN
Definition:
vpd_serial.c:10
vpd_tables.h
src
drivers
vpd
vpd_serial.c
Generated by
1.9.1