Add raw_mmc_dev (untested!)

This commit is contained in:
TuxSH
2018-05-09 17:51:13 +02:00
parent 04f9920cc3
commit 694289de0b
2 changed files with 532 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#ifndef FUSEE_RAW_MMC_DEV_H
#define FUSEE_RAW_MMC_DEV_H
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "sdmmc.h"
#define RAWMMC_MAX_DEVICES 16
/* Note: only XTS, CTR and ECB are supported */
typedef void (*rawmmc_crypt_func_t)(void *dst, const void *src, size_t offset, size_t len, const uint8_t *iv, uint64_t flags);
int rawmmcdev_mount_device(
const char *name,
struct mmc *mmc,
enum sdmmc_partition partition,
size_t offset,
size_t size,
rawmmc_crypt_func_t read_crypt_func,
rawmmc_crypt_func_t write_crypt_func,
uint64_t crypt_flags,
const uint8_t *iv
);
int rawmmcdev_mount_unencrypted_device(
const char *name,
struct mmc *mmc,
enum sdmmc_partition partition,
size_t offset,
size_t size
);
int rawmmcdev_unmount_device(const char *name);
int rawmmcdev_unmount_all(void);
#endif