mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-30 01:13:49 +00:00

This will be useful in the future for debugging crashes with known problematic versions of libsmbios. Also use this information to turn off the blacklist from previously bad known combinations of libsmbios + certain systems
73 lines
2.0 KiB
C
73 lines
2.0 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
|
|
*
|
|
* Copyright (C) 2016 Mario Limonciello <mario_limonciello@dell.com>
|
|
*
|
|
* Licensed under the GNU General Public License Version 2
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef __FU_PLUGIN_DELL_H
|
|
#define __FU_PLUGIN_DELL_H
|
|
|
|
#include <gusb.h>
|
|
#include "fu-plugin.h"
|
|
#include "fu-dell-smi.h"
|
|
|
|
struct FuPluginData {
|
|
FuDellSmiObj *smi_obj;
|
|
guint16 fake_vid;
|
|
guint16 fake_pid;
|
|
gboolean can_switch_modes;
|
|
gboolean capsule_supported;
|
|
guint libsmbios_major;
|
|
guint libsmbios_minor;
|
|
};
|
|
|
|
void
|
|
fu_plugin_dell_inject_fake_data (FuPlugin *plugin,
|
|
guint32 *output, guint16 vid, guint16 pid,
|
|
guint8 *buf, gboolean can_switch_modes);
|
|
|
|
gboolean
|
|
fu_plugin_dell_detect_tpm (FuPlugin *plugin, GError **error);
|
|
|
|
void
|
|
fu_plugin_dell_device_added_cb (GUsbContext *ctx,
|
|
GUsbDevice *device,
|
|
FuPlugin *plugin);
|
|
|
|
void
|
|
fu_plugin_dell_device_removed_cb (GUsbContext *ctx,
|
|
GUsbDevice *device,
|
|
FuPlugin *plugin);
|
|
|
|
/* These are nodes that will indicate information about
|
|
* the TPM status
|
|
*/
|
|
struct tpm_status {
|
|
guint32 ret;
|
|
guint32 fw_version;
|
|
guint32 status;
|
|
guint32 flashes_left;
|
|
};
|
|
#define TPM_EN_MASK 0x0001
|
|
#define TPM_OWN_MASK 0x0004
|
|
#define TPM_TYPE_MASK 0x0F00
|
|
#define TPM_1_2_MODE 0x0001
|
|
#define TPM_2_0_MODE 0x0002
|
|
|
|
#endif /* __FU_PLUGIN_DELL_H */
|