isfshax/stage2/isfs/volume.h
2021-05-26 01:53:11 +02:00

26 lines
875 B
C

#pragma once
#include "isfs/isfs.h"
#define ISFSVOL_SLC 0
#define ISFSVOL_SLCCMPT 1
#define ISFSVOL_FLAG_HMAC 1
#define ISFSVOL_FLAG_ENCRYPTED 2
#define ISFSVOL_FLAG_READBACK 4
#define ISFSVOL_OK 0
#define ISFSVOL_ECC_CORRECTED 0x10
#define ISFSVOL_HMAC_PARTIAL 0x20
#define ISFSVOL_ERROR_WRITE -0x10
#define ISFSVOL_ERROR_READ -0x20
#define ISFSVOL_ERROR_ERASE -0x30
#define ISFSVOL_ERROR_HMAC -0x40
#define ISFSVOL_ERROR_READBACK -0x50
int isfs_num_volumes(void);
isfs_ctx* isfs_get_volume(int volume);
char* isfs_do_volume(const char* path, isfs_ctx** ctx);
int isfs_read_volume(const isfs_ctx* ctx, u32 start_cluster, u32 cluster_count, u32 flags, void *hmac_seed, void *data);
int isfs_write_volume(const isfs_ctx* ctx, u32 start_cluster, u32 cluster_count, u32 flags, void *hmac_seed, void *data);