Blame lib/iso9660/iso9660_private.h

Packit dd8086
/*
Packit dd8086
  Copyright (C) 2003, 2004, 2005, 2008, 2011, 2012
Packit dd8086
  Rocky Bernstein <rocky@gnu.org>
Packit dd8086
  Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Packit dd8086
Packit dd8086
  See also iso9660.h by Eric Youngdale (1993).
Packit dd8086
Packit dd8086
  Copyright 1993 Yggdrasil Computing, Incorporated
Packit dd8086
  Copyright (c) 1999,2000 J. Schilling
Packit dd8086
Packit dd8086
  This program is free software: you can redistribute it and/or modify
Packit dd8086
  it under the terms of the GNU General Public License as published by
Packit dd8086
  the Free Software Foundation, either version 3 of the License, or
Packit dd8086
  (at your option) any later version.
Packit dd8086
Packit dd8086
  This program is distributed in the hope that it will be useful,
Packit dd8086
  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit dd8086
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit dd8086
  GNU General Public License for more details.
Packit dd8086
Packit dd8086
  You should have received a copy of the GNU General Public License
Packit dd8086
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit dd8086
*/
Packit dd8086

Packit dd8086
#ifndef CDIO_ISO9660_ISO9660_PRIVATE_H_
Packit dd8086
#define CDIO_ISO9660_ISO9660_PRIVATE_H_
Packit dd8086
Packit dd8086
#if defined(HAVE_CONFIG_H) && !defined(__CDIO_CONFIG_H__)
Packit dd8086
# include "config.h"
Packit dd8086
# define __CDIO_CONFIG_H__ 1
Packit dd8086
#endif
Packit dd8086
Packit dd8086
#include <cdio/types.h>
Packit dd8086
Packit dd8086
#ifdef HAVE_STDBOOL_H
Packit dd8086
# include <stdbool.h>
Packit dd8086
#endif 
Packit dd8086
Packit dd8086
#define ISO_VERSION             1
Packit dd8086
Packit dd8086
PRAGMA_BEGIN_PACKED
Packit dd8086
Packit dd8086
typedef struct iso_volume_descriptor_s {
Packit dd8086
  uint8_t  type;      /**< 7.1.1 */
Packit dd8086
  char     id[5];     /**< "CD001" (ISO_STANDARD_ID) */
Packit dd8086
  uint8_t  version;   /**< 7.1.1 */
Packit dd8086
  char     data[2041];
Packit dd8086
}  GNUC_PACKED iso_volume_descriptor_t;
Packit dd8086
Packit dd8086
#define iso_volume_descriptor_t_SIZEOF ISO_BLOCKSIZE
Packit dd8086
Packit dd8086
#define iso9660_pvd_t_SIZEOF ISO_BLOCKSIZE
Packit dd8086
Packit dd8086
/*
Packit dd8086
 * XXX JS: The next structure has an odd length!
Packit dd8086
 * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.
Packit dd8086
 * For this reason, we cannot use sizeof (struct iso_path_table) or
Packit dd8086
 * sizeof (struct iso_directory_record) to compute on disk sizes.
Packit dd8086
 * Instead, we use offsetof(..., name) and add the name size.
Packit dd8086
 * See mkisofs.h
Packit dd8086
 */
Packit dd8086
Packit dd8086
/** We use this to help us look up the parent inode numbers. */
Packit dd8086
typedef struct iso_path_table_s {
Packit dd8086
  uint8_t  name_len; /**< 7.1.1 */
Packit dd8086
  uint8_t  xa_len;   /**< 7.1.1 */
Packit dd8086
  uint32_t extent;   /**< 7.3.1/7.3.2 */
Packit dd8086
  uint16_t parent;   /**< 7.2.1/7.2.2 */
Packit dd8086
  char     name[EMPTY_ARRAY_SIZE];
Packit dd8086
} GNUC_PACKED iso_path_table_t;
Packit dd8086
Packit dd8086
#define iso_path_table_t_SIZEOF 8
Packit dd8086
Packit dd8086
#define iso9660_dir_t_SIZEOF 33
Packit dd8086
Packit dd8086
PRAGMA_END_PACKED
Packit dd8086
Packit dd8086
#endif /* CDIO_ISO0660_ISO9660_PRIVATE_H_ */
Packit dd8086
Packit dd8086

Packit dd8086
/* 
Packit dd8086
 * Local variables:
Packit dd8086
 *  c-file-style: "gnu"
Packit dd8086
 *  tab-width: 8
Packit dd8086
 *  indent-tabs-mode: nil
Packit dd8086
 * End:
Packit dd8086
 */