libisofs/src/ecma119.h

77 lines
2.1 KiB
C
Raw Normal View History

/*
* Copyright (c) 2007 Vreixo Formoso
*
* This file is part of the libisofs project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. See COPYING file for details.
*/
#ifndef LIBISO_ECMA119_H_
#define LIBISO_ECMA119_H_
#include "libisofs.h"
2007-12-17 22:22:19 +00:00
#include <stdint.h>
#define BLOCK_SIZE 2048
typedef struct ecma119_image Ecma119Image;
typedef struct ecma119_node Ecma119Node;
typedef struct Iso_File_Src IsoFileSrc;
typedef struct Iso_Image_Writer IsoImageWriter;
struct ecma119_image {
IsoImage *image;
Ecma119Node *root;
unsigned int iso_level:2;
// int relaxed_constraints; /**< see ecma119_relaxed_constraints_flag */
//
// int replace_mode; /**< Replace ownership and modes of files
// *
// * 0. filesystem values
// * 1. useful values
// * bits 1-4 bitmask:
// * 2 - replace dir
// * 3 - replace file
// * 4 - replace gid
// * 5 - replace uid
// */
// mode_t dir_mode;
// mode_t file_mode;
// gid_t gid;
// uid_t uid;
int sort_files; /**< if sort files or not. Sorting is based of
* the weight of each file */
time_t now; /**< Time at which writing began. */
off_t total_size; /**< Total size of the output. This only
* includes the current volume. */
//uint32_t vol_space_size;
2007-12-17 22:22:19 +00:00
/*
* Block being processed, either during image writing or structure
* size calculation.
*/
uint32_t curblock;
/*
* number of dirs in ECMA-119 tree, computed together with dir position,
* and needed for path table computation in a efficient way
*/
size_t ndirs;
uint32_t l_path_table_pos;
uint32_t m_path_table_pos;
2007-12-17 22:22:19 +00:00
size_t nwriters;
IsoImageWriter **writers;
/* tree of files sources */
void *file_srcs;
int file_count;
};
#endif /*LIBISO_ECMA119_H_*/