First commit after CVS conversion. Should be just administrative changes.
This commit is contained in:
12
test/.gitignore
vendored
Normal file
12
test/.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/.deps
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/check_common_fn
|
||||
/check_cue.sh
|
||||
/check_iso.sh
|
||||
/check_nrg.sh
|
||||
/check_paranoia.sh
|
||||
/testbincue.c
|
||||
/testisocd2.c
|
||||
/testnrg.c
|
||||
/testpregap.c
|
||||
113
test/Makefile.am
Normal file
113
test/Makefile.am
Normal file
@@ -0,0 +1,113 @@
|
||||
# $Id: Makefile.am,v 1.69 2008/08/31 13:38:22 flameeyes Exp $
|
||||
#
|
||||
# Copyright (C) 2003, 2004, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
#
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
####################################################
|
||||
# Things for regression testing
|
||||
####################################################
|
||||
#
|
||||
#
|
||||
# There's a problem with doing make distcheck for testdefault.
|
||||
# A reminder of why I hate automake.
|
||||
|
||||
if BUILD_CD_PARANOIA
|
||||
testparanoia=testparanoia
|
||||
testparanoia_LDADD = $(LIBCDIO_PARANOIA_LIBS) $(LIBCDIO_CDDA_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
endif
|
||||
|
||||
hack = check_sizeof testassert testbincue testischar \
|
||||
testisocd testisocd2 testiso9660 \
|
||||
testnrg $(testparanoia) testtoc testpregap
|
||||
|
||||
EXTRA_PROGRAMS = testdefault
|
||||
|
||||
INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS) $(LIBISO9660_CFLAGS)
|
||||
|
||||
check_sizeof_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testassert_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testdefault_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testischar_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testiso9660_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
|
||||
testisocd_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testisocd2_LDADD = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
|
||||
testtoc_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testtoc_CFLAGS = -DTEST_DIR=\"$(srcdir)\"
|
||||
|
||||
testpregap_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testpregap_CFLAGS = -DTEST_DIR=\"$(srcdir)\"
|
||||
|
||||
testbincue_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testbincue_CFLAGS = -DTEST_DIR=\"$(srcdir)\"
|
||||
|
||||
testnrg_LDADD = $(LIBCDIO_LIBS) $(LTLIBICONV)
|
||||
testnrg_CFLAGS = -DTEST_DIR=\"$(srcdir)\"
|
||||
|
||||
check_SCRIPTS = check_nrg.sh check_cue.sh check_cd_read.sh \
|
||||
check_iso.sh check_fuzzyiso.sh check_paranoia.sh check_opts.sh
|
||||
# If we beefed this up so it checked to see if a CD-DA was loaded
|
||||
# it could be an automatic test. But for now, not so.
|
||||
# check_paranoia.sh
|
||||
|
||||
check_PROGRAMS = $(hack)
|
||||
|
||||
check_DATA = vcd_demo.right vcd_demo_vcdinfo.right \
|
||||
videocd.right videocd.nrg \
|
||||
cdda.right cdda.toc cdda.cue cdda.bin \
|
||||
isofs-m1.right isofs-m1-no-rr.right \
|
||||
isofs-m1.toc isofs-m1.cue isofs-m1.bin \
|
||||
cd-paranoia-log.right \
|
||||
check_opts0.right check_opts1.right check_opts2.right \
|
||||
check_opts3.right check_opts4.right check_opts5.right \
|
||||
check_opts6.right check_opts7.right \
|
||||
isofs-m1-read.right cdda-read.right \
|
||||
t1.toc t2.toc t3.toc t4.toc t5.toc t6.toc t7.toc t8.toc t9.toc \
|
||||
data1.toc data2.toc data5.toc data6.toc data7.toc \
|
||||
vcd2.toc cdtext.toc \
|
||||
bad-mode1.cue bad-msf-1.cue bad-msf-2.cue bad-msf-3.cue \
|
||||
bad-mode1.toc bad-msf-1.toc bad-msf-2.toc bad-msf-3.toc \
|
||||
bad-cat1.cue bad-cat2.cue bad-cat3.cue \
|
||||
bad-cat1.toc bad-cat2.toc bad-cat3.toc bad-file.toc \
|
||||
copying.iso copying.right copying-rr.iso copying-rr.right \
|
||||
joliet.iso joliet.right joliet-nojoliet.right \
|
||||
udf102.iso copying.gpl copying-rr.gpl
|
||||
|
||||
EXTRA_DIST = $(check_SCRIPTS) $(check_DATA) \
|
||||
check_common_fn check_cue.sh.in check_nrg.sh.in \
|
||||
testbincue.c.in testpregap.c.in testnrg.c.in \
|
||||
check_iso.sh.in p1.bin p1.cue p1.nrg
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
|
||||
XFAIL_TESTS = testassert
|
||||
|
||||
MOSTLYCLEANFILES = core core.* *.dump cdda-orig.wav cdda-try.wav *.raw
|
||||
|
||||
test: check-am
|
||||
|
||||
# This is a really bad hack to make sure check_nrg and check_cue.sh
|
||||
# are executable. Automake will remake check_nrg.sh and check_cue.sh
|
||||
# but not run the configure default commands for them to make sure
|
||||
# they are executable. You know it would be nice one could just set
|
||||
# permissions and mode when it makes the files. I'm sure there's some
|
||||
# cleaner a way to do this, but frankly I've wasted far too much of my
|
||||
# life the crappy automess system that I've really lost interest in
|
||||
# learning any more of this awful system than I need to.
|
||||
check-am: make-executable
|
||||
make-executable: check_nrg.sh check_cue.sh check_paranoia.sh
|
||||
chmod +x *.sh
|
||||
if test ! -f cdda.bin ; then $(LN_S) $(srcdir)/cdda.bin cdda.bin ; fi
|
||||
if test ! -f isofs-m1.bin ; then $(LN_S) $(srcdir)/isofs-m1.bin isofs-m1.bin ; fi
|
||||
9
test/bad-cat1.cue
Normal file
9
test/bad-cat1.cue
Normal file
@@ -0,0 +1,9 @@
|
||||
REM $Id: bad-cat1.cue,v 1.1 2004/07/12 03:59:59 rocky Exp $
|
||||
REM test catalog number - no catalog after word CATALOG
|
||||
|
||||
CATALOG
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 00:00:00
|
||||
8
test/bad-cat1.toc
Normal file
8
test/bad-cat1.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// $Id: bad-cat1.toc,v 1.1 2004/05/08 20:36:02 rocky Exp $
|
||||
// test catalog number - no catalog after word CATALOG
|
||||
|
||||
CATALOG
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 1:0:0
|
||||
9
test/bad-cat2.cue
Normal file
9
test/bad-cat2.cue
Normal file
@@ -0,0 +1,9 @@
|
||||
REM $Id: bad-cat2.cue,v 1.1 2004/07/09 20:47:08 rocky Exp $
|
||||
REM test catalog number. -- not enough digits
|
||||
|
||||
CATALOG "167890123"
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 00:00:00
|
||||
8
test/bad-cat2.toc
Normal file
8
test/bad-cat2.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// $Id: bad-cat2.toc,v 1.2 2004/07/09 20:47:08 rocky Exp $
|
||||
// test catalog number. -- not enough digits
|
||||
|
||||
CATALOG 167890123 // Should be 13 digits
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 1:0:0
|
||||
9
test/bad-cat3.cue
Normal file
9
test/bad-cat3.cue
Normal file
@@ -0,0 +1,9 @@
|
||||
REM $Id: bad-cat3.cue,v 1.2 2004/07/10 01:18:02 rocky Exp $
|
||||
REM test catalog number. -- invalid decimal digit
|
||||
|
||||
CATALOG 123456789b123
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 00:00:00
|
||||
8
test/bad-cat3.toc
Normal file
8
test/bad-cat3.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// $Id: bad-cat3.toc,v 1.1 2004/05/08 20:36:02 rocky Exp $
|
||||
// test catalog number - non-digit catalog name
|
||||
|
||||
CATALOG "123456789A123"
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 1:0:0
|
||||
13
test/bad-file.toc
Normal file
13
test/bad-file.toc
Normal file
@@ -0,0 +1,13 @@
|
||||
// $Id: bad-file.toc,v 1.1 2005/01/23 00:45:57 rocky Exp $
|
||||
// XA disk
|
||||
//
|
||||
|
||||
CD_ROM_XA
|
||||
|
||||
TRACK MODE2_FORM2
|
||||
FILE "foo.bin" 00:00:00 00:13:57
|
||||
|
||||
TRACK MODE2_FORM1
|
||||
PREGAP 0:2:0
|
||||
FILE "foo.bin" 00:20:71 00:00:00
|
||||
|
||||
7
test/bad-mode1.cue
Normal file
7
test/bad-mode1.cue
Normal file
@@ -0,0 +1,7 @@
|
||||
REM $Id: bad-mode1.cue,v 1.1 2004/07/10 01:18:02 rocky Exp $
|
||||
REM "MODE1_FORM45" is not a valid mode.
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 MODE3_FORM1
|
||||
INDEX 01 00:00:00
|
||||
5
test/bad-mode1.toc
Normal file
5
test/bad-mode1.toc
Normal file
@@ -0,0 +1,5 @@
|
||||
// $Id: bad-mode1.toc,v 1.1 2004/05/07 10:57:50 rocky Exp $
|
||||
CD_DA
|
||||
|
||||
TRACK MODE1_FORM45 // "MODE1_FORM45" is not a valid mode.
|
||||
SILENCE 10:0:0
|
||||
7
test/bad-msf-1.cue
Normal file
7
test/bad-msf-1.cue
Normal file
@@ -0,0 +1,7 @@
|
||||
REM $Id: bad-msf-1.cue,v 1.1 2004/07/12 03:57:28 rocky Exp $
|
||||
REM bad MSF in second field - frame should be less than 75
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 00:00:100
|
||||
6
test/bad-msf-1.toc
Normal file
6
test/bad-msf-1.toc
Normal file
@@ -0,0 +1,6 @@
|
||||
// $Id: bad-msf-1.toc,v 1.1 2004/05/07 10:57:50 rocky Exp $
|
||||
// bad MSF in second field
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" 0:0:75 // frame should be less than 75
|
||||
7
test/bad-msf-2.cue
Normal file
7
test/bad-msf-2.cue
Normal file
@@ -0,0 +1,7 @@
|
||||
REM $Id: bad-msf-2.cue,v 1.1 2004/07/10 01:18:02 rocky Exp $
|
||||
REM bad MSF in second field - seconds should be less than 60
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 00:90:00
|
||||
6
test/bad-msf-2.toc
Normal file
6
test/bad-msf-2.toc
Normal file
@@ -0,0 +1,6 @@
|
||||
// $Id: bad-msf-2.toc,v 1.1 2004/05/07 10:57:50 rocky Exp $
|
||||
// bad MSF in second field
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" 0:60:0 // seconds should be less than 60
|
||||
7
test/bad-msf-3.cue
Normal file
7
test/bad-msf-3.cue
Normal file
@@ -0,0 +1,7 @@
|
||||
REM $Id: bad-msf-3.cue,v 1.1 2004/07/12 03:58:55 rocky Exp $
|
||||
REM bad MSF in second field
|
||||
|
||||
FILE "cdda.bin" BINARY
|
||||
|
||||
TRACK 01 AUDIO
|
||||
INDEX 01 xx:yy:0
|
||||
6
test/bad-msf-3.toc
Normal file
6
test/bad-msf-3.toc
Normal file
@@ -0,0 +1,6 @@
|
||||
// $Id: bad-msf-3.toc,v 1.1 2004/07/10 01:18:02 rocky Exp $
|
||||
// bad MSF in second field
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" xx:yy:zz // Should be digits
|
||||
3
test/cd-paranoia-log.right
Normal file
3
test/cd-paranoia-log.right
Normal file
@@ -0,0 +1,3 @@
|
||||
outputting to cdda.raw
|
||||
(== PROGRESS == [] == :^D * ==)
|
||||
|
||||
18
test/cdda-mcn.right
Normal file
18
test/cdda-mcn.right
Normal file
@@ -0,0 +1,18 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DA
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy? Channels Premphasis?
|
||||
1: 00:02:00 000000 audio false yes 0 no
|
||||
170: 00:09:64 000589 leadout (1 MB raw, 1 MB formatted)
|
||||
Media Catalog Number (MCN): 123456789ABCD
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
audio status: not implemented
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
|
||||
CD-TEXT for Disc:
|
||||
CD-TEXT for Track 1:
|
||||
151
test/cdda-read.right
Normal file
151
test/cdda-read.right
Normal file
@@ -0,0 +1,151 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
0x0000: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0010: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0020: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0100: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0110: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0120: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0130: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0140: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0150: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0160: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0170: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0180: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0190: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01a0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01b0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01c0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01d0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01e0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x01f0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0200: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0210: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0220: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0230: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0240: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0250: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0260: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0270: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0280: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0290: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02a0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02b0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02c0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02d0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02e0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x02f0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0300: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0310: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0320: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0330: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0340: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0350: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0360: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0370: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0380: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0390: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03a0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03b0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03c0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03d0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03e0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x03f0: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0400: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0410: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0420: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0430: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0440: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0450: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0460: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0470: 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0x0480: 0000 0000 0000 0000 f0ff 0000 f0ff 0000
|
||||
0x0490: e3ff f0ff e3ff f0ff d8ff e3ff d8ff e3ff
|
||||
0x04a0: dfff e8ff dfff e8ff f5ff fcff f5ff fcff
|
||||
0x04b0: 0700 0c00 0700 0c00 1500 1800 1500 1800
|
||||
0x04c0: 2000 1100 2000 1100 2800 0b00 2800 0b00
|
||||
0x04d0: 1d00 0500 1d00 0500 1300 0000 1300 0000
|
||||
0x04e0: 0a00 0b00 0a00 0b00 1200 1300 1200 1300
|
||||
0x04f0: 1800 1900 1800 1900 0c00 0d00 0c00 0d00
|
||||
0x0500: 0200 0300 0200 0300 e9ff faff e9ff faff
|
||||
0x0510: d5ff f2ff d5ff f2ff b5ff dbff b5ff dbff
|
||||
0x0520: 9cff c8ff 9cff c8ff a9ff c9ff a9ff c9ff
|
||||
0x0530: c4ff daff c4ff daff eaff f8ff eaff f8ff
|
||||
0x0540: 1900 1000 1900 1000 3e00 2300 3e00 2300
|
||||
0x0550: 6b00 3100 6b00 3100 8d00 3b00 8d00 3b00
|
||||
0x0560: 7600 4200 7600 4200 6100 3600 6100 3600
|
||||
0x0570: 3e00 2b00 3e00 2b00 1000 1100 1000 1100
|
||||
0x0580: eaff fbff eaff fbff cbff e9ff cbff e9ff
|
||||
0x0590: b2ff daff b2ff daff ceff deff ceff deff
|
||||
0x05a0: e5ff f1ff e5ff f1ff f8ff 0000 f8ff 0000
|
||||
0x05b0: 0700 0c00 0700 0c00 1300 1500 1300 1500
|
||||
0x05c0: 0c00 0b00 0c00 0b00 e6ff f2ff e6ff f2ff
|
||||
0x05d0: c7ff ddff c7ff ddff aeff ccff aeff ccff
|
||||
0x05e0: 8aff bfff 8aff bfff 6eff b5ff 6eff b5ff
|
||||
0x05f0: 99ff ceff 99ff ceff d0ff e3ff d0ff e3ff
|
||||
0x0600: 0e00 0400 0e00 0400 8000 3e00 8000 3e00
|
||||
0x0610: da00 6c00 da00 6c00 1f01 8f00 1f01 8f00
|
||||
0x0620: 4201 a900 4201 a900 2901 9b00 2901 9b00
|
||||
0x0630: d000 6d00 d000 6d00 7100 3500 7100 3500
|
||||
0x0640: 0000 0600 0000 0600 64ff bfff 64ff bfff
|
||||
0x0650: e7fe 86ff e7fe 86ff a7fe 59ff a7fe 59ff
|
||||
0x0660: 98fe 47ff 98fe 47ff b1fe 4bff b1fe 4bff
|
||||
0x0670: eafe 71ff eafe 71ff 5cff a2ff 5cff a2ff
|
||||
0x0680: ceff ebff ceff ebff 3c00 2600 3c00 2600
|
||||
0x0690: 9400 5500 9400 5500 d900 7900 d900 7900
|
||||
0x06a0: bd00 6400 bd00 6400 a300 5100 a300 5100
|
||||
0x06b0: 5f00 3000 5f00 3000 1300 1400 1300 1400
|
||||
0x06c0: 0700 fcff 0700 fcff 0d00 f8ff 0d00 f8ff
|
||||
0x06d0: 1100 0400 1100 0400 4300 1d00 4300 1d00
|
||||
0x06e0: 6a00 3000 6a00 3000 8800 3e00 8800 3e00
|
||||
0x06f0: 8e00 4800 8e00 4800 6000 2f00 6000 2f00
|
||||
0x0700: e9ff f9ff e9ff f9ff 88ff cdff 88ff cdff
|
||||
0x0710: 3bff 9aff 3bff 9aff ecfe 72ff ecfe 72ff
|
||||
0x0720: d2fe 63ff d2fe 63ff 01ff 79ff 01ff 79ff
|
||||
0x0730: 2bff 8cff 2bff 8cff 83ff bdff 83ff bdff
|
||||
0x0740: fcff f5ff fcff f5ff 5e00 3200 5e00 3200
|
||||
0x0750: ac00 6200 ac00 6200 e800 8700 e800 8700
|
||||
0x0760: 0501 8200 0501 8200 d800 6b00 d800 6b00
|
||||
0x0770: 9d00 5600 9d00 5600 6a00 4300 6a00 4300
|
||||
0x0780: 3e00 2200 3e00 2200 1900 0600 1900 0600
|
||||
0x0790: eaff efff eaff efff e4ff ecff e4ff ecff
|
||||
0x07a0: dfff e9ff dfff e9ff bbff e6ff bbff e6ff
|
||||
0x07b0: 9eff d3ff 9eff d3ff 77ff c4ff 77ff c4ff
|
||||
0x07c0: 39ff a8ff 39ff a8ff 19ff 92ff 19ff 92ff
|
||||
0x07d0: 22ff 91ff 22ff 91ff 5cff b1ff 5cff b1ff
|
||||
0x07e0: cdff ecff cdff ecff 7500 3c00 7500 3c00
|
||||
0x07f0: 1101 8c00 1101 8c00 8b01 ca00 8b01 ca00
|
||||
0x0800: e701 f900 e701 f900 da01 fb00 da01 fb00
|
||||
0x0810: 6401 b800 6401 b800 8a00 4500 8a00 4500
|
||||
0x0820: 92ff c4ff 92ff c4ff 8efe 4cff 8efe 4cff
|
||||
0x0830: a6fd cdfe a6fd cdfe 09fd 7afe 09fd 7afe
|
||||
0x0840: 21fd 8cfe 21fd 8cfe 9dfd d2fe 9dfd d2fe
|
||||
0x0850: b3fe 67ff b3fe 67ff 3000 1600 3000 1600
|
||||
0x0860: e801 e800 e801 e800 4503 8f01 4503 8f01
|
||||
0x0870: 3004 2102 3004 2102 2404 1f02 2404 1f02
|
||||
0x0880: 4f03 a201 4f03 a201 b801 cf00 b801 cf00
|
||||
0x0890: e4ff e4ff e4ff e4ff bafd d7fe bafd d7fe
|
||||
0x08a0: 00fc 01fe 00fc 01fe 60fb abfd 60fb abfd
|
||||
0x08b0: 5efb 9cfd 5efb 9cfd 32fc 11fe 32fc 11fe
|
||||
0x08c0: d5fd c7fe d5fd c7fe 0100 0e00 0100 0e00
|
||||
0x08d0: 0102 1701 0102 1701 9803 e901 9803 e901
|
||||
0x08e0: d404 8b02 d404 8b02 ea04 8f02 ea04 8f02
|
||||
0x08f0: d803 fc01 d803 fc01 4802 2a01 4802 2a01
|
||||
0x0900: 2100 0e00 2100 0e00 20fe 07ff 20fe 07ff
|
||||
0x0910: 86fc 35fe 86fc 35fe acfb c3fd acfb c3fd
|
||||
0x0920: c0fb ddfd c0fb ddfd b5fc 40fe b5fc 40fe
|
||||
|
||||
20
test/cdda.right
Normal file
20
test/cdda.right
Normal file
@@ -0,0 +1,20 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DA
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy? Channels Premphasis?
|
||||
1: 00:02:00 000000 audio false yes 2 no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 693 KB formatted)
|
||||
Media Catalog Number (MCN): 0000010271955
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
audio status: not implemented
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
|
||||
CD-TEXT for Disc:
|
||||
PERFORMER: Richard Stallman
|
||||
TITLE: Join us now we have the software
|
||||
CD-TEXT for Track 1:
|
||||
48
test/cdtext.toc
Normal file
48
test/cdtext.toc
Normal file
@@ -0,0 +1,48 @@
|
||||
CD_DA
|
||||
|
||||
// global CD-TEXT data
|
||||
|
||||
CD_TEXT {
|
||||
|
||||
// Mapping from language number (0..7) used in 'LANGUAGE' statements
|
||||
// to language code.
|
||||
/// LANGUAGE_MAP {
|
||||
/// 0 : EN // 9 is the code for ENGLISH,
|
||||
/// // I don't know any other language code, yet
|
||||
/// }
|
||||
|
||||
// Language number should always start with 0
|
||||
LANGUAGE 0 {
|
||||
// Required fields - at least all CD-TEXT CDs I've seen so far have them.
|
||||
TITLE "CD Title"
|
||||
PERFORMER "Performer"
|
||||
DISC_ID "XY12345"
|
||||
UPC_EAN "" // usually empty
|
||||
|
||||
// Further possible items, all of them are optional
|
||||
ARRANGER ""
|
||||
SONGWRITER ""
|
||||
MESSAGE ""
|
||||
GENRE "" // I'm not sure if this should be really ascii data
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TRACK AUDIO
|
||||
// track specific CD-TEXT data
|
||||
CD_TEXT {
|
||||
LANGUAGE 0 {
|
||||
// if an item is defined for one track it should be defined for all tracks
|
||||
TITLE "Track Title"
|
||||
|
||||
PERFORMER "Performer"
|
||||
ISRC "US-XX1-98-01234"
|
||||
|
||||
ARRANGER ""
|
||||
SONGWRITER ""
|
||||
MESSAGE ""
|
||||
}
|
||||
}
|
||||
|
||||
SILENCE 1:0:0
|
||||
|
||||
56
test/check_cd_read.sh
Executable file
56
test/check_cd_read.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
# $Id: check_cd_read.sh,v 1.12 2008/03/22 18:08:25 karl Exp $
|
||||
#
|
||||
# Copyright (C) 2003, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
#
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Tests to see that CD reading is correct (via cd-read).
|
||||
|
||||
if test -z $srcdir ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
. ${top_builddir}/test/check_common_fn
|
||||
|
||||
if test ! -x ../src/cd-read ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
|
||||
fname=cdda
|
||||
testnum=CD-DA
|
||||
opts="-c ${srcdir}/${fname}.cue --mode=red --just-hex --start=0"
|
||||
test_cd_read "$opts" ${fname}-read.dump ${srcdir}/${fname}-read.right
|
||||
RC=$?
|
||||
check_result $RC "cd-read CUE test $testnum" "cd-read $opts"
|
||||
|
||||
fname=isofs-m1
|
||||
testnum=MODE1
|
||||
opts="-i ${srcdir}/${fname}.cue --mode m1f1 -s 26 -n 2"
|
||||
test_cd_read "$opts" ${fname}-read.dump ${srcdir}/${fname}-read.right
|
||||
RC=$?
|
||||
check_result $RC "cd-read CUE test $testnum" "$CD_READ $opts"
|
||||
|
||||
exit $RC
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
185
test/check_common_fn.in
Executable file
185
test/check_common_fn.in
Executable file
@@ -0,0 +1,185 @@
|
||||
# $Id: check_common_fn.in,v 1.14 2008/10/17 01:51:43 rocky Exp $
|
||||
#
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
#
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Common routines and setup for regression testing.
|
||||
SKIP_TEST_EXITCODE=77
|
||||
|
||||
# Some output changes depending on TZ and locale. Set this so we get known
|
||||
# results
|
||||
TZ=CUT
|
||||
LC_TIME='en_US'
|
||||
export TZ LC_TIME
|
||||
|
||||
check_result() {
|
||||
RC=$1
|
||||
shift
|
||||
msg=$1
|
||||
shift
|
||||
cmdline=$*
|
||||
if test $RC -ne 0 ; then
|
||||
if test $RC -ne $SKIP_TEST_EXITCODE ; then
|
||||
echo "$0: $msg failed in comparing output."
|
||||
if test -n "$cmdline" ; then
|
||||
echo "$0: failed command:"
|
||||
echo " $cmdline"
|
||||
fi
|
||||
exit $RC
|
||||
else
|
||||
echo "$0: $msg skipped."
|
||||
fi
|
||||
else
|
||||
echo "$0: $msg ok."
|
||||
fi
|
||||
}
|
||||
|
||||
test_cdinfo() {
|
||||
|
||||
opts="$1"
|
||||
outfile="$2"
|
||||
rightfile="$3"
|
||||
|
||||
CD_INFO="../src/cd-info@EXEEXT@"
|
||||
|
||||
if [ ! -x ${CD_INFO} ]; then
|
||||
echo "$0: No ${CD_INFO}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ${CD_INFO} --no-header ${opts} >${outfile} 2>&1 ; then
|
||||
if test "@DIFF@" != no; then
|
||||
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
||||
rm -f $outfile
|
||||
return 0
|
||||
else
|
||||
return 3
|
||||
fi
|
||||
else
|
||||
echo "$0: No diff(1) or cmp(1) found - cannot test ${CD_INFO}"
|
||||
rm -f $outfile
|
||||
return 77
|
||||
fi
|
||||
else
|
||||
echo "$0 failed running: ${CD_INFO} ${opts}"
|
||||
return 2
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
test_iso_info() {
|
||||
|
||||
opts="$1"
|
||||
outfile="$2"
|
||||
rightfile="$3"
|
||||
|
||||
ISO_INFO="../src/iso-info@EXEEXT@"
|
||||
|
||||
if [ ! -x ${ISO_INFO} ]; then
|
||||
echo "$0: No ${ISO_INFO}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
cmdline="${ISO_INFO} --no-header ${opts}"
|
||||
if $cmdline >${outfile} 2>&1 ; then
|
||||
if test "/usr/bin/diff" != no; then
|
||||
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
||||
rm -f $outfile
|
||||
return 0
|
||||
else
|
||||
return 3
|
||||
fi
|
||||
else
|
||||
echo "$0: No diff(1) or cmp(1 found - cannot test ${ISO_INFO}"
|
||||
rm -f $outfile
|
||||
return 77
|
||||
fi
|
||||
else
|
||||
echo "$0 failed running: $cmdline"
|
||||
return 2
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
test_iso_read() {
|
||||
|
||||
opts="$1"
|
||||
outfile="$2"
|
||||
rightfile="$3"
|
||||
|
||||
ISO_READ="../src/iso-read@EXEEXT@"
|
||||
|
||||
if [ ! -x ${ISO_READ} ]; then
|
||||
echo "$0: No ${ISO_READ}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ${ISO_READ} ${opts} -o ${outfile} 2>&1 ; then
|
||||
if test "@DIFF@" != no; then
|
||||
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
||||
rm -f $outfile
|
||||
return 0
|
||||
else
|
||||
return 3
|
||||
fi
|
||||
else
|
||||
echo "$0: No diff(1) or cmp(1 found - cannot test ${ISO_READ}"
|
||||
rm -f $outfile
|
||||
return 77
|
||||
fi
|
||||
else
|
||||
echo "$0 failed running: ${ISO_READ} ${opts} -o ${outfile}"
|
||||
return 2
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
test_cd_read() {
|
||||
|
||||
opts="$1"
|
||||
outfile="$2"
|
||||
rightfile="$3"
|
||||
|
||||
CD_READ="../src/cd-read@EXEEXT@"
|
||||
|
||||
if [ ! -x ${CD_READ} ]; then
|
||||
echo "$0: No ${CD_READ}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ${CD_READ} --no-header ${opts} >${outfile} 2>&1 ; then
|
||||
if test "@DIFF@" != no; then
|
||||
if @DIFF@ @DIFF_OPTS@ ${outfile} ${rightfile} ; then
|
||||
rm -f $outfile
|
||||
return 0
|
||||
else
|
||||
return 3
|
||||
fi
|
||||
else
|
||||
echo "$0: No diff(1) or cmp(1 found - cannot test ${CD_READ}"
|
||||
rm -f $outfile
|
||||
return 77
|
||||
fi
|
||||
else
|
||||
echo "$0 failed running: ${CD_READ} ${opts}"
|
||||
return 2
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
125
test/check_cue.sh.in
Normal file
125
test/check_cue.sh.in
Normal file
@@ -0,0 +1,125 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_cue.sh.in,v 1.31 2007/12/28 02:11:01 rocky Exp $
|
||||
# Tests to see that BIN/CUE and cdrdao TOC file iamge reading is correct
|
||||
# (via cd-info).
|
||||
|
||||
if test "@VCDINFO_LIBS@X" != "X" ; then
|
||||
vcd_opt='--no-vcd'
|
||||
fi
|
||||
|
||||
if test "X$srcdir" = "X" ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_srcdir" = "X" ; then
|
||||
top_srcdir=`pwd`/..
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
. ${top_builddir}/test/check_common_fn
|
||||
|
||||
if test ! -x $top_srcdir/src/cd-info ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
|
||||
fname=cdda
|
||||
testnum=CD-DA
|
||||
opts="--quiet --no-device-info --cue-file ${srcdir}/${fname}.cue --no-cddb"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts"
|
||||
|
||||
|
||||
opts="--quiet --no-device-info --bin-file ${srcdir}/${fname}.bin --no-cddb"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info BIN test $testnum" "${CD_INFO} $opts"
|
||||
|
||||
opts="--quiet --no-device-info --toc-file ${srcdir}/${fname}.toc --no-cddb"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts"
|
||||
|
||||
fname=isofs-m1
|
||||
testnum='ISO 9660 mode1 CUE'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
if test -n "@HAVE_ROCK@"; then
|
||||
opts="-q --no-device-info --no-disc-mode --cue-file ${srcdir}/${fname}.cue --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info Rock-Ridge CUE test $testnum" "${CD_INFO} $opts"
|
||||
|
||||
opts="-q --no-device-info --no-disc-mode --no-rock-ridge --cue-file ${srcdir}/${fname}.cue --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}-no-rr.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info no Rock-Ridge CUE test $testnum" "${CD_INFO} $opts"
|
||||
fi
|
||||
|
||||
else
|
||||
echo "Don't see CUE file ${srcdir}/${fname}.bin. Test $testnum skipped."
|
||||
fi
|
||||
|
||||
if test -n "@HAVE_ROCK@"; then
|
||||
testnum='ISO 9660 mode1 TOC'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --no-device-info --no-disc-mode --toc-file ${srcdir}/${fname}.toc --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts"
|
||||
else
|
||||
echo "Don't see TOC file ${srcdir}/${fname}.bin. Test $testnum skipped."
|
||||
fi
|
||||
fi
|
||||
|
||||
fname=vcd_demo
|
||||
if test -z "@VCDINFO_LIBS@" ; then
|
||||
right=${srcdir}/${fname}.right
|
||||
else
|
||||
right=${srcdir}/${fname}_vcdinfo.right
|
||||
fi
|
||||
testnum='Video CD'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --no-device-info --no-disc-mode -c ${srcdir}/${fname}.cue --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump $right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts"
|
||||
|
||||
if test -z "@VCDINFO_LIBS@" ; then
|
||||
right=${srcdir}/${fname}.right
|
||||
else
|
||||
right=${srcdir}/${fname}_vcdinfo.right
|
||||
fi
|
||||
opts="-q --no-device-info --no-disc-mode -t ${srcdir}/${fname}.toc --iso9660"
|
||||
if test -f ${srcdir}/${fname}.toc ; then
|
||||
test_cdinfo "$opts" ${fname}.dump $right
|
||||
RC=$?
|
||||
check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts"
|
||||
else
|
||||
echo "Don't see TOC file ${srcdir}/${fname}.toc. Test $testnum skipped."
|
||||
fi
|
||||
else
|
||||
echo "Don't see CUE file ${srcdir}/${fname}.cue. Test $testnum skipped."
|
||||
fi
|
||||
|
||||
fname=svcd_ogt_test_ntsc
|
||||
testnum='Super Video CD'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --no-device-info --no-disc-mode --cue-file ${srcdir}/${fname}.cue $vcd_opt --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts"
|
||||
else
|
||||
echo "Don't see CUE file ${srcdir}/${fname}.bin. Test $testnum skipped."
|
||||
fi
|
||||
|
||||
exit $RC
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
44
test/check_fuzzyiso.sh
Executable file
44
test/check_fuzzyiso.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_fuzzyiso.sh,v 1.6 2008/03/20 03:45:43 edsdead Exp $
|
||||
|
||||
if test "X$srcdir" = "X" ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_srcdir" = "X" ; then
|
||||
top_srcdir=`pwd`/..
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
check_program="$top_builddir/example/isofuzzy"
|
||||
|
||||
if test ! -x $check_program ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
cd $srcdir; src_dir=`pwd`
|
||||
for file in $src_dir/*.bin $src_dir/*.iso $src_dir/*.nrg ; do
|
||||
case "$file" in
|
||||
$src_dir/p1.nrg | $src_dir/p1.bin | $src_dir/cdda.bin | $src_dir/cdda-mcn.nrg | $src_dir/svcdgs.nrg )
|
||||
good_rc=1
|
||||
;;
|
||||
*)
|
||||
good_rc=0
|
||||
;;
|
||||
esac
|
||||
$check_program $file
|
||||
if test $? -ne $good_rc ; then
|
||||
echo "$0: failed running:"
|
||||
echo " $check_program $file"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
exit 0
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
63
test/check_iso.sh.in
Normal file
63
test/check_iso.sh.in
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_iso.sh.in,v 1.15 2008/10/17 01:51:47 rocky Exp $
|
||||
|
||||
if test -z $srcdir ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
. ${top_builddir}/test/check_common_fn
|
||||
|
||||
if test ! -x ../src/iso-info@EXEEXT@ ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
fname=copying
|
||||
|
||||
opts="--quiet ${srcdir}/${fname}.iso --iso9660 "
|
||||
test_iso_info "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC 'iso-info basic test' "$ISO_INFO $opts"
|
||||
|
||||
opts="--ignore --image ${srcdir}/${fname}.iso --extract $fname "
|
||||
test_iso_read "$opts" ${fname} ${srcdir}/copying.gpl
|
||||
RC=$?
|
||||
check_result $RC 'iso-read basic test' "$ISO_READ $opts"
|
||||
|
||||
if test -n "@HAVE_ROCK@"; then
|
||||
fname=copying-rr
|
||||
opts="--quiet ${srcdir}/${fname}.iso --iso9660 "
|
||||
test_iso_info "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC 'iso-info Rock Ridge test' "$ISO_INFO $opts"
|
||||
|
||||
opts="--image ${srcdir}/${fname}.iso --extract COPYING"
|
||||
test_iso_read "$opts" ${fname} ${srcdir}/copying-rr.gpl
|
||||
RC=$?
|
||||
check_result $RC 'iso-read RR test' "$ISO_READ $opts"
|
||||
fi
|
||||
|
||||
if test -n "@HAVE_JOLIET@" ; then
|
||||
BASE=`basename $0 .sh`
|
||||
fname=joliet
|
||||
opts="--quiet ${srcdir}/${fname}.iso --iso9660 "
|
||||
test_iso_info "$opts" ${fname}-nojoliet.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC 'iso-info Joliet test' "$cmdline"
|
||||
opts="--quiet ${srcdir}/${fname}.iso --iso9660 --no-joliet "
|
||||
test_iso_info "$opts" ${fname}-nojoliet.dump \
|
||||
${srcdir}/${fname}-nojoliet.right
|
||||
RC=$?
|
||||
check_result $RC 'iso-info --no-joliet test' "$cmdline"
|
||||
fi
|
||||
|
||||
exit $RC
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
74
test/check_nrg.sh.in
Executable file
74
test/check_nrg.sh.in
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_nrg.sh.in,v 1.17 2007/12/28 02:11:01 rocky Exp $
|
||||
|
||||
if test "@VCDINFO_LIBS@X" != "X" ; then
|
||||
vcd_opt='--no-vcd'
|
||||
fi
|
||||
|
||||
if test "X$srcdir" = "X" ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_srcdir" = "X" ; then
|
||||
top_srcdir=`pwd`/..
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
. ${top_builddir}/test/check_common_fn
|
||||
|
||||
if test ! -x $top_srcdir/src/cd-info ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
test_name=videocd
|
||||
opts="--quiet --no-device-info --nrg-file ${srcdir}/${test_name}.nrg $vcd_opt --iso9660"
|
||||
test_cdinfo "$opts" ${test_name}.dump ${srcdir}/${test_name}.right
|
||||
RC=$?
|
||||
check_result $RC 'cd-info NRG test 1' "${CD_INFO} $opts"
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
nrg_file=${srcdir}/monvoisin.nrg
|
||||
|
||||
if test -f $nrg_file ; then
|
||||
test_cdinfo "-q --no-device-info --nrg-file $nrg_file $vcd_opt --iso9660 " \
|
||||
monvoisin.dump ${srcdir}/monvoisin.right
|
||||
RC=$?
|
||||
check_result $RC 'cd-info NRG test 2'
|
||||
else
|
||||
echo "Don't see NRG file ${nrg_file}. Test skipped."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
test_name='svcdgs'
|
||||
nrg_file=${srcdir}/${test_name}.nrg
|
||||
opts="-q --no-device-info --nrg-file $nrg_file $vcd_opt --iso9660"
|
||||
if test -f $nrg_file ; then
|
||||
test_cdinfo "$opts" ${test_name}.dump ${srcdir}/${test_name}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info NRG $test_name" "${CD_INFO} $opts"
|
||||
else
|
||||
echo "Don't see NRG file ${nrg_file}. Test skipped."
|
||||
exit $SKIP_TEST_EXITCODE
|
||||
fi
|
||||
|
||||
test_name='cdda-mcn'
|
||||
nrg_file=${srcdir}/${test_name}.nrg
|
||||
opts="-q --no-device-info --nrg-file $nrg_file --no-cddb"
|
||||
if test -f $nrg_file ; then
|
||||
test_cdinfo "$opts" ${test_name}.dump ${srcdir}/${test_name}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info NRG $test_name" "${CD_INFO} $opts"
|
||||
exit $RC
|
||||
else
|
||||
echo "Don't see NRG file ${nrg_file}. Test skipped."
|
||||
exit $SKIP_TEST_EXITCODE
|
||||
fi
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
37
test/check_opts.sh
Executable file
37
test/check_opts.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_opts.sh,v 1.10 2007/12/28 02:11:01 rocky Exp $
|
||||
# Check cd-info options
|
||||
if test -z "$srcdir" ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
. ${top_builddir}/test/check_common_fn
|
||||
|
||||
if test ! -x ../src/cd-info ; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
BASE=`basename $0 .sh`
|
||||
|
||||
fname=isofs-m1
|
||||
i=0
|
||||
for opt in '-T' '--no-tracks' '-A' '--no-analyze' '-I' '--no-ioctl' \
|
||||
'-q' '--quiet' ; do
|
||||
testname=${BASE}$i
|
||||
opts="--no-device-info --cue-file ${srcdir}/${fname}.cue $opt --quiet"
|
||||
test_cdinfo "$opts" ${testname}.dump ${srcdir}/${testname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info option test $opt" "../src/cd-info $opts"
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
|
||||
exit $RC
|
||||
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
18
test/check_opts0.right
Normal file
18
test/check_opts0.right
Normal file
@@ -0,0 +1,18 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
18
test/check_opts1.right
Normal file
18
test/check_opts1.right
Normal file
@@ -0,0 +1,18 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
12
test/check_opts2.right
Normal file
12
test/check_opts2.right
Normal file
@@ -0,0 +1,12 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
12
test/check_opts3.right
Normal file
12
test/check_opts3.right
Normal file
@@ -0,0 +1,12 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
22
test/check_opts4.right
Normal file
22
test/check_opts4.right
Normal file
@@ -0,0 +1,22 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
22
test/check_opts5.right
Normal file
22
test/check_opts5.right
Normal file
@@ -0,0 +1,22 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
22
test/check_opts6.right
Normal file
22
test/check_opts6.right
Normal file
@@ -0,0 +1,22 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
22
test/check_opts7.right
Normal file
22
test/check_opts7.right
Normal file
@@ -0,0 +1,22 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DATA (Mode 1)
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
92
test/check_paranoia.sh.in
Normal file
92
test/check_paranoia.sh.in
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
# $Id: check_paranoia.sh.in,v 1.18 2008/10/17 01:51:47 rocky Exp $
|
||||
# Compare our cd-paranoia with known good results.
|
||||
|
||||
if test "X$srcdir" = "X" ; then
|
||||
srcdir=`pwd`
|
||||
fi
|
||||
|
||||
if test "X$top_builddir" = "X" ; then
|
||||
top_builddir=`pwd`/..
|
||||
fi
|
||||
|
||||
if test "X$top_srcdir" = "X" ; then
|
||||
top_srcdir=`pwd`/..
|
||||
fi
|
||||
|
||||
if test "@CMP@" != no -a "@BUILD_CD_PARANOIA_TRUE@"X = X ; then
|
||||
cd_paranoia=$top_builddir/src/cd-paranoia/cd-paranoia@EXEEXT@
|
||||
$cd_paranoia -d $srcdir/cdda.cue -v -r -- "1-"
|
||||
if test $? -ne 0 ; then
|
||||
exit 6
|
||||
fi
|
||||
dd bs=16 if=cdda.raw of=cdda-1.raw
|
||||
dd bs=16 if=cdda.bin of=cdda-2.raw
|
||||
if @CMP@ cdda-1.raw cdda-2.raw ; then
|
||||
echo "** Raw cdda.bin extraction okay"
|
||||
else
|
||||
echo "** Raw cdda.bin extraction differ"
|
||||
exit 3
|
||||
fi
|
||||
mv cdda.raw cdda-good.raw
|
||||
$cd_paranoia -d $srcdir/cdda.cue -x 64 -v -r -- "1-"
|
||||
mv cdda.raw cdda-underrun.raw
|
||||
$cd_paranoia -d $srcdir/cdda.cue -r -- "1-"
|
||||
if test $? -ne 0 ; then
|
||||
exit 6
|
||||
fi
|
||||
if @CMP@ cdda-underrun.raw cdda-good.raw ; then
|
||||
echo "** Under-run correction okay"
|
||||
else
|
||||
echo "** Under-run correction problem"
|
||||
exit 3
|
||||
fi
|
||||
# Start out with small jitter
|
||||
$cd_paranoia -l ./cd-paranoia.log -d $srcdir/cdda.cue -x 5 -v -r -- "1-"
|
||||
if test $? -ne 0 ; then
|
||||
exit 6
|
||||
fi
|
||||
mv cdda.raw cdda-jitter.raw
|
||||
if @CMP@ cdda-jitter.raw cdda-good.raw ; then
|
||||
echo "** Small jitter correction okay"
|
||||
else
|
||||
echo "** Small jitter correction problem"
|
||||
exit 3
|
||||
fi
|
||||
tail -3 ./cd-paranoia.log | sed -e's/\[.*\]/\[\]/' > ./cd-paranoia-filtered.log
|
||||
if @CMP@ $srcdir/cd-paranoia-log.right ./cd-paranoia-filtered.log ; then
|
||||
echo "** --log option okay"
|
||||
rm ./cd-paranoia.log ./cd-paranoia-filtered.log
|
||||
else
|
||||
echo "** --log option problem"
|
||||
exit 4
|
||||
fi
|
||||
# A more massive set of failures: underrun + small jitter
|
||||
$cd_paranoia -d $srcdir/cdda.cue -x 69 -v -r -- "1-"
|
||||
if test $? -ne 0 ; then
|
||||
exit 6
|
||||
fi
|
||||
mv cdda.raw cdda-jitter.raw
|
||||
if @CMP@ cdda-jitter.raw cdda-good.raw ; then
|
||||
echo "** under-run + jitter correction okay"
|
||||
else
|
||||
echo "** under-run + jitter correction problem"
|
||||
exit 3
|
||||
fi
|
||||
### FIXME: medium jitter is known to fail. Investigate.
|
||||
### FIXME: large jitter is known to fail. Investigate.
|
||||
exit 0
|
||||
else
|
||||
if test "@CMP@" != no ; then
|
||||
echo "Don't see 'cmp' program. Test skipped."
|
||||
else
|
||||
echo "Don't see libcdio 'cd-paranoia' program. Test skipped."
|
||||
fi
|
||||
exit 77
|
||||
fi
|
||||
fi
|
||||
#;;; Local Variables: ***
|
||||
#;;; mode:shell-script ***
|
||||
#;;; eval: (sh-set-shell "bash") ***
|
||||
#;;; End: ***
|
||||
|
||||
76
test/check_sizeof.c
Normal file
76
test/check_sizeof.c
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
$Id: check_sizeof.c,v 1.5 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2001, 2008 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
#include <cdio/iso9660.h>
|
||||
#include <cdio/types.h>
|
||||
|
||||
/* Private headers */
|
||||
#include "iso9660_private.h"
|
||||
|
||||
#define CHECK_SIZEOF(typnam) { \
|
||||
printf ("checking sizeof (%s) ...", #typnam); \
|
||||
if (sizeof (typnam) != (typnam##_SIZEOF)) { \
|
||||
printf ("failed!\n==> sizeof (%s) == %d (but should be %d)\n", \
|
||||
#typnam, (int)sizeof(typnam), (int)(typnam##_SIZEOF)); \
|
||||
fail++; \
|
||||
} else { pass++; printf ("ok!\n"); } \
|
||||
}
|
||||
|
||||
#define CHECK_SIZEOF_STRUCT(typnam) { \
|
||||
printf ("checking sizeof (struct %s) ...", #typnam); \
|
||||
if (sizeof (struct typnam) != (struct_##typnam##_SIZEOF)) { \
|
||||
printf ("failed!\n==> sizeof (struct %s) == %d (but should be %d)\n", \
|
||||
#typnam, (int)sizeof(struct typnam), (int)(struct_##typnam##_SIZEOF)); \
|
||||
fail++; \
|
||||
} else { pass++; printf ("ok!\n"); } \
|
||||
}
|
||||
|
||||
int main (int argc, const char *argv[])
|
||||
{
|
||||
unsigned fail = 0, pass = 0;
|
||||
|
||||
/* <cdio/types.h> */
|
||||
CHECK_SIZEOF(msf_t);
|
||||
|
||||
/* "iso9660_private.h" */
|
||||
CHECK_SIZEOF(iso_volume_descriptor_t);
|
||||
CHECK_SIZEOF(iso9660_pvd_t);
|
||||
CHECK_SIZEOF(iso_path_table_t);
|
||||
CHECK_SIZEOF(iso9660_dir_t);
|
||||
|
||||
#define iso9660_xa_t_SIZEOF 14
|
||||
|
||||
/* xa.h */
|
||||
CHECK_SIZEOF(iso9660_xa_t);
|
||||
|
||||
if (fail)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
340
test/copying-rr.gpl
Normal file
340
test/copying-rr.gpl
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
BIN
test/copying-rr.iso
Normal file
BIN
test/copying-rr.iso
Normal file
Binary file not shown.
25
test/copying-rr.right
Normal file
25
test/copying-rr.right
Normal file
@@ -0,0 +1,25 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
ISO-9660 Information
|
||||
/:
|
||||
dr-xr-xr-x 4 0 0 [LSN 23] 2048 Oct 22 2004 02:21:14 .
|
||||
dr-xr-xr-x 2 0 0 [LSN 23] 2048 Oct 22 2004 02:21:14 ..
|
||||
dr-xr-xr-x 2 0 0 [LSN 24] 2048 Mar 05 2005 16:12:25 copy
|
||||
lr-xr-xr-x 1 0 0 [LSN 27] 7 Mar 05 2005 15:26:00 Copy2 -> COPYING
|
||||
-r--r--r-- 1 0 0 [LSN 27] 17992 Mar 05 2005 15:25:51 COPYING
|
||||
br--r--r-- 1 0 0 [LSN 36] 0 Mar 05 2005 15:32:05 fd0
|
||||
dr-xr-xr-x 2 0 0 [LSN 25] 2048 Mar 05 2005 16:12:25 tmp
|
||||
cr--r--r-- 1 0 0 [LSN 36] 0 Mar 05 2005 15:31:42 zero
|
||||
|
||||
/copy/:
|
||||
dr-xr-xr-x 2 0 0 [LSN 24] 2048 Mar 05 2005 16:12:25 .
|
||||
dr-xr-xr-x 4 0 0 [LSN 23] 2048 Mar 05 2005 16:12:25 ..
|
||||
lr-xr-xr-x 1 0 0 [LSN 36] 10 Mar 05 2005 15:27:05 COPYING -> ../COPYING
|
||||
|
||||
/tmp/:
|
||||
dr-xr-xr-x 2 0 0 [LSN 25] 2048 Mar 05 2005 16:12:25 .
|
||||
dr-xr-xr-x 4 0 0 [LSN 23] 2048 Mar 05 2005 16:12:25 ..
|
||||
lr-xr-xr-x 1 0 0 [LSN 36] 18 Mar 05 2005 15:51:05 COPYING -> ../copying/COPYING
|
||||
|
||||
340
test/copying.gpl
Normal file
340
test/copying.gpl
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
BIN
test/copying.iso
Normal file
BIN
test/copying.iso
Normal file
Binary file not shown.
10
test/copying.right
Normal file
10
test/copying.right
Normal file
@@ -0,0 +1,10 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
ISO-9660 Information
|
||||
/:
|
||||
d [LSN 23] 2048 Jan 05 2006 21:50:19 .
|
||||
d [LSN 23] 2048 Jan 05 2006 21:50:19 ..
|
||||
- [LSN 24] 18002 Jan 05 2006 21:46:30 copying
|
||||
|
||||
8
test/data1.toc
Normal file
8
test/data1.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// $Id: data1.toc,v 1.1 2004/05/08 20:36:02 rocky Exp $
|
||||
// Just a single MODE1 track.
|
||||
|
||||
CD_ROM
|
||||
|
||||
TRACK MODE1
|
||||
SILENCE 0:59:74
|
||||
|
||||
13
test/data2.toc
Normal file
13
test/data2.toc
Normal file
@@ -0,0 +1,13 @@
|
||||
// $Id
|
||||
// MODE1 track followed by an AUDIO track
|
||||
|
||||
CD_ROM
|
||||
|
||||
TRACK MODE1
|
||||
FILE "isofs-m1.bin" 00:00:00
|
||||
ZERO 1:0:0
|
||||
|
||||
TRACK AUDIO
|
||||
PREGAP 0:2:0
|
||||
FILE "cdda.bin" 00:00:00
|
||||
|
||||
13
test/data5.toc
Normal file
13
test/data5.toc
Normal file
@@ -0,0 +1,13 @@
|
||||
// $Id: data5.toc,v 1.2 2005/01/23 00:45:57 rocky Exp $
|
||||
// XA disk
|
||||
//
|
||||
|
||||
CD_ROM_XA
|
||||
|
||||
TRACK MODE2_FORM2
|
||||
FILE "isofs-m1.bin" 00:00:00 00:13:57
|
||||
|
||||
TRACK MODE2_FORM1
|
||||
PREGAP 0:2:0
|
||||
FILE "isofs-m1.bin" 00:20:71 00:00:00
|
||||
|
||||
8
test/data6.toc
Normal file
8
test/data6.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// $Id: data6.toc,v 1.2 2005/01/23 00:45:57 rocky Exp $
|
||||
// MODE2 track
|
||||
//
|
||||
|
||||
CD_ROM
|
||||
|
||||
TRACK MODE2
|
||||
FILE "isofs-m1.bin" 00:00:00 00:13:57
|
||||
13
test/data7.toc
Normal file
13
test/data7.toc
Normal file
@@ -0,0 +1,13 @@
|
||||
// $Id: data7.toc,v 1.2 2005/01/23 00:45:57 rocky Exp $
|
||||
// Video CD
|
||||
//
|
||||
|
||||
CD_ROM_XA
|
||||
|
||||
TRACK MODE1 // ISO filesystem
|
||||
FILE "isofs-m1.bin" 00:00:00 00:13:57
|
||||
|
||||
TRACK MODE2_FORM_MIX // XA track with form 1 and form 2 sectors
|
||||
PREGAP 0:2:0
|
||||
FILE "isofs-m1.bin" 00:20:71 00:00:00
|
||||
|
||||
12
test/fsf.right
Normal file
12
test/fsf.right
Normal file
@@ -0,0 +1,12 @@
|
||||
CD Info 2.0 | (c) 2003 Gerd Knorr, Heiko Ei<45>feldt & R. Bernstein
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type
|
||||
1: 00:02:00 000000 audio
|
||||
170: 01:50:20 008120 leadout
|
||||
__________________________________
|
||||
try to find out what sort of CD this is
|
||||
Audio CD, CDDB disc ID is 02006c01
|
||||
33
test/isofs-m1-no-rr.right
Normal file
33
test/isofs-m1-no-rr.right
Normal file
@@ -0,0 +1,33 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d [LSN 23] 2048 Apr 20 2003 11:26:46 .
|
||||
d [LSN 23] 2048 Apr 20 2003 11:26:46 ..
|
||||
- [LSN 26] 17992 Jul 29 2002 12:39:53 copying
|
||||
d [LSN 24] 2048 Apr 20 2003 16:18:53 doc
|
||||
|
||||
/doc/:
|
||||
d [LSN 24] 2048 Apr 20 2003 16:18:53 .
|
||||
d [LSN 23] 2048 Apr 20 2003 11:26:46 ..
|
||||
- [LSN 35] 648 Apr 20 2003 16:18:53 readme.txt
|
||||
|
||||
261
test/isofs-m1-read.right
Normal file
261
test/isofs-m1-read.right
Normal file
@@ -0,0 +1,261 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
0x0000: 0909 2020 2020 474e 5520 4745 4e45 5241 .. GNU GENERA
|
||||
0x0010: 4c20 5055 424c 4943 204c 4943 454e 5345 L PUBLIC LICENSE
|
||||
0x0020: 0a09 0920 2020 2020 2020 5665 7273 696f ... Versio
|
||||
0x0030: 6e20 322c 204a 756e 6520 3139 3931 0a0a n 2, June 1991..
|
||||
0x0040: 2043 6f70 7972 6967 6874 2028 4329 2031 Copyright (C) 1
|
||||
0x0050: 3938 392c 2031 3939 3120 4672 6565 2053 989, 1991 Free S
|
||||
0x0060: 6f66 7477 6172 6520 466f 756e 6461 7469 oftware Foundati
|
||||
0x0070: 6f6e 2c20 496e 632e 0a20 2020 2020 3539 on, Inc.. 59
|
||||
0x0080: 2054 656d 706c 6520 506c 6163 652c 2053 Temple Place, S
|
||||
0x0090: 7569 7465 2033 3330 2c20 426f 7374 6f6e uite 330, Boston
|
||||
0x00a0: 2c20 4d41 2020 3032 3131 312d 3133 3037 , MA 02111-1307
|
||||
0x00b0: 2020 5553 410a 2045 7665 7279 6f6e 6520 USA. Everyone
|
||||
0x00c0: 6973 2070 6572 6d69 7474 6564 2074 6f20 is permitted to
|
||||
0x00d0: 636f 7079 2061 6e64 2064 6973 7472 6962 copy and distrib
|
||||
0x00e0: 7574 6520 7665 7262 6174 696d 2063 6f70 ute verbatim cop
|
||||
0x00f0: 6965 730a 206f 6620 7468 6973 206c 6963 ies. of this lic
|
||||
0x0100: 656e 7365 2064 6f63 756d 656e 742c 2062 ense document, b
|
||||
0x0110: 7574 2063 6861 6e67 696e 6720 6974 2069 ut changing it i
|
||||
0x0120: 7320 6e6f 7420 616c 6c6f 7765 642e 0a0a s not allowed...
|
||||
0x0130: 0909 0920 2020 2050 7265 616d 626c 650a ... Preamble.
|
||||
0x0140: 0a20 2054 6865 206c 6963 656e 7365 7320 . The licenses
|
||||
0x0150: 666f 7220 6d6f 7374 2073 6f66 7477 6172 for most softwar
|
||||
0x0160: 6520 6172 6520 6465 7369 676e 6564 2074 e are designed t
|
||||
0x0170: 6f20 7461 6b65 2061 7761 7920 796f 7572 o take away your
|
||||
0x0180: 0a66 7265 6564 6f6d 2074 6f20 7368 6172 .freedom to shar
|
||||
0x0190: 6520 616e 6420 6368 616e 6765 2069 742e e and change it.
|
||||
0x01a0: 2020 4279 2063 6f6e 7472 6173 742c 2074 By contrast, t
|
||||
0x01b0: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P
|
||||
0x01c0: 7562 6c69 630a 4c69 6365 6e73 6520 6973 ublic.License is
|
||||
0x01d0: 2069 6e74 656e 6465 6420 746f 2067 7561 intended to gua
|
||||
0x01e0: 7261 6e74 6565 2079 6f75 7220 6672 6565 rantee your free
|
||||
0x01f0: 646f 6d20 746f 2073 6861 7265 2061 6e64 dom to share and
|
||||
0x0200: 2063 6861 6e67 6520 6672 6565 0a73 6f66 change free.sof
|
||||
0x0210: 7477 6172 652d 2d74 6f20 6d61 6b65 2073 tware--to make s
|
||||
0x0220: 7572 6520 7468 6520 736f 6674 7761 7265 ure the software
|
||||
0x0230: 2069 7320 6672 6565 2066 6f72 2061 6c6c is free for all
|
||||
0x0240: 2069 7473 2075 7365 7273 2e20 2054 6869 its users. Thi
|
||||
0x0250: 730a 4765 6e65 7261 6c20 5075 626c 6963 s.General Public
|
||||
0x0260: 204c 6963 656e 7365 2061 7070 6c69 6573 License applies
|
||||
0x0270: 2074 6f20 6d6f 7374 206f 6620 7468 6520 to most of the
|
||||
0x0280: 4672 6565 2053 6f66 7477 6172 650a 466f Free Software.Fo
|
||||
0x0290: 756e 6461 7469 6f6e 2773 2073 6f66 7477 undation's softw
|
||||
0x02a0: 6172 6520 616e 6420 746f 2061 6e79 206f are and to any o
|
||||
0x02b0: 7468 6572 2070 726f 6772 616d 2077 686f ther program who
|
||||
0x02c0: 7365 2061 7574 686f 7273 2063 6f6d 6d69 se authors commi
|
||||
0x02d0: 7420 746f 0a75 7369 6e67 2069 742e 2020 t to.using it.
|
||||
0x02e0: 2853 6f6d 6520 6f74 6865 7220 4672 6565 (Some other Free
|
||||
0x02f0: 2053 6f66 7477 6172 6520 466f 756e 6461 Software Founda
|
||||
0x0300: 7469 6f6e 2073 6f66 7477 6172 6520 6973 tion software is
|
||||
0x0310: 2063 6f76 6572 6564 2062 790a 7468 6520 covered by.the
|
||||
0x0320: 474e 5520 4c69 6272 6172 7920 4765 6e65 GNU Library Gene
|
||||
0x0330: 7261 6c20 5075 626c 6963 204c 6963 656e ral Public Licen
|
||||
0x0340: 7365 2069 6e73 7465 6164 2e29 2020 596f se instead.) Yo
|
||||
0x0350: 7520 6361 6e20 6170 706c 7920 6974 2074 u can apply it t
|
||||
0x0360: 6f0a 796f 7572 2070 726f 6772 616d 732c o.your programs,
|
||||
0x0370: 2074 6f6f 2e0a 0a20 2057 6865 6e20 7765 too... When we
|
||||
0x0380: 2073 7065 616b 206f 6620 6672 6565 2073 speak of free s
|
||||
0x0390: 6f66 7477 6172 652c 2077 6520 6172 6520 oftware, we are
|
||||
0x03a0: 7265 6665 7272 696e 6720 746f 2066 7265 referring to fre
|
||||
0x03b0: 6564 6f6d 2c20 6e6f 740a 7072 6963 652e edom, not.price.
|
||||
0x03c0: 2020 4f75 7220 4765 6e65 7261 6c20 5075 Our General Pu
|
||||
0x03d0: 626c 6963 204c 6963 656e 7365 7320 6172 blic Licenses ar
|
||||
0x03e0: 6520 6465 7369 676e 6564 2074 6f20 6d61 e designed to ma
|
||||
0x03f0: 6b65 2073 7572 6520 7468 6174 2079 6f75 ke sure that you
|
||||
0x0400: 0a68 6176 6520 7468 6520 6672 6565 646f .have the freedo
|
||||
0x0410: 6d20 746f 2064 6973 7472 6962 7574 6520 m to distribute
|
||||
0x0420: 636f 7069 6573 206f 6620 6672 6565 2073 copies of free s
|
||||
0x0430: 6f66 7477 6172 6520 2861 6e64 2063 6861 oftware (and cha
|
||||
0x0440: 7267 6520 666f 720a 7468 6973 2073 6572 rge for.this ser
|
||||
0x0450: 7669 6365 2069 6620 796f 7520 7769 7368 vice if you wish
|
||||
0x0460: 292c 2074 6861 7420 796f 7520 7265 6365 ), that you rece
|
||||
0x0470: 6976 6520 736f 7572 6365 2063 6f64 6520 ive source code
|
||||
0x0480: 6f72 2063 616e 2067 6574 2069 740a 6966 or can get it.if
|
||||
0x0490: 2079 6f75 2077 616e 7420 6974 2c20 7468 you want it, th
|
||||
0x04a0: 6174 2079 6f75 2063 616e 2063 6861 6e67 at you can chang
|
||||
0x04b0: 6520 7468 6520 736f 6674 7761 7265 206f e the software o
|
||||
0x04c0: 7220 7573 6520 7069 6563 6573 206f 6620 r use pieces of
|
||||
0x04d0: 6974 0a69 6e20 6e65 7720 6672 6565 2070 it.in new free p
|
||||
0x04e0: 726f 6772 616d 733b 2061 6e64 2074 6861 rograms; and tha
|
||||
0x04f0: 7420 796f 7520 6b6e 6f77 2079 6f75 2063 t you know you c
|
||||
0x0500: 616e 2064 6f20 7468 6573 6520 7468 696e an do these thin
|
||||
0x0510: 6773 2e0a 0a20 2054 6f20 7072 6f74 6563 gs... To protec
|
||||
0x0520: 7420 796f 7572 2072 6967 6874 732c 2077 t your rights, w
|
||||
0x0530: 6520 6e65 6564 2074 6f20 6d61 6b65 2072 e need to make r
|
||||
0x0540: 6573 7472 6963 7469 6f6e 7320 7468 6174 estrictions that
|
||||
0x0550: 2066 6f72 6269 640a 616e 796f 6e65 2074 forbid.anyone t
|
||||
0x0560: 6f20 6465 6e79 2079 6f75 2074 6865 7365 o deny you these
|
||||
0x0570: 2072 6967 6874 7320 6f72 2074 6f20 6173 rights or to as
|
||||
0x0580: 6b20 796f 7520 746f 2073 7572 7265 6e64 k you to surrend
|
||||
0x0590: 6572 2074 6865 2072 6967 6874 732e 0a54 er the rights..T
|
||||
0x05a0: 6865 7365 2072 6573 7472 6963 7469 6f6e hese restriction
|
||||
0x05b0: 7320 7472 616e 736c 6174 6520 746f 2063 s translate to c
|
||||
0x05c0: 6572 7461 696e 2072 6573 706f 6e73 6962 ertain responsib
|
||||
0x05d0: 696c 6974 6965 7320 666f 7220 796f 7520 ilities for you
|
||||
0x05e0: 6966 2079 6f75 0a64 6973 7472 6962 7574 if you.distribut
|
||||
0x05f0: 6520 636f 7069 6573 206f 6620 7468 6520 e copies of the
|
||||
0x0600: 736f 6674 7761 7265 2c20 6f72 2069 6620 software, or if
|
||||
0x0610: 796f 7520 6d6f 6469 6679 2069 742e 0a0a you modify it...
|
||||
0x0620: 2020 466f 7220 6578 616d 706c 652c 2069 For example, i
|
||||
0x0630: 6620 796f 7520 6469 7374 7269 6275 7465 f you distribute
|
||||
0x0640: 2063 6f70 6965 7320 6f66 2073 7563 6820 copies of such
|
||||
0x0650: 6120 7072 6f67 7261 6d2c 2077 6865 7468 a program, wheth
|
||||
0x0660: 6572 0a67 7261 7469 7320 6f72 2066 6f72 er.gratis or for
|
||||
0x0670: 2061 2066 6565 2c20 796f 7520 6d75 7374 a fee, you must
|
||||
0x0680: 2067 6976 6520 7468 6520 7265 6369 7069 give the recipi
|
||||
0x0690: 656e 7473 2061 6c6c 2074 6865 2072 6967 ents all the rig
|
||||
0x06a0: 6874 7320 7468 6174 0a79 6f75 2068 6176 hts that.you hav
|
||||
0x06b0: 652e 2020 596f 7520 6d75 7374 206d 616b e. You must mak
|
||||
0x06c0: 6520 7375 7265 2074 6861 7420 7468 6579 e sure that they
|
||||
0x06d0: 2c20 746f 6f2c 2072 6563 6569 7665 206f , too, receive o
|
||||
0x06e0: 7220 6361 6e20 6765 7420 7468 650a 736f r can get the.so
|
||||
0x06f0: 7572 6365 2063 6f64 652e 2020 416e 6420 urce code. And
|
||||
0x0700: 796f 7520 6d75 7374 2073 686f 7720 7468 you must show th
|
||||
0x0710: 656d 2074 6865 7365 2074 6572 6d73 2073 em these terms s
|
||||
0x0720: 6f20 7468 6579 206b 6e6f 7720 7468 6569 o they know thei
|
||||
0x0730: 720a 7269 6768 7473 2e0a 0a20 2057 6520 r.rights... We
|
||||
0x0740: 7072 6f74 6563 7420 796f 7572 2072 6967 protect your rig
|
||||
0x0750: 6874 7320 7769 7468 2074 776f 2073 7465 hts with two ste
|
||||
0x0760: 7073 3a20 2831 2920 636f 7079 7269 6768 ps: (1) copyrigh
|
||||
0x0770: 7420 7468 6520 736f 6674 7761 7265 2c20 t the software,
|
||||
0x0780: 616e 640a 2832 2920 6f66 6665 7220 796f and.(2) offer yo
|
||||
0x0790: 7520 7468 6973 206c 6963 656e 7365 2077 u this license w
|
||||
0x07a0: 6869 6368 2067 6976 6573 2079 6f75 206c hich gives you l
|
||||
0x07b0: 6567 616c 2070 6572 6d69 7373 696f 6e20 egal permission
|
||||
0x07c0: 746f 2063 6f70 792c 0a64 6973 7472 6962 to copy,.distrib
|
||||
0x07d0: 7574 6520 616e 642f 6f72 206d 6f64 6966 ute and/or modif
|
||||
0x07e0: 7920 7468 6520 736f 6674 7761 7265 2e0a y the software..
|
||||
0x07f0: 0a20 2041 6c73 6f2c 2066 6f72 2065 6163 . Also, for eac
|
||||
|
||||
0x0000: 6820 6175 7468 6f72 2773 2070 726f 7465 h author's prote
|
||||
0x0010: 6374 696f 6e20 616e 6420 6f75 7273 2c20 ction and ours,
|
||||
0x0020: 7765 2077 616e 7420 746f 206d 616b 6520 we want to make
|
||||
0x0030: 6365 7274 6169 6e0a 7468 6174 2065 7665 certain.that eve
|
||||
0x0040: 7279 6f6e 6520 756e 6465 7273 7461 6e64 ryone understand
|
||||
0x0050: 7320 7468 6174 2074 6865 7265 2069 7320 s that there is
|
||||
0x0060: 6e6f 2077 6172 7261 6e74 7920 666f 7220 no warranty for
|
||||
0x0070: 7468 6973 2066 7265 650a 736f 6674 7761 this free.softwa
|
||||
0x0080: 7265 2e20 2049 6620 7468 6520 736f 6674 re. If the soft
|
||||
0x0090: 7761 7265 2069 7320 6d6f 6469 6669 6564 ware is modified
|
||||
0x00a0: 2062 7920 736f 6d65 6f6e 6520 656c 7365 by someone else
|
||||
0x00b0: 2061 6e64 2070 6173 7365 6420 6f6e 2c20 and passed on,
|
||||
0x00c0: 7765 0a77 616e 7420 6974 7320 7265 6369 we.want its reci
|
||||
0x00d0: 7069 656e 7473 2074 6f20 6b6e 6f77 2074 pients to know t
|
||||
0x00e0: 6861 7420 7768 6174 2074 6865 7920 6861 hat what they ha
|
||||
0x00f0: 7665 2069 7320 6e6f 7420 7468 6520 6f72 ve is not the or
|
||||
0x0100: 6967 696e 616c 2c20 736f 0a74 6861 7420 iginal, so.that
|
||||
0x0110: 616e 7920 7072 6f62 6c65 6d73 2069 6e74 any problems int
|
||||
0x0120: 726f 6475 6365 6420 6279 206f 7468 6572 roduced by other
|
||||
0x0130: 7320 7769 6c6c 206e 6f74 2072 6566 6c65 s will not refle
|
||||
0x0140: 6374 206f 6e20 7468 6520 6f72 6967 696e ct on the origin
|
||||
0x0150: 616c 0a61 7574 686f 7273 2720 7265 7075 al.authors' repu
|
||||
0x0160: 7461 7469 6f6e 732e 0a0a 2020 4669 6e61 tations... Fina
|
||||
0x0170: 6c6c 792c 2061 6e79 2066 7265 6520 7072 lly, any free pr
|
||||
0x0180: 6f67 7261 6d20 6973 2074 6872 6561 7465 ogram is threate
|
||||
0x0190: 6e65 6420 636f 6e73 7461 6e74 6c79 2062 ned constantly b
|
||||
0x01a0: 7920 736f 6674 7761 7265 0a70 6174 656e y software.paten
|
||||
0x01b0: 7473 2e20 2057 6520 7769 7368 2074 6f20 ts. We wish to
|
||||
0x01c0: 6176 6f69 6420 7468 6520 6461 6e67 6572 avoid the danger
|
||||
0x01d0: 2074 6861 7420 7265 6469 7374 7269 6275 that redistribu
|
||||
0x01e0: 746f 7273 206f 6620 6120 6672 6565 0a70 tors of a free.p
|
||||
0x01f0: 726f 6772 616d 2077 696c 6c20 696e 6469 rogram will indi
|
||||
0x0200: 7669 6475 616c 6c79 206f 6274 6169 6e20 vidually obtain
|
||||
0x0210: 7061 7465 6e74 206c 6963 656e 7365 732c patent licenses,
|
||||
0x0220: 2069 6e20 6566 6665 6374 206d 616b 696e in effect makin
|
||||
0x0230: 6720 7468 650a 7072 6f67 7261 6d20 7072 g the.program pr
|
||||
0x0240: 6f70 7269 6574 6172 792e 2020 546f 2070 oprietary. To p
|
||||
0x0250: 7265 7665 6e74 2074 6869 732c 2077 6520 revent this, we
|
||||
0x0260: 6861 7665 206d 6164 6520 6974 2063 6c65 have made it cle
|
||||
0x0270: 6172 2074 6861 7420 616e 790a 7061 7465 ar that any.pate
|
||||
0x0280: 6e74 206d 7573 7420 6265 206c 6963 656e nt must be licen
|
||||
0x0290: 7365 6420 666f 7220 6576 6572 796f 6e65 sed for everyone
|
||||
0x02a0: 2773 2066 7265 6520 7573 6520 6f72 206e 's free use or n
|
||||
0x02b0: 6f74 206c 6963 656e 7365 6420 6174 2061 ot licensed at a
|
||||
0x02c0: 6c6c 2e0a 0a20 2054 6865 2070 7265 6369 ll... The preci
|
||||
0x02d0: 7365 2074 6572 6d73 2061 6e64 2063 6f6e se terms and con
|
||||
0x02e0: 6469 7469 6f6e 7320 666f 7220 636f 7079 ditions for copy
|
||||
0x02f0: 696e 672c 2064 6973 7472 6962 7574 696f ing, distributio
|
||||
0x0300: 6e20 616e 640a 6d6f 6469 6669 6361 7469 n and.modificati
|
||||
0x0310: 6f6e 2066 6f6c 6c6f 772e 0a0c 0a09 0920 on follow......
|
||||
0x0320: 2020 2047 4e55 2047 454e 4552 414c 2050 GNU GENERAL P
|
||||
0x0330: 5542 4c49 4320 4c49 4345 4e53 450a 2020 UBLIC LICENSE.
|
||||
0x0340: 2054 4552 4d53 2041 4e44 2043 4f4e 4449 TERMS AND CONDI
|
||||
0x0350: 5449 4f4e 5320 464f 5220 434f 5059 494e TIONS FOR COPYIN
|
||||
0x0360: 472c 2044 4953 5452 4942 5554 494f 4e20 G, DISTRIBUTION
|
||||
0x0370: 414e 4420 4d4f 4449 4649 4341 5449 4f4e AND MODIFICATION
|
||||
0x0380: 0a0a 2020 302e 2054 6869 7320 4c69 6365 .. 0. This Lice
|
||||
0x0390: 6e73 6520 6170 706c 6965 7320 746f 2061 nse applies to a
|
||||
0x03a0: 6e79 2070 726f 6772 616d 206f 7220 6f74 ny program or ot
|
||||
0x03b0: 6865 7220 776f 726b 2077 6869 6368 2063 her work which c
|
||||
0x03c0: 6f6e 7461 696e 730a 6120 6e6f 7469 6365 ontains.a notice
|
||||
0x03d0: 2070 6c61 6365 6420 6279 2074 6865 2063 placed by the c
|
||||
0x03e0: 6f70 7972 6967 6874 2068 6f6c 6465 7220 opyright holder
|
||||
0x03f0: 7361 7969 6e67 2069 7420 6d61 7920 6265 saying it may be
|
||||
0x0400: 2064 6973 7472 6962 7574 6564 0a75 6e64 distributed.und
|
||||
0x0410: 6572 2074 6865 2074 6572 6d73 206f 6620 er the terms of
|
||||
0x0420: 7468 6973 2047 656e 6572 616c 2050 7562 this General Pub
|
||||
0x0430: 6c69 6320 4c69 6365 6e73 652e 2020 5468 lic License. Th
|
||||
0x0440: 6520 2250 726f 6772 616d 222c 2062 656c e "Program", bel
|
||||
0x0450: 6f77 2c0a 7265 6665 7273 2074 6f20 616e ow,.refers to an
|
||||
0x0460: 7920 7375 6368 2070 726f 6772 616d 206f y such program o
|
||||
0x0470: 7220 776f 726b 2c20 616e 6420 6120 2277 r work, and a "w
|
||||
0x0480: 6f72 6b20 6261 7365 6420 6f6e 2074 6865 ork based on the
|
||||
0x0490: 2050 726f 6772 616d 220a 6d65 616e 7320 Program".means
|
||||
0x04a0: 6569 7468 6572 2074 6865 2050 726f 6772 either the Progr
|
||||
0x04b0: 616d 206f 7220 616e 7920 6465 7269 7661 am or any deriva
|
||||
0x04c0: 7469 7665 2077 6f72 6b20 756e 6465 7220 tive work under
|
||||
0x04d0: 636f 7079 7269 6768 7420 6c61 773a 0a74 copyright law:.t
|
||||
0x04e0: 6861 7420 6973 2074 6f20 7361 792c 2061 hat is to say, a
|
||||
0x04f0: 2077 6f72 6b20 636f 6e74 6169 6e69 6e67 work containing
|
||||
0x0500: 2074 6865 2050 726f 6772 616d 206f 7220 the Program or
|
||||
0x0510: 6120 706f 7274 696f 6e20 6f66 2069 742c a portion of it,
|
||||
0x0520: 0a65 6974 6865 7220 7665 7262 6174 696d .either verbatim
|
||||
0x0530: 206f 7220 7769 7468 206d 6f64 6966 6963 or with modific
|
||||
0x0540: 6174 696f 6e73 2061 6e64 2f6f 7220 7472 ations and/or tr
|
||||
0x0550: 616e 736c 6174 6564 2069 6e74 6f20 616e anslated into an
|
||||
0x0560: 6f74 6865 720a 6c61 6e67 7561 6765 2e20 other.language.
|
||||
0x0570: 2028 4865 7265 696e 6166 7465 722c 2074 (Hereinafter, t
|
||||
0x0580: 7261 6e73 6c61 7469 6f6e 2069 7320 696e ranslation is in
|
||||
0x0590: 636c 7564 6564 2077 6974 686f 7574 206c cluded without l
|
||||
0x05a0: 696d 6974 6174 696f 6e20 696e 0a74 6865 imitation in.the
|
||||
0x05b0: 2074 6572 6d20 226d 6f64 6966 6963 6174 term "modificat
|
||||
0x05c0: 696f 6e22 2e29 2020 4561 6368 206c 6963 ion".) Each lic
|
||||
0x05d0: 656e 7365 6520 6973 2061 6464 7265 7373 ensee is address
|
||||
0x05e0: 6564 2061 7320 2279 6f75 222e 0a0a 4163 ed as "you"...Ac
|
||||
0x05f0: 7469 7669 7469 6573 206f 7468 6572 2074 tivities other t
|
||||
0x0600: 6861 6e20 636f 7079 696e 672c 2064 6973 han copying, dis
|
||||
0x0610: 7472 6962 7574 696f 6e20 616e 6420 6d6f tribution and mo
|
||||
0x0620: 6469 6669 6361 7469 6f6e 2061 7265 206e dification are n
|
||||
0x0630: 6f74 0a63 6f76 6572 6564 2062 7920 7468 ot.covered by th
|
||||
0x0640: 6973 204c 6963 656e 7365 3b20 7468 6579 is License; they
|
||||
0x0650: 2061 7265 206f 7574 7369 6465 2069 7473 are outside its
|
||||
0x0660: 2073 636f 7065 2e20 2054 6865 2061 6374 scope. The act
|
||||
0x0670: 206f 660a 7275 6e6e 696e 6720 7468 6520 of.running the
|
||||
0x0680: 5072 6f67 7261 6d20 6973 206e 6f74 2072 Program is not r
|
||||
0x0690: 6573 7472 6963 7465 642c 2061 6e64 2074 estricted, and t
|
||||
0x06a0: 6865 206f 7574 7075 7420 6672 6f6d 2074 he output from t
|
||||
0x06b0: 6865 2050 726f 6772 616d 0a69 7320 636f he Program.is co
|
||||
0x06c0: 7665 7265 6420 6f6e 6c79 2069 6620 6974 vered only if it
|
||||
0x06d0: 7320 636f 6e74 656e 7473 2063 6f6e 7374 s contents const
|
||||
0x06e0: 6974 7574 6520 6120 776f 726b 2062 6173 itute a work bas
|
||||
0x06f0: 6564 206f 6e20 7468 650a 5072 6f67 7261 ed on the.Progra
|
||||
0x0700: 6d20 2869 6e64 6570 656e 6465 6e74 206f m (independent o
|
||||
0x0710: 6620 6861 7669 6e67 2062 6565 6e20 6d61 f having been ma
|
||||
0x0720: 6465 2062 7920 7275 6e6e 696e 6720 7468 de by running th
|
||||
0x0730: 6520 5072 6f67 7261 6d29 2e0a 5768 6574 e Program)..Whet
|
||||
0x0740: 6865 7220 7468 6174 2069 7320 7472 7565 her that is true
|
||||
0x0750: 2064 6570 656e 6473 206f 6e20 7768 6174 depends on what
|
||||
0x0760: 2074 6865 2050 726f 6772 616d 2064 6f65 the Program doe
|
||||
0x0770: 732e 0a0a 2020 312e 2059 6f75 206d 6179 s... 1. You may
|
||||
0x0780: 2063 6f70 7920 616e 6420 6469 7374 7269 copy and distri
|
||||
0x0790: 6275 7465 2076 6572 6261 7469 6d20 636f bute verbatim co
|
||||
0x07a0: 7069 6573 206f 6620 7468 6520 5072 6f67 pies of the Prog
|
||||
0x07b0: 7261 6d27 730a 736f 7572 6365 2063 6f64 ram's.source cod
|
||||
0x07c0: 6520 6173 2079 6f75 2072 6563 6569 7665 e as you receive
|
||||
0x07d0: 2069 742c 2069 6e20 616e 7920 6d65 6469 it, in any medi
|
||||
0x07e0: 756d 2c20 7072 6f76 6964 6564 2074 6861 um, provided tha
|
||||
0x07f0: 7420 796f 750a 636f 6e73 7069 6375 6f75 t you.conspicuou
|
||||
|
||||
BIN
test/isofs-m1.bin
Normal file
BIN
test/isofs-m1.bin
Normal file
Binary file not shown.
3
test/isofs-m1.cue
Normal file
3
test/isofs-m1.cue
Normal file
@@ -0,0 +1,3 @@
|
||||
FILE "ISOFS-M1.BIN" BINARY
|
||||
TRACK 01 MODE1/2352
|
||||
INDEX 01 00:00:00
|
||||
33
test/isofs-m1.right
Normal file
33
test/isofs-m1.right
Normal file
@@ -0,0 +1,33 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 data false no
|
||||
170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 64 blocks, label `CDROM '
|
||||
Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : LINUX
|
||||
Volume : CDROM
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
drwxrwxr-x 3 715 715 [LSN 23] 2048 Apr 20 2003 11:26:46 .
|
||||
drwxrwxr-x 3 715 715 [LSN 23] 2048 Apr 20 2003 11:26:46 ..
|
||||
-rw-r--r-- 1 715 715 [LSN 26] 17992 Jul 29 2002 12:39:53 COPYING
|
||||
drwxrwxr-x 2 715 715 [LSN 24] 2048 Apr 20 2003 16:18:53 doc
|
||||
|
||||
/doc/:
|
||||
drwxrwxr-x 2 715 715 [LSN 24] 2048 Apr 20 2003 16:18:53 .
|
||||
drwxrwxr-x 3 715 715 [LSN 23] 2048 Apr 20 2003 11:26:46 ..
|
||||
-rw-rw-r-- 1 715 715 [LSN 35] 648 Apr 20 2003 16:18:53 readme.txt
|
||||
|
||||
4
test/isofs-m1.toc
Normal file
4
test/isofs-m1.toc
Normal file
@@ -0,0 +1,4 @@
|
||||
CD_ROM
|
||||
|
||||
TRACK MODE1_RAW
|
||||
FILE "isofs-m1.bin" 00:00:00 00:00:00
|
||||
23
test/joliet-nojoliet.right
Normal file
23
test/joliet-nojoliet.right
Normal file
@@ -0,0 +1,23 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
ISO-9660 Information
|
||||
/:
|
||||
d [LSN 28] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 28] 2048 Oct 22 2004 22:44:59 ..
|
||||
d [LSN 29] 2048 Oct 22 2004 22:44:59 libcdio
|
||||
|
||||
/libcdio/:
|
||||
d [LSN 29] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 28] 2048 Oct 22 2004 22:44:59 ..
|
||||
- [LSN 34] 17992 Mar 12 2004 07:18:03 copying
|
||||
- [LSN 43] 2156 Jun 26 2004 10:01:09 readme
|
||||
- [LSN 45] 2849 Aug 12 2004 09:22:23 readme.libcdio
|
||||
d [LSN 30] 2048 Oct 22 2004 22:44:59 test
|
||||
|
||||
/libcdio/test/:
|
||||
d [LSN 30] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 29] 2048 Oct 22 2004 22:44:59 ..
|
||||
- [LSN 47] 74 Jul 25 2004 09:52:32 isofs_m1.cue
|
||||
|
||||
BIN
test/joliet.iso
Normal file
BIN
test/joliet.iso
Normal file
Binary file not shown.
23
test/joliet.right
Normal file
23
test/joliet.right
Normal file
@@ -0,0 +1,23 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
ISO-9660 Information
|
||||
/:
|
||||
d [LSN 31] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 31] 2048 Oct 22 2004 22:44:59 ..
|
||||
d [LSN 32] 2048 Oct 22 2004 22:44:59 libcdio
|
||||
|
||||
/libcdio/:
|
||||
d [LSN 32] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 31] 2048 Oct 22 2004 22:44:59 ..
|
||||
- [LSN 34] 17992 Mar 12 2004 07:18:03 COPYING
|
||||
- [LSN 43] 2156 Jun 26 2004 10:01:09 README
|
||||
- [LSN 45] 2849 Aug 12 2004 09:22:23 README.libcdio
|
||||
d [LSN 33] 2048 Oct 22 2004 22:44:59 test
|
||||
|
||||
/libcdio/test/:
|
||||
d [LSN 33] 2048 Oct 22 2004 22:44:59 .
|
||||
d [LSN 32] 2048 Oct 22 2004 22:44:59 ..
|
||||
- [LSN 47] 74 Jul 25 2004 09:52:32 isofs-m1.cue
|
||||
|
||||
68
test/monvoisin.right
Normal file
68
test/monvoisin.right
Normal file
@@ -0,0 +1,68 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD DATA (Mode 2)
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true no
|
||||
2: 00:18:51 001251 XA true no
|
||||
170: 00:39:71 002846 leadout (6 MB raw, 6 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 1101 blocks, label `MONVOISIN '
|
||||
Application: CDI/CDI_VCD.APP;1
|
||||
Preparer :
|
||||
Publisher :
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : MONVOISIN
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Feb 19 2001 15:37:04 cdi
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Feb 19 2001 15:37:04 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Feb 19 2001 15:37:04 mpegav
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Feb 19 2001 15:37:04 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Feb 19 2001 15:37:04 vcd
|
||||
|
||||
/CDI/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 211] 1494332 ( 1315168) Feb 19 2001 15:37:04 cdi_imag.rtf
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 854] 13616 Feb 19 2001 15:37:04 cdi_text.fnt
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 861] 102400 Feb 19 2001 15:37:04 cdi_vcd.app
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 911] 279 Feb 19 2001 15:37:04 cdi_vcd.cfg
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 912] 65536 Feb 19 2001 15:37:04 lot_x.vcd
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 944] 24 Feb 19 2001 15:37:04 psd_x.vcd
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 945] 114 Feb 19 2001 15:37:04 scandata.dat
|
||||
|
||||
/MPEGAV/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 1251] 3655652 ( 3221504) Feb 19 2001 15:37:59 avseq01.dat
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
|
||||
/VCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 01 1970 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jan 01 1970 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Feb 19 2001 15:37:04 entries.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Feb 19 2001 15:37:04 info.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Feb 19 2001 15:37:04 lot.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 184] 24 Feb 19 2001 15:37:04 psd.vcd
|
||||
|
||||
XA sectors Video CD
|
||||
session #2 starts at track 2, LSN: 1251, ISO 9660 blocks: 1101
|
||||
ISO 9660: 1101 blocks, label `MONVOISIN '
|
||||
BIN
test/p1.bin
Normal file
BIN
test/p1.bin
Normal file
Binary file not shown.
12
test/p1.cue
Normal file
12
test/p1.cue
Normal file
@@ -0,0 +1,12 @@
|
||||
TITLE "Join us now we have the software"
|
||||
CATALOG 0000010271955
|
||||
PERFORMER "Richard Stallman"
|
||||
FILE "BOING.BIN" BINARY
|
||||
TRACK 01 AUDIO
|
||||
FLAGS DCP
|
||||
INDEX 00 00:00:00
|
||||
INDEX 01 00:01:00
|
||||
TRACK 02 AUDIO
|
||||
FLAGS DCP
|
||||
INDEX 00 00:02:00
|
||||
INDEX 01 00:03:00
|
||||
BIN
test/p1.nrg
Normal file
BIN
test/p1.nrg
Normal file
Binary file not shown.
59
test/svcd_ogt_test_ntsc.right
Normal file
59
test/svcd_ogt_test_ntsc.right
Normal file
@@ -0,0 +1,59 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true yes
|
||||
2: 00:09:01 000526 XA true yes
|
||||
170: 00:56:56 004106 leadout (9 MB raw, 9 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 376 blocks, label `SVCD_OGT_TEST_NTSC '
|
||||
Application:
|
||||
Preparer : GNU VCDIMAGER 0.7.12 LINUX-GNU/I386
|
||||
Publisher :
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : SVCD_OGT_TEST_NTSC
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 mpeg2
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 svcd
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 375] 201 Jul 14 1978 00:00:00 scandata.dat
|
||||
|
||||
/MPEG2/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 526] 7971320 ( 7024640) Jul 14 1978 00:00:00 avseq01.mpg
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 225] 183596 ( 161792) Jul 14 1978 00:00:00 item0001.mpg
|
||||
|
||||
/SVCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00:00 entries.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00:00 info.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00:00 lot.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 184] 40 Jul 14 1978 00:00:00 psd.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 186] 190 Jul 14 1978 00:00:00 search.dat
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00:00 tracks.svd
|
||||
|
||||
XA sectors Super Video CD (SVCD) or Chaoji Video CD (CVD)
|
||||
session #2 starts at track 2, LSN: 526, ISO 9660 blocks: 376
|
||||
ISO 9660: 376 blocks, label `SVCD_OGT_TEST_NTSC '
|
||||
82
test/svcdgs.right
Normal file
82
test/svcdgs.right
Normal file
@@ -0,0 +1,82 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD DATA (Mode 2)
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true no
|
||||
2: 00:22:53 001553 XA true no
|
||||
170: 01:17:62 005687 leadout (12 MB raw, 12 MB formatted)
|
||||
Media Catalog Number (MCN):
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with ISO 9660 filesystem
|
||||
ISO 9660: 6610 blocks, label `SVCD '
|
||||
Application: I-author v1.0, EnReach, Inc. (C) Copyright 1998, Kernel writen by Hujianjun
|
||||
Preparer : EnReach
|
||||
Publisher : EnReach
|
||||
System : S_VCD30 DISC of EnReach
|
||||
Volume : SVCD
|
||||
Volume Set : SVCD01
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29:31 autorun
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29:31 data
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29:31 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29:31 mpegav
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29:31 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29:31 svcd
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29:31 vmp
|
||||
|
||||
/AUTORUN/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
|
||||
/DATA/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29:31 svcddata
|
||||
|
||||
/DATA/SVCDDATA/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 300] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jan 06 2001 21:29:31 ..
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
|
||||
/MPEGAV/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
---2--r-r-r 0 0 [fn 01] [LSN 463] 13909140 ( 12257280) Jan 06 2001 21:29:31 avseq01.mpg
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
|
||||
/SVCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 26] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 151] 2048 Jan 06 2001 21:29:31 entries.svd
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 150] 2048 Jan 06 2001 21:29:31 info.svd
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 152] 65536 Jan 06 2001 21:29:31 lot.svd
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 184] 16 Jan 06 2001 21:29:31 psd.svd
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 188] 427 Jan 06 2001 21:29:31 search.dat
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 186] 4096 Jan 06 2001 21:29:31 spicontx.svd
|
||||
----1xr-rxr 0 0 [fn 00] [LSN 185] 2048 Jan 06 2001 21:29:31 tracks.svd
|
||||
|
||||
/VMP/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jan 06 2001 21:29:31 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29:31 svcdj
|
||||
|
||||
/VMP/SVCDJ/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 28] 2048 Jan 06 2001 21:29:31 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 27] 2048 Jan 06 2001 21:29:31 ..
|
||||
|
||||
XA sectors Chaoji Video CD (CVD)
|
||||
5
test/t1.toc
Normal file
5
test/t1.toc
Normal file
@@ -0,0 +1,5 @@
|
||||
// simplest cue sheet
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
SILENCE 0:0:74 // frames are just under 75
|
||||
6
test/t2.toc
Normal file
6
test/t2.toc
Normal file
@@ -0,0 +1,6 @@
|
||||
// additional pre-gap for track 1
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" 0:59:0 // Seconds are just under 60
|
||||
START 0:10:0 // 10 second pre-gap
|
||||
11
test/t3.toc
Normal file
11
test/t3.toc
Normal file
@@ -0,0 +1,11 @@
|
||||
// simplest cue sheet for two tracks
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" 180:0:0 // 180 for number of minutes is okay, although
|
||||
// it is not for a second or a frame value.
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY // so that all CTL flags are 0
|
||||
FILE "cdda.bin" 1:0:0
|
||||
|
||||
8
test/t4.toc
Normal file
8
test/t4.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// non default CTL flag of track 1
|
||||
|
||||
TRACK AUDIO
|
||||
COPY
|
||||
PRE_EMPHASIS
|
||||
FOUR_CHANNEL_AUDIO
|
||||
FILE "cdda.bin" 1:0:0
|
||||
|
||||
8
test/t5.toc
Normal file
8
test/t5.toc
Normal file
@@ -0,0 +1,8 @@
|
||||
// test catalog number
|
||||
|
||||
CATALOG "1234567890123"
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 1:0:0
|
||||
|
||||
7
test/t6.toc
Normal file
7
test/t6.toc
Normal file
@@ -0,0 +1,7 @@
|
||||
// test ISRC code
|
||||
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
ISRC "DEMUA9800001"
|
||||
FILE "cdda.bin" 1:0:0
|
||||
12
test/t7.toc
Normal file
12
test/t7.toc
Normal file
@@ -0,0 +1,12 @@
|
||||
// check two tracks with pre-gap and ISRC
|
||||
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 1:0:0
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
ISRC "DEMUA9800001"
|
||||
FILE "cdda.bin" 1:0:0
|
||||
START 0:5:0 // pre-gap
|
||||
14
test/t8.toc
Normal file
14
test/t8.toc
Normal file
@@ -0,0 +1,14 @@
|
||||
// check index increments
|
||||
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 0:10:0
|
||||
INDEX 1:0:0
|
||||
INDEX 2:0:0
|
||||
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
FILE "cdda.bin" 0:10:0
|
||||
START 0:5:0 // pre-gap
|
||||
31
test/t9.toc
Normal file
31
test/t9.toc
Normal file
@@ -0,0 +1,31 @@
|
||||
CD_DA
|
||||
// check mulitple tracks
|
||||
CATALOG "0724385356926"
|
||||
|
||||
TRACK AUDIO
|
||||
ISRC "USEM39600078"
|
||||
COPY
|
||||
FILE "cdda.bin" 0:10:0
|
||||
START 0:5:0
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
ISRC "USEM39600079"
|
||||
FILE "cdda.bin" 0:10:0
|
||||
START 0:2:0
|
||||
|
||||
TRACK AUDIO
|
||||
COPY
|
||||
FILE "cdda.bin" 0:10:0
|
||||
START 0:1:30
|
||||
|
||||
TRACK AUDIO
|
||||
NO COPY
|
||||
START 0:0:0
|
||||
FILE "cdda.bin" 0:10:0
|
||||
|
||||
TRACK AUDIO
|
||||
ISRC "EDUMA9892346"
|
||||
NO COPY
|
||||
FILE "cdda.bin" 0:10:0
|
||||
START 0:2:1
|
||||
35
test/testassert.c
Normal file
35
test/testassert.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
$Id: testassert.c,v 1.2 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2001, 2008 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
/* Private headers */
|
||||
#include "cdio_assert.h"
|
||||
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
cdio_assert (argc < 2);
|
||||
|
||||
cdio_assert_not_reached ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
125
test/testbincue.c.in
Normal file
125
test/testbincue.c.in
Normal file
@@ -0,0 +1,125 @@
|
||||
/* -*- C -*-
|
||||
$Id: testbincue.c.in,v 1.2 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2004, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
Regression test for cdio_binfile().
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#ifndef TEST_DIR
|
||||
#define TEST_DIR "@srcdir@"
|
||||
#endif
|
||||
|
||||
#define NUM_GOOD_CUES 2
|
||||
#define NUM_BAD_CUES 7
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
const char *cue_file[NUM_GOOD_CUES] = {
|
||||
"cdda.cue",
|
||||
"isofs-m1.cue",
|
||||
};
|
||||
|
||||
const char *badcue_file[NUM_BAD_CUES] = {
|
||||
"bad-cat1.cue",
|
||||
"bad-cat2.cue",
|
||||
"bad-cat3.cue",
|
||||
"bad-mode1.cue",
|
||||
"bad-msf-1.cue",
|
||||
"bad-msf-2.cue",
|
||||
"bad-msf-3.cue",
|
||||
};
|
||||
int ret=0;
|
||||
unsigned int i;
|
||||
char psz_cuefile[500];
|
||||
|
||||
psz_cuefile[sizeof(psz_cuefile)-1] = '\0';
|
||||
cdio_loglevel_default = (argc > 1) ? CDIO_LOG_DEBUG : CDIO_LOG_INFO;
|
||||
for (i=0; i<NUM_GOOD_CUES; i++) {
|
||||
char *psz_binfile;
|
||||
snprintf(psz_cuefile, sizeof(psz_cuefile)-1,
|
||||
"%s/%s", TEST_DIR, cue_file[i]);
|
||||
psz_binfile = cdio_is_cuefile(psz_cuefile);
|
||||
if (!psz_binfile) {
|
||||
printf("Incorrect: %s doesn't parse as a CDRWin CUE file.\n",
|
||||
cue_file[i]);
|
||||
ret=i+1;
|
||||
} else {
|
||||
printf("Correct: %s parses as a CDRWin CUE file.\n",
|
||||
cue_file[i]);
|
||||
free(psz_binfile);
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i<NUM_BAD_CUES; i++) {
|
||||
char *psz_binfile;
|
||||
snprintf(psz_cuefile, sizeof(psz_cuefile)-1,
|
||||
"%s/%s", TEST_DIR, badcue_file[i]);
|
||||
psz_binfile=cdio_is_cuefile(psz_cuefile);
|
||||
if (!psz_binfile) {
|
||||
printf("Correct: %s doesn't parse as a CDRWin CUE file.\n",
|
||||
badcue_file[i]);
|
||||
} else {
|
||||
printf("Incorrect: %s parses as a CDRWin CUE file.\n",
|
||||
badcue_file[i]);
|
||||
free(psz_binfile);
|
||||
ret+=50*i+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
CdIo_t *p_cdio;
|
||||
snprintf(psz_cuefile, sizeof(psz_cuefile)-1,
|
||||
"%s/%s", TEST_DIR, "cdda.cue");
|
||||
p_cdio = cdio_open (psz_cuefile, DRIVER_UNKNOWN);
|
||||
if (!p_cdio) {
|
||||
printf("Can't open cdda.cue\n");
|
||||
} else {
|
||||
/* Just test performing some operations. */
|
||||
driver_return_code_t drc = cdio_set_blocksize(p_cdio, 2048);
|
||||
char *psz_device = cdio_get_default_device(p_cdio);
|
||||
/* Could chdir to srcdir to hedge the bet? */
|
||||
if (psz_device)
|
||||
free(psz_device);
|
||||
else {
|
||||
/* Unless we do the chdir, will fail. So don't set as an error. */
|
||||
printf("Can't get default device\n");
|
||||
}
|
||||
drc = cdio_set_speed(p_cdio, 5);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
200
test/testdefault.c
Normal file
200
test/testdefault.c
Normal file
@@ -0,0 +1,200 @@
|
||||
/*
|
||||
$Id: testdefault.c,v 1.8 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
Regression test for cdio_get_devices, cdio_get_devices_with_cap(),
|
||||
and cdio_free_device_list()
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/cd_types.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
static void
|
||||
log_handler (cdio_log_level_t level, const char message[])
|
||||
{
|
||||
switch(level) {
|
||||
case CDIO_LOG_DEBUG:
|
||||
case CDIO_LOG_INFO:
|
||||
return;
|
||||
default:
|
||||
printf("cdio %d message: %s\n", level, message);
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
is_in(char **file_list, const char *file)
|
||||
{
|
||||
char **p;
|
||||
for (p = file_list; p != NULL && *p != NULL; p++) {
|
||||
if (strcmp(*p, file) == 0) {
|
||||
printf("File %s found as expected\n", file);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
printf("Can't find file %s in list\n", file);
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
char **nrg_images=NULL;
|
||||
char **bincue_images=NULL;
|
||||
char **imgs;
|
||||
char **c;
|
||||
unsigned int i;
|
||||
int ret=0;
|
||||
|
||||
const char *cue_files[2] = {"cdda.cue", "isofs-m1.cue"};
|
||||
const char *nrg_files[1] = {"videocd.nrg"};
|
||||
|
||||
cdio_log_set_handler (log_handler);
|
||||
|
||||
if (! (cdio_have_driver(DRIVER_NRG) && cdio_have_driver(DRIVER_BINCUE)) ) {
|
||||
printf("You don't have enough drivers for this test\n");
|
||||
exit(77);
|
||||
}
|
||||
|
||||
nrg_images = cdio_get_devices(DRIVER_NRG);
|
||||
|
||||
for (imgs=nrg_images; *imgs != NULL; imgs++) {
|
||||
printf("NRG image %s\n", *imgs);
|
||||
}
|
||||
|
||||
if (!is_in(nrg_images, nrg_files[0])) {
|
||||
cdio_free_device_list(nrg_images);
|
||||
return 10;
|
||||
}
|
||||
|
||||
bincue_images = cdio_get_devices(DRIVER_BINCUE);
|
||||
|
||||
for (imgs=bincue_images; *imgs != NULL; imgs++) {
|
||||
printf("bincue image %s\n", *imgs);
|
||||
}
|
||||
|
||||
for (i=0; i<2; i++) {
|
||||
if (is_in(bincue_images, cue_files[i])) {
|
||||
printf("%s parses as a CDRWIN BIN/CUE csheet.\n", cue_files[i]);
|
||||
} else {
|
||||
printf("%s doesn't parse as a CDRWIN BIN/CUE csheet.\n", cue_files[i]);
|
||||
ret = i+1;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret != 0) return ret;
|
||||
|
||||
printf("-----\n");
|
||||
printf("ISO 9660 images...\n");
|
||||
imgs = NULL;
|
||||
/* Print out a list of CDDA-drives. */
|
||||
imgs = cdio_get_devices_with_cap(bincue_images, CDIO_FS_ISO_9660, false);
|
||||
|
||||
if (NULL == imgs || *imgs == NULL) {
|
||||
printf("Failed to find an ISO 9660 image\n");
|
||||
return 11;
|
||||
}
|
||||
|
||||
for( c = imgs; *c != NULL; c++ ) {
|
||||
printf("%s\n", *c);
|
||||
}
|
||||
|
||||
cdio_free_device_list(imgs);
|
||||
free(imgs);
|
||||
|
||||
|
||||
printf("-----\n");
|
||||
printf("CD-DA images...\n");
|
||||
imgs = NULL;
|
||||
/* Print out a list of CDDA-drives. */
|
||||
imgs = cdio_get_devices_with_cap(bincue_images, CDIO_FS_AUDIO, false);
|
||||
|
||||
if (NULL == imgs || *imgs == NULL) {
|
||||
printf("Failed to find CDDA image\n");
|
||||
return 12;
|
||||
}
|
||||
|
||||
for( c = imgs; *c != NULL; c++ ) {
|
||||
printf("%s\n", *c);
|
||||
}
|
||||
|
||||
cdio_free_device_list(imgs);
|
||||
free(imgs);
|
||||
|
||||
|
||||
printf("-----\n");
|
||||
imgs = NULL;
|
||||
printf("VCD images...\n");
|
||||
/* Print out a list of CD-drives with VCD's in them. */
|
||||
imgs = cdio_get_devices_with_cap(nrg_images,
|
||||
(CDIO_FS_ANAL_SVCD|CDIO_FS_ANAL_CVD|CDIO_FS_ANAL_VIDEOCD|CDIO_FS_UNKNOWN),
|
||||
true);
|
||||
if (NULL == imgs || *imgs == NULL) {
|
||||
printf("Failed to find VCD image\n");
|
||||
return 13;
|
||||
}
|
||||
|
||||
for( c = imgs; *c != NULL; c++ ) {
|
||||
printf("image: %s\n", *c);
|
||||
}
|
||||
|
||||
cdio_free_device_list(imgs);
|
||||
free(imgs);
|
||||
|
||||
imgs = NULL;
|
||||
/* Print out a list of CDDA-drives. */
|
||||
imgs = cdio_get_devices_with_cap(bincue_images, CDIO_FS_HIGH_SIERRA, false);
|
||||
|
||||
if (NULL != imgs && *imgs != NULL) {
|
||||
printf("Found erroneous High Sierra image\n");
|
||||
return 14;
|
||||
}
|
||||
|
||||
imgs = NULL;
|
||||
/* Print out a list of CDDA-drives. */
|
||||
imgs = cdio_get_devices_with_cap(bincue_images, CDIO_FS_UFS, true);
|
||||
|
||||
if (NULL != imgs && *imgs != NULL) {
|
||||
printf("Found erroneous UFS image\n");
|
||||
return 15;
|
||||
}
|
||||
|
||||
cdio_free_device_list(nrg_images);
|
||||
free(nrg_images);
|
||||
cdio_free_device_list(bincue_images);
|
||||
free(bincue_images);
|
||||
cdio_free_device_list(imgs);
|
||||
free(imgs);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
70
test/testischar.c
Normal file
70
test/testischar.c
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
$Id: testischar.c,v 1.3 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2001, 2008 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* Tests ISO9660 character sets. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <cdio/iso9660.h>
|
||||
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
int i, j;
|
||||
|
||||
printf (" ");
|
||||
|
||||
for (j = 0; j < 0x10; j++)
|
||||
printf (" %1.1x", j);
|
||||
|
||||
printf (" |");
|
||||
|
||||
for (j = 0; j < 0x10; j++)
|
||||
printf (" %1.1x", j);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
for (i = 0; i < 0x10; i++)
|
||||
{
|
||||
|
||||
printf ("%1.1x ", i);
|
||||
|
||||
for (j = 0; j < 0x10; j++)
|
||||
{
|
||||
int c = (j << 4) + i;
|
||||
|
||||
printf (" %c", iso9660_is_dchar (c) ? c : ' ');
|
||||
}
|
||||
|
||||
printf (" |");
|
||||
|
||||
for (j = 0; j < 0x10; j++)
|
||||
{
|
||||
int c = (j << 4) + i;
|
||||
|
||||
printf (" %c", iso9660_isachar (c) ? c : ' ');
|
||||
}
|
||||
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
290
test/testiso9660.c
Normal file
290
test/testiso9660.c
Normal file
@@ -0,0 +1,290 @@
|
||||
/*
|
||||
$Id: testiso9660.c,v 1.23 2008/06/03 08:40:15 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2006, 2007, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* Tests ISO9660 library routines. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#include <cdio/iso9660.h>
|
||||
|
||||
static bool
|
||||
time_compare(struct tm *p_tm1, struct tm *p_tm2)
|
||||
{
|
||||
bool okay = true;
|
||||
if (!p_tm1) {
|
||||
printf("get time is NULL\n");
|
||||
return false;
|
||||
}
|
||||
if (!p_tm2) {
|
||||
printf("set time is NULL\n");
|
||||
return false;
|
||||
}
|
||||
if (p_tm1->tm_year != p_tm2->tm_year) {
|
||||
printf("Years aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_year, p_tm2->tm_year);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_mon != p_tm2->tm_mon) {
|
||||
printf("Months aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_mon, p_tm2->tm_mon);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_mday != p_tm2->tm_mday) {
|
||||
printf("Month days aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_mday, p_tm2->tm_mday);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_min != p_tm2->tm_min) {
|
||||
printf("minutes aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_min, p_tm2->tm_min);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_hour != p_tm2->tm_hour) {
|
||||
printf("hours aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_hour, p_tm2->tm_hour);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_sec != p_tm2->tm_sec) {
|
||||
printf("seconds aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_sec, p_tm2->tm_sec);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_wday != p_tm2->tm_wday) {
|
||||
printf("Week days aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_wday, p_tm2->tm_wday);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1->tm_yday != p_tm2->tm_yday) {
|
||||
printf("Year days aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_yday, p_tm2->tm_yday);
|
||||
okay=false;
|
||||
}
|
||||
#if FIXED
|
||||
if (p_tm1->tm_isdst != p_tm2->tm_isdst) {
|
||||
printf("Is daylight savings times aren't equal. get: %d, set %d\n",
|
||||
p_tm1->tm_isdst, p_tm2->tm_isdst);
|
||||
okay=false;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_TM_GMTOFF
|
||||
if (p_tm1->tm_gmtoff != p_tm2->tm_gmtoff) {
|
||||
printf("GMT offsets aren't equal. get: %ld, set %ld\n",
|
||||
p_tm1->tm_gmtoff, p_tm2->tm_gmtoff);
|
||||
okay=false;
|
||||
}
|
||||
if (p_tm1 != p_tm2 && p_tm1 && p_tm2) {
|
||||
#ifdef FIXED
|
||||
if (strcmp(p_tm1->tm_zone, p_tm2->tm_zone) != 0) {
|
||||
printf("Time Zone values. get: %s, set %s\n",
|
||||
p_tm1->tm_zone, p_tm2->tm_zone);
|
||||
/* Argh... sometimes GMT is converted to UTC. So
|
||||
Let's not call this a failure if everything else was okay.
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
return okay;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, const char *argv[])
|
||||
{
|
||||
int c;
|
||||
int i;
|
||||
int i_bad = 0;
|
||||
char dst[100];
|
||||
char *dst_p;
|
||||
int achars[] = {'!', '"', '%', '&', '(', ')', '*', '+', ',', '-', '.',
|
||||
'/', '?', '<', '=', '>'};
|
||||
|
||||
/*********************************************
|
||||
* Test ACHAR and DCHAR
|
||||
*********************************************/
|
||||
|
||||
for (c='A'; c<='Z'; c++ ) {
|
||||
if (!iso9660_is_dchar(c)) {
|
||||
printf("Failed iso9660_is_dchar test on %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
if (!iso9660_is_achar(c)) {
|
||||
printf("Failed iso9660_is_achar test on %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_bad) return i_bad;
|
||||
|
||||
for (c='0'; c<='9'; c++ ) {
|
||||
if (!iso9660_is_dchar(c)) {
|
||||
printf("Failed iso9660_is_dchar test on %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
if (!iso9660_is_achar(c)) {
|
||||
printf("Failed iso9660_is_achar test on %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_bad) return i_bad;
|
||||
|
||||
for (i=0; i<=13; i++ ) {
|
||||
c=achars[i];
|
||||
if (iso9660_is_dchar(c)) {
|
||||
printf("Should not pass iso9660_is_dchar test on %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
if (!iso9660_is_achar(c)) {
|
||||
printf("Failed iso9660_is_achar test on symbol %c\n", c);
|
||||
i_bad++;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_bad) return i_bad;
|
||||
|
||||
/*********************************************
|
||||
* Test iso9660_strncpy_pad
|
||||
*********************************************/
|
||||
|
||||
dst_p = iso9660_strncpy_pad(dst, "1_3", 5, ISO9660_DCHARS);
|
||||
if ( 0 != strncmp(dst, "1_3 ", 5) ) {
|
||||
printf("Failed iso9660_strncpy_pad DCHARS\n");
|
||||
return 31;
|
||||
}
|
||||
dst_p = iso9660_strncpy_pad(dst, "ABC!123", 2, ISO9660_ACHARS);
|
||||
if ( 0 != strncmp(dst, "AB", 2) ) {
|
||||
printf("Failed iso9660_strncpy_pad ACHARS truncation\n");
|
||||
return 32;
|
||||
}
|
||||
|
||||
/*********************************************
|
||||
* Test iso9660_dirname_valid_p
|
||||
*********************************************/
|
||||
|
||||
if ( iso9660_dirname_valid_p("/NOGOOD") ) {
|
||||
printf("/NOGOOD should fail iso9660_dirname_valid_p\n");
|
||||
return 33;
|
||||
}
|
||||
if ( iso9660_dirname_valid_p("LONGDIRECTORY/NOGOOD") ) {
|
||||
printf("LONGDIRECTORY/NOGOOD should fail iso9660_dirname_valid_p\n");
|
||||
return 34;
|
||||
}
|
||||
if ( !iso9660_dirname_valid_p("OKAY/DIR") ) {
|
||||
printf("OKAY/DIR should pass iso9660_dirname_valid_p\n");
|
||||
return 35;
|
||||
}
|
||||
if ( iso9660_dirname_valid_p("OKAY/FILE.EXT") ) {
|
||||
printf("OKAY/FILENAME.EXT should fail iso9660_dirname_valid_p\n");
|
||||
return 36;
|
||||
}
|
||||
|
||||
/*********************************************
|
||||
* Test iso9660_pathname_valid_p
|
||||
*********************************************/
|
||||
|
||||
if ( !iso9660_pathname_valid_p("OKAY/FILE.EXT") ) {
|
||||
printf("OKAY/FILE.EXT should pass iso9660_dirname_valid_p\n");
|
||||
return 37;
|
||||
}
|
||||
if ( iso9660_pathname_valid_p("OKAY/FILENAMETOOLONG.EXT") ) {
|
||||
printf("OKAY/FILENAMETOOLONG.EXT should fail iso9660_dirname_valid_p\n");
|
||||
return 38;
|
||||
}
|
||||
if ( iso9660_pathname_valid_p("OKAY/FILE.LONGEXT") ) {
|
||||
printf("OKAY/FILE.LONGEXT should fail iso9660_dirname_valid_p\n");
|
||||
return 39;
|
||||
}
|
||||
|
||||
dst_p = iso9660_pathname_isofy ("this/file.ext", 1);
|
||||
if ( 0 != strncmp(dst_p, "this/file.ext;1", 16) ) {
|
||||
printf("Failed iso9660_pathname_isofy\n");
|
||||
free(dst_p);
|
||||
return 40;
|
||||
}
|
||||
free(dst_p);
|
||||
|
||||
/*********************************************
|
||||
* Test get/set date
|
||||
*********************************************/
|
||||
|
||||
{
|
||||
struct tm *p_tm, tm;
|
||||
iso9660_dtime_t dtime;
|
||||
iso9660_ltime_t ltime;
|
||||
time_t now = time(NULL);
|
||||
|
||||
memset(&dtime, 0, sizeof(dtime));
|
||||
p_tm = localtime(&now);
|
||||
iso9660_set_dtime(p_tm, &dtime);
|
||||
iso9660_get_dtime(&dtime, true, &tm);
|
||||
if ( !time_compare(p_tm, &tm) ) {
|
||||
return 41;
|
||||
}
|
||||
p_tm = gmtime(&now);
|
||||
iso9660_set_dtime(p_tm, &dtime);
|
||||
if (!iso9660_get_dtime(&dtime, false, &tm)) {
|
||||
printf("Error returned by iso9660_get_dtime\n");
|
||||
return 42;
|
||||
}
|
||||
|
||||
if ( !time_compare(p_tm, &tm) ) {
|
||||
printf("GMT time retrieved with iso9660_get_dtime() not same as that\n");
|
||||
printf("set with iso9660_set_dtime().\n");
|
||||
return 43;
|
||||
}
|
||||
|
||||
{
|
||||
p_tm = localtime(&now);
|
||||
iso9660_set_ltime(p_tm, <ime);
|
||||
|
||||
if (!iso9660_get_ltime(<ime, &tm)) {
|
||||
printf("Problem running iso9660_get_ltime\n");
|
||||
return 44;
|
||||
}
|
||||
|
||||
if ( ! time_compare(p_tm, &tm) ) {
|
||||
printf("local time retrieved with iso9660_get_ltime() not\n");
|
||||
printf("same as that set with iso9660_set_ltime().\n");
|
||||
return 45;
|
||||
}
|
||||
|
||||
p_tm = gmtime(&now);
|
||||
iso9660_set_ltime(p_tm, <ime);
|
||||
iso9660_get_ltime(<ime, &tm);
|
||||
if ( ! time_compare(p_tm, &tm) ) {
|
||||
printf("GMT time retrieved with iso9660_get_ltime() not\n");
|
||||
printf("same as that set with iso9660_set_ltime().\n");
|
||||
return 46;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
153
test/testisocd.c
Normal file
153
test/testisocd.c
Normal file
@@ -0,0 +1,153 @@
|
||||
/* $Id: testisocd.c,v 1.6 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Rocky Bernstein
|
||||
<rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Tests reading ISO 9660 info from a CD. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/iso9660.h>
|
||||
#include <cdio/cd_types.h>
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_ERRNO_H
|
||||
#include <errno.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#define SKIP_TEST_RC 77
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
char **ppsz_cd_drives; /* List of all drives with an ISO9660 filesystem. */
|
||||
driver_id_t driver_id; /* Driver ID found */
|
||||
char *psz_drive; /* Name of drive */
|
||||
CdIo_t *p_cdio;
|
||||
|
||||
/* See if we can find a device with a loaded CD-DA in it. If successful
|
||||
drive_id will be set. */
|
||||
ppsz_cd_drives =
|
||||
cdio_get_devices_with_cap_ret(NULL, CDIO_FS_ANAL_ISO9660_ANY,
|
||||
true, &driver_id);
|
||||
|
||||
if (ppsz_cd_drives && ppsz_cd_drives[0]) {
|
||||
/* Found such a CD-ROM with an ISO 9660 filesystem. Use the first drive in
|
||||
the list. */
|
||||
psz_drive = strdup(ppsz_cd_drives[0]);
|
||||
/* Don't need a list of CD's with CD-DA's any more. */
|
||||
cdio_free_device_list(ppsz_cd_drives);
|
||||
} else {
|
||||
printf("Unable find or access a CD-ROM drive with an ISO-9660 "
|
||||
"filesystem.\n");
|
||||
exit(SKIP_TEST_RC);
|
||||
}
|
||||
|
||||
p_cdio = cdio_open (psz_drive, driver_id);
|
||||
if (!p_cdio) {
|
||||
fprintf(stderr, "Sorry, couldn't open %s\n", psz_drive);
|
||||
return 1;
|
||||
} else {
|
||||
/* You make get different results looking up "/" versus "/." and the
|
||||
latter may give more complete information. "/" will take information
|
||||
from the PVD only, whereas "/." will force a directory read of "/" and
|
||||
find "." and in that Rock-Ridge information might be found which fills
|
||||
in more stat information that iso9660_fs_find_lsn also will find.
|
||||
. Ideally iso9660_fs_stat should be fixed. */
|
||||
iso9660_stat_t *p_statbuf = iso9660_fs_stat (p_cdio, "/.");
|
||||
|
||||
if (NULL == p_statbuf) {
|
||||
fprintf(stderr,
|
||||
"Could not get ISO-9660 file information for file /.\n");
|
||||
cdio_destroy(p_cdio);
|
||||
exit(2);
|
||||
} else {
|
||||
/* Now try getting the statbuf another way */
|
||||
char buf[ISO_BLOCKSIZE];
|
||||
char *psz_path = NULL;
|
||||
const lsn_t i_lsn = p_statbuf->lsn;
|
||||
const iso9660_stat_t *p_statbuf2 = iso9660_fs_find_lsn (p_cdio, i_lsn);
|
||||
const iso9660_stat_t *p_statbuf3 =
|
||||
iso9660_fs_find_lsn_with_path (p_cdio, i_lsn, &psz_path);
|
||||
|
||||
/* Compare the two statbufs. */
|
||||
#if 0
|
||||
if (0 != memcmp(p_statbuf, p_statbuf2, sizeof(iso9660_stat_t))) {
|
||||
#else
|
||||
if (p_statbuf->lsn != p_statbuf2->lsn ||
|
||||
p_statbuf->size != p_statbuf2->size ||
|
||||
p_statbuf->type != p_statbuf2->type) {
|
||||
#endif
|
||||
fprintf(stderr, "File stat information between fs_stat and "
|
||||
"fs_find_lsn isn't the same\n");
|
||||
exit(3);
|
||||
}
|
||||
|
||||
if (0 != memcmp(p_statbuf3, p_statbuf2, sizeof(iso9660_stat_t))) {
|
||||
fprintf(stderr, "File stat information between fs_find_lsn and "
|
||||
"fs_find_lsn_with_path isn't the same\n");
|
||||
exit(4);
|
||||
}
|
||||
|
||||
if (psz_path != NULL) {
|
||||
if (0 != strncmp("/./", psz_path, strlen("/./"))) {
|
||||
fprintf(stderr, "Path returned for fs_find_lsn_with_path "
|
||||
"is not correct should be /./, is %s\n", psz_path);
|
||||
exit(5);
|
||||
free(psz_path);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Path returned for fs_find_lsn_with_path is NULL\n");
|
||||
exit(6);
|
||||
}
|
||||
|
||||
/* Try reading from the directory. */
|
||||
memset (buf, 0, ISO_BLOCKSIZE);
|
||||
if ( 0 != cdio_read_data_sectors (p_cdio, buf, i_lsn, ISO_BLOCKSIZE, 1) )
|
||||
{
|
||||
fprintf(stderr, "Error reading ISO 9660 file at lsn %lu\n",
|
||||
(long unsigned int) p_statbuf->lsn);
|
||||
exit(7);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
134
test/testisocd2.c.in
Normal file
134
test/testisocd2.c.in
Normal file
@@ -0,0 +1,134 @@
|
||||
/* $Id: testisocd2.c.in,v 1.2 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Rocky Bernstein
|
||||
<rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Tests reading ISO 9660 info from an ISO 9660 image. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "portable.h"
|
||||
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/iso9660.h>
|
||||
#include <cdio/cd_types.h>
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_ERRNO_H
|
||||
#include <errno.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
/* Set up a CD-DA image to test on which is in the libcdio distribution. */
|
||||
#define ISO9660_IMAGE_PATH "@srcdir@/"
|
||||
#define ISO9660_IMAGE ISO9660_IMAGE_PATH "copying.iso"
|
||||
|
||||
#define SKIP_TEST_RC 77
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
iso9660_t *p_iso;
|
||||
|
||||
p_iso = iso9660_open (ISO9660_IMAGE);
|
||||
if (!p_iso) {
|
||||
fprintf(stderr, "Sorry, couldn't open ISO9660 image %s\n",
|
||||
ISO9660_IMAGE);
|
||||
return 1;
|
||||
} else {
|
||||
/* You make get different results looking up "/" versus "/." and the
|
||||
latter may give more complete information. "/" will take information
|
||||
from the PVD only, whereas "/." will force a directory read of "/" and
|
||||
find "." and in that Rock-Ridge information might be found which fills
|
||||
in more stat information that iso9660_fs_find_lsn also will find.
|
||||
. Ideally iso9660_fs_stat should be fixed. */
|
||||
iso9660_stat_t *p_statbuf = iso9660_ifs_stat (p_iso, "/.");
|
||||
|
||||
if (NULL == p_statbuf) {
|
||||
fprintf(stderr,
|
||||
"Could not get ISO-9660 file information for file /.\n");
|
||||
iso9660_close(p_iso);
|
||||
exit(2);
|
||||
} else {
|
||||
/* Now try getting the statbuf another way */
|
||||
char buf[ISO_BLOCKSIZE];
|
||||
char *psz_path = NULL;
|
||||
const lsn_t i_lsn = p_statbuf->lsn;
|
||||
const iso9660_stat_t *p_statbuf2 = iso9660_ifs_find_lsn (p_iso, i_lsn);
|
||||
const iso9660_stat_t *p_statbuf3 =
|
||||
iso9660_ifs_find_lsn_with_path (p_iso, i_lsn, &psz_path);
|
||||
|
||||
/* Compare the two statbufs. */
|
||||
if (p_statbuf->lsn != p_statbuf2->lsn ||
|
||||
p_statbuf->size != p_statbuf2->size ||
|
||||
p_statbuf->type != p_statbuf2->type) {
|
||||
|
||||
fprintf(stderr, "File stat information between fs_stat and "
|
||||
"iso9660_ifs_find_lsn isn't the same\n");
|
||||
exit(3);
|
||||
}
|
||||
|
||||
if (p_statbuf3->lsn != p_statbuf2->lsn ||
|
||||
p_statbuf3->size != p_statbuf2->size ||
|
||||
p_statbuf3->type != p_statbuf2->type) {
|
||||
exit(4);
|
||||
}
|
||||
|
||||
if (psz_path != NULL) {
|
||||
if (0 != strncmp("/./", psz_path, strlen("/./"))) {
|
||||
fprintf(stderr, "Path returned for ifs_find_lsn_with_path "
|
||||
"is not correct should be /./, is %s\n", psz_path);
|
||||
exit(5);
|
||||
}
|
||||
free(psz_path);
|
||||
} else {
|
||||
fprintf(stderr, "Path returned for fs_find_lsn_with_path is NULL\n");
|
||||
exit(6);
|
||||
}
|
||||
|
||||
/* Try reading from the directory. */
|
||||
memset (buf, 0, ISO_BLOCKSIZE);
|
||||
if ( ISO_BLOCKSIZE != iso9660_iso_seek_read (p_iso, buf, i_lsn, 1) )
|
||||
{
|
||||
fprintf(stderr, "Error reading ISO 9660 file at lsn %lu\n",
|
||||
(long unsigned int) p_statbuf->lsn);
|
||||
exit(7);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
91
test/testnrg.c.in
Normal file
91
test/testnrg.c.in
Normal file
@@ -0,0 +1,91 @@
|
||||
/* -*- C -*-
|
||||
$Id: testnrg.c.in,v 1.1 2008/03/22 22:43:56 rocky Exp $
|
||||
|
||||
Copyright (C) 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
Regression test for cdio_nrgfile().
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/logging.h>
|
||||
#include <cdio/cdtext.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#ifndef TEST_DIR
|
||||
#define TEST_DIR "@srcdir@"
|
||||
#endif
|
||||
|
||||
#define NUM_FIELDS 2
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
char psz_nrgfile[500];
|
||||
CdIo_t *p_cdio;
|
||||
const char *cdtext_check[NUM_FIELDS] = {
|
||||
"Richard Stallman",
|
||||
"Join us now we have the software"
|
||||
};
|
||||
const int cdtext_fields[NUM_FIELDS] = {CDTEXT_PERFORMER, CDTEXT_TITLE};
|
||||
|
||||
cdio_loglevel_default = (argc > 1) ? CDIO_LOG_DEBUG : CDIO_LOG_INFO;
|
||||
/* snprintf(psz_nrgfile, sizeof(psz_nrgfile)-1,
|
||||
"%s/%s", TEST_DIR, cue_file[i]);
|
||||
*/
|
||||
if (!cdio_have_driver(DRIVER_NRG)) return(77);
|
||||
|
||||
snprintf(psz_nrgfile, sizeof(psz_nrgfile)-1, "%s/%s",
|
||||
TEST_DIR, "./p1.nrg");
|
||||
|
||||
p_cdio = cdio_open_nrg(psz_nrgfile);
|
||||
if (!p_cdio) {
|
||||
printf("Can't open Nero image file: %s.\n", psz_nrgfile);
|
||||
return(1);
|
||||
}
|
||||
{
|
||||
unsigned int i;
|
||||
cdtext_t *p_cdtext = cdio_get_cdtext(p_cdio, 0);
|
||||
if (!p_cdtext) return(1);
|
||||
for (i=0; i<NUM_FIELDS; i++) {
|
||||
const char *psz_field = p_cdtext->field[cdtext_fields[i]];
|
||||
if (!psz_field)
|
||||
return(2);
|
||||
if (0 != strncmp(psz_field, cdtext_check[i], strlen(cdtext_check[i]))) {
|
||||
printf("CD-Text compare mismatch.\n");
|
||||
printf("expected:\n\t'%s'\ngot:\n\t'%s'\n",
|
||||
cdtext_check[i], psz_field);
|
||||
return(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
cdio_destroy(p_cdio);
|
||||
|
||||
return 0;
|
||||
}
|
||||
192
test/testparanoia.c
Normal file
192
test/testparanoia.c
Normal file
@@ -0,0 +1,192 @@
|
||||
/*
|
||||
$Id: testparanoia.c,v 1.14 2008/06/19 15:44:31 flameeyes Exp $
|
||||
|
||||
Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Simple program to show using libcdio's version of cdparanoia. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <cdio/paranoia.h>
|
||||
#include <cdio/cd_types.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
#define BIGENDIAN 1
|
||||
#else
|
||||
#define BIGENDIAN 0
|
||||
#endif
|
||||
|
||||
#define SKIP_TEST_RC 77
|
||||
|
||||
#define MAX_SECTORS 50
|
||||
static uint8_t audio_buf[MAX_SECTORS][CDIO_CD_FRAMESIZE_RAW] = { {0}, };
|
||||
static paranoia_cb_mode_t audio_status[MAX_SECTORS];
|
||||
static unsigned int i = 0;
|
||||
|
||||
static void
|
||||
callback(long int inpos, paranoia_cb_mode_t function)
|
||||
{
|
||||
audio_status[i] = function;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
cdrom_drive_t *d = NULL; /* Place to store handle given by cd-parapnioa. */
|
||||
driver_id_t driver_id;
|
||||
char **ppsz_cd_drives; /* List of all drives with a loaded CDDA in it. */
|
||||
int i_rc=0;
|
||||
|
||||
/* See if we can find a device with a loaded CD-DA in it. If successful
|
||||
drive_id will be set. */
|
||||
ppsz_cd_drives = cdio_get_devices_with_cap_ret(NULL, CDIO_FS_AUDIO, false,
|
||||
&driver_id);
|
||||
|
||||
if (ppsz_cd_drives && *ppsz_cd_drives) {
|
||||
/* Found such a CD-ROM with a CD-DA loaded. Use the first drive in
|
||||
the list. */
|
||||
d=cdda_identify(*ppsz_cd_drives, 1, NULL);
|
||||
} else {
|
||||
printf("Unable find or access a CD-ROM drive with an audio CD in it.\n");
|
||||
exit(SKIP_TEST_RC);
|
||||
}
|
||||
|
||||
/** We had a bug in is_device when driver_id == DRIVER_UNKNOWN or
|
||||
DRIVER_DEVICE. Let's make sure we've fixed that problem. **/
|
||||
if (!cdio_is_device(*ppsz_cd_drives, DRIVER_UNKNOWN) ||
|
||||
!cdio_is_device(*ppsz_cd_drives, DRIVER_DEVICE))
|
||||
exit(99);
|
||||
|
||||
/* Don't need a list of CD's with CD-DA's any more. */
|
||||
cdio_free_device_list(ppsz_cd_drives);
|
||||
|
||||
/* We'll set for verbose paranoia messages. */
|
||||
cdda_verbose_set(d, CDDA_MESSAGE_PRINTIT, CDDA_MESSAGE_PRINTIT);
|
||||
|
||||
if ( 0 != cdio_cddap_open(d) ) {
|
||||
printf("Unable to open disc.\n");
|
||||
exit(SKIP_TEST_RC);
|
||||
}
|
||||
|
||||
/* Okay now set up to read up to the first 300 frames of the first
|
||||
audio track of the Audio CD. */
|
||||
{
|
||||
cdrom_paranoia_t *p = paranoia_init(d);
|
||||
lsn_t i_first_lsn = cdda_disc_firstsector(d);
|
||||
|
||||
if ( -1 == i_first_lsn ) {
|
||||
printf("Trouble getting starting LSN\n");
|
||||
} else {
|
||||
lsn_t i_lsn; /* Current LSN to read */
|
||||
lsn_t i_last_lsn = cdda_disc_lastsector(d);
|
||||
unsigned int i_sectors = i_last_lsn - i_first_lsn + 1;
|
||||
unsigned int j;
|
||||
unsigned int i_good = 0;
|
||||
unsigned int i_bad = 0;
|
||||
|
||||
/* Set reading mode for full paranoia, but allow skipping sectors. */
|
||||
paranoia_modeset(p, PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP);
|
||||
|
||||
for ( j=0; j<10; j++ ) {
|
||||
|
||||
/* Pick a place to start reading. */
|
||||
i_lsn = i_first_lsn + (rand() % i_sectors);
|
||||
paranoia_seek(p, i_lsn, SEEK_SET);
|
||||
|
||||
printf("Testing %d sectors starting at %ld\n",
|
||||
MAX_SECTORS, (long int) i_lsn);
|
||||
for ( i = 0;
|
||||
i < MAX_SECTORS && i_lsn <= i_last_lsn;
|
||||
i++, i_lsn++ ) {
|
||||
/* read a sector */
|
||||
int16_t *p_readbuf = paranoia_read(p, callback);
|
||||
char *psz_err=cdio_cddap_errors(d);
|
||||
char *psz_mes=cdio_cddap_messages(d);
|
||||
|
||||
memcpy(audio_buf[i], p_readbuf, CDIO_CD_FRAMESIZE_RAW);
|
||||
|
||||
if (psz_mes || psz_err)
|
||||
printf("%s%s\n", psz_mes ? psz_mes: "", psz_err ? psz_err: "");
|
||||
|
||||
if (psz_err) free(psz_err);
|
||||
if (psz_mes) free(psz_mes);
|
||||
if( !p_readbuf ) {
|
||||
printf("paranoia read error. Stopping.\n");
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
/* Compare with the sectors from paranoia. */
|
||||
i_lsn -= MAX_SECTORS;
|
||||
for ( i = 0; i < MAX_SECTORS; i++, i_lsn++ ) {
|
||||
uint8_t readbuf[CDIO_CD_FRAMESIZE_RAW] = {0,};
|
||||
if ( PARANOIA_CB_READ == audio_status[i] ||
|
||||
PARANOIA_CB_VERIFY == audio_status[i] ) {
|
||||
/* We read the block via paranoia without an error. */
|
||||
|
||||
if ( 0 == cdio_read_audio_sector(d->p_cdio, readbuf, i_lsn) ) {
|
||||
if ( BIGENDIAN != d->bigendianp ) {
|
||||
/* We will compare in the slow, pedantic way*/
|
||||
int j;
|
||||
for (j=0; j < CDIO_CD_FRAMESIZE_RAW ; j +=2) {
|
||||
if (audio_buf[i][j] != readbuf[j+1] &&
|
||||
audio_buf[i][j+1] != readbuf[j] ) {
|
||||
printf("LSN %ld doesn't match\n", (long int) i_lsn);
|
||||
i_bad++;
|
||||
} else {
|
||||
i_good++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( 0 != memcmp(audio_buf[i], readbuf,
|
||||
CDIO_CD_FRAMESIZE_RAW) ) {
|
||||
printf("LSN %ld doesn't match\n", (long int) i_lsn);
|
||||
i_bad++;
|
||||
} else {
|
||||
i_good++;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
printf("Skipping LSN %ld because of status: %s\n",
|
||||
(long int) i_lsn, paranoia_cb_mode2str[audio_status[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("%u sectors compared okay %u sectors were different\n",
|
||||
i_good, i_bad);
|
||||
if (i_bad > i_good) i_rc = 1;
|
||||
}
|
||||
out: paranoia_free(p);
|
||||
}
|
||||
|
||||
cdio_cddap_close(d);
|
||||
|
||||
exit(i_rc);
|
||||
}
|
||||
|
||||
122
test/testpregap.c.in
Normal file
122
test/testpregap.c.in
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
$Id: testpregap.c.in,v 1.2 2008/06/10 00:45:09 pjcreath Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2008 Robert W. Fuller <hydrologiccycle@gmail.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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
Regression test for cdio_get_pregap_lsn()
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/cd_types.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#ifndef TEST_DIR
|
||||
#define TEST_DIR "@srcdir@"
|
||||
#endif
|
||||
|
||||
static void
|
||||
log_handler (cdio_log_level_t level, const char message[])
|
||||
{
|
||||
switch(level) {
|
||||
case CDIO_LOG_DEBUG:
|
||||
case CDIO_LOG_INFO:
|
||||
return;
|
||||
default:
|
||||
printf("cdio %d message: %s\n", level, message);
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct _pregap_list_t {
|
||||
|
||||
const char *image;
|
||||
track_t track;
|
||||
lsn_t pregap;
|
||||
|
||||
} pregap_list_t;
|
||||
|
||||
static pregap_list_t pregapList[] =
|
||||
{
|
||||
{ "@srcdir@/t2.toc", 1, 4425 },
|
||||
{ "@srcdir@/t2.toc", 2, CDIO_INVALID_LSN },
|
||||
{ "@srcdir@/p1.cue", 1, 0 },
|
||||
{ "@srcdir@/p1.cue", 2, 150 },
|
||||
{ "@srcdir@/p1.cue", 3, CDIO_INVALID_LSN },
|
||||
/* { "p1.nrg", 1, 0 }, Nero did not create the proper pre-gap - bleh */
|
||||
{ "@srcdir@/p1.nrg", 2, 225 },
|
||||
{ "@srcdir@/p1.nrg", 3, CDIO_INVALID_LSN }
|
||||
};
|
||||
|
||||
#define NELEMS(v) (sizeof(v) / sizeof(v[0]))
|
||||
|
||||
/* gcc -Wall -I../include testpregap.c ../lib/driver/.libs/libcdio.a */
|
||||
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
CdIo_t *cdObj;
|
||||
const char *image;
|
||||
lsn_t pregap;
|
||||
int i;
|
||||
int rc = 0;
|
||||
|
||||
cdio_log_set_handler (log_handler);
|
||||
|
||||
if (! (cdio_have_driver(DRIVER_NRG) && cdio_have_driver(DRIVER_BINCUE)
|
||||
&& cdio_have_driver(DRIVER_CDRDAO)) ) {
|
||||
printf("You don't have enough drivers for this test\n");
|
||||
exit(77);
|
||||
}
|
||||
|
||||
for (i = 0; i < NELEMS(pregapList); ++i) {
|
||||
|
||||
image = pregapList[i].image;
|
||||
|
||||
cdObj = cdio_open(image, DRIVER_UNKNOWN);
|
||||
if (!cdObj) {
|
||||
printf("unrecognized image: %s\n", image);
|
||||
return 50;
|
||||
}
|
||||
|
||||
pregap = cdio_get_track_pregap_lsn(cdObj, pregapList[i].track);
|
||||
if (pregap != pregapList[i].pregap) {
|
||||
printf("%s should have had pregap of lsn=%d instead of lsn=%d\n",
|
||||
image, pregapList[i].pregap, pregap);
|
||||
rc = i + 1;
|
||||
} else {
|
||||
printf("%s had expected pregap\n", image);
|
||||
}
|
||||
|
||||
cdio_destroy(cdObj);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
113
test/testtoc.c
Normal file
113
test/testtoc.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
$Id: testtoc.c,v 1.9 2008/03/22 18:08:25 karl Exp $
|
||||
|
||||
Copyright (C) 2004, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
Regression test for cdio_tocfile.
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#ifndef TEST_DIR
|
||||
#define TEST_DIR "."
|
||||
#endif
|
||||
|
||||
#define NUM_GOOD_TOCS 16
|
||||
#define NUM_BAD_TOCS 8
|
||||
int
|
||||
main(int argc, const char *argv[])
|
||||
{
|
||||
const char *toc_file[NUM_GOOD_TOCS] = {
|
||||
"cdtext.toc",
|
||||
"t1.toc",
|
||||
"t2.toc",
|
||||
"t3.toc",
|
||||
"t4.toc",
|
||||
"t5.toc",
|
||||
"t6.toc",
|
||||
"t7.toc",
|
||||
"t8.toc",
|
||||
"t9.toc",
|
||||
"data1.toc",
|
||||
"data2.toc",
|
||||
"data5.toc",
|
||||
"data6.toc",
|
||||
"data7.toc",
|
||||
"vcd2.toc",
|
||||
};
|
||||
|
||||
const char *badtoc_file[NUM_BAD_TOCS] = {
|
||||
"bad-msf-1.toc",
|
||||
"bad-msf-2.toc",
|
||||
"bad-msf-3.toc",
|
||||
"bad-cat1.toc",
|
||||
"bad-cat2.toc",
|
||||
"bad-cat3.toc",
|
||||
"bad-file.toc",
|
||||
"bad-mode1.toc"
|
||||
};
|
||||
int ret=0;
|
||||
unsigned int i;
|
||||
char psz_tocfile[500];
|
||||
|
||||
psz_tocfile[sizeof(psz_tocfile)-1] = '\0';
|
||||
|
||||
cdio_loglevel_default = (argc > 1) ? CDIO_LOG_DEBUG : CDIO_LOG_INFO;
|
||||
for (i=0; i<NUM_GOOD_TOCS; i++) {
|
||||
snprintf(psz_tocfile, sizeof(psz_tocfile)-1,
|
||||
"%s/%s", TEST_DIR, toc_file[i]);
|
||||
if (!cdio_is_tocfile(psz_tocfile)) {
|
||||
printf("Incorrect: %s doesn't parse as a cdrdao TOC file.\n",
|
||||
toc_file[i]);
|
||||
ret=i+1;
|
||||
} else {
|
||||
printf("Correct: %s parses as a cdrdao TOC file.\n",
|
||||
toc_file[i]);
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i<NUM_BAD_TOCS; i++) {
|
||||
snprintf(psz_tocfile, sizeof(psz_tocfile)-1,
|
||||
"%s/%s", TEST_DIR, badtoc_file[i]);
|
||||
if (!cdio_is_tocfile(psz_tocfile)) {
|
||||
printf("Correct: %s doesn't parse as a cdrdao TOC file.\n",
|
||||
badtoc_file[i]);
|
||||
} else {
|
||||
printf("Incorrect: %s parses as a cdrdao TOC file.\n",
|
||||
badtoc_file[i]);
|
||||
ret+=50*i+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
BIN
test/udf102.iso
Normal file
BIN
test/udf102.iso
Normal file
Binary file not shown.
23
test/vcd2.toc
Normal file
23
test/vcd2.toc
Normal file
@@ -0,0 +1,23 @@
|
||||
// $Id: vcd2.toc,v 1.1 2005/01/16 04:34:20 rocky Exp $
|
||||
// Taken from one of Steve Schultz's VCD collection.
|
||||
// The .bin has been changed and is wrong.
|
||||
CD_ROM_XA
|
||||
|
||||
|
||||
// Track 1
|
||||
TRACK MODE2_FORM_MIX
|
||||
COPY
|
||||
DATAFILE "cdda.bin" 00:05:00 // length in bytes: 1051200
|
||||
|
||||
|
||||
// Track 2
|
||||
TRACK MODE2_FORM_MIX
|
||||
COPY
|
||||
DATAFILE "cdda.bin" #1051200 34:31:23 // length in bytes: 362892928
|
||||
|
||||
|
||||
// Track 3
|
||||
TRACK MODE2_FORM_MIX
|
||||
COPY
|
||||
DATAFILE "cdda.bin" #363944128 39:04:26 // length in bytes: 410729536
|
||||
|
||||
12
test/vcd_demo.cue
Normal file
12
test/vcd_demo.cue
Normal file
@@ -0,0 +1,12 @@
|
||||
FILE "vcd_demo.bin" BINARY
|
||||
TRACK 01 MODE2/2352
|
||||
FLAGS DCP
|
||||
INDEX 01 00:00:00
|
||||
TRACK 02 MODE2/2352
|
||||
FLAGS DCP
|
||||
INDEX 00 00:13:57
|
||||
INDEX 01 00:15:57
|
||||
TRACK 03 MODE2/2352
|
||||
FLAGS DCP
|
||||
INDEX 00 00:20:71
|
||||
INDEX 01 00:22:71
|
||||
92
test/vcd_demo.right
Normal file
92
test/vcd_demo.right
Normal file
@@ -0,0 +1,92 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 3)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true yes
|
||||
2: 00:17:57 001182 XA true yes
|
||||
3: 00:24:71 001721 XA true yes
|
||||
170: 00:30:10 002110 leadout (4 MB raw, 4 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
Application:
|
||||
Preparer : LKVCDIMAGER 5.0.7.10(WIN32)
|
||||
Publisher : LAURENS KOEHOORN
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : V0469
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 mpegav
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 sources
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00:00 vcd
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 375] 65536 Jul 14 1978 00:00:00 lot_x.vcd
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 407] 144 Jul 14 1978 00:00:00 psd_x.vcd
|
||||
|
||||
/MPEGAV/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 1182] 904036 ( 796672) Jul 14 1978 00:00:00 avseq01.dat
|
||||
---2-xrxrxr 0 0 [fn 02] [LSN 1721] 904036 ( 796672) Jul 14 1978 00:00:00 avseq02.dat
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 225] 220780 ( 194560) Jul 14 1978 00:00:00 item0001.dat
|
||||
|
||||
/Sources/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 html
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 434] 842 Dec 11 2002 10:33:47 index.htm
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 435] 1216557 Jan 07 2003 18:01:37 menu.ppm
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 1030] 2793 Jan 07 2003 18:08:20 source.xml
|
||||
|
||||
/Sources/HTML/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 425] 1067 Jan 07 2003 17:51:17 0.xml
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 426] 1067 Jan 07 2003 17:51:17 1.xml
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00:00 img
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 427] 1327 Jan 07 2003 17:51:16 movies.css
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 428] 12024 Jan 07 2003 17:51:16 toc.xsl
|
||||
|
||||
/Sources/HTML/img/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 408] 1999 Nov 13 2002 07:27:30 al.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 409] 7626 Jan 07 2003 17:42:53 loeki_groep_01.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 413] 9986 Jan 07 2003 17:42:53 loeki_groep_02.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 418] 207 Nov 14 2002 19:33:19 a_left.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 419] 207 Nov 14 2002 19:33:19 a_right.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 420] 441 Nov 13 2002 10:54:14 animatie.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 421] 250 Nov 14 2002 11:44:14 face_up2.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 422] 259 Nov 13 2002 11:09:06 familie.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 423] 1010 Nov 14 2002 11:52:28 goldstar2.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 424] 1783 Nov 13 2002 07:15:09 vcd.gif
|
||||
|
||||
/VCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00:00 entries.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00:00 info.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00:00 lot.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 184] 72 Jul 14 1978 00:00:00 psd.vcd
|
||||
|
||||
XA sectors Video CD
|
||||
session #2 starts at track 2, LSN: 1182, ISO 9660 blocks: 1032
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
15
test/vcd_demo.toc
Normal file
15
test/vcd_demo.toc
Normal file
@@ -0,0 +1,15 @@
|
||||
CD_ROM_XA
|
||||
|
||||
TRACK MODE2_RAW
|
||||
COPY
|
||||
FILE "vcd_demo.bin" 00:00:00 00:13:57
|
||||
|
||||
TRACK MODE2_RAW
|
||||
COPY
|
||||
FILE "vcd_demo.bin" 00:13:57 00:07:14
|
||||
START 00:02:00
|
||||
|
||||
TRACK MODE2_RAW
|
||||
COPY
|
||||
FILE "vcd_demo.bin" 00:20:71 00:05:14
|
||||
START 00:02:00
|
||||
97
test/vcd_demo_vcdinfo.right
Normal file
97
test/vcd_demo_vcdinfo.right
Normal file
@@ -0,0 +1,97 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 3)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true yes
|
||||
2: 00:17:57 001182 XA true yes
|
||||
3: 00:24:71 001721 XA true yes
|
||||
170: 00:30:10 002110 leadout (4 MB raw, 4 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
Application:
|
||||
Preparer : LKVCDIMAGER 5.0.7.10(WIN32)
|
||||
Publisher : LAURENS KOEHOORN
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : V0469
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 mpegav
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 sources
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00:00 vcd
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 375] 65536 Jul 14 1978 00:00:00 lot_x.vcd
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 407] 144 Jul 14 1978 00:00:00 psd_x.vcd
|
||||
|
||||
/MPEGAV/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 1182] 904036 ( 796672) Jul 14 1978 00:00:00 avseq01.dat
|
||||
---2-xrxrxr 0 0 [fn 02] [LSN 1721] 904036 ( 796672) Jul 14 1978 00:00:00 avseq02.dat
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 01] [LSN 225] 220780 ( 194560) Jul 14 1978 00:00:00 item0001.dat
|
||||
|
||||
/Sources/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 html
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 434] 842 Dec 11 2002 10:33:47 index.htm
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 435] 1216557 Jan 07 2003 18:01:37 menu.ppm
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 1030] 2793 Jan 07 2003 18:08:20 source.xml
|
||||
|
||||
/Sources/HTML/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 425] 1067 Jan 07 2003 17:51:17 0.xml
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 426] 1067 Jan 07 2003 17:51:17 1.xml
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00:00 img
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 427] 1327 Jan 07 2003 17:51:16 movies.css
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 428] 12024 Jan 07 2003 17:51:16 toc.xsl
|
||||
|
||||
/Sources/HTML/img/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 408] 1999 Nov 13 2002 07:27:30 al.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 409] 7626 Jan 07 2003 17:42:53 loeki_groep_01.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 413] 9986 Jan 07 2003 17:42:53 loeki_groep_02.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 418] 207 Nov 14 2002 19:33:19 a_left.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 419] 207 Nov 14 2002 19:33:19 a_right.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 420] 441 Nov 13 2002 10:54:14 animatie.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 421] 250 Nov 14 2002 11:44:14 face_up2.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 422] 259 Nov 13 2002 11:09:06 familie.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 423] 1010 Nov 14 2002 11:52:28 goldstar2.gif
|
||||
----1xrxrxr 0 0 [fn 01] [LSN 424] 1783 Nov 13 2002 07:15:09 vcd.gif
|
||||
|
||||
/VCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00:00 entries.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00:00 info.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00:00 lot.vcd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 184] 72 Jul 14 1978 00:00:00 psd.vcd
|
||||
|
||||
XA sectors Video CD
|
||||
|
||||
Format : VCD 2.0
|
||||
Album : `LOEKI'
|
||||
Volume count: 1
|
||||
volume number: 1
|
||||
session #2 starts at track 2, LSN: 1182, ISO 9660 blocks: 1032
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
96
test/vcd_demo_vcdinfo_toc.right
Normal file
96
test/vcd_demo_vcdinfo_toc.right
Normal file
@@ -0,0 +1,96 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 3)
|
||||
#: MSF LSN Type Green? Copy? Channels Premphasis?
|
||||
1: 00:02:00 000000 XA true yes
|
||||
2: 00:17:57 001182 XA true yes
|
||||
3: 00:24:71 001721 XA true yes
|
||||
170: 00:30:10 002110 leadout (4 MB raw, 4 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
Application:
|
||||
Preparer : LKVCDIMAGER 5.0.7.10(WIN32)
|
||||
Publisher : LAURENS KOEHOORN
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : V0469
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 ext
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 mpegav
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 segment
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 sources
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 vcd
|
||||
|
||||
/EXT/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 375] 65536 Jul 14 1978 00:00 lot_x.vcd
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 407] 144 Jul 14 1978 00:00 psd_x.vcd
|
||||
|
||||
/MPEGAV/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
- ---2-xrxrxr 0 0 [fn 01] [LSN 1182] 904036 ( 796672) Jul 14 1978 00:00 avseq01.dat
|
||||
- ---2-xrxrxr 0 0 [fn 02] [LSN 1721] 904036 ( 796672) Jul 14 1978 00:00 avseq02.dat
|
||||
|
||||
/SEGMENT/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
- ---2-xrxrxr 0 0 [fn 01] [LSN 225] 220780 ( 194560) Jul 14 1978 00:00 item0001.dat
|
||||
|
||||
/Sources/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 html
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 434] 842 Dec 11 2002 10:33 index.htm
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 435] 1216557 Jan 07 2003 18:01 menu.ppm
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 1030] 2793 Jan 07 2003 18:08 source.xml
|
||||
|
||||
/Sources/HTML/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00 ..
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 425] 1067 Jan 07 2003 17:51 0.xml
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 426] 1067 Jan 07 2003 17:51 1.xml
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 img
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 427] 1327 Jan 07 2003 17:51 movies.css
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 428] 12024 Jan 07 2003 17:51 toc.xsl
|
||||
|
||||
/Sources/HTML/img/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 24] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 23] 2048 Jul 14 1978 00:00 ..
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 408] 1999 Nov 13 2002 07:27 al.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 409] 7626 Jan 07 2003 17:42 loeki_groep_01.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 413] 9986 Jan 07 2003 17:42 loeki_groep_02.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 418] 207 Nov 14 2002 19:33 a_left.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 419] 207 Nov 14 2002 19:33 a_right.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 420] 441 Nov 13 2002 10:54 animatie.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 421] 250 Nov 14 2002 11:44 face_up2.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 422] 259 Nov 13 2002 11:09 familie.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 423] 1010 Nov 14 2002 11:52 goldstar2.gif
|
||||
- ----1xrxrxr 0 0 [fn 01] [LSN 424] 1783 Nov 13 2002 07:15 vcd.gif
|
||||
|
||||
/VCD/:
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 25] 2048 Jul 14 1978 00:00 .
|
||||
d d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00 ..
|
||||
- ----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00 entries.vcd
|
||||
- ----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00 info.vcd
|
||||
- ----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00 lot.vcd
|
||||
- ----1xrxrxr 0 0 [fn 00] [LSN 184] 72 Jul 14 1978 00:00 psd.vcd
|
||||
|
||||
XA sectors Video CD
|
||||
|
||||
Format : VCD 2.0
|
||||
Album : `LOEKI'
|
||||
Volume count: 1
|
||||
volume number: 1
|
||||
session #2 starts at track 2, LSN: 1182, ISO 9660 blocks: 1032
|
||||
ISO 9660: 1032 blocks, label `V0469 '
|
||||
BIN
test/videocd.nrg
Normal file
BIN
test/videocd.nrg
Normal file
Binary file not shown.
68
test/videocd.right
Normal file
68
test/videocd.right
Normal file
@@ -0,0 +1,68 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD DATA (Mode 2)
|
||||
CD-ROM Track List (1 - 5)
|
||||
#: MSF LSN Type Green? Copy?
|
||||
1: 00:02:00 000000 XA true no
|
||||
2: 00:13:01 000826 XA true no
|
||||
3: 00:16:01 001051 XA true no
|
||||
4: 00:19:01 001276 XA true no
|
||||
5: 00:22:01 001501 XA true no
|
||||
170: 00:25:01 001726 leadout (3 MB raw, 3 MB formatted)
|
||||
Media Catalog Number (MCN): not available
|
||||
Last CD Session LSN: not supported by drive/driver
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
CD-ROM with CD-RTOS and ISO 9660 filesystem
|
||||
ISO 9660: 676 blocks, label `SVIDEOCD '
|
||||
Application: SVIDEOCD.APP;1
|
||||
Preparer : GNU VCDIMAGER CHECK MODE
|
||||
Publisher : PUBL_ID
|
||||
System : CD-RTOS CD-BRIDGE
|
||||
Volume : SVIDEOCD
|
||||
Volume Set :
|
||||
ISO9660 filesystem
|
||||
/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 ext
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 mpeg2
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 segment
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 svcd
|
||||
|
||||
/EXT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 19] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 675] 78 Jul 14 1978 00:00:00 scandata.dat
|
||||
|
||||
/MPEG2/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 20] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 826] 174300 ( 153600) Jul 14 1978 00:00:00 avseq01.mpg
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 1051] 174300 ( 153600) Jul 14 1978 00:00:00 avseq02.mpg
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 1276] 174300 ( 153600) Jul 14 1978 00:00:00 avseq03.mpg
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 1501] 174300 ( 153600) Jul 14 1978 00:00:00 avseq04.mpg
|
||||
|
||||
/SEGMENT/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 21] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 225] 65072 ( 57344) Jul 14 1978 00:00:00 item0001.mpg
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 375] 65072 ( 57344) Jul 14 1978 00:00:00 item0002.mpg
|
||||
---2-xrxrxr 0 0 [fn 00] [LSN 525] 65072 ( 57344) Jul 14 1978 00:00:00 item0003.mpg
|
||||
|
||||
/SVCD/:
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 22] 2048 Jul 14 1978 00:00:00 .
|
||||
d---1xrxrxr 0 0 [fn 00] [LSN 18] 2048 Jul 14 1978 00:00:00 ..
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 151] 2048 Jul 14 1978 00:00:00 entries.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 150] 2048 Jul 14 1978 00:00:00 info.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 152] 65536 Jul 14 1978 00:00:00 lot.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 184] 112 Jul 14 1978 00:00:00 psd.svd
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 186] 40 Jul 14 1978 00:00:00 search.dat
|
||||
----1xrxrxr 0 0 [fn 00] [LSN 185] 2048 Jul 14 1978 00:00:00 tracks.svd
|
||||
|
||||
XA sectors Super Video CD (SVCD) or Chaoji Video CD (CVD)
|
||||
session #2 starts at track 2, LSN: 826, ISO 9660 blocks: 676
|
||||
ISO 9660: 676 blocks, label `SVIDEOCD '
|
||||
Reference in New Issue
Block a user