summaryrefslogtreecommitdiff
path: root/contrib/libcdio/image.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libcdio/image.h')
-rw-r--r--contrib/libcdio/image.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/contrib/libcdio/image.h b/contrib/libcdio/image.h
new file mode 100644
index 000000000..79c836d32
--- /dev/null
+++ b/contrib/libcdio/image.h
@@ -0,0 +1,75 @@
+/*
+ $Id: image.h,v 1.1 2005/01/01 02:43:57 rockyb Exp $
+
+ Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+/*!
+ Header for image drivers. In contrast to image_common.h which contains
+ routines, this header like most C headers does not depend on anything
+ defined before it is included.
+*/
+
+#ifndef __CDIO_IMAGE_H__
+#define __CDIO_IMAGE_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <cdio/types.h>
+#include <cdio/cdtext.h>
+#include "cdio_private.h"
+#include <cdio/sector.h>
+
+/*!
+ The universal format for information about a track for CD image readers
+ It may be that some fields can be derived from other fields.
+ Over time this structure may get cleaned up. Possibly this can be
+ expanded/reused for real CD formats.
+*/
+
+typedef struct {
+ track_t track_num; /**< Probably is index+1 */
+ msf_t start_msf;
+ lba_t start_lba;
+ int start_index;
+ lba_t length;
+ lba_t pregap; /**< pre-gap with zero audio data */
+ int sec_count; /**< Number of sectors in this track. Does not
+ include pregap */
+ int num_indices;
+ flag_t flags; /**< "[NO] COPY", "4CH", "[NO] PREMPAHSIS" */
+ char *isrc; /**< IRSC Code (5.22.4) exactly 12 bytes */
+ char *filename;
+ CdioDataSource *data_source;
+ track_format_t track_format;
+ bool track_green;
+ cdtext_t cdtext; /**< CD-TEXT */
+
+ trackmode_t mode;
+ uint16_t datasize; /**< How much is in the portion we return
+ back? */
+ uint16_t datastart; /**< Offset from begining that data starts */
+ uint16_t endsize; /**< How much stuff at the end to skip over.
+ This stuff may have error correction
+ (EDC, or ECC).*/
+ uint16_t blocksize; /**< total block size = start + size + end */
+} track_info_t;
+
+
+#endif /* __CDIO_IMAGE_H__ */