fwupd/libfwupdplugin/fu-volume.h
Richard Hughes 5d38e0aeea Move the getting the ESP to the context
We now have two plugins getting the ESP values, and we only allow hardcoding
the ESP in uefi_capsule.conf.

Make all this a lot simpler by moving the ESP+BDP code to `FuContext`, which
also means we can handle the override (via the config file) in the engine,
and the override (in the command line tools) using the same mechanism.

Also, automate the migration of the `OverrideESPMountPoint` -> `EspLocation`
when loading the engine.

Fixes https://github.com/fwupd/fwupd/issues/5042
2022-09-22 14:31:06 +01:00

67 lines
1.9 KiB
C

/*
* Copyright (C) 2018 Richard Hughes <richard@hughsie.com>
* Copyright (C) 2019 Mario Limonciello <mario.limonciello@dell.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include "fu-device-locker.h"
#define FU_TYPE_VOLUME (fu_volume_get_type())
G_DECLARE_FINAL_TYPE(FuVolume, fu_volume, FU, VOLUME, GObject)
/**
* FU_VOLUME_KIND_ESP:
*
* The GUID for the ESP, see: https://en.wikipedia.org/wiki/EFI_system_partition
*
* Since: 1.5.0
**/
#define FU_VOLUME_KIND_ESP "c12a7328-f81f-11d2-ba4b-00a0c93ec93b"
/**
* FU_VOLUME_KIND_BDP:
*
* The GUID for the BDP, see: https://en.wikipedia.org/wiki/Microsoft_basic_data_partition
*
* Since: 1.5.3
**/
#define FU_VOLUME_KIND_BDP "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7"
const gchar *
fu_volume_get_id(FuVolume *self);
gboolean
fu_volume_check_free_space(FuVolume *self,
guint64 required,
GError **error) G_GNUC_WARN_UNUSED_RESULT;
gboolean
fu_volume_is_mounted(FuVolume *self);
gboolean
fu_volume_is_encrypted(FuVolume *self);
gchar *
fu_volume_get_mount_point(FuVolume *self);
gboolean
fu_volume_mount(FuVolume *self, GError **error) G_GNUC_WARN_UNUSED_RESULT;
gboolean
fu_volume_unmount(FuVolume *self, GError **error) G_GNUC_WARN_UNUSED_RESULT;
FuDeviceLocker *
fu_volume_locker(FuVolume *self, GError **error) G_GNUC_WARN_UNUSED_RESULT;
gboolean
fu_volume_is_internal(FuVolume *self);
gchar *
fu_volume_get_id_type(FuVolume *self);
GPtrArray *
fu_volume_new_by_kind(const gchar *kind, GError **error) G_GNUC_WARN_UNUSED_RESULT;
FuVolume *
fu_volume_new_by_device(const gchar *device, GError **error) G_GNUC_WARN_UNUSED_RESULT;
FuVolume *
fu_volume_new_by_devnum(guint32 devnum, GError **error) G_GNUC_WARN_UNUSED_RESULT;
FuVolume *
fu_volume_new_esp_for_path(const gchar *esp_path, GError **error) G_GNUC_WARN_UNUSED_RESULT;
G_DEPRECATED_FOR(fu_context_get_esp_volumes)
FuVolume *
fu_volume_new_esp_default(GError **error) G_GNUC_WARN_UNUSED_RESULT;