Reacted on some of the complaints of codespell
This commit is contained in:
parent
ba7422b2b6
commit
2e8dec42e5
20
README
20
README
@ -255,7 +255,7 @@ Project history as far as known to me:
|
|||||||
which by about nearly everybody else was perceived as unfriendly fork.
|
which by about nearly everybody else was perceived as unfriendly fork.
|
||||||
Derek Foreman four days later posted a message which expressed his
|
Derek Foreman four days later posted a message which expressed his
|
||||||
discontent.
|
discontent.
|
||||||
The situation first caused me to publically regret it and then - after i
|
The situation first caused me to publicly regret it and then - after i
|
||||||
got the opportunity to move in with cdrskin - gave me true reason to
|
got the opportunity to move in with cdrskin - gave me true reason to
|
||||||
personally apologize to Derek Foreman, Ben Jansens and the contributors at
|
personally apologize to Derek Foreman, Ben Jansens and the contributors at
|
||||||
icculus.org/burn. Posted to both projects:
|
icculus.org/burn. Posted to both projects:
|
||||||
@ -329,7 +329,7 @@ Project history as far as known to me:
|
|||||||
and write modes, and better protection against typical user mishaps.
|
and write modes, and better protection against typical user mishaps.
|
||||||
|
|
||||||
- 24th October 2007 version 0.4.0 is the foundation of new library libisoburn
|
- 24th October 2007 version 0.4.0 is the foundation of new library libisoburn
|
||||||
and an upcomming integrated application for manipulating and writing
|
and an upcoming integrated application for manipulating and writing
|
||||||
ISO 9660 + Rock Ridge images. cdrskin-0.4.0 got capabilities like growisofs
|
ISO 9660 + Rock Ridge images. cdrskin-0.4.0 got capabilities like growisofs
|
||||||
by these enhancements: growing of overwriteable media and disk files.
|
by these enhancements: growing of overwriteable media and disk files.
|
||||||
Taking again a bow towards Andy Polyakov.
|
Taking again a bow towards Andy Polyakov.
|
||||||
@ -389,7 +389,7 @@ Project history as far as known to me:
|
|||||||
and cdrecord style. xorriso now can serve underneath growisofs.
|
and cdrecord style. xorriso now can serve underneath growisofs.
|
||||||
|
|
||||||
- 20th Aug 2008 libburn-0.5.2 revokes the necessity that a drive must be
|
- 20th Aug 2008 libburn-0.5.2 revokes the necessity that a drive must be
|
||||||
enumerable in order to be adressable. Enumeration is enhanced by examining
|
enumerable in order to be addressable. Enumeration is enhanced by examining
|
||||||
/proc/sys/dev/cdrom/info.
|
/proc/sys/dev/cdrom/info.
|
||||||
|
|
||||||
- 24th Aug 2008 libisoburn/xorriso-0.2.4 introduces a media readability check
|
- 24th Aug 2008 libisoburn/xorriso-0.2.4 introduces a media readability check
|
||||||
@ -421,7 +421,7 @@ Project history as far as known to me:
|
|||||||
signature, and for producing ISO images with MBR which boot from hard disk
|
signature, and for producing ISO images with MBR which boot from hard disk
|
||||||
or USB stick. Three minor bugs were fixed.
|
or USB stick. Three minor bugs were fixed.
|
||||||
|
|
||||||
- 7th Dec 2008 libburn-0.5.8 prevents a SIGSEGV with wierd CD table-of-content
|
- 7th Dec 2008 libburn-0.5.8 prevents a SIGSEGV with weird CD table-of-content
|
||||||
and improves BD-RE formatting.
|
and improves BD-RE formatting.
|
||||||
|
|
||||||
- 9th Dec 2008 Our project received a donation from Thomas Weber.
|
- 9th Dec 2008 Our project received a donation from Thomas Weber.
|
||||||
@ -646,7 +646,7 @@ Project history as far as known to me:
|
|||||||
|
|
||||||
- Sat Jun 18 2011 release 1.1.0:
|
- Sat Jun 18 2011 release 1.1.0:
|
||||||
The consumption of stack memory was reduced. Statical program analysis found
|
The consumption of stack memory was reduced. Statical program analysis found
|
||||||
some rarely occuring memory leaks. Several small bugs were fixed.
|
some rarely occurring memory leaks. Several small bugs were fixed.
|
||||||
The suffix .plXY was dropped from tarball names of libburn and libisoburn.
|
The suffix .plXY was dropped from tarball names of libburn and libisoburn.
|
||||||
|
|
||||||
- Mon Jun 20 2011 patch release libburn-1.1.0.pl01:
|
- Mon Jun 20 2011 patch release libburn-1.1.0.pl01:
|
||||||
@ -683,10 +683,10 @@ Project history as far as known to me:
|
|||||||
- Mon Apr 02 2012 release 1.2.2:
|
- Mon Apr 02 2012 release 1.2.2:
|
||||||
The handling of intentional deviations from ECMA-119 specifications has
|
The handling of intentional deviations from ECMA-119 specifications has
|
||||||
been improved in libisofs. libisoburn and xorriso now make use of these
|
been improved in libisofs. libisoburn and xorriso now make use of these
|
||||||
improvements. Some rarely occuring bugs have been fixed.
|
improvements. Some rarely occurring bugs have been fixed.
|
||||||
|
|
||||||
- Fri Jul 20 2012 release 1.2.4:
|
- Fri Jul 20 2012 release 1.2.4:
|
||||||
libburn and libisofs got some rarely occuring bugs fixed. libisofs learned
|
libburn and libisofs got some rarely occurring bugs fixed. libisofs learned
|
||||||
to produce HFS+ metadata and Apple Partition Map. The capabilities of
|
to produce HFS+ metadata and Apple Partition Map. The capabilities of
|
||||||
isohybrid options --efi and --mac have been implemented (GPT and APM).
|
isohybrid options --efi and --mac have been implemented (GPT and APM).
|
||||||
|
|
||||||
@ -697,7 +697,7 @@ Project history as far as known to me:
|
|||||||
xorriso-tcltk
|
xorriso-tcltk
|
||||||
|
|
||||||
- Mon Mar 18 2013 release 1.2.8:
|
- Mon Mar 18 2013 release 1.2.8:
|
||||||
Some rarely occuring bugs were fixed in libisofs and libburn. libburn's
|
Some rarely occurring bugs were fixed in libisofs and libburn. libburn's
|
||||||
handling of incomplete sessions has been improved. xorriso's mkisofs
|
handling of incomplete sessions has been improved. xorriso's mkisofs
|
||||||
emulation learned to set El Torito section id strings.
|
emulation learned to set El Torito section id strings.
|
||||||
|
|
||||||
@ -712,7 +712,7 @@ Project history as far as known to me:
|
|||||||
Regression introduced by version 1.2.8.
|
Regression introduced by version 1.2.8.
|
||||||
|
|
||||||
- Fri Aug 07 2013 release 1.3.2:
|
- Fri Aug 07 2013 release 1.3.2:
|
||||||
cdrskin has aquired the capability to copy audio tracks to .wav files.
|
cdrskin has acquired the capability to copy audio tracks to .wav files.
|
||||||
It can extract CD-TEXT in a form that is readable for humans and for
|
It can extract CD-TEXT in a form that is readable for humans and for
|
||||||
cdrskin itself. Several small bugs were fixed in xorriso. Its capabilities
|
cdrskin itself. Several small bugs were fixed in xorriso. Its capabilities
|
||||||
to serve frontend programs in dialog mode have been improved.
|
to serve frontend programs in dialog mode have been improved.
|
||||||
@ -721,7 +721,7 @@ Project history as far as known to me:
|
|||||||
A long standing hidden bug was fixed, which affected inspection of
|
A long standing hidden bug was fixed, which affected inspection of
|
||||||
unformatted DVD+RW.
|
unformatted DVD+RW.
|
||||||
xorriso now by default puts EL Torito boot images to low block addresses.
|
xorriso now by default puts EL Torito boot images to low block addresses.
|
||||||
It can report and set read speeds. Several rarely occuring bugs were fixed.
|
It can report and set read speeds. Several rarely occurring bugs were fixed.
|
||||||
|
|
||||||
- Tue Mar 04 2014 release 1.3.6:
|
- Tue Mar 04 2014 release 1.3.6:
|
||||||
libburn learned to operate optical drives and media on NetBSD. libisofs got
|
libburn learned to operate optical drives and media on NetBSD. libisofs got
|
||||||
|
@ -206,7 +206,7 @@ See output of command
|
|||||||
If you have use cases for them, please report your wishes and expectations.
|
If you have use cases for them, please report your wishes and expectations.
|
||||||
|
|
||||||
On the other hand, the capability of multi-session and of writing streams
|
On the other hand, the capability of multi-session and of writing streams
|
||||||
of unpredicted lenght surpass the current DVD capabilities of cdrecord.
|
of unpredicted length surpass the current DVD capabilities of cdrecord.
|
||||||
|
|
||||||
|
|
||||||
Inspiration and Standard
|
Inspiration and Standard
|
||||||
@ -357,7 +357,7 @@ but leaves the media in "intermediate" state. In the first session of writing
|
|||||||
one may only write sequentially to such a DVD. After that, it gets random
|
one may only write sequentially to such a DVD. After that, it gets random
|
||||||
addressable by cdrskin. DVD-ROM drives might show ill behavior with them.
|
addressable by cdrskin. DVD-ROM drives might show ill behavior with them.
|
||||||
|
|
||||||
blank=format_overwrite_full uses preferrably "Full Format" (type 00h).
|
blank=format_overwrite_full uses preferably "Full Format" (type 00h).
|
||||||
This formatting lasts as long as writing a full DVD. It includes writing of
|
This formatting lasts as long as writing a full DVD. It includes writing of
|
||||||
lead-out which is said to be good for DVD ROM compatibility.
|
lead-out which is said to be good for DVD ROM compatibility.
|
||||||
|
|
||||||
@ -526,7 +526,7 @@ Run cdrskin by
|
|||||||
The following settings will make pfexec keep original UID and EUID and prevent
|
The following settings will make pfexec keep original UID and EUID and prevent
|
||||||
most superuser powers. Be aware that you still can manipulate all device files
|
most superuser powers. Be aware that you still can manipulate all device files
|
||||||
if you have the file permissions for that.
|
if you have the file permissions for that.
|
||||||
Full root privileges for cdrskin can then be aquired only by command su.
|
Full root privileges for cdrskin can then be acquired only by command su.
|
||||||
|
|
||||||
Edit /etc/security/exec_attr and add this line to the other "Media Backup"
|
Edit /etc/security/exec_attr and add this line to the other "Media Backup"
|
||||||
lines:
|
lines:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
cdrfifo.c , Copyright 2006 Thomas Schmitt <scdbackup@gmx.net>
|
cdrfifo.c , Copyright 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
|
|
||||||
A fd-to-fd or fd-to-memory fifo to be used within cdrskin or independently.
|
A fd-to-fd or fd-to-memory fifo to be used within cdrskin or independently.
|
||||||
By chaining of fifo objects, several fifos can be run simultaneously
|
By chaining of fifo objects, several fifos can be run simultaneously
|
||||||
@ -799,7 +799,7 @@ ex:;
|
|||||||
/** Check for pending data at the fifo's source file descriptor and wether the
|
/** Check for pending data at the fifo's source file descriptor and wether the
|
||||||
fifo is ready to take them. Simultaneously check the buffer for existing
|
fifo is ready to take them. Simultaneously check the buffer for existing
|
||||||
data and the destination fd for readiness to accept some. If so, a small
|
data and the destination fd for readiness to accept some. If so, a small
|
||||||
chunk of data is transfered to and/or from the fifo.
|
chunk of data is transferred to and/or from the fifo.
|
||||||
This is done for the given fifo object and all members of its next-chain.
|
This is done for the given fifo object and all members of its next-chain.
|
||||||
The check and transactions are repeated until a given timespan has elapsed.
|
The check and transactions are repeated until a given timespan has elapsed.
|
||||||
libburn applications call this function in the burn loop instead of sleep().
|
libburn applications call this function in the burn loop instead of sleep().
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
cdrfifo.c , Copyright 2006 Thomas Schmitt <scdbackup@gmx.net>
|
cdrfifo.c , Copyright 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
|
|
||||||
A fd-to-fd or fd-to-memory fifo to be used within cdrskin or independently.
|
A fd-to-fd or fd-to-memory fifo to be used within cdrskin or independently.
|
||||||
By chaining of fifo objects, several fifos can be run simultaneously
|
By chaining of fifo objects, several fifos can be run simultaneously
|
||||||
@ -136,7 +136,7 @@ int Cdrfifo_adopt_iso_fs_descr(struct CdrfifO *o, char **pt, int flag);
|
|||||||
/** Check for pending data at the fifo's source file descriptor and wether the
|
/** Check for pending data at the fifo's source file descriptor and wether the
|
||||||
fifo is ready to take them. Simultaneously check the buffer for existing
|
fifo is ready to take them. Simultaneously check the buffer for existing
|
||||||
data and the destination fd for readiness to accept some. If so, a small
|
data and the destination fd for readiness to accept some. If so, a small
|
||||||
chunk of data is transfered to and/or from the fifo.
|
chunk of data is transferred to and/or from the fifo.
|
||||||
This is done for the given fifo object and all members of its next-chain.
|
This is done for the given fifo object and all members of its next-chain.
|
||||||
The check and transactions are repeated until a given timespan has elapsed.
|
The check and transactions are repeated until a given timespan has elapsed.
|
||||||
libburn applications call this function in the burn loop instead of sleep().
|
libburn applications call this function in the burn loop instead of sleep().
|
||||||
|
@ -1906,7 +1906,7 @@ static char Cdrpreskin_sys_rc_nameS[Cdrpreskin_rc_nuM][80]= {
|
|||||||
*/
|
*/
|
||||||
struct CdrpreskiN {
|
struct CdrpreskiN {
|
||||||
|
|
||||||
/* to be transfered into skin */
|
/* to be transferred into skin */
|
||||||
int verbosity;
|
int verbosity;
|
||||||
char queue_severity[81];
|
char queue_severity[81];
|
||||||
char print_severity[81];
|
char print_severity[81];
|
||||||
@ -3329,7 +3329,7 @@ ex:;
|
|||||||
|
|
||||||
|
|
||||||
/** List of furter wishes towards libburn:
|
/** List of furter wishes towards libburn:
|
||||||
- a possibilty to implement cdrskin -reset
|
- a possibility to implement cdrskin -reset
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -3358,7 +3358,7 @@ static double Cdrskin_libburn_bd_speed_factoR= 4495.625;
|
|||||||
/* The effective speed conversion factor for burn_drive_set_speed() */
|
/* The effective speed conversion factor for burn_drive_set_speed() */
|
||||||
static double Cdrskin_libburn_speed_factoR= 176.4;
|
static double Cdrskin_libburn_speed_factoR= 176.4;
|
||||||
|
|
||||||
/** Add-on for burn_drive_set_speed() to accomodate to the slightley oversized
|
/** Add-on for burn_drive_set_speed() to accommodate to the slightly oversized
|
||||||
speed ideas of my LG DVDRAM GSA-4082B. LITE-ON LTR-48125S tolerates it.
|
speed ideas of my LG DVDRAM GSA-4082B. LITE-ON LTR-48125S tolerates it.
|
||||||
*/
|
*/
|
||||||
static double Cdrskin_libburn_cd_speed_addoN= 40.0;
|
static double Cdrskin_libburn_cd_speed_addoN= 40.0;
|
||||||
@ -3476,7 +3476,7 @@ struct CdrskiN {
|
|||||||
int tell_media_space; /* actually do not burn but tell the available space */
|
int tell_media_space; /* actually do not burn but tell the available space */
|
||||||
int burnfree;
|
int burnfree;
|
||||||
/** The write mode (like SAO or TAO). See libburn.
|
/** The write mode (like SAO or TAO). See libburn.
|
||||||
Controled by preskin->write_mode_name */
|
Controlled by preskin->write_mode_name */
|
||||||
enum burn_write_types write_type;
|
enum burn_write_types write_type;
|
||||||
int block_type;
|
int block_type;
|
||||||
int multi;
|
int multi;
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2016.07.21.175105"
|
#define Cdrskin_timestamP "2016.07.23.104100"
|
||||||
|
@ -85,7 +85,7 @@ Option blank= offers several specialized blanking and formatting types,
|
|||||||
which one may use for particular purposes on DVD-RW, DVD-RAM and BD-RE.
|
which one may use for particular purposes on DVD-RW, DVD-RAM and BD-RE.
|
||||||
(See also below: blank=format_overwrite)
|
(See also below: blank=format_overwrite)
|
||||||
The drive offers a list of possible formats by cdrskin option --list_formats.
|
The drive offers a list of possible formats by cdrskin option --list_formats.
|
||||||
One should aquire MMC background information before making use of them.
|
One should acquire MMC background information before making use of them.
|
||||||
|
|
||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -263,7 +263,7 @@ would be the appropriate translation:
|
|||||||
{{{
|
{{{
|
||||||
dev_translation=+0,0,0+/dev/hdc
|
dev_translation=+0,0,0+/dev/hdc
|
||||||
}}}
|
}}}
|
||||||
The "+" character is a separator to be choosen by you.
|
The "+" character is a separator to be chosen by you.
|
||||||
Currently i am not aware of the need to choose any other than "+"
|
Currently i am not aware of the need to choose any other than "+"
|
||||||
unless you get playful with custom translations like
|
unless you get playful with custom translations like
|
||||||
{{{
|
{{{
|
||||||
|
@ -803,7 +803,7 @@ Two format types are relevant for DVD-RAM : 00h and 01h.
|
|||||||
00h offers the default size format and usually a maximum payload size format.
|
00h offers the default size format and usually a maximum payload size format.
|
||||||
Even with that maximum size payload there is hardware defect management.
|
Even with that maximum size payload there is hardware defect management.
|
||||||
(mmc5r03c.pdf 6.5.4.2.1.2)
|
(mmc5r03c.pdf 6.5.4.2.1.2)
|
||||||
01h can convert payload capacity into spare blocks for defect managment.
|
01h can convert payload capacity into spare blocks for defect management.
|
||||||
There is no way to increase payload capacity by format 01h.
|
There is no way to increase payload capacity by format 01h.
|
||||||
(mmc5r03c.pdf 6.5.4.2.2.1)
|
(mmc5r03c.pdf 6.5.4.2.2.1)
|
||||||
|
|
||||||
@ -895,7 +895,8 @@ The term "superblock" shall depict the first 64 KiB after the sbsector address.
|
|||||||
|
|
||||||
ISO 9660 multi-session depends on typical TOC information in two ways:
|
ISO 9660 multi-session depends on typical TOC information in two ways:
|
||||||
It needs the superblock address MSC1 of the most recently recorded session and
|
It needs the superblock address MSC1 of the most recently recorded session and
|
||||||
it needs the Next Writeable Address NWA for which to prepare the adress offset.
|
it needs the Next Writeable Address NWA for which to prepare the address
|
||||||
|
offset.
|
||||||
|
|
||||||
The following is learned from growisofs and from ECMA-119:
|
The following is learned from growisofs and from ECMA-119:
|
||||||
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf
|
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf
|
||||||
|
@ -34,7 +34,7 @@ CD-ROM media (0x08) cannot be inquired by command 43h READ TOC/PMA/ATIP.
|
|||||||
in 6.26.3.6 Response Format 0100b: ATIP.
|
in 6.26.3.6 Response Format 0100b: ATIP.
|
||||||
The minute, second, and frame number of lead-in can be read from byte 4 to 6
|
The minute, second, and frame number of lead-in can be read from byte 4 to 6
|
||||||
of the ATIP descriptor. The lead-out bytes are at position 8 to 10. The ATIP
|
of the ATIP descriptor. The lead-out bytes are at position 8 to 10. The ATIP
|
||||||
descriptor is preceeded by a four byte header.
|
descriptor is preceded by a four byte header.
|
||||||
|
|
||||||
I could not find out yet whether (lead-in,lead-out) is mandatorily unique for
|
I could not find out yet whether (lead-in,lead-out) is mandatorily unique for
|
||||||
each particular media product.
|
each particular media product.
|
||||||
@ -176,7 +176,7 @@ BD-R and BD-RE:
|
|||||||
printf (" Media ID: %6.6s/%-3.3s\n",di+4+100,di+4+106);
|
printf (" Media ID: %6.6s/%-3.3s\n",di+4+100,di+4+106);
|
||||||
= MMC-5 6.23.3.3.1 Format Code 00h: Disc Information (DI)
|
= MMC-5 6.23.3.3.1 Format Code 00h: Disc Information (DI)
|
||||||
Table 288 says that Media Type Code (byte 1 of CDB) for BD media is 1.
|
Table 288 says that Media Type Code (byte 1 of CDB) for BD media is 1.
|
||||||
Table 446 says that Disc Information is preceeded by 4 bytes of header.
|
Table 446 says that Disc Information is preceded by 4 bytes of header.
|
||||||
Table 448 says that bytes 0 to 1 are Disc Information Identifier "DI".
|
Table 448 says that bytes 0 to 1 are Disc Information Identifier "DI".
|
||||||
that bytes 8 to 10 are Disc Type Identifier
|
that bytes 8 to 10 are Disc Type Identifier
|
||||||
BDO for BD-ROM, BDW for BD-RE,
|
BDO for BD-ROM, BDW for BD-RE,
|
||||||
@ -1080,6 +1080,7 @@ OTCBRE 001 Optodisc Technology Corporation 1-2X HTL 25GB (12cm) [Blu]
|
|||||||
"Moser Baer India Limited"
|
"Moser Baer India Limited"
|
||||||
PHILIP R02 Moser Baer India Ltd 1-2X HTL 25GB [Blu]
|
PHILIP R02 Moser Baer India Ltd 1-2X HTL 25GB [Blu]
|
||||||
PHILIP R04 Moser Baer India Ltd 1-4X HTL 25GB [Blu]
|
PHILIP R04 Moser Baer India Ltd 1-4X HTL 25GB [Blu]
|
||||||
|
PHILIPR0 R04 TDK 4x 25 GB (own buy)
|
||||||
PHILIP W02 Moser Baer India Ltd 1-2X HTL 25GB [Blu]
|
PHILIP W02 Moser Baer India Ltd 1-2X HTL 25GB [Blu]
|
||||||
|
|
||||||
"Philips"
|
"Philips"
|
||||||
|
@ -271,7 +271,7 @@ int burn_drive_scan(struct burn_drive_info *drives[], unsigned int *n_drives)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cant be anything working! */
|
/* cannot be anything working! */
|
||||||
|
|
||||||
/* ts A61006 */
|
/* ts A61006 */
|
||||||
/* a ssert(!(workers && workers->drive)); */
|
/* a ssert(!(workers && workers->drive)); */
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
of two elements "GF(2)". If bytes 0 .. M are given, then bit n of byte m
|
of two elements "GF(2)". If bytes 0 .. M are given, then bit n of byte m
|
||||||
is mapped to the coefficient of x exponent (n + ((M - m) * 8) + 16).
|
is mapped to the coefficient of x exponent (n + ((M - m) * 8) + 16).
|
||||||
I.e. they translate the bits into a polynomial with the highest bit
|
I.e. they translate the bits into a polynomial with the highest bit
|
||||||
becomming the coefficient of the highest power of x. Then this polynomial
|
becoming the coefficient of the highest power of x. Then this polynomial
|
||||||
is multiplied by (x exp 16).
|
is multiplied by (x exp 16).
|
||||||
|
|
||||||
The set of all such polynomials forms a commutative ring. Its addition
|
The set of all such polynomials forms a commutative ring. Its addition
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
||||||
|
|
||||||
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
||||||
Copyright (c) 2006 - 2014 Thomas Schmitt <scdbackup@gmx.net>
|
Copyright (c) 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1499,7 +1499,7 @@ void burn_drive_info_free(struct burn_drive_info drive_infos[])
|
|||||||
|
|
||||||
/* ts A60904 : This looks a bit weird. [ts A70907 : not any more]
|
/* ts A60904 : This looks a bit weird. [ts A70907 : not any more]
|
||||||
burn_drive_info is not the manager of burn_drive but only its
|
burn_drive_info is not the manager of burn_drive but only its
|
||||||
spokesperson. To my knowlege drive_infos from burn_drive_scan()
|
spokesperson. To my knowledge drive_infos from burn_drive_scan()
|
||||||
are not memorized globally. */
|
are not memorized globally. */
|
||||||
free((void *) drive_infos);
|
free((void *) drive_infos);
|
||||||
|
|
||||||
@ -1507,7 +1507,7 @@ void burn_drive_info_free(struct burn_drive_info drive_infos[])
|
|||||||
/* ts A70903 : THIS IS WRONG ! (disabled now)
|
/* ts A70903 : THIS IS WRONG ! (disabled now)
|
||||||
It endangers multi drive usage.
|
It endangers multi drive usage.
|
||||||
This call is not entitled to delete all drives, only the
|
This call is not entitled to delete all drives, only the
|
||||||
ones of the array which it recieves a parmeter.
|
ones of the array which it receives a parmeter.
|
||||||
|
|
||||||
Problem: It was unclear how many items are listed in drive_infos
|
Problem: It was unclear how many items are listed in drive_infos
|
||||||
Solution: Added a end marker element to any burn_drive_info array
|
Solution: Added a end marker element to any burn_drive_info array
|
||||||
@ -1833,7 +1833,7 @@ ex:;
|
|||||||
|
|
||||||
|
|
||||||
/* ts A60823 */
|
/* ts A60823 */
|
||||||
/** Aquire a drive with known persistent address.
|
/** Acquire a drive with known persistent address.
|
||||||
*/
|
*/
|
||||||
int burn_drive_scan_and_grab(struct burn_drive_info *drive_infos[], char* adr,
|
int burn_drive_scan_and_grab(struct burn_drive_info *drive_infos[], char* adr,
|
||||||
int load)
|
int load)
|
||||||
@ -1841,7 +1841,7 @@ int burn_drive_scan_and_grab(struct burn_drive_info *drive_infos[], char* adr,
|
|||||||
unsigned int n_drives;
|
unsigned int n_drives;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
/* check wether drive adress is already registered */
|
/* check wether drive address is already registered */
|
||||||
for (i = 0; i <= drivetop; i++)
|
for (i = 0; i <= drivetop; i++)
|
||||||
if (drive_array[i].global_index >= 0)
|
if (drive_array[i].global_index >= 0)
|
||||||
if (strcmp(drive_array[i].devname, adr) == 0)
|
if (strcmp(drive_array[i].devname, adr) == 0)
|
||||||
@ -3217,7 +3217,7 @@ int burn_drive_equals_adr(struct burn_drive *d1, char *adr2_in, int role2)
|
|||||||
if (stat_ret1 == -1 || stat_ret2 == -1) {
|
if (stat_ret1 == -1 || stat_ret2 == -1) {
|
||||||
if (stat_ret1 != -1 || stat_ret2 != -1)
|
if (stat_ret1 != -1 || stat_ret2 != -1)
|
||||||
{ret = 0; goto ex;}
|
{ret = 0; goto ex;}
|
||||||
/* one adress existing, one not */
|
/* one address existing, one not */
|
||||||
|
|
||||||
/* Two non-existing file objects */
|
/* Two non-existing file objects */
|
||||||
|
|
||||||
|
@ -842,7 +842,7 @@ void burn_set_scsi_logging(int flag);
|
|||||||
@param exclusive
|
@param exclusive
|
||||||
0 = no attempt to make drive access exclusive.
|
0 = no attempt to make drive access exclusive.
|
||||||
1 = Try to open only devices which are not marked as busy
|
1 = Try to open only devices which are not marked as busy
|
||||||
and try to mark them busy if opened sucessfully. (O_EXCL
|
and try to mark them busy if opened successfully. (O_EXCL
|
||||||
on GNU/Linux , flock(LOCK_EX) on FreeBSD.)
|
on GNU/Linux , flock(LOCK_EX) on FreeBSD.)
|
||||||
2 = in case of a SCSI device, also try to open exclusively
|
2 = in case of a SCSI device, also try to open exclusively
|
||||||
the matching /dev/sr, /dev/scd and /dev/st .
|
the matching /dev/sr, /dev/scd and /dev/st .
|
||||||
@ -880,7 +880,7 @@ void burn_allow_untested_profiles(int yes);
|
|||||||
|
|
||||||
|
|
||||||
/* ts A60823 */
|
/* ts A60823 */
|
||||||
/** Aquire a drive with known device file address.
|
/** Acquire a drive with known device file address.
|
||||||
|
|
||||||
This is the sysadmin friendly way to open one drive and to leave all
|
This is the sysadmin friendly way to open one drive and to leave all
|
||||||
others untouched. It bundles the following API calls to form a
|
others untouched. It bundles the following API calls to form a
|
||||||
@ -902,12 +902,12 @@ void burn_allow_untested_profiles(int yes);
|
|||||||
|
|
||||||
Different than with burn_drive_scan() it is allowed to call
|
Different than with burn_drive_scan() it is allowed to call
|
||||||
burn_drive_scan_and_grab() without giving up any other scanned drives. So
|
burn_drive_scan_and_grab() without giving up any other scanned drives. So
|
||||||
this call can be used to get a collection of more than one aquired drives.
|
this call can be used to get a collection of more than one acquired drives.
|
||||||
The attempt to aquire the same drive twice will fail, though.
|
The attempt to acquire the same drive twice will fail, though.
|
||||||
|
|
||||||
Pseudo-drives:
|
Pseudo-drives:
|
||||||
|
|
||||||
burn_drive_scan_and_grab() is able to aquire virtual drives which will
|
burn_drive_scan_and_grab() is able to acquire virtual drives which will
|
||||||
accept options much like a MMC burner drive. Many of those options will not
|
accept options much like a MMC burner drive. Many of those options will not
|
||||||
cause any effect, though. The address of a pseudo-drive begins with
|
cause any effect, though. The address of a pseudo-drive begins with
|
||||||
prefix "stdio:" followed by a path.
|
prefix "stdio:" followed by a path.
|
||||||
@ -1001,7 +1001,7 @@ void burn_drive_clear_whitelist(void);
|
|||||||
burn_drive_scan() again.
|
burn_drive_scan() again.
|
||||||
@param n_drives Returns the number of drive items in drive_infos.
|
@param n_drives Returns the number of drive items in drive_infos.
|
||||||
@return 0 while scanning is not complete
|
@return 0 while scanning is not complete
|
||||||
>0 when it is finished sucessfully,
|
>0 when it is finished successfully,
|
||||||
<0 when finished but failed.
|
<0 when finished but failed.
|
||||||
*/
|
*/
|
||||||
int burn_drive_scan(struct burn_drive_info *drive_infos[],
|
int burn_drive_scan(struct burn_drive_info *drive_infos[],
|
||||||
@ -1307,7 +1307,7 @@ int burn_drive_get_media_sno(struct burn_drive *d, char **sno, int *sno_len);
|
|||||||
burn_drive_get_write_speed(), burn_drive_get_min_write_speed(),
|
burn_drive_get_write_speed(), burn_drive_get_min_write_speed(),
|
||||||
burn_drive_get_start_end_lba(). The drive must be grabbed for this call.
|
burn_drive_get_start_end_lba(). The drive must be grabbed for this call.
|
||||||
@param drive The drive to query.
|
@param drive The drive to query.
|
||||||
@return 1=sucess, 0=no valid ATIP info read, -1 severe error
|
@return 1=success, 0=no valid ATIP info read, -1 severe error
|
||||||
@since 0.2.6
|
@since 0.2.6
|
||||||
*/
|
*/
|
||||||
int burn_disc_read_atip(struct burn_drive *drive);
|
int burn_disc_read_atip(struct burn_drive *drive);
|
||||||
@ -1376,7 +1376,7 @@ char *burn_guess_cd_manufacturer(int m_li, int s_li, int f_li,
|
|||||||
bit5= Disc is nominally erasable (Erasable bit)
|
bit5= Disc is nominally erasable (Erasable bit)
|
||||||
This will be set with overwriteable media which
|
This will be set with overwriteable media which
|
||||||
libburn normally considers to be unerasable blank.
|
libburn normally considers to be unerasable blank.
|
||||||
@return 1 success, <= 0 an error occured
|
@return 1 success, <= 0 an error occurred
|
||||||
@since 0.7.2
|
@since 0.7.2
|
||||||
*/
|
*/
|
||||||
int burn_disc_get_cd_info(struct burn_drive *d, char disc_type[80],
|
int burn_disc_get_cd_info(struct burn_drive *d, char disc_type[80],
|
||||||
@ -1400,7 +1400,7 @@ int burn_disc_get_cd_info(struct burn_drive *d, char disc_type[80],
|
|||||||
bytes in text_packs divided by 18.
|
bytes in text_packs divided by 18.
|
||||||
@param flag Bitfield for control purposes,
|
@param flag Bitfield for control purposes,
|
||||||
Unused yet. Submit 0.
|
Unused yet. Submit 0.
|
||||||
@return 1 success, 0= no CD-TEXT found, < 0 an error occured
|
@return 1 success, 0= no CD-TEXT found, < 0 an error occurred
|
||||||
@since 1.2.0
|
@since 1.2.0
|
||||||
*/
|
*/
|
||||||
int burn_disc_get_leadin_text(struct burn_drive *d,
|
int burn_disc_get_leadin_text(struct burn_drive *d,
|
||||||
@ -1468,7 +1468,7 @@ int burn_disc_track_lba_nwa(struct burn_drive *d, struct burn_write_opts *o,
|
|||||||
|
|
||||||
/* ts B10525 */
|
/* ts B10525 */
|
||||||
/** Tells whether a previous attempt to determine the Next Writeable Address
|
/** Tells whether a previous attempt to determine the Next Writeable Address
|
||||||
of the upcomming track reveiled that the READ TRACK INFORMATION Damage Bit
|
of the upcoming track reveiled that the READ TRACK INFORMATION Damage Bit
|
||||||
is set for this track and that no valid writable address is available.
|
is set for this track and that no valid writable address is available.
|
||||||
See MMC-5 6.27.3.7 Damage Bit, 6.27.3.11 NWA_V (NWA valid)
|
See MMC-5 6.27.3.7 Damage Bit, 6.27.3.11 NWA_V (NWA valid)
|
||||||
@param d The drive to query.
|
@param d The drive to query.
|
||||||
@ -1692,7 +1692,7 @@ void burn_disc_erase(struct burn_drive *drive, int fast);
|
|||||||
in state "Sequential Recording" (profile 0014h) which get formatted to
|
in state "Sequential Recording" (profile 0014h) which get formatted to
|
||||||
state "Restricted Overwrite" (profile 0013h). DVD+RW can be "de-iced"
|
state "Restricted Overwrite" (profile 0013h). DVD+RW can be "de-iced"
|
||||||
by setting bit4 of flag. DVD-RAM and BD-RE may get formatted initially
|
by setting bit4 of flag. DVD-RAM and BD-RE may get formatted initially
|
||||||
or re-formatted to adjust their Defect Managment.
|
or re-formatted to adjust their Defect Management.
|
||||||
This function usually returns while the drive is still in the process
|
This function usually returns while the drive is still in the process
|
||||||
of formatting. The formatting is done, when burn_drive_get_status()
|
of formatting. The formatting is done, when burn_drive_get_status()
|
||||||
returns BURN_DRIVE_IDLE. This may be immediately after return or may
|
returns BURN_DRIVE_IDLE. This may be immediately after return or may
|
||||||
@ -1880,7 +1880,7 @@ int burn_drive_wrote_well(struct burn_drive *d);
|
|||||||
|
|
||||||
|
|
||||||
/* ts B31023 */
|
/* ts B31023 */
|
||||||
/** Inquire whether a write error occured which is suspected to have happened
|
/** Inquire whether a write error occurred which is suspected to have happened
|
||||||
due to a false report about DVD-RW capability to be written in write type
|
due to a false report about DVD-RW capability to be written in write type
|
||||||
BURN_WRITE_TAO.
|
BURN_WRITE_TAO.
|
||||||
@param d The drive to inquire.
|
@param d The drive to inquire.
|
||||||
@ -2645,7 +2645,7 @@ struct burn_disc *burn_drive_get_disc(struct burn_drive *d);
|
|||||||
@param t The track to set the data source for
|
@param t The track to set the data source for
|
||||||
@param s The data source to use for the contents of the track
|
@param s The data source to use for the contents of the track
|
||||||
@return An error code stating if the source is ready for use for
|
@return An error code stating if the source is ready for use for
|
||||||
writing the track, or if an error occured
|
writing the track, or if an error occurred
|
||||||
|
|
||||||
*/
|
*/
|
||||||
enum burn_source_status burn_track_set_source(struct burn_track *t,
|
enum burn_source_status burn_track_set_source(struct burn_track *t,
|
||||||
@ -2660,7 +2660,7 @@ enum burn_source_status burn_track_set_source(struct burn_track *t,
|
|||||||
announced then the track will be padded up with zeros.
|
announced then the track will be padded up with zeros.
|
||||||
@param t The track to change
|
@param t The track to change
|
||||||
@param size The size to set
|
@param size The size to set
|
||||||
@return 0=failure 1=sucess
|
@return 0=failure 1=success
|
||||||
@since 0.3.4
|
@since 0.3.4
|
||||||
*/
|
*/
|
||||||
int burn_track_set_default_size(struct burn_track *t, off_t size);
|
int burn_track_set_default_size(struct burn_track *t, off_t size);
|
||||||
@ -3268,7 +3268,7 @@ void burn_write_opts_set_obs_pad(struct burn_write_opts *opts, int pad);
|
|||||||
|
|
||||||
|
|
||||||
/* ts A91115 */
|
/* ts A91115 */
|
||||||
/** Sets the rythm by which stdio pseudo drives force their output data to
|
/** Sets the rhythm by which stdio pseudo drives force their output data to
|
||||||
be consumed by the receiving storage device. This forcing keeps the memory
|
be consumed by the receiving storage device. This forcing keeps the memory
|
||||||
from being clogged with lots of pending data for slow devices.
|
from being clogged with lots of pending data for slow devices.
|
||||||
@param opts The write opts to change
|
@param opts The write opts to change
|
||||||
@ -3914,7 +3914,7 @@ int burn_is_aborting(int flag);
|
|||||||
resulting struct burn_multi_caps elements .start_adr , .start_alignment ,
|
resulting struct burn_multi_caps elements .start_adr , .start_alignment ,
|
||||||
.start_range_low , .start_range_high .
|
.start_range_low , .start_range_high .
|
||||||
Other than burn_disc_write() this is a synchronous call which returns
|
Other than burn_disc_write() this is a synchronous call which returns
|
||||||
only after the write transaction has ended (sucessfully or not). So it is
|
only after the write transaction has ended (successfully or not). So it is
|
||||||
wise not to transfer giant amounts of data in a single call.
|
wise not to transfer giant amounts of data in a single call.
|
||||||
Important: Data have to fit into the already formatted area of the media.
|
Important: Data have to fit into the already formatted area of the media.
|
||||||
@param d The drive to which to write
|
@param d The drive to which to write
|
||||||
@ -3926,7 +3926,7 @@ int burn_is_aborting(int flag);
|
|||||||
drive buffer without further data transfer).
|
drive buffer without further data transfer).
|
||||||
@param flag Bitfield for control purposes:
|
@param flag Bitfield for control purposes:
|
||||||
bit0 = flush the drive buffer after eventual writing
|
bit0 = flush the drive buffer after eventual writing
|
||||||
@return 1=sucessful , <=0 : number of transfered bytes * -1
|
@return 1=successful , <=0 : number of transferred bytes * -1
|
||||||
@since 0.4.0
|
@since 0.4.0
|
||||||
*/
|
*/
|
||||||
int burn_random_access_write(struct burn_drive *d, off_t byte_address,
|
int burn_random_access_write(struct burn_drive *d, off_t byte_address,
|
||||||
@ -3944,7 +3944,7 @@ int burn_random_access_write(struct burn_drive *d, off_t byte_address,
|
|||||||
@param d The drive from which to read
|
@param d The drive from which to read
|
||||||
@param capacity Will return the result if valid
|
@param capacity Will return the result if valid
|
||||||
@param flag Bitfield for control purposes: Unused yet, submit 0.
|
@param flag Bitfield for control purposes: Unused yet, submit 0.
|
||||||
@return 1=sucessful , <=0 an error occured
|
@return 1=successful , <=0 an error occurred
|
||||||
@since 0.6.0
|
@since 0.6.0
|
||||||
*/
|
*/
|
||||||
int burn_get_read_capacity(struct burn_drive *d, int *capacity, int flag);
|
int burn_get_read_capacity(struct burn_drive *d, int *capacity, int flag);
|
||||||
@ -3957,7 +3957,7 @@ int burn_get_read_capacity(struct burn_drive *d, int *capacity, int flag);
|
|||||||
be aligned to 2048 bytes. Only data tracks with 2048 bytes per sector
|
be aligned to 2048 bytes. Only data tracks with 2048 bytes per sector
|
||||||
can be read this way. I.e. not CD-audio, not CD-video-stream ...
|
can be read this way. I.e. not CD-audio, not CD-video-stream ...
|
||||||
This is a synchronous call which returns only after the full read job
|
This is a synchronous call which returns only after the full read job
|
||||||
has ended (sucessfully or not). So it is wise not to read giant amounts
|
has ended (successfully or not). So it is wise not to read giant amounts
|
||||||
of data in a single call.
|
of data in a single call.
|
||||||
@param d The drive from which to read
|
@param d The drive from which to read
|
||||||
@param byte_address The start address of the read in byte (aligned to 2048)
|
@param byte_address The start address of the read in byte (aligned to 2048)
|
||||||
@ -3973,7 +3973,7 @@ int burn_get_read_capacity(struct burn_drive *d, int *capacity, int flag);
|
|||||||
with single block steps.
|
with single block steps.
|
||||||
@since 0.5.2
|
@since 0.5.2
|
||||||
bit3= return -2 on permission denied error rather than
|
bit3= return -2 on permission denied error rather than
|
||||||
issueing a warning message.
|
issuing a warning message.
|
||||||
@since 1.0.6
|
@since 1.0.6
|
||||||
bit4= return -3 on SCSI error
|
bit4= return -3 on SCSI error
|
||||||
5 64 00 ILLEGAL MODE FOR THIS TRACK
|
5 64 00 ILLEGAL MODE FOR THIS TRACK
|
||||||
@ -3985,7 +3985,7 @@ int burn_get_read_capacity(struct burn_drive *d, int *capacity, int flag);
|
|||||||
bit5= issue messages with severity DEBUG if they would
|
bit5= issue messages with severity DEBUG if they would
|
||||||
be suppressed by bit1.
|
be suppressed by bit1.
|
||||||
@since 1.4.0
|
@since 1.4.0
|
||||||
@return 1=sucessful , <=0 an error occured
|
@return 1=successful , <=0 an error occurred
|
||||||
with bit3: -2= permission denied error
|
with bit3: -2= permission denied error
|
||||||
@since 0.4.0
|
@since 0.4.0
|
||||||
*/
|
*/
|
||||||
@ -4032,7 +4032,7 @@ int burn_read_data(struct burn_drive *d, off_t byte_address,
|
|||||||
bit5= issue messages with severity DEBUG if they would
|
bit5= issue messages with severity DEBUG if they would
|
||||||
be suppressed by bit1.
|
be suppressed by bit1.
|
||||||
@since 1.4.0
|
@since 1.4.0
|
||||||
@return 1=sucessful , <=0 an error occured
|
@return 1=successful , <=0 an error occurred
|
||||||
with bit3: -2= permission denied error
|
with bit3: -2= permission denied error
|
||||||
@since 1.2.6
|
@since 1.2.6
|
||||||
*/
|
*/
|
||||||
@ -4116,7 +4116,7 @@ int burn_drive_get_drive_role(struct burn_drive *d);
|
|||||||
(role 2) or read-only (role 4) or write-only (role 5). See bit1.
|
(role 2) or read-only (role 4) or write-only (role 5). See bit1.
|
||||||
@param allowed Bitfield for control purposes:
|
@param allowed Bitfield for control purposes:
|
||||||
bit0= Enable roles 4 and 5 for drives which get
|
bit0= Enable roles 4 and 5 for drives which get
|
||||||
aquired after this call
|
acquired after this call
|
||||||
bit1= with bit0:
|
bit1= with bit0:
|
||||||
Test whether the file can be opened for
|
Test whether the file can be opened for
|
||||||
read-write, read-only, or write-only.
|
read-write, read-only, or write-only.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* libdax_msgs
|
/* libdax_msgs
|
||||||
Message handling facility of libburn and libisofs.
|
Message handling facility of libburn and libisofs.
|
||||||
Copyright (C) 2006-2011 Thomas Schmitt <scdbackup@gmx.net>,
|
Copyright (C) 2006-2016 Thomas Schmitt <scdbackup@gmx.net>,
|
||||||
provided under GPL version 2 or later.
|
provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -266,8 +266,9 @@ int libdax_msgs_new(struct libdax_msgs **m, int flag);
|
|||||||
|
|
||||||
/** Destroy a message handling facility and all its eventual messages.
|
/** Destroy a message handling facility and all its eventual messages.
|
||||||
The submitted pointer gets set to NULL.
|
The submitted pointer gets set to NULL.
|
||||||
Actually only the last destroy call of all offical references to the object
|
Actually only the last destroy call of all official references to the
|
||||||
will really dispose it. All others just decrement the reference counter.
|
object will really dispose it. All others just decrement the reference
|
||||||
|
counter.
|
||||||
Call this function only with official reference pointers obtained by
|
Call this function only with official reference pointers obtained by
|
||||||
libdax_msgs_new() or libdax_msgs_refer(), and only once per such pointer.
|
libdax_msgs_new() or libdax_msgs_refer(), and only once per such pointer.
|
||||||
@param flag Bitfield for control purposes (unused yet, submit 0)
|
@param flag Bitfield for control purposes (unused yet, submit 0)
|
||||||
@ -554,7 +555,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff
|
|||||||
0x0002016e (DEBUG,HIGH) = MODE SENSE page 2A too short
|
0x0002016e (DEBUG,HIGH) = MODE SENSE page 2A too short
|
||||||
0x0002016f (DEBUG,HIGH) = Unable to grab scanned drive
|
0x0002016f (DEBUG,HIGH) = Unable to grab scanned drive
|
||||||
0x00020170 (NOTE,HIGH) = Closing open session before writing new one
|
0x00020170 (NOTE,HIGH) = Closing open session before writing new one
|
||||||
0x00020171 (NOTE,HIGH) = Closing BD-R with accidently open session
|
0x00020171 (NOTE,HIGH) = Closing BD-R with accidentaly open session
|
||||||
0x00020172 (SORRY,HIGH) = Read start address larger than number of readable blocks
|
0x00020172 (SORRY,HIGH) = Read start address larger than number of readable blocks
|
||||||
0x00020173 (FAILURE,HIGH) = Drive tells NWA smaller than last written address
|
0x00020173 (FAILURE,HIGH) = Drive tells NWA smaller than last written address
|
||||||
0x00020174 (SORRY,HIGH) = Fifo alignment does not allow desired read size
|
0x00020174 (SORRY,HIGH) = Fifo alignment does not allow desired read size
|
||||||
|
@ -60,7 +60,7 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len);
|
|||||||
extern struct libdax_msgs *libdax_messenger;
|
extern struct libdax_msgs *libdax_messenger;
|
||||||
|
|
||||||
|
|
||||||
/* ts A61219 : Based on knowlege from dvd+rw-tools-7.0 and mmc5r03c.pdf */
|
/* ts A61219 : Based on knowledge from dvd+rw-tools-7.0 and mmc5r03c.pdf */
|
||||||
#define Libburn_support_dvd_plus_rW 1
|
#define Libburn_support_dvd_plus_rW 1
|
||||||
|
|
||||||
/* ts A61229 */
|
/* ts A61229 */
|
||||||
@ -499,7 +499,7 @@ int mmc_get_nwa(struct burn_drive *d, int trackno, int *lba, int *nwa)
|
|||||||
if (trackno > 0)
|
if (trackno > 0)
|
||||||
sprintf(msg, "Track number %d: ", trackno);
|
sprintf(msg, "Track number %d: ", trackno);
|
||||||
else
|
else
|
||||||
sprintf(msg, "Upcomming track: ");
|
sprintf(msg, "Upcoming track: ");
|
||||||
if (d->current_profile == 0x1a || d->current_profile == 0x13 ||
|
if (d->current_profile == 0x1a || d->current_profile == 0x13 ||
|
||||||
d->current_profile == 0x12 || d->current_profile == 0x43) {
|
d->current_profile == 0x12 || d->current_profile == 0x43) {
|
||||||
/* overwriteable */
|
/* overwriteable */
|
||||||
@ -1153,7 +1153,7 @@ err_ex:;
|
|||||||
"Could not inquire TOC", 0,0);
|
"Could not inquire TOC", 0,0);
|
||||||
d->status = BURN_DISC_UNSUITABLE;
|
d->status = BURN_DISC_UNSUITABLE;
|
||||||
d->toc_entries = 0;
|
d->toc_entries = 0;
|
||||||
/* Prefering memory leaks over fandangos */
|
/* Preferring memory leaks over fandangos */
|
||||||
d->toc_entry = calloc(1, sizeof(struct burn_toc_entry));
|
d->toc_entry = calloc(1, sizeof(struct burn_toc_entry));
|
||||||
{ret = 0; goto ex;}
|
{ret = 0; goto ex;}
|
||||||
}
|
}
|
||||||
@ -1574,7 +1574,7 @@ static int mmc_read_toc_al(struct burn_drive *d, int *alloc_len)
|
|||||||
"Could not inquire TOC", 0,0);
|
"Could not inquire TOC", 0,0);
|
||||||
d->status = BURN_DISC_UNSUITABLE;
|
d->status = BURN_DISC_UNSUITABLE;
|
||||||
d->toc_entries = 0;
|
d->toc_entries = 0;
|
||||||
/* Prefering memory leaks over fandangos */
|
/* Preferring memory leaks over fandangos */
|
||||||
d->toc_entry = calloc(1, sizeof(struct burn_toc_entry));
|
d->toc_entry = calloc(1, sizeof(struct burn_toc_entry));
|
||||||
{ret = 0; goto ex;}
|
{ret = 0; goto ex;}
|
||||||
}
|
}
|
||||||
@ -1785,7 +1785,7 @@ int mmc_read_multi_session_c1(struct burn_drive *d, int *trackno, int *start)
|
|||||||
if (mmc_function_spy(d, "mmc_read_multi_session_c1") <= 0)
|
if (mmc_function_spy(d, "mmc_read_multi_session_c1") <= 0)
|
||||||
{ret = 0; goto ex;}
|
{ret = 0; goto ex;}
|
||||||
|
|
||||||
/* First try to evaluate the eventually loaded TOC before issueing
|
/* First try to evaluate the possibly loaded TOC before issuing
|
||||||
a MMC command. This search obtains the first track of the last
|
a MMC command. This search obtains the first track of the last
|
||||||
complete session which has a track.
|
complete session which has a track.
|
||||||
*/
|
*/
|
||||||
|
@ -85,7 +85,7 @@ int mmc_four_char_to_int(unsigned char *data);
|
|||||||
int mmc_read_track_info(struct burn_drive *d, int trackno, struct buffer *buf,
|
int mmc_read_track_info(struct burn_drive *d, int trackno, struct buffer *buf,
|
||||||
int alloc_len);
|
int alloc_len);
|
||||||
|
|
||||||
/* ts A70812 : return 0 = ok , return BE_CANCELLED = error occured */
|
/* ts A70812 : return 0 = ok , return BE_CANCELLED = error occurred */
|
||||||
int mmc_read_10(struct burn_drive *d, int start, int amount,
|
int mmc_read_10(struct burn_drive *d, int start, int amount,
|
||||||
struct buffer *buf);
|
struct buffer *buf);
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
||||||
|
|
||||||
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
||||||
Copyright (c) 2006 - 2015 Thomas Schmitt <scdbackup@gmx.net>
|
Copyright (c) 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -912,7 +912,7 @@ void process_q(struct burn_drive *d, unsigned char *q)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
/* XXX dont ignore these */
|
/* XXX do not ignore these */
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
/* burn_print(12, "ISRC data in mode 3 q\n");*/
|
/* burn_print(12, "ISRC data in mode 3 q\n");*/
|
||||||
@ -931,7 +931,7 @@ void process_q(struct burn_drive *d, unsigned char *q)
|
|||||||
|
|
||||||
/* this needs more info. subs in the data? control/adr? */
|
/* this needs more info. subs in the data? control/adr? */
|
||||||
|
|
||||||
/* ts A61119 : One should not use inofficial compiler extensions.
|
/* ts A61119 : One should not use unofficial compiler extensions.
|
||||||
>>> Some day this function needs to be implemented. At least for now
|
>>> Some day this function needs to be implemented. At least for now
|
||||||
the result does not match the "mode" of cdrecord -toc.
|
the result does not match the "mode" of cdrecord -toc.
|
||||||
*/
|
*/
|
||||||
|
@ -85,7 +85,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
|
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -223,7 +223,7 @@ int sg_is_enumerable_adr(char *adr)
|
|||||||
|
|
||||||
|
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read, and possibly written with 2 kB granularity.
|
fseeked, read, and possibly written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -128,7 +128,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
/* ts A91227 */
|
/* ts A91227 */
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -995,7 +995,7 @@ ex:;
|
|||||||
|
|
||||||
/* ts B00115 */
|
/* ts B00115 */
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read and eventually written with 2 kB granularity.
|
fseeked, read and eventually written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2009 - 2014 Thomas Schmitt <scdbackup@gmx.net>
|
Copyright (c) 2009 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ sg_initialize() performs global initialization of the SCSI transport
|
|||||||
software components.
|
software components.
|
||||||
|
|
||||||
sg_shutdown() performs global finalizations and releases golbally
|
sg_shutdown() performs global finalizations and releases golbally
|
||||||
aquired resources.
|
acquired resources.
|
||||||
|
|
||||||
sg_give_next_adr() iterates over the set of potentially useful drive
|
sg_give_next_adr() iterates over the set of potentially useful drive
|
||||||
address strings.
|
address strings.
|
||||||
@ -54,7 +54,7 @@ scsi_enumerate_drives() brings all available, not-whitelist-banned, and
|
|||||||
accessible drives into libburn's list of drives.
|
accessible drives into libburn's list of drives.
|
||||||
|
|
||||||
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
||||||
on destruction. Releases resources which were aquired
|
on destruction. Releases resources which were acquired
|
||||||
underneath scsi_enumerate_drives().
|
underneath scsi_enumerate_drives().
|
||||||
|
|
||||||
sg_drive_is_open() tells wether libburn has the given drive in use.
|
sg_drive_is_open() tells wether libburn has the given drive in use.
|
||||||
@ -395,7 +395,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
|
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -840,7 +840,7 @@ static int freebsd_is_2k_seekrw(char *path, int flag)
|
|||||||
|
|
||||||
|
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read, and possibly written with 2 kB granularity.
|
fseeked, read, and possibly written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -51,7 +51,7 @@ sg_initialize() performs global initialization of the SCSI transport
|
|||||||
software components.
|
software components.
|
||||||
|
|
||||||
sg_shutdown() performs global finalizations and releases golbally
|
sg_shutdown() performs global finalizations and releases golbally
|
||||||
aquired resources.
|
acquired resources.
|
||||||
|
|
||||||
sg_give_next_adr() iterates over the set of potentially useful drive
|
sg_give_next_adr() iterates over the set of potentially useful drive
|
||||||
address strings.
|
address strings.
|
||||||
@ -60,7 +60,7 @@ scsi_enumerate_drives() brings all available, not-whitelist-banned, and
|
|||||||
accessible drives into libburn's list of drives.
|
accessible drives into libburn's list of drives.
|
||||||
|
|
||||||
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
||||||
on destruction. Releases resources which were aquired
|
on destruction. Releases resources which were acquired
|
||||||
underneath scsi_enumerate_drives().
|
underneath scsi_enumerate_drives().
|
||||||
|
|
||||||
sg_drive_is_open() tells wether libburn has the given drive in use.
|
sg_drive_is_open() tells wether libburn has the given drive in use.
|
||||||
@ -201,7 +201,7 @@ static int linux_sg_auto_family = 1;
|
|||||||
|
|
||||||
/* Set this to 1 in order to accept any TYPE_* (see scsi/scsi.h) */
|
/* Set this to 1 in order to accept any TYPE_* (see scsi/scsi.h) */
|
||||||
/* But try with 0 first. There is hope via CDROM_DRIVE_STATUS. */
|
/* But try with 0 first. There is hope via CDROM_DRIVE_STATUS. */
|
||||||
/* !!! DO NOT SET TO 1 UNLESS YOU PROTECTED ALL INDISPENSIBLE DEVICES
|
/* !!! DO NOT SET TO 1 UNLESS YOU PROTECTED ALL INDISPENSABLE DEVICES
|
||||||
chmod -rw !!! */
|
chmod -rw !!! */
|
||||||
static int linux_sg_accept_any_type = 0;
|
static int linux_sg_accept_any_type = 0;
|
||||||
|
|
||||||
@ -1526,7 +1526,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
|
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -2355,7 +2355,7 @@ ex:;
|
|||||||
|
|
||||||
/* ts B00115 */
|
/* ts B00115 */
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read, and possibly written with 2 kB granularity.
|
fseeked, read, and possibly written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -52,7 +52,7 @@ sg_initialize() performs global initialization of the SCSI transport
|
|||||||
software components.
|
software components.
|
||||||
|
|
||||||
sg_shutdown() performs global finalizations and releases golbally
|
sg_shutdown() performs global finalizations and releases golbally
|
||||||
aquired resources.
|
acquired resources.
|
||||||
|
|
||||||
sg_give_next_adr() iterates over the set of potentially useful drive
|
sg_give_next_adr() iterates over the set of potentially useful drive
|
||||||
address strings.
|
address strings.
|
||||||
@ -61,7 +61,7 @@ scsi_enumerate_drives() brings all available, not-whitelist-banned, and
|
|||||||
accessible drives into libburn's list of drives.
|
accessible drives into libburn's list of drives.
|
||||||
|
|
||||||
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
||||||
on destruction. Releases resources which were aquired
|
on destruction. Releases resources which were acquired
|
||||||
underneath scsi_enumerate_drives().
|
underneath scsi_enumerate_drives().
|
||||||
|
|
||||||
sg_drive_is_open() tells wether libburn has the given drive in use.
|
sg_drive_is_open() tells wether libburn has the given drive in use.
|
||||||
@ -337,7 +337,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
|
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -741,7 +741,7 @@ int sg_is_enumerable_adr(char* adr)
|
|||||||
|
|
||||||
|
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read, and possibly written with 2 kB granularity.
|
fseeked, read, and possibly written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2010 - 2014 Thomas Schmitt <scdbackup@gmx.net>
|
Copyright (c) 2010 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ sg_initialize() performs global initialization of the SCSI transport
|
|||||||
software components.
|
software components.
|
||||||
|
|
||||||
sg_shutdown() performs global finalizations and releases golbally
|
sg_shutdown() performs global finalizations and releases golbally
|
||||||
aquired resources.
|
acquired resources.
|
||||||
|
|
||||||
sg_give_next_adr() iterates over the set of potentially useful drive
|
sg_give_next_adr() iterates over the set of potentially useful drive
|
||||||
address strings.
|
address strings.
|
||||||
@ -54,7 +54,7 @@ scsi_enumerate_drives() brings all available, not-whitelist-banned, and
|
|||||||
accessible drives into libburn's list of drives.
|
accessible drives into libburn's list of drives.
|
||||||
|
|
||||||
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
sg_dispose_drive() finalizes adapter specifics of struct burn_drive
|
||||||
on destruction. Releases resources which were aquired
|
on destruction. Releases resources which were acquired
|
||||||
underneath scsi_enumerate_drives().
|
underneath scsi_enumerate_drives().
|
||||||
|
|
||||||
sg_drive_is_open() tells wether libburn has the given drive in use.
|
sg_drive_is_open() tells wether libburn has the given drive in use.
|
||||||
@ -497,7 +497,7 @@ int sg_initialize(char msg[1024], int flag)
|
|||||||
|
|
||||||
|
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
@ -881,7 +881,7 @@ int sg_is_enumerable_adr(char* adr)
|
|||||||
|
|
||||||
|
|
||||||
/* Return 1 if the given path leads to a regular file or a device that can be
|
/* Return 1 if the given path leads to a regular file or a device that can be
|
||||||
seeked, read, and possibly written with 2 kB granularity.
|
fseeked, read, and possibly written with 2 kB granularity.
|
||||||
*/
|
*/
|
||||||
int burn_os_is_2k_seekrw(char *path, int flag)
|
int burn_os_is_2k_seekrw(char *path, int flag)
|
||||||
{
|
{
|
||||||
|
@ -62,7 +62,7 @@ int sg_initialize(char msg[1024], int flag);
|
|||||||
|
|
||||||
/* ts A91227 */
|
/* ts A91227 */
|
||||||
/** Performs global finalization of the SCSI transport adapter and eventually
|
/** Performs global finalization of the SCSI transport adapter and eventually
|
||||||
needed operating system facilities. Releases globally aquired resources.
|
needed operating system facilities. Releases globally acquired resources.
|
||||||
@param flag unused yet, submit 0
|
@param flag unused yet, submit 0
|
||||||
@return 1 = success, <=0 = failure
|
@return 1 = success, <=0 = failure
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
|
||||||
|
|
||||||
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
|
||||||
Copyright (c) 2006 - 2014 Thomas Schmitt <scdbackup@gmx.net>
|
Copyright (c) 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1417,13 +1417,13 @@ enum response scsi_error_msg(struct burn_drive *d, unsigned char *sense,
|
|||||||
case 0x29:
|
case 0x29:
|
||||||
if (*ascq == 0)
|
if (*ascq == 0)
|
||||||
sprintf(msg,
|
sprintf(msg,
|
||||||
"Power on, reset, or bus device reset occured");
|
"Power on, reset, or bus device reset occurred");
|
||||||
else if (*ascq == 1)
|
else if (*ascq == 1)
|
||||||
sprintf(msg, "Power on occured");
|
sprintf(msg, "Power on occurred");
|
||||||
else if (*ascq == 2)
|
else if (*ascq == 2)
|
||||||
sprintf(msg, "Bus reset occured");
|
sprintf(msg, "Bus reset occurred");
|
||||||
else if (*ascq == 3)
|
else if (*ascq == 3)
|
||||||
sprintf(msg, "Bus device reset function occured");
|
sprintf(msg, "Bus device reset function occurred");
|
||||||
else if (*ascq == 4)
|
else if (*ascq == 4)
|
||||||
sprintf(msg, "Device internal reset");
|
sprintf(msg, "Device internal reset");
|
||||||
else
|
else
|
||||||
|
@ -324,7 +324,7 @@ struct burn_drive
|
|||||||
int silent_on_scsi_error;
|
int silent_on_scsi_error;
|
||||||
|
|
||||||
/* ts B21023 */
|
/* ts B21023 */
|
||||||
/* bit0= 5 64 00 occured with READ10 in mmc_read_10()
|
/* bit0= 5 64 00 occurred with READ10 in mmc_read_10()
|
||||||
*/
|
*/
|
||||||
int had_particular_error;
|
int had_particular_error;
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ struct burn_drive
|
|||||||
*/
|
*/
|
||||||
int mr_capacity_trusted;
|
int mr_capacity_trusted;
|
||||||
|
|
||||||
/* ts B10314 : Next Writeable Adress for drive_role == 5 */
|
/* ts B10314 : Next Writeable Address for drive_role == 5 */
|
||||||
int role_5_nwa;
|
int role_5_nwa;
|
||||||
|
|
||||||
int toc_temp;
|
int toc_temp;
|
||||||
|
@ -789,7 +789,7 @@ XXX this is untested :)
|
|||||||
rem += burn_track_get_shortage(tar[i]);
|
rem += burn_track_get_shortage(tar[i]);
|
||||||
|
|
||||||
/* ts A61101 : I doubt that linking would yield a
|
/* ts A61101 : I doubt that linking would yield a
|
||||||
desireable effect. With TAO it is
|
desirable effect. With TAO it is
|
||||||
counterproductive in any way.
|
counterproductive in any way.
|
||||||
*/
|
*/
|
||||||
if (o->write_type == BURN_WRITE_TAO)
|
if (o->write_type == BURN_WRITE_TAO)
|
||||||
@ -2106,7 +2106,7 @@ int burn_dvd_write_session(struct burn_write_opts *o,
|
|||||||
libdax_msgs_submit(libdax_messenger, d->global_index,
|
libdax_msgs_submit(libdax_messenger, d->global_index,
|
||||||
0x00020171,
|
0x00020171,
|
||||||
LIBDAX_MSGS_SEV_NOTE, LIBDAX_MSGS_PRIO_HIGH,
|
LIBDAX_MSGS_SEV_NOTE, LIBDAX_MSGS_PRIO_HIGH,
|
||||||
"Closing BD-R with accidently open session",
|
"Closing BD-R with accidentally open session",
|
||||||
0, 0);
|
0, 0);
|
||||||
d->close_track_session(d, 3, 0); /* CLOSE SESSION, 110b */
|
d->close_track_session(d, 3, 0); /* CLOSE SESSION, 110b */
|
||||||
d->state_of_last_session = 3; /* mark as complete session */
|
d->state_of_last_session = 3; /* mark as complete session */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
/* test/libburner.c , API illustration of burning data or audio tracks to CD */
|
/* test/libburner.c , API illustration of burning data or audio tracks to CD */
|
||||||
/* Copyright (C) 2005 - 2015 Thomas Schmitt <scdbackup@gmx.net> */
|
/* Copyright (C) 2005 - 2016 Thomas Schmitt <scdbackup@gmx.net> */
|
||||||
/* Provided under GPL, see also "License and copyright aspects" at file end */
|
/* Provided under GPL, see also "License and copyright aspects" at file end */
|
||||||
|
|
||||||
|
|
||||||
@ -24,17 +24,17 @@
|
|||||||
and provide some signal and abort handling, e.g. by the builtin handler, by
|
and provide some signal and abort handling, e.g. by the builtin handler, by
|
||||||
burn_set_signal_handling("libburner : ", NULL, 0x0)
|
burn_set_signal_handling("libburner : ", NULL, 0x0)
|
||||||
as it is done in main() at the end of this file.
|
as it is done in main() at the end of this file.
|
||||||
Then you aquire a drive in an appropriate way conforming to the API. The twoi
|
Then you acquire a drive in an appropriate way conforming to the API. The two
|
||||||
main approaches are shown here in application functions:
|
main approaches are shown here in application functions:
|
||||||
libburner_aquire_by_adr() demonstrates usage as of cdrecord traditions
|
libburner_aquire_by_adr() demonstrates usage as of cdrecord traditions
|
||||||
libburner_aquire_by_driveno() demonstrates a scan-and-choose approach
|
libburner_aquire_by_driveno() demonstrates a scan-and-choose approach
|
||||||
|
|
||||||
With that aquired drive you can blank a CD-RW or DVD-RW as shown in
|
With that acquired drive you can blank a CD-RW or DVD-RW as shown in
|
||||||
libburner_blank_disc()
|
libburner_blank_disc()
|
||||||
or you can format a DVD-RW to profile "Restricted Overwrite" (needed once)
|
or you can format a DVD-RW to profile "Restricted Overwrite" (needed once)
|
||||||
or an unused BD to default size with spare blocks
|
or an unused BD to default size with spare blocks
|
||||||
libburner_format()
|
libburner_format()
|
||||||
With the aquired drive you can burn to CD, DVD, BD. See
|
With the acquired drive you can burn to CD, DVD, BD. See
|
||||||
libburner_payload()
|
libburner_payload()
|
||||||
|
|
||||||
These three functions switch temporarily to a non-fatal signal handler
|
These three functions switch temporarily to a non-fatal signal handler
|
||||||
@ -98,7 +98,7 @@ static unsigned int drive_count;
|
|||||||
finally released */
|
finally released */
|
||||||
static int drive_is_grabbed = 0;
|
static int drive_is_grabbed = 0;
|
||||||
|
|
||||||
/** A number and a text describing the type of media in aquired drive */
|
/** A number and a text describing the type of media in acquired drive */
|
||||||
static int current_profile= -1;
|
static int current_profile= -1;
|
||||||
static char current_profile_name[80]= {""};
|
static char current_profile_name[80]= {""};
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ int libburner_aquire_by_driveno(int *drive_no);
|
|||||||
|
|
||||||
/* ------------------------------- API gestures ---------------------------- */
|
/* ------------------------------- API gestures ---------------------------- */
|
||||||
|
|
||||||
/** You need to aquire a drive before burning. The API offers this as one
|
/** You need to acquire a drive before burning. The API offers this as one
|
||||||
compact call and alternatively as application controllable gestures of
|
compact call and alternatively as application controllable gestures of
|
||||||
whitelisting, scanning for drives and finally grabbing one of them.
|
whitelisting, scanning for drives and finally grabbing one of them.
|
||||||
|
|
||||||
@ -239,14 +239,14 @@ int libburner_aquire_by_driveno(int *driveno)
|
|||||||
and to restart when the choice has been made. The list of selectable
|
and to restart when the choice has been made. The list of selectable
|
||||||
drives should also hold persistent drive addresses as obtained
|
drives should also hold persistent drive addresses as obtained
|
||||||
above by burn_drive_get_adr(). By such an address one may use
|
above by burn_drive_get_adr(). By such an address one may use
|
||||||
burn_drive_scan_and_grab() to finally aquire exactly one drive.
|
burn_drive_scan_and_grab() to finally acquire exactly one drive.
|
||||||
|
|
||||||
A not yet tested shortcut should be to call burn_drive_info_free()
|
A not yet tested shortcut should be to call burn_drive_info_free()
|
||||||
and to call either burn_drive_scan() or burn_drive_scan_and_grab()
|
and to call either burn_drive_scan() or burn_drive_scan_and_grab()
|
||||||
before accessing any drives again.
|
before accessing any drives again.
|
||||||
|
|
||||||
In both cases you have to be aware that the desired drive might get
|
In both cases you have to be aware that the desired drive might get
|
||||||
aquired in the meantime by another user or libburn process.
|
acquired in the meantime by another user or libburn process.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* We already made our choice via command line. (default is 0)
|
/* We already made our choice via command line. (default is 0)
|
||||||
@ -784,7 +784,7 @@ int main(int argc, char **argv)
|
|||||||
/** Note: driveno might change its value in this call */
|
/** Note: driveno might change its value in this call */
|
||||||
ret = libburner_aquire_drive(drive_adr, &driveno);
|
ret = libburner_aquire_drive(drive_adr, &driveno);
|
||||||
if (ret<=0) {
|
if (ret<=0) {
|
||||||
fprintf(stderr,"\nFATAL: Failed to aquire drive.\n");
|
fprintf(stderr,"\nFATAL: Failed to acquire drive.\n");
|
||||||
{ ret = 34; goto finish_libburn; }
|
{ ret = 34; goto finish_libburn; }
|
||||||
}
|
}
|
||||||
if (ret == 2)
|
if (ret == 2)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
/* test/telltoc.c , API illustration of obtaining media status info */
|
/* test/telltoc.c , API illustration of obtaining media status info */
|
||||||
/* Copyright (C) 2006 - 2015 Thomas Schmitt <scdbackup@gmx.net>
|
/* Copyright (C) 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
||||||
Provided under GPL */
|
Provided under GPL */
|
||||||
|
|
||||||
/** Overview
|
/** Overview
|
||||||
@ -18,12 +18,12 @@
|
|||||||
|
|
||||||
Before you can do anything, you have to initialize libburn by
|
Before you can do anything, you have to initialize libburn by
|
||||||
burn_initialize()
|
burn_initialize()
|
||||||
as it is done in main() at the end of this file. Then you aquire a
|
as it is done in main() at the end of this file. Then you acquire a
|
||||||
drive in an appropriate way conforming to the API. The two main
|
drive in an appropriate way conforming to the API. The two main
|
||||||
approaches are shown here in application functions:
|
approaches are shown here in application functions:
|
||||||
telltoc_aquire_by_adr() demonstrates usage as of cdrecord traditions
|
telltoc_aquire_by_adr() demonstrates usage as of cdrecord traditions
|
||||||
telltoc_aquire_by_driveno() demonstrates a scan-and-choose approach
|
telltoc_aquire_by_driveno() demonstrates a scan-and-choose approach
|
||||||
With that aquired drive you can call
|
With that acquired drive you can call
|
||||||
telltoc_media() prints some information about the media in a drive
|
telltoc_media() prints some information about the media in a drive
|
||||||
telltoc_toc() prints a table of content (if there is content)
|
telltoc_toc() prints a table of content (if there is content)
|
||||||
telltoc_msinfo() prints parameters for mkisofs option -C
|
telltoc_msinfo() prints parameters for mkisofs option -C
|
||||||
@ -86,7 +86,7 @@ static int cd_is_audio = 0; /* 0 = undecided , -1 = no , 1 = yes */
|
|||||||
|
|
||||||
/* ------------------------------- API gestures ---------------------------- */
|
/* ------------------------------- API gestures ---------------------------- */
|
||||||
|
|
||||||
/** You need to aquire a drive before burning. The API offers this as one
|
/** You need to acquire a drive before burning. The API offers this as one
|
||||||
compact call and alternatively as application controllable gestures of
|
compact call and alternatively as application controllable gestures of
|
||||||
whitelisting, scanning for drives and finally grabbing one of them.
|
whitelisting, scanning for drives and finally grabbing one of them.
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ int telltoc_aquire_by_adr(char *drive_adr)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr,"Aquiring drive '%s' ...\n", libburn_drive_adr);
|
fprintf(stderr,"Acquiring drive '%s' ...\n", libburn_drive_adr);
|
||||||
ret = burn_drive_scan_and_grab(&drive_list, libburn_drive_adr, 1);
|
ret = burn_drive_scan_and_grab(&drive_list, libburn_drive_adr, 1);
|
||||||
|
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user