37 lines
861 B
C
37 lines
861 B
C
#ifndef ROPKG_WRITER_H_
|
|
#define ROPKG_WRITER_H_
|
|
|
|
#include <ropkg/misc.h>
|
|
#include <ropkg/status.h>
|
|
#include <stdio.h>
|
|
|
|
#define ROPKG_PATH_DATA "data.tar"
|
|
#define ROPKG_PATH_CONTROL "control.tar"
|
|
#define ROPKG_PATH_META "meta.tar"
|
|
|
|
struct ropkg_writer;
|
|
struct b_cstream;
|
|
|
|
struct ropkg_writer_file_info {
|
|
size_t f_length;
|
|
};
|
|
|
|
ROPKG_API enum ropkg_status ropkg_writer_open(
|
|
struct b_cstream *fp,
|
|
struct ropkg_writer **out);
|
|
ROPKG_API enum ropkg_status ropkg_writer_close(struct ropkg_writer *pkg);
|
|
|
|
ROPKG_API enum ropkg_status ropkg_writer_begin_file(
|
|
struct ropkg_writer *pkg,
|
|
const char *path,
|
|
const struct ropkg_writer_file_info *info);
|
|
ROPKG_API enum ropkg_status ropkg_writer_end_file(struct ropkg_writer *pkg);
|
|
|
|
ROPKG_API enum ropkg_status ropkg_writer_write(
|
|
struct ropkg_writer *pkg,
|
|
const void *p,
|
|
size_t len,
|
|
size_t *nr_written);
|
|
|
|
#endif
|