60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
|
/*
|
|||
|
* 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.
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* Structures related to ISO/IEC 9660:1999, that is version 2 of ISO-9660
|
|||
|
* "See doc/devel/cookbook/ISO 9660-1999" and
|
|||
|
* ISO/IEC DIS 9660:1999(E) "Information processing. Volume and file structure
|
|||
|
* of CD-ROM for Information Interchange"
|
|||
|
* for further details.
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef LIBISO_ISO1999_H
|
|||
|
#define LIBISO_ISO1999_H
|
|||
|
|
|||
|
#include "libisofs.h"
|
|||
|
#include "ecma119.h"
|
|||
|
|
|||
|
enum iso1999_node_type {
|
|||
|
ISO1999_FILE,
|
|||
|
ISO1999_DIR
|
|||
|
};
|
|||
|
|
|||
|
struct iso1999_dir_info {
|
|||
|
Iso1999Node **children;
|
|||
|
size_t nchildren;
|
|||
|
size_t len;
|
|||
|
size_t block;
|
|||
|
};
|
|||
|
|
|||
|
struct iso1999_node
|
|||
|
{
|
|||
|
char *name; /**< Name chosen output charset. */
|
|||
|
|
|||
|
Iso1999Node *parent;
|
|||
|
|
|||
|
IsoNode *node; /*< reference to the iso node */
|
|||
|
|
|||
|
enum iso1999_node_type type;
|
|||
|
union {
|
|||
|
IsoFileSrc *file;
|
|||
|
struct iso1999_dir_info *dir;
|
|||
|
} info;
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Create a IsoWriter to deal with ISO 9660:1999 estructures, and add it to
|
|||
|
* the given target.
|
|||
|
*
|
|||
|
* @return
|
|||
|
* 1 on success, < 0 on error
|
|||
|
*/
|
|||
|
int iso1999_writer_create(Ecma119Image *target);
|
|||
|
|
|||
|
#endif /* LIBISO_ISO1999_H */
|