mirror of
https://github.com/drakmor/ShadowMountPlus.git
synced 2026-10-21 14:12:29 -05:00
36 lines
1.7 KiB
C
36 lines
1.7 KiB
C
#ifndef SM_IMAGE_H
|
|
#define SM_IMAGE_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "sm_types.h"
|
|
|
|
// Log filesystem statistics for a mounted path.
|
|
void log_fs_stats(const char *tag, const char *path, const char *type_hint);
|
|
// Attach and mount an image file to its runtime mount point.
|
|
bool mount_image(const char *file_path, image_fs_type_t fs_type);
|
|
// Unmount an image mount point and detach its backing device.
|
|
bool unmount_image(const char *file_path, int unit_id, attach_backend_t backend);
|
|
// Reconcile cached image mounts with current sources and remount if needed.
|
|
void cleanup_stale_image_mounts(void);
|
|
// Reconcile cached image mounts that belong to a specific scan root.
|
|
void cleanup_stale_image_mounts_for_root(const char *root);
|
|
// Unmount cached image mounts backed by USB storage during suspend.
|
|
bool unmount_usb_image_mounts_for_suspend(void);
|
|
// Unmount every cached image mount during shutdown.
|
|
bool shutdown_image_mounts(void);
|
|
// Remove empty directories left under the image mount root.
|
|
void cleanup_mount_dirs(void);
|
|
// Mount an image file if it is stable and not currently rate-limited.
|
|
bool maybe_mount_image_file(const char *full_path, const char *name,
|
|
bool *unstable_out);
|
|
// Build the deterministic runtime mount point for an image source path.
|
|
void get_image_mount_point_for_source(const char *file_path,
|
|
char mount_point[MAX_PATH]);
|
|
// Return true when the filename has a supported image extension.
|
|
bool is_supported_image_file_name(const char *name);
|
|
// Return true when the source path is a supported image, including nested names.
|
|
bool is_supported_image_file_path(const char *full_path, const char *name);
|
|
|
|
#endif
|