Files
ec3/src/write.h
2025-01-30 18:10:38 +00:00

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