2012-01-21 21:57:41 +01:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2012-05-12 18:03:14 +02:00
|
|
|
#include "devicemounter/libwbfs/libwbfs.h"
|
|
|
|
|
2012-04-28 00:55:17 +02:00
|
|
|
#define MAX_SPLIT 10
|
|
|
|
|
2012-01-21 21:57:41 +01:00
|
|
|
typedef struct split_info
|
|
|
|
{
|
|
|
|
char fname[1024];
|
|
|
|
//FILE *f[MAX_SPLIT];
|
|
|
|
int fd[MAX_SPLIT];
|
|
|
|
//u64 fsize[MAX_SPLIT];
|
|
|
|
u32 split_sec;
|
|
|
|
u32 total_sec;
|
|
|
|
u64 split_size;
|
|
|
|
u64 total_size;
|
|
|
|
int create_mode;
|
|
|
|
int max_split;
|
|
|
|
} split_info_t;
|
|
|
|
|
|
|
|
// 1 sector less than 4gb
|
|
|
|
extern u64 OPT_split_size;
|
|
|
|
|
|
|
|
void split_get_fname(split_info_t *s, int idx, char *fname);
|
|
|
|
//FILE *split_open_file(split_info_t *s, int idx);
|
|
|
|
//FILE *split_get_file(split_info_t *s, u32 lba, u32 *sec_count, int fill);
|
|
|
|
int split_open_file(split_info_t *s, int idx);
|
|
|
|
int split_get_file(split_info_t *s, u32 lba, u32 *sec_count, int fill);
|
|
|
|
int split_fill(split_info_t *s, int idx, u64 size);
|
2012-05-12 18:03:14 +02:00
|
|
|
int split_read_sector(void *_fp, u32 lba, u32 count, void *buf);
|
|
|
|
int split_write_sector(void *_fp, u32 lba, u32 count, void *buf);
|
2012-01-21 21:57:41 +01:00
|
|
|
void split_init(split_info_t *s, char *fname);
|
|
|
|
void split_set_size(split_info_t *s, u64 split_size, u64 total_size);
|
|
|
|
void split_close(split_info_t *s);
|
|
|
|
int split_open(split_info_t *s, char *fname);
|
|
|
|
int split_create(split_info_t *s, char *fname,
|
|
|
|
u64 split_size, u64 total_size, bool overwrite);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|