Changed wrong use of "resp." in docs
This commit is contained in:
parent
5764c37b52
commit
c9fd4e22e5
@ -26,7 +26,7 @@ Obtain libburn-1.4.0.tar.gz, take it to a directory of your choice and do:
|
|||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make
|
make
|
||||||
|
|
||||||
To make libburn accessible for running resp. application development,
|
To make libburn accessible for running and application development,
|
||||||
and to install the cdrecord compatibility binary cdrskin, do
|
and to install the cdrecord compatibility binary cdrskin, do
|
||||||
(as Superuser):
|
(as Superuser):
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ configure time by:
|
|||||||
This may be combined with above --enable-track-src-odirect .
|
This may be combined with above --enable-track-src-odirect .
|
||||||
|
|
||||||
If it is desired that DVD DAO writing and stdio: writing get padded up to
|
If it is desired that DVD DAO writing and stdio: writing get padded up to
|
||||||
a full write chunk of 32k resp. 64k, then use ./configure option:
|
a full write chunk of 32k or 64k, then use ./configure option:
|
||||||
--enable-dvd-obs-pad
|
--enable-dvd-obs-pad
|
||||||
|
|
||||||
Alternatively the transport of SCSI commands can be done via libcdio-0.83.
|
Alternatively the transport of SCSI commands can be done via libcdio-0.83.
|
||||||
@ -143,7 +143,7 @@ On other X/Open compliant systems there will only be pseudo drives, but no
|
|||||||
direct MMC operation on real CD/DVD/BD drives.
|
direct MMC operation on real CD/DVD/BD drives.
|
||||||
|
|
||||||
For full ports to other systems we would need : login on a development machine
|
For full ports to other systems we would need : login on a development machine
|
||||||
resp. a live OS on CD or DVD, advise from a system person about the equivalent
|
or a live OS on CD or DVD, advise from a system person about the equivalent
|
||||||
of Linux sg or FreeBSD CAM, volunteers for testing of realistic use cases.
|
of Linux sg or FreeBSD CAM, volunteers for testing of realistic use cases.
|
||||||
|
|
||||||
We have a well tested code base for burning data and audio CDs, DVDs and BDs.
|
We have a well tested code base for burning data and audio CDs, DVDs and BDs.
|
||||||
|
@ -18,7 +18,7 @@ set -x
|
|||||||
# Both binaries are static in respect to libburn.
|
# Both binaries are static in respect to libburn.
|
||||||
#
|
#
|
||||||
# The script is to be run in the directory above the toplevel
|
# The script is to be run in the directory above the toplevel
|
||||||
# directory of libburn resp. cdrskin development.
|
# directory of libburn (or cdrskin) development.
|
||||||
#
|
#
|
||||||
|
|
||||||
# The top level directory in the SVN snapshot is named
|
# The top level directory in the SVN snapshot is named
|
||||||
|
@ -18,7 +18,7 @@ set -x
|
|||||||
# Both binaries are static in respect to libburn.
|
# Both binaries are static in respect to libburn.
|
||||||
#
|
#
|
||||||
# The script is to be run in the directory above the toplevel
|
# The script is to be run in the directory above the toplevel
|
||||||
# directory of libburn resp. cdrskin development.
|
# directory of libburn (or cdrskin) development.
|
||||||
#
|
#
|
||||||
|
|
||||||
# The top level directory in the SVN snapshot is named
|
# The top level directory in the SVN snapshot is named
|
||||||
|
@ -118,7 +118,7 @@ int Cdrfifo_get_cdr_counters(struct CdrfifO *o,
|
|||||||
int flag);
|
int flag);
|
||||||
|
|
||||||
/** Inquire the eventually detected size of an eventual ISO-9660 file system
|
/** Inquire the eventually detected size of an eventual ISO-9660 file system
|
||||||
@return 0=no ISO resp. size detected, 1=size_in_bytes is valid
|
@return 0=no ISO size detected, 1=size_in_bytes is valid
|
||||||
*/
|
*/
|
||||||
int Cdrfifo_get_iso_fs_size(struct CdrfifO *o, double *size_in_bytes,int flag);
|
int Cdrfifo_get_iso_fs_size(struct CdrfifO *o, double *size_in_bytes,int flag);
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.\" First parameter, NAME, should be all caps
|
.\" First parameter, NAME, should be all caps
|
||||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
.\" other parameters are allowed: see man(7), man(1)
|
.\" other parameters are allowed: see man(7), man(1)
|
||||||
.TH CDRSKIN 1 "Version 1.4.1, May 17, 2015"
|
.TH CDRSKIN 1 "Version 1.4.1, Aug 01, 2015"
|
||||||
.\" Please adjust this date whenever revising the manpage.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.\"
|
.\"
|
||||||
.\" Some roff macros, for reference:
|
.\" Some roff macros, for reference:
|
||||||
@ -103,11 +103,11 @@ This information is also used by the operating systems' CD-ROM read drivers.
|
|||||||
.PP
|
.PP
|
||||||
In general there are two types of tracks: data and audio. They differ in
|
In general there are two types of tracks: data and audio. They differ in
|
||||||
sector size, throughput and readability via the systems' CD-ROM drivers
|
sector size, throughput and readability via the systems' CD-ROM drivers
|
||||||
resp. by music CD players. With DVD and BD there is only type data.
|
and by music CD players. With DVD and BD there is only type data.
|
||||||
.br
|
.br
|
||||||
If not explicitly option -audio is given, then any track is burned as type
|
If not explicitly option -audio is given, then any track is burned as type
|
||||||
data, unless the track source is a file with suffix ".wav" or ".au" and has a
|
data, unless the track source is a file with suffix ".wav" or ".au" and has a
|
||||||
header part which identifies it as MS-WAVE resp. SUN Audio with suitable
|
header part which identifies it as MS-WAVE or SUN Audio with suitable
|
||||||
parameters. Such files are burned as audio tracks by default.
|
parameters. Such files are burned as audio tracks by default.
|
||||||
.PP
|
.PP
|
||||||
While audio tracks just contain a given time span of acoustic vibrations,
|
While audio tracks just contain a given time span of acoustic vibrations,
|
||||||
@ -1315,8 +1315,8 @@ and eventually override the list of other speed offers.
|
|||||||
.br
|
.br
|
||||||
Only if the drive reports contradicting speed information there will appear
|
Only if the drive reports contradicting speed information there will appear
|
||||||
"Write speed 0" or "Write speed-1", which tell the outcome of speed selection
|
"Write speed 0" or "Write speed-1", which tell the outcome of speed selection
|
||||||
by options speed=0 resp. speed=-1, if it deviates from "Write speed L"
|
by options speed=0 or speed=-1, if it deviates from "Write speed L"
|
||||||
resp. "Write speed H".
|
or "Write speed H", respectively.
|
||||||
.TP
|
.TP
|
||||||
.BI \--long_toc
|
.BI \--long_toc
|
||||||
Like option -toc but marking each session start by a line "first: X last: Y"
|
Like option -toc but marking each session start by a line "first: X last: Y"
|
||||||
@ -1373,7 +1373,7 @@ exact track size prediction is demanded by the write mode.
|
|||||||
.br
|
.br
|
||||||
This was the fallback from bad old times when cdrskin was unable to burn
|
This was the fallback from bad old times when cdrskin was unable to burn
|
||||||
in mode -tao . It came back with minimally blanked DVD-RW which allow no
|
in mode -tao . It came back with minimally blanked DVD-RW which allow no
|
||||||
Incremental Streaming (-tao) resp. with explicitly selected write mode -sao
|
Incremental Streaming (-tao) and with explicitly selected write mode -sao
|
||||||
for best DVD-ROM compatibility.
|
for best DVD-ROM compatibility.
|
||||||
.br
|
.br
|
||||||
If the track source delivers less bytes than announced then the missing ones
|
If the track source delivers less bytes than announced then the missing ones
|
||||||
@ -1418,6 +1418,30 @@ or BD-RE byte_offset must be aligned to 2 kiB blocks, but better is 32 kiB.
|
|||||||
With DVD-RW 32 kiB alignment is mandatory.
|
With DVD-RW 32 kiB alignment is mandatory.
|
||||||
.br
|
.br
|
||||||
Other media are not suitable for this option yet.
|
Other media are not suitable for this option yet.
|
||||||
|
.TP
|
||||||
|
.BI modesty_on_drive= <mode>[:min_percent=<num>][:max_percent=<num>]
|
||||||
|
Mode 1 keeps the program from trying to write to the burner drive while its
|
||||||
|
buffer is in danger to be filled by more than max_percent. If this filling is
|
||||||
|
exceeded then the program will wait until the filling is at most min_percent.
|
||||||
|
.br
|
||||||
|
This can ease the load on operating system and drive controller and thus help
|
||||||
|
with achieving better input bandwidth if disk and burner are not on independent
|
||||||
|
controllers (like hda and hdb). Unsufficient input bandwidth is indicated by
|
||||||
|
output "(fifo xy%)" of option -v if xy is lower than 90 for some time.
|
||||||
|
modesty_on_drive= might hamper output bandwidth and cause buffer underruns.
|
||||||
|
.br
|
||||||
|
To have max_percent larger than the burner's best actual
|
||||||
|
buffer fill has the same effect as min_percent==max_percent. Some burners
|
||||||
|
do not use their full buffer with all media types. Watch output "[buf xy%]"
|
||||||
|
of option -v to get an impression of the actual buffer usage. Some burners
|
||||||
|
are not suitable because they report buffer fill with granularity too large
|
||||||
|
in size or time.
|
||||||
|
.br
|
||||||
|
Mode 0 disables this feature. Mode -1 keeps it unchanged. Default is:
|
||||||
|
.br
|
||||||
|
modesty_on_drive=0:min_percent=65:max_percent=95
|
||||||
|
.br
|
||||||
|
Percentages are permissible in the range of 25 to 100.
|
||||||
.PP
|
.PP
|
||||||
Alphabetical list of options which are only intended for very special
|
Alphabetical list of options which are only intended for very special
|
||||||
situations and not for normal use:
|
situations and not for normal use:
|
||||||
@ -1532,30 +1556,6 @@ Try to ignore any signals rather than to abort the program. This is not a
|
|||||||
very good idea. You might end up waiting a very long time for cdrskin
|
very good idea. You might end up waiting a very long time for cdrskin
|
||||||
to finish.
|
to finish.
|
||||||
.TP
|
.TP
|
||||||
.BI modesty_on_drive= <mode>[:min_percent=<num>][:max_percent=<num>]
|
|
||||||
Mode 1 keeps the program from trying to write to the burner drive while its
|
|
||||||
buffer is in danger to be filled by more than max_percent. If this filling is
|
|
||||||
exceeded then the program will wait until the filling is at most min_percent.
|
|
||||||
.br
|
|
||||||
This can ease the load on operating system and drive controller and thus help
|
|
||||||
with achieving better input bandwidth if disk and burner are not on independent
|
|
||||||
controllers (like hda and hdb). Unsufficient input bandwidth is indicated by
|
|
||||||
output "(fifo xy%)" of option -v if xy is lower than 90 for some time.
|
|
||||||
modesty_on_drive= might hamper output bandwidth and cause buffer underruns.
|
|
||||||
.br
|
|
||||||
To have max_percent larger than the burner's best actual
|
|
||||||
buffer fill has the same effect as min_percent==max_percent. Some burners
|
|
||||||
do not use their full buffer with all media types. Watch output "[buf xy%]"
|
|
||||||
of option -v to get an impression of the actual buffer usage. Some burners
|
|
||||||
are not suitable because they report buffer fill with granularity too large
|
|
||||||
in size or time.
|
|
||||||
.br
|
|
||||||
Mode 0 disables this feature. Mode -1 keeps it unchanged. Default is:
|
|
||||||
.br
|
|
||||||
modesty_on_drive=0:min_percent=65:max_percent=95
|
|
||||||
.br
|
|
||||||
Percentages are permissible in the range of 25 to 100.
|
|
||||||
.TP
|
|
||||||
.BI \--no_abort_handler
|
.BI \--no_abort_handler
|
||||||
On signals exit even if the drive is in busy state. This is not a very good
|
On signals exit even if the drive is in busy state. This is not a very good
|
||||||
idea. You might end up with a stuck drive that refuses to hand out the media.
|
idea. You might end up with a stuck drive that refuses to hand out the media.
|
||||||
@ -1602,7 +1602,7 @@ This setting affects only CD SAO write runs.
|
|||||||
.BI sao_pregap= off|number
|
.BI sao_pregap= off|number
|
||||||
Define whether a pre-gap shall be written before the track and how many
|
Define whether a pre-gap shall be written before the track and how many
|
||||||
sectors this pre-gap shall have. A pre-gap is written in the range of track
|
sectors this pre-gap shall have. A pre-gap is written in the range of track
|
||||||
index 0 and contains zeros resp. silence. No bytes from the track source
|
index 0 and contains zeros. No bytes from the track source
|
||||||
will be read for writing the pre-gap.
|
will be read for writing the pre-gap.
|
||||||
.br
|
.br
|
||||||
This setting affects only CD SAO write runs.
|
This setting affects only CD SAO write runs.
|
||||||
|
@ -23,7 +23,7 @@ The implementation of an option would probably consist of
|
|||||||
- necessary structure members for structs CdrpreskiN and/or CdrskiN
|
- necessary structure members for structs CdrpreskiN and/or CdrskiN
|
||||||
- code in Cdrpreskin_setup() and Cdrskin_setup() which converts
|
- code in Cdrpreskin_setup() and Cdrskin_setup() which converts
|
||||||
argv[i] into CdrpreskiN/CdrskiN members (or into direct actions)
|
argv[i] into CdrpreskiN/CdrskiN members (or into direct actions)
|
||||||
- removal of option from ignore list "ignored_partial_options" resp.
|
- removal of option from ignore list "ignored_partial_options" or
|
||||||
"ignored_full_options" in Cdrskin_setup()
|
"ignored_full_options" in Cdrskin_setup()
|
||||||
- functions which implement the option's run time functionality
|
- functions which implement the option's run time functionality
|
||||||
- eventually calls of those functions in Cdrskin_run()
|
- eventually calls of those functions in Cdrskin_run()
|
||||||
@ -846,7 +846,7 @@ struct CdrfifO {
|
|||||||
static double Cdrtrack_minimum_sizE= 300;
|
static double Cdrtrack_minimum_sizE= 300;
|
||||||
|
|
||||||
|
|
||||||
/** This structure represents a track resp. a data source */
|
/** This structure represents a track and its data source */
|
||||||
struct CdrtracK {
|
struct CdrtracK {
|
||||||
|
|
||||||
struct CdrskiN *boss;
|
struct CdrskiN *boss;
|
||||||
@ -916,7 +916,7 @@ int Cdrtrack_destroy(struct CdrtracK **o, int flag);
|
|||||||
int Cdrtrack_set_track_type(struct CdrtracK *o, int track_type, int flag);
|
int Cdrtrack_set_track_type(struct CdrtracK *o, int track_type, int flag);
|
||||||
|
|
||||||
|
|
||||||
/** Create a track resp. data source object.
|
/** Create a track and its data source object.
|
||||||
@param track Returns the address of the new object.
|
@param track Returns the address of the new object.
|
||||||
@param boss The cdrskin control object (corresponds to session)
|
@param boss The cdrskin control object (corresponds to session)
|
||||||
@param trackno The index in the cdrskin tracklist array (is not constant)
|
@param trackno The index in the cdrskin tracklist array (is not constant)
|
||||||
|
@ -109,7 +109,7 @@ DVD-R DL, which both support no -multi.
|
|||||||
<DD>#<KBD> cdrskin -scanbus</KBD></DD>
|
<DD>#<KBD> cdrskin -scanbus</KBD></DD>
|
||||||
<DD>#<KBD> cdrskin dev=ATA -scanbus</KBD></DD>
|
<DD>#<KBD> cdrskin dev=ATA -scanbus</KBD></DD>
|
||||||
<DD>#<KBD> cdrskin --devices</KBD></DD>
|
<DD>#<KBD> cdrskin --devices</KBD></DD>
|
||||||
<DT>Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
|
<DT>Being superuser avoids permission problems with /dev/srN and /dev/hdX .
|
||||||
</DT>
|
</DT>
|
||||||
<DT>Ordinary users should then get granted access to the /dev files
|
<DT>Ordinary users should then get granted access to the /dev files
|
||||||
as listed by option --devices. Linux, FreeBSD, and NetBSD demand rw-permission.
|
as listed by option --devices. Linux, FreeBSD, and NetBSD demand rw-permission.
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2015.06.25.192439"
|
#define Cdrskin_timestamP "2015.08.01.135727"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# compile_cdrskin.sh
|
# compile_cdrskin.sh
|
||||||
# Copyright 2005 - 2015 Thomas Schmitt, scdbackup@gmx.net, GPL v2 or later
|
# Copyright 2005 - 2015 Thomas Schmitt, scdbackup@gmx.net, GPL v2 or later
|
||||||
# to be executed within ./libburn-* resp ./cdrskin-*
|
# to be executed within ./libburn-* or./cdrskin-*
|
||||||
|
|
||||||
debug_opts="-O2"
|
debug_opts="-O2"
|
||||||
def_opts=
|
def_opts=
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Create version timestamp cdrskin/cdrskin_timestamp.h
|
# Create version timestamp cdrskin/cdrskin_timestamp.h
|
||||||
# to be executed within ./libburn-* resp ./cdrskin-*
|
# to be executed within ./libburn-* or ./cdrskin-*
|
||||||
|
|
||||||
timestamp="$(date -u '+%Y.%m.%d.%H%M%S')"
|
timestamp="$(date -u '+%Y.%m.%d.%H%M%S')"
|
||||||
echo "Version timestamp : $timestamp"
|
echo "Version timestamp : $timestamp"
|
||||||
|
@ -239,14 +239,14 @@ CFLAGS="$LIBBURN_DVD_OBS_64K $CFLAGS"
|
|||||||
|
|
||||||
dnl ts B20413
|
dnl ts B20413
|
||||||
AC_ARG_ENABLE(dvd-obs-pad,
|
AC_ARG_ENABLE(dvd-obs-pad,
|
||||||
[ --enable-dvd-obs-pad pad DVD DAO sessions to 32 resp. 64 KB, default=no],
|
[ --enable-dvd-obs-pad pad DVD DAO sessions to 32 or 64 KB, default=no],
|
||||||
, enable_dvd_obs_pad=no)
|
, enable_dvd_obs_pad=no)
|
||||||
if test x$enable_dvd_obs_pad = xyes; then
|
if test x$enable_dvd_obs_pad = xyes; then
|
||||||
LIBBURN_DVD_OBS_PAD="-DLibburn_dvd_always_obs_paD"
|
LIBBURN_DVD_OBS_PAD="-DLibburn_dvd_always_obs_paD"
|
||||||
echo "enabled padding of DVD DAO sessions to 32 resp. 64 KB"
|
echo "enabled padding of DVD DAO sessions to 32 or 64 KB"
|
||||||
else
|
else
|
||||||
LIBBURN_DVD_OBS_64K=
|
LIBBURN_DVD_OBS_64K=
|
||||||
echo "disabled padding of DVD DAO sessions to 32 resp. 64 KB"
|
echo "disabled padding of DVD DAO sessions to 32 or 64 KB"
|
||||||
fi
|
fi
|
||||||
CFLAGS="$LIBBURN_DVD_OBS_PAD $CFLAGS"
|
CFLAGS="$LIBBURN_DVD_OBS_PAD $CFLAGS"
|
||||||
|
|
||||||
|
@ -195,7 +195,7 @@ as it is limited to 64 kB - 2.)
|
|||||||
|
|
||||||
If a text of a track (pack types 0x80 to 0x85 and 0x8e) repeats identically
|
If a text of a track (pack types 0x80 to 0x85 and 0x8e) repeats identically
|
||||||
for the next track, then it may be represented by a TAB character (ASCII 9)
|
for the next track, then it may be represented by a TAB character (ASCII 9)
|
||||||
for single byte texts, resp. two TAB characters for double byte texts.
|
for single byte texts, and two TAB characters for double byte texts.
|
||||||
(This should be used because 256 * 12 bytes is few space for 99 tracks.)
|
(This should be used because 256 * 12 bytes is few space for 99 tracks.)
|
||||||
|
|
||||||
The two binary bytes of pack type 0x87 are written to the first 0x87 pack of
|
The two binary bytes of pack type 0x87 are written to the first 0x87 pack of
|
||||||
|
@ -11,7 +11,7 @@ For now this means CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL, DVD-RW,
|
|||||||
DVD-R, DVD-R/DL, BD-R, BD-RE.
|
DVD-R, DVD-R/DL, BD-R, BD-RE.
|
||||||
|
|
||||||
Our scope is currently Linux 2.4 and 2.6, FreeBSD, OpenSolaris, or NetBSD.
|
Our scope is currently Linux 2.4 and 2.6, FreeBSD, OpenSolaris, or NetBSD.
|
||||||
For ports to other systems we would need : login on a development machine resp.
|
For ports to other systems we would need : login on a development machine or
|
||||||
an OS that is installable on an AMD 64-bit PC, advise from a system person
|
an OS that is installable on an AMD 64-bit PC, advise from a system person
|
||||||
about the equivalent of Linux sg or FreeBSD CAM, volunteers for testing of
|
about the equivalent of Linux sg or FreeBSD CAM, volunteers for testing of
|
||||||
realistic use cases.
|
realistic use cases.
|
||||||
@ -52,7 +52,7 @@ and execute
|
|||||||
|
|
||||||
- make
|
- make
|
||||||
|
|
||||||
To make the libraries accessible for running resp. developing applications
|
To make the libraries accessible for running and developing applications
|
||||||
|
|
||||||
- make install
|
- make install
|
||||||
|
|
||||||
|
@ -618,7 +618,7 @@ BG Format 3 indicates fully formatted media.
|
|||||||
|
|
||||||
DVD-RW reaches this state either by Format Type 00h (or 10h) with maximum
|
DVD-RW reaches this state either by Format Type 00h (or 10h) with maximum
|
||||||
size given as Number Of Blocks, or by writing sequentially until the disc is
|
size given as Number Of Blocks, or by writing sequentially until the disc is
|
||||||
completely full into an intermediate session opened by format 15h resp. 13h.
|
completely full into an intermediate session opened by format 15h or 13h.
|
||||||
(mmc5r03c.pdf, 6.5 FORMAT UNIT, 6.5.4.2.1, 6.5.4.2.10, 6.5.4.2.8)
|
(mmc5r03c.pdf, 6.5 FORMAT UNIT, 6.5.4.2.1, 6.5.4.2.10, 6.5.4.2.8)
|
||||||
A fully formatted DVD-RW can be recognized by 23h READ FORMAT CAPACITIES. The
|
A fully formatted DVD-RW can be recognized by 23h READ FORMAT CAPACITIES. The
|
||||||
Descriptor Type of the Current/Maximum Capacity Descriptor is 10b ("Formatted
|
Descriptor Type of the Current/Maximum Capacity Descriptor is 10b ("Formatted
|
||||||
@ -744,7 +744,7 @@ Elsewise the media is in Intermediate state. See below.
|
|||||||
A partly formatted DVD-RW can be recognized by 23h READ FORMAT CAPACITIES. The
|
A partly formatted DVD-RW can be recognized by 23h READ FORMAT CAPACITIES. The
|
||||||
Descriptor Type of the Current/Maximum Capacity Descriptor is 10b ("Formatted
|
Descriptor Type of the Current/Maximum Capacity Descriptor is 10b ("Formatted
|
||||||
Media") and the Number Of Blocks with formats 00h, 10h or 15h is larger than the
|
Media") and the Number Of Blocks with formats 00h, 10h or 15h is larger than the
|
||||||
currently formatted size, resp. more than 0 blocks are offered with Format
|
currently formatted size, or more than 0 blocks are offered with Format
|
||||||
Types 13h or 11h.
|
Types 13h or 11h.
|
||||||
(mmc5r03c.pdf, 6.24.3.2.1, 6.24.3.3)
|
(mmc5r03c.pdf, 6.24.3.2.1, 6.24.3.3)
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ There are two classes of device specific suffixes:
|
|||||||
If a lockfile does not exist and cannot be created then this shall not keep
|
If a lockfile does not exist and cannot be created then this shall not keep
|
||||||
a program from working on a device. But if a lockfile exists and if permissions
|
a program from working on a device. But if a lockfile exists and if permissions
|
||||||
or locking state do not allow to obtain a lock of the appropirate type, then
|
or locking state do not allow to obtain a lock of the appropirate type, then
|
||||||
this shall prevent any opening of device file in question resp. shall cause
|
this shall prevent any opening of device file in question and shall cause
|
||||||
immediate close(2) of an already opened device file.
|
immediate close(2) of an already opened device file.
|
||||||
|
|
||||||
The vulnerable programs shall not start their operation before they locked a
|
The vulnerable programs shall not start their operation before they locked a
|
||||||
@ -346,7 +346,7 @@ which keeps it from being the solution to all known legitimate use cases.
|
|||||||
The attempt has failed to compose a waterproof locking mechanism from means of
|
The attempt has failed to compose a waterproof locking mechanism from means of
|
||||||
POSIX, FHS and from hardly documented Linux open(O_EXCL) on device files.
|
POSIX, FHS and from hardly documented Linux open(O_EXCL) on device files.
|
||||||
The resulting mechanisms would need about 1000 lines of code and still do
|
The resulting mechanisms would need about 1000 lines of code and still do
|
||||||
not close all gaps resp. cover the well motivated use cases.
|
not close all gaps and cover the well motivated use cases.
|
||||||
This attempt you see above: DDLP-A and DDLP-B.
|
This attempt you see above: DDLP-A and DDLP-B.
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
RSPC resp. P- and Q-Parity
|
RSPC , P- and Q-Parity
|
||||||
|
|
||||||
ECMA-130 Annex A prescribes to compute the parity bytes for P-columns and
|
ECMA-130 Annex A prescribes to compute the parity bytes for P-columns and
|
||||||
Q-diagonals by RSPC based on a Galois Field GF(2^8) with enumerating
|
Q-diagonals by RSPC based on a Galois Field GF(2^8) with enumerating
|
||||||
@ -245,7 +245,7 @@ static unsigned char gflog[256] = {
|
|||||||
#ifdef Libburn_use_h_matriceS
|
#ifdef Libburn_use_h_matriceS
|
||||||
|
|
||||||
/* On my AMD 2x64 bit 3000 MHz processor h[i] costs about 7 % more time
|
/* On my AMD 2x64 bit 3000 MHz processor h[i] costs about 7 % more time
|
||||||
than using gfpow[25-i] resp. gfpow[44-1]. I blame this on the more
|
than using gfpow[25-i] and gfpow[44-1]. I blame this on the more
|
||||||
condensed data representation which slightly increases the rate of cache
|
condensed data representation which slightly increases the rate of cache
|
||||||
hits.
|
hits.
|
||||||
Nevertheless this effect is very likely depending on the exact cache
|
Nevertheless this effect is very likely depending on the exact cache
|
||||||
|
@ -821,7 +821,7 @@ int burn_abort_pacifier(void *handle, int patience, int elapsed);
|
|||||||
void burn_set_verbosity(int level);
|
void burn_set_verbosity(int level);
|
||||||
|
|
||||||
/* ts A91111 */
|
/* ts A91111 */
|
||||||
/** Enable resp. disable logging of SCSI commands.
|
/** Enable or disable logging of SCSI commands.
|
||||||
This call can be made at any time - even before burn_initialize().
|
This call can be made at any time - even before burn_initialize().
|
||||||
It is in effect for all active drives and currently not very thread
|
It is in effect for all active drives and currently not very thread
|
||||||
safe for multiple drives.
|
safe for multiple drives.
|
||||||
@ -953,7 +953,7 @@ void burn_allow_untested_profiles(int yes);
|
|||||||
Use with driveno 0 only.
|
Use with driveno 0 only.
|
||||||
@param adr The device file address of the desired drive. Either once
|
@param adr The device file address of the desired drive. Either once
|
||||||
obtained by burn_drive_d_get_adr() or composed skillfully by
|
obtained by burn_drive_d_get_adr() or composed skillfully by
|
||||||
application resp. its user. E.g. "/dev/sr0".
|
application or its user. E.g. "/dev/sr0".
|
||||||
Consider to preprocess it by burn_drive_convert_fs_adr().
|
Consider to preprocess it by burn_drive_convert_fs_adr().
|
||||||
@param load Nonzero to make the drive attempt to load a disc (close its
|
@param load Nonzero to make the drive attempt to load a disc (close its
|
||||||
tray door, etc).
|
tray door, etc).
|
||||||
@ -1015,7 +1015,7 @@ int burn_drive_scan(struct burn_drive_info *drive_infos[],
|
|||||||
function is called, and the amount of automatically provided
|
function is called, and the amount of automatically provided
|
||||||
drive shutdown :
|
drive shutdown :
|
||||||
0= drive must be ungrabbed and BURN_DRIVE_IDLE
|
0= drive must be ungrabbed and BURN_DRIVE_IDLE
|
||||||
1= try to release drive resp. accept BURN_DRIVE_GRABBING
|
1= try to release drive even if in state BURN_DRIVE_GRABBING
|
||||||
Use these two only. Further values are to be defined.
|
Use these two only. Further values are to be defined.
|
||||||
@return 1 on success, 2 if drive was already forgotten,
|
@return 1 on success, 2 if drive was already forgotten,
|
||||||
0 if not permissible, <0 on other failures,
|
0 if not permissible, <0 on other failures,
|
||||||
@ -1291,8 +1291,8 @@ int burn_drive_get_start_end_lba(struct burn_drive *drive,
|
|||||||
burn_drive_get_start_end_lba(d, &start_lba, &end_lba, 0),
|
burn_drive_get_start_end_lba(d, &start_lba, &end_lba, 0),
|
||||||
burn_lba_to_msf(start_lba, &m_li, &s_li, &f_li) and
|
burn_lba_to_msf(start_lba, &m_li, &s_li, &f_li) and
|
||||||
burn_lba_to_msf(end_lba, &m_lo, &s_lo, &f_lo).
|
burn_lba_to_msf(end_lba, &m_lo, &s_lo, &f_lo).
|
||||||
@param m_li "minute" part of ATIP lead-in resp. start_lba
|
@param m_li "minute" part of ATIP lead-in or start_lba
|
||||||
@param s_li "second" of lead-in resp. start_lba
|
@param s_li "second" of lead-in or start_lba
|
||||||
@param f_li "frame" of lead-in
|
@param f_li "frame" of lead-in
|
||||||
@param m_lo "minute" part of ATIP lead-out
|
@param m_lo "minute" part of ATIP lead-out
|
||||||
@param s_lo "second" of lead-out
|
@param s_lo "second" of lead-out
|
||||||
@ -1423,7 +1423,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 upcomming track reveiled that the READ TRACK INFORMATION Damage Bit
|
||||||
is set for this track, resp. 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.
|
||||||
@param flag Bitfield for control purposes (unused yet, submit 0)
|
@param flag Bitfield for control purposes (unused yet, submit 0)
|
||||||
@ -2116,8 +2116,7 @@ int burn_session_set_cdtext_par(struct burn_session *s,
|
|||||||
""
|
""
|
||||||
|
|
||||||
/* ts B11206 */
|
/* ts B11206 */
|
||||||
/** Obtain the current settings as of burn_session_set_cdtext_par() resp.
|
/** Obtain the current settings as of burn_session_set_cdtext_par()
|
||||||
by default.
|
|
||||||
@param s Session which to inquire
|
@param s Session which to inquire
|
||||||
@param char_codes Will return Character Codes for block 0 to 7
|
@param char_codes Will return Character Codes for block 0 to 7
|
||||||
@param copyrights Will return Copyright bytes for block 0 to 7
|
@param copyrights Will return Copyright bytes for block 0 to 7
|
||||||
@ -2537,7 +2536,7 @@ int burn_track_clear_indice(struct burn_track *t, int flag);
|
|||||||
/* ts B20110 */
|
/* ts B20110 */
|
||||||
/** Define whether a pre-gap shall be written before the track and how many
|
/** Define whether a pre-gap shall be written before the track and how many
|
||||||
sectors this pre-gap shall have. A pre-gap is written in the range of track
|
sectors this pre-gap shall have. A pre-gap is written in the range of track
|
||||||
index 0 and contains zeros resp. silence. No bytes from the track source
|
index 0 and contains zeros (audio silence). No bytes from the track source
|
||||||
will be read for writing the pre-gap.
|
will be read for writing the pre-gap.
|
||||||
This setting affects only CD SAO write runs.
|
This setting affects only CD SAO write runs.
|
||||||
The first track automatically gets a pre-gap of at least 150 sectors. Its
|
The first track automatically gets a pre-gap of at least 150 sectors. Its
|
||||||
@ -2854,7 +2853,7 @@ void burn_fifo_next_interval(struct burn_source *fifo, int *interval_min_fill);
|
|||||||
data have arrived or until it becomes clear that this will not happen.
|
data have arrived or until it becomes clear that this will not happen.
|
||||||
The call may be repeated with increased bufsize. It will always yield
|
The call may be repeated with increased bufsize. It will always yield
|
||||||
the bytes beginning from the first one in the fifo.
|
the bytes beginning from the first one in the fifo.
|
||||||
@param fifo The fifo object to inquire resp. start
|
@param fifo The fifo object to start and to inquire
|
||||||
@param buf Pointer to memory of at least bufsize bytes where to
|
@param buf Pointer to memory of at least bufsize bytes where to
|
||||||
deliver the peeked data.
|
deliver the peeked data.
|
||||||
@param bufsize Number of bytes to peek from the start of the fifo data
|
@param bufsize Number of bytes to peek from the start of the fifo data
|
||||||
@ -2893,7 +2892,7 @@ int burn_fifo_fill(struct burn_source *fifo, int fill, int flag);
|
|||||||
int burn_track_set_size(struct burn_track *t, off_t size);
|
int burn_track_set_size(struct burn_track *t, off_t size);
|
||||||
|
|
||||||
|
|
||||||
/** Tells how many sectors a track will have on disc, resp. already has on
|
/** Tells how many sectors a track will have on disc, or already has on
|
||||||
disc. This includes offset, payload, tail, and post-gap, but not pre-gap.
|
disc. This includes offset, payload, tail, and post-gap, but not pre-gap.
|
||||||
The result is NOT RELIABLE with tracks of undefined length
|
The result is NOT RELIABLE with tracks of undefined length
|
||||||
*/
|
*/
|
||||||
@ -2989,7 +2988,7 @@ int burn_write_opts_set_write_type(struct burn_write_opts *opts,
|
|||||||
made, i.e. immediately before burn_disc_write().
|
made, i.e. immediately before burn_disc_write().
|
||||||
@param opts The nearly complete write opts to change
|
@param opts The nearly complete write opts to change
|
||||||
@param disc The already composed session and track model
|
@param disc The already composed session and track model
|
||||||
@param reasons This text string collects reasons for decision resp. failure
|
@param reasons This text string collects reasons for decision or failure
|
||||||
@param flag Bitfield for control purposes:
|
@param flag Bitfield for control purposes:
|
||||||
bit0= do not choose type but check the one that is already set
|
bit0= do not choose type but check the one that is already set
|
||||||
bit1= do not issue error messages via burn_msgs queue
|
bit1= do not issue error messages via burn_msgs queue
|
||||||
@ -4063,16 +4062,17 @@ int burn_drive_get_drive_role(struct burn_drive *d);
|
|||||||
will get role 5.
|
will get role 5.
|
||||||
Candidates are drive addresses of the form stdio:/dev/fd/# , where # is
|
Candidates are drive addresses of the form stdio:/dev/fd/# , where # is
|
||||||
the integer number of an open file descriptor. If this descriptor was
|
the integer number of an open file descriptor. If this descriptor was
|
||||||
opened read-only resp. write-only, then it gets role 4 resp. role 5.
|
opened read-only or write-only, then it gets role 4 or role 5,
|
||||||
|
respectively.
|
||||||
Other paths may get tested by an attempt to open them for read-write
|
Other paths may get tested by an attempt to open them for read-write
|
||||||
(role 2) resp. read-only (role 4) resp. 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
|
aquired 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 resp. read-only resp. write-only.
|
read-write, read-only, or write-only.
|
||||||
Classify as roles 2 resp. 4 resp. 5.
|
Classify as roles 2, 4, 5.
|
||||||
bit2= with bit0 and bit1:
|
bit2= with bit0 and bit1:
|
||||||
Classify files which cannot be opened at all
|
Classify files which cannot be opened at all
|
||||||
as role 0 : useless dummy.
|
as role 0 : useless dummy.
|
||||||
@ -4104,7 +4104,7 @@ void burn_allow_drive_role_4(int allowed);
|
|||||||
The string must be shorter than BURN_DRIVE_ADR_LEN.
|
The string must be shorter than BURN_DRIVE_ADR_LEN.
|
||||||
@param drive_role2 Role as burn_drive_get_drive_role() would attribute
|
@param drive_role2 Role as burn_drive_get_drive_role() would attribute
|
||||||
to adr2 if it was a drive. Use value 2 for checking track
|
to adr2 if it was a drive. Use value 2 for checking track
|
||||||
sources resp. pseudo-drive addresses without "stdio:".
|
sources or pseudo-drive addresses without "stdio:".
|
||||||
Use 1 for checking drive addresses including those with
|
Use 1 for checking drive addresses including those with
|
||||||
prefix "stdio:".
|
prefix "stdio:".
|
||||||
@return 1= adr2 leads to d1 , 0= adr2 seems not to lead to d1,
|
@return 1= adr2 leads to d1 , 0= adr2 seems not to lead to d1,
|
||||||
@ -4243,7 +4243,7 @@ BURN_END_DECLS
|
|||||||
|
|
||||||
/* ts A91112 */
|
/* ts A91112 */
|
||||||
/* Do not probe CD modes but declare only data and audio modes supported.
|
/* Do not probe CD modes but declare only data and audio modes supported.
|
||||||
For other modes resp. real probing one has to call
|
For other modes or real probing one has to call
|
||||||
burn_drive_probe_cd_write_modes().
|
burn_drive_probe_cd_write_modes().
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -146,7 +146,7 @@ int scsi_enumerate_drives(void)
|
|||||||
|
|
||||||
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -446,7 +446,7 @@ int scsi_enumerate_drives(void)
|
|||||||
|
|
||||||
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -529,7 +529,7 @@ ex:;
|
|||||||
|
|
||||||
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -1413,7 +1413,7 @@ static int add_proc_info_drives(int flag)
|
|||||||
char **list= NULL;
|
char **list= NULL;
|
||||||
|
|
||||||
if (burn_sg_use_family != 0)
|
if (burn_sg_use_family != 0)
|
||||||
return(1); /* Looking only for sr resp. scd resp. sg */
|
return(1); /* Looking only for sr , scd , sg */
|
||||||
|
|
||||||
ret = proc_sys_dev_cdrom_info(&list, &list_count, 0);
|
ret = proc_sys_dev_cdrom_info(&list, &list_count, 0);
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
@ -1651,7 +1651,7 @@ return_1_pre_proc:;
|
|||||||
and accessability. If burn activities are prone to external interference
|
and accessability. If burn activities are prone to external interference
|
||||||
on your system it is also necessary to obtain exclusive access locks on
|
on your system it is also necessary to obtain exclusive access locks on
|
||||||
the drives.
|
the drives.
|
||||||
Hand over each accepted drive to enumerate_common() resp. its replacement
|
Hand over each accepted drive to enumerate_common() or its replacement
|
||||||
within your port.
|
within your port.
|
||||||
|
|
||||||
See FreeBSD port sketch sg-freebsd-port.c for such an implementation.
|
See FreeBSD port sketch sg-freebsd-port.c for such an implementation.
|
||||||
@ -1677,7 +1677,7 @@ int scsi_enumerate_drives(void)
|
|||||||
|
|
||||||
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
/** Tells wether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -423,7 +423,7 @@ ex:;
|
|||||||
|
|
||||||
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -590,7 +590,7 @@ ex:;
|
|||||||
|
|
||||||
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
/** Tells whether libburn has the given drive in use or exclusively reserved.
|
||||||
If it is "open" then libburn will eventually call sg_release() on it when
|
If it is "open" then libburn will eventually call sg_release() on it when
|
||||||
it is time to give up usage resp. reservation.
|
it is time to give up usage and reservation.
|
||||||
*/
|
*/
|
||||||
/** Published as burn_drive.drive_is_open() */
|
/** Published as burn_drive.drive_is_open() */
|
||||||
int sg_drive_is_open(struct burn_drive * d)
|
int sg_drive_is_open(struct burn_drive * d)
|
||||||
|
@ -244,7 +244,7 @@ int libburner_aquire_by_driveno(int *driveno)
|
|||||||
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 resp. libburn process.
|
aquired 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)
|
||||||
|
Loading…
Reference in New Issue
Block a user