45 lines
943 B
C
45 lines
943 B
C
#ifndef WRITE_H_
|
|
#define WRITE_H_
|
|
|
|
#include "status.h"
|
|
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
|
|
struct ec3_parameters {
|
|
FILE *p_outp;
|
|
|
|
unsigned int p_cluster_size;
|
|
|
|
unsigned int p_compression_func;
|
|
unsigned int p_encryption_func;
|
|
uint64_t p_ident;
|
|
|
|
const void *p_encryption_key;
|
|
size_t p_encryption_key_size;
|
|
};
|
|
|
|
struct ec3_writer;
|
|
struct ec3_tag_writer;
|
|
|
|
extern enum ec3_status ec3_writer_create(
|
|
const struct ec3_parameters *param,
|
|
struct ec3_writer **out);
|
|
extern void ec3_writer_finish(struct ec3_writer *w);
|
|
extern void ec3_writer_write_image(struct ec3_writer *w, FILE *fp);
|
|
|
|
extern enum ec3_status ec3_writer_create_tag(
|
|
struct ec3_writer *w,
|
|
uint32_t tag_type,
|
|
uint64_t tag_ident,
|
|
unsigned int flags,
|
|
struct ec3_tag_writer **out_writer);
|
|
|
|
extern enum ec3_status ec3_tag_writer_write(
|
|
struct ec3_tag_writer *w,
|
|
const void *p,
|
|
size_t len);
|
|
extern enum ec3_status ec3_tag_writer_finish(struct ec3_tag_writer *w);
|
|
|
|
#endif
|